Skip to content

Commit cda175b

Browse files
committed
✨ feature: added all updated files
template is still not done, but mostly done.
1 parent ad4f33f commit cda175b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+23726
-3
lines changed

.depcheckrc.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"ignores": [
3+
"jest-snapshot",
4+
"quick-lint-js",
5+
"prettier-plugin-organize-imports",
6+
"typedoc",
7+
"typedoc-plugin-coverage",
8+
"@semantic-release/changelog",
9+
"@semantic-release/git",
10+
"@semantic-release/github",
11+
"@semantic-release/npm",
12+
"@semantic-release/release-notes-generator",
13+
"commitlint",
14+
"commitlint-config-gitmoji",
15+
"conventional-changelog-gitmoji-config",
16+
"nodemon",
17+
"semantic-release-config-gitmoji",
18+
"semantic-release-gitmoji"
19+
],
20+
"quiet": true
21+
}

.eslintignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
dist/*
2+
node_modules/*
3+
coverage/*
4+
docs/*

.eslintrc.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"env": {
3+
"es2023": true,
4+
"node": true,
5+
"jest/globals": true
6+
},
7+
"extends": [
8+
"airbnb-base",
9+
"airbnb-typescript/base",
10+
"prettier",
11+
"plugin:n/recommended",
12+
"plugin:jest/recommended",
13+
"plugin:security/recommended-legacy"
14+
],
15+
"globals": {
16+
"Atomics": "readonly",
17+
"SharedArrayBuffer": "readonly"
18+
},
19+
"parserOptions": {
20+
"ecmaVersion": "latest",
21+
"project": "tsconfig.json"
22+
},
23+
"plugins": ["prettier", "jest"],
24+
"rules": {
25+
"prettier/prettier": "error",
26+
"jest/no-disabled-tests": "warn",
27+
"jest/no-focused-tests": "error",
28+
"jest/no-identical-title": "error",
29+
"jest/prefer-to-have-length": "warn",
30+
"jest/no-alias-methods": "error",
31+
"jest/valid-expect": "error",
32+
"n/no-unpublished-import": [
33+
"error",
34+
{
35+
"allowModules": ["jest"]
36+
}
37+
],
38+
"n/no-missing-import": [
39+
"error",
40+
{
41+
"allowModules": [],
42+
"resolvePaths": ["./src"],
43+
"tryExtensions": [".js", ".ts"]
44+
}
45+
],
46+
"no-unused-vars": "warn",
47+
"no-console": "off",
48+
"func-names": "off",
49+
"no-plusplus": "off",
50+
"no-process-exit": "off",
51+
"class-methods-use-this": "off"
52+
}
53+
}

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: 'npm' # See documentation for possible values
9+
directory: '/' # Location of package manifests
10+
schedule:
11+
interval: 'weekly' # Runs every Monday

.github/workflows/build.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: 🏗️ Build CI
2+
on:
3+
workflow_call:
4+
jobs:
5+
run-tests:
6+
runs-on: ubuntu-latest
7+
# Set a reasonable timeout, 120x shorter than GitHub's default 6 hours
8+
timeout-minutes: 5
9+
strategy:
10+
matrix:
11+
node: [21, 22]
12+
name: 🏗️ 🔢 Run Build with Node.js Version ${{ matrix.node }}
13+
steps:
14+
- name: 📂 Check out Git repository
15+
uses: actions/checkout@v4
16+
17+
- name: 🛠️ Set up Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: ${{ matrix.node }}
21+
22+
- name: 🛠️ Set up Bun.sh
23+
uses: oven-sh/setup-bun@v1
24+
with:
25+
bun-version: latest
26+
27+
- name: 📦 Install Node.js dependencies
28+
run: npm ci
29+
30+
- name: 🏗️ Build project
31+
run: npm run build

.github/workflows/docs.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: 📝 Documentation CI
2+
on:
3+
workflow_call:
4+
jobs:
5+
run-tests:
6+
runs-on: ubuntu-latest
7+
# Set a reasonable timeout, 120x shorter than GitHub's default 6 hours
8+
timeout-minutes: 5
9+
strategy:
10+
matrix:
11+
node: [22]
12+
name: 📝 🔢 Run TypeDoc with Node.js Version ${{ matrix.node }}
13+
steps:
14+
- name: 📂 Check out Git repository
15+
uses: actions/checkout@v4
16+
17+
- name: 🛠️ Set up Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: ${{ matrix.node }}
21+
22+
- name: 🛠️ Set up Bun.sh
23+
uses: oven-sh/setup-bun@v1
24+
with:
25+
bun-version: latest
26+
27+
- name: 📦 Install Node.js dependencies
28+
run: npm ci
29+
30+
- name: 🏗️ 📝 Build Project Documentation
31+
run: npm run docs
32+
#Need to run dependency-version-badge and edit the readme file here as well.

.github/workflows/lint.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: 🧹 Lint CI
2+
on:
3+
workflow_call:
4+
secrets:
5+
token:
6+
required: true
7+
jobs:
8+
run-linters:
9+
runs-on: ubuntu-latest
10+
# Set a reasonable timeout, 120x shorter than GitHub's default 6 hours
11+
timeout-minutes: 5
12+
strategy:
13+
matrix:
14+
node: [22]
15+
name: 🧹 🎨 🔢 Run linters with Node.js Version ${{ matrix.node }}
16+
steps:
17+
- name: 📂 Check out Git repository
18+
uses: actions/checkout@v4
19+
20+
- name: 🛠️ Set up Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: ${{ matrix.node }}
24+
25+
# ESLint and Prettier must be in `package.json`
26+
- name: 📦 Install Node.js dependencies
27+
run: npm ci
28+
29+
- name: 🧹 🎨 Run linters and formatting
30+
uses: wearerequired/lint-action@v2
31+
with:
32+
github_token: ${{ secrets.token }}
33+
# Enable linters
34+
eslint: true
35+
prettier: true

.github/workflows/pr.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: 🔄 Pull Request
2+
on:
3+
pull_request:
4+
branches:
5+
- main
6+
- next
7+
- next-major
8+
- beta
9+
- alpha
10+
- rc-*
11+
jobs:
12+
call-worflow-docs:
13+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
14+
name: 📝 Creating Documentation
15+
uses: ./.github/workflows/docs.yml
16+
call-worflow-lint:
17+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
18+
name: 🧹 Linting
19+
uses: ./.github/workflows/lint.yml
20+
secrets:
21+
token: ${{ secrets.github_token }}
22+
call-worflow-build:
23+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
24+
name: 🏗️ Building
25+
needs: call-worflow-lint
26+
uses: ./.github/workflows/build.yml
27+
call-worflow-test:
28+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
29+
name: 🧪 Testing
30+
needs: call-worflow-build
31+
uses: ./.github/workflows/test.yml
32+
secrets:
33+
token: ${{ secrets.CODECOV_TOKEN }}
34+
rootpass: ${{ secrets.ROOTPASSWORD }}

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: 🚀 Release CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
- next
7+
- next-major
8+
- beta
9+
- alpha
10+
- rc-*
11+
jobs:
12+
call-worflow-docs:
13+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
14+
name: 📝 Creating Documentation
15+
uses: ./.github/workflows/docs.yml
16+
call-worflow-lint:
17+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
18+
name: 🧹 Linting
19+
uses: ./.github/workflows/lint.yml
20+
secrets:
21+
token: ${{ secrets.github_token }}
22+
call-worflow-build:
23+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
24+
name: 🏗️ Building
25+
needs: call-worflow-lint
26+
uses: ./.github/workflows/build.yml
27+
call-worflow-test:
28+
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]'}}
29+
name: 🧪 Testing
30+
needs: call-worflow-build
31+
uses: ./.github/workflows/test.yml
32+
secrets:
33+
token: ${{ secrets.CODECOV_TOKEN }}
34+
rootpass: ${{ secrets.ROOTPASSWORD }}

.github/workflows/test.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: 🧪 Test CI
2+
on:
3+
workflow_call:
4+
secrets:
5+
token:
6+
required: true
7+
rootpass:
8+
required: true
9+
jobs:
10+
run-tests:
11+
runs-on: ubuntu-latest
12+
# Set a reasonable timeout, 120x shorter than GitHub's default 6 hours
13+
timeout-minutes: 5
14+
strategy:
15+
matrix:
16+
node: [21, 22]
17+
name: 🧪 🔢 Run Tests with Node.js Version ${{ matrix.node }}
18+
steps:
19+
- name: 📂 Check out Git repository
20+
uses: actions/checkout@v4
21+
22+
- name: 🔧 Set up Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: ${{ matrix.node }}
26+
27+
- name: 📦 Install Node.js dependencies
28+
run: npm ci
29+
30+
# CHANGE/ADD/SETUP YOUR ADDITIONAL TEST COMMANDS AND TEST ACTIONS BELOW HERE:
31+
32+
- name: 🧪 📊 Test and coverage
33+
run: npm run test
34+
35+
- name: 📤 📊 Upload coverage reports to Codecov
36+
uses: codecov/codecov-action@v4.5.0
37+
with:
38+
fail_ci_if_error: true # optional (default = false)
39+
files: ./coverage1.xml,./coverage2.xml # optional
40+
flags: unittests # optional
41+
name: ☂️ codecov-umbrella # optional
42+
token: ${{ secrets.CODECOV_TOKEN }} # required
43+
verbose: true # optional (default = false)

0 commit comments

Comments
 (0)