Skip to content

Commit f7ba23f

Browse files
committed
Initial project structure
0 parents  commit f7ba23f

28 files changed

Lines changed: 803 additions & 0 deletions

.eslintrc.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
env:
2+
node: true
3+
es6: true
4+
jest: true
5+
6+
globals:
7+
Atomics: readonly
8+
SharedArrayBuffer: readonly
9+
10+
ignorePatterns:
11+
- coverage
12+
- dist
13+
- linter
14+
- node_modules
15+
16+
parser: '@typescript-eslint/parser'
17+
18+
parserOptions:
19+
ecmaVersion: 2023
20+
project:
21+
- tsconfig.eslint.json
22+
sourceType: module
23+
tsconfigRootDir: .
24+
25+
settings:
26+
import/resolver:
27+
typescript:
28+
alwaysTryTypes: true
29+
project: tsconfig.eslint.json
30+
31+
plugins:
32+
- import
33+
- jest
34+
- prettier
35+
- '@typescript-eslint'
36+
37+
extends:
38+
- eslint:recommended
39+
- plugin:@typescript-eslint/eslint-recommended
40+
- plugin:@typescript-eslint/recommended
41+
- plugin:jest/recommended
42+
- plugin:prettier/recommended
43+
44+
rules:
45+
'@typescript-eslint/no-explicit-any': off
46+
camelcase: off
47+
eslint-comments/no-use: off
48+
eslint-comments/no-unused-disable: off
49+
i18n-text/no-en: off
50+
import/no-namespace: off
51+
no-console: off
52+
no-shadow: off
53+
no-unused-vars: off
54+
prettier/prettier: error

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist/** -diff linguist-generated=true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: GitHub Community Support
4+
url: https://github.com/orgs/community/discussions
5+
about: Please ask and answer questions here.
6+
- name: GitHub Security Bug Bounty
7+
url: https://bounty.github.com/
8+
about: Please report security vulnerabilities here.

.github/dependabot.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: github-actions
5+
directory: /
6+
schedule:
7+
interval: monthly
8+
open-pull-requests-limit: 10
9+
reviewers:
10+
- ncalteen
11+
groups:
12+
actions-minor:
13+
update-types:
14+
- minor
15+
- patch
16+
17+
- package-ecosystem: npm
18+
directory: /
19+
schedule:
20+
interval: monthly
21+
open-pull-requests-limit: 10
22+
reviewers:
23+
- ncalteen
24+
groups:
25+
npm-development:
26+
dependency-type: development
27+
update-types:
28+
- minor
29+
- patch
30+
npm-production:
31+
dependency-type: production
32+
update-types:
33+
- patch

.github/workflows/check-dist.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Check dist/
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths-ignore:
8+
- '**.md'
9+
pull_request:
10+
branches:
11+
- main
12+
paths-ignore:
13+
- '**.md'
14+
15+
permissions:
16+
contents: read
17+
18+
jobs:
19+
check-dist:
20+
name: Check dist/
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- name: Checkout
25+
id: checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup Node.js
29+
id: setup-node
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version-file: .node-version
33+
cache: npm
34+
35+
- name: Install Dependencies
36+
id: install
37+
run: npm ci
38+
39+
- name: Build dist/ Directory
40+
id: build
41+
run: npm run bundle
42+
43+
- name: Compare Expected and Actual Directories
44+
id: diff
45+
run: |
46+
if [ "$(git diff --ignore-space-at-eol --text dist/ | wc -l)" -gt "0" ]; then
47+
echo "Detected uncommitted changes after build. See status below:"
48+
git diff --ignore-space-at-eol --text dist/
49+
exit 1
50+
fi
51+
52+
- if: ${{ failure() && steps.diff.conclusion == 'failure' }}
53+
name: Upload Artifact
54+
id: upload
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: dist
58+
path: dist/

.github/workflows/codeql.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: CodeQL
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
schedule:
11+
- cron: '30 1 * * 4'
12+
13+
permissions:
14+
actions: read
15+
checks: write
16+
contents: read
17+
security-events: write
18+
19+
jobs:
20+
analyze:
21+
name: Analyze
22+
runs-on: ubuntu-latest
23+
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
language:
28+
- javascript
29+
30+
steps:
31+
- name: Checkout
32+
id: checkout
33+
uses: actions/checkout@v4
34+
35+
- name: Initialize CodeQL
36+
id: initialize
37+
uses: github/codeql-action/init@v3
38+
with:
39+
languages: ${{ matrix.language }}
40+
41+
- name: Autobuild
42+
id: autobuild
43+
uses: github/codeql-action/autobuild@v3
44+
45+
- name: Perform CodeQL Analysis
46+
id: analyze
47+
uses: github/codeql-action/analyze@v3
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Continuous Integration
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
8+
jobs:
9+
continuous-integration:
10+
name: Continuous Integration
11+
runs-on: ubuntu-latest
12+
13+
permissions:
14+
actions: read
15+
checks: write
16+
contents: read
17+
statuses: write
18+
19+
steps:
20+
- name: Checkout
21+
id: checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Node.js
25+
id: setup-node
26+
uses: actions/setup-node@v4
27+
with:
28+
node-version-file: .node-version
29+
cache: npm
30+
31+
- name: Install Dependencies
32+
id: install
33+
run: npm ci
34+
35+
- name: Check Format
36+
id: format-check
37+
run: npm run format:check
38+
39+
- name: Lint
40+
id: lint
41+
run: npm run lint
42+
43+
- name: Test
44+
id: test
45+
run: npm run ci-test

.github/workflows/linter.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Lint Codebase
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
permissions:
12+
contents: read
13+
issues: write
14+
packages: read
15+
pull-requests: write
16+
statuses: write
17+
18+
jobs:
19+
lint:
20+
name: Lint Codebase
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- name: Checkout
25+
id: checkout
26+
uses: actions/checkout@v4
27+
with:
28+
fetch-depth: 0
29+
30+
- name: Setup Node.js
31+
id: setup-node
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version-file: .node-version
35+
cache: npm
36+
37+
- name: Install Dependencies
38+
id: install
39+
run: npm ci
40+
41+
- name: Lint Codebase
42+
id: lint
43+
uses: oxsecurity/megalinter/flavors/javascript@v8
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Dependency directory
2+
node_modules/
3+
4+
# Coverage directory used by tools like istanbul
5+
coverage
6+
reports
7+
8+
# Optional npm cache directory
9+
.npm
10+
11+
# Optional eslint cache
12+
.eslintcache
13+
14+
# OS metadata
15+
.DS_Store
16+
Thumbs.db
17+
18+
# Extra
19+
tmp/
20+
.env

.markdown-lint.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
MD003: false
2+
MD004:
3+
style: dash
4+
MD013:
5+
tables: false
6+
MD026: false
7+
MD029:
8+
style: one
9+
MD033: false
10+
MD034: false
11+
MD036: false
12+
MD041: false

0 commit comments

Comments
 (0)