Skip to content

Commit b78f753

Browse files
authored
Initial commit
0 parents  commit b78f753

26 files changed

+5706
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
indent_style = space
7+
indent_size = 2
8+
trim_trailing_whitespace = true
9+
10+
[*.md]
11+
trim_trailing_whitespace = false

.eslintignore

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

.eslintrc.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"root": true,
3+
"extends": ["@webdeveric/eslint-config-ts", "plugin:import/recommended", "plugin:import/typescript", "prettier"],
4+
"env": {
5+
"es6": true,
6+
"node": true
7+
},
8+
"parserOptions": {
9+
"project": ["./tsconfig.json"],
10+
"EXPERIMENTAL_useProjectService": true
11+
},
12+
"settings": {
13+
"import/extensions": [".ts", ".mts", ".cts", ".js", ".json"],
14+
"import/resolver": {
15+
"typescript": {
16+
"project": "./tsconfig.json"
17+
},
18+
"node": {
19+
"extensions": [".js", ".ts", ".mts", ".cts"]
20+
}
21+
},
22+
"import/parsers": {
23+
"@typescript-eslint/parser": [".ts", ".mts", ".cts"]
24+
}
25+
},
26+
"rules": {
27+
"import/first": "error",
28+
"import/no-absolute-path": "error",
29+
"import/no-cycle": "error",
30+
"import/no-deprecated": "error",
31+
"import/no-extraneous-dependencies": [
32+
"error",
33+
{
34+
"devDependencies": ["./vitest.config.mts", "./lint-staged.config.mjs", "./test/**/*"]
35+
}
36+
],
37+
"import/no-relative-packages": "error",
38+
"import/no-self-import": "error",
39+
"import/no-unresolved": "error",
40+
"import/no-useless-path-segments": [
41+
"error",
42+
{
43+
"noUselessIndex": false
44+
}
45+
],
46+
"import/order": [
47+
"error",
48+
{
49+
"alphabetize": {
50+
"order": "asc",
51+
"caseInsensitive": true
52+
},
53+
"groups": ["builtin", "external", "internal", "parent", ["sibling", "index"], "type"],
54+
"newlines-between": "always"
55+
}
56+
],
57+
"sort-imports": "off"
58+
},
59+
"overrides": [
60+
{
61+
"files": ["**/*.test.ts"],
62+
"rules": {
63+
"@typescript-eslint/no-explicit-any": "off"
64+
}
65+
}
66+
]
67+
}

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @webdeveric

.github/FUNDING.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
github: [webdeveric]

.github/workflows/node.js.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Node.js CI
2+
3+
on: [push]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.ref }}
7+
cancel-in-progress: true
8+
9+
jobs:
10+
ci:
11+
name: Continuous Integration
12+
runs-on: ubuntu-22.04
13+
steps:
14+
- uses: actions/checkout@v4
15+
- uses: pnpm/action-setup@v3
16+
- name: Use Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version-file: ".nvmrc"
20+
cache: "pnpm"
21+
- name: Installing dependencies
22+
run: pnpm install
23+
- name: Linting
24+
run: pnpm lint
25+
- name: Type checking
26+
run: pnpm typecheck
27+
- name: Testing
28+
run: pnpm coverage
29+
- name: Building
30+
run: pnpm build

.gitignore

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

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npx --no lint-staged -- --config "$(dirname "$0")/../lint-staged.config.mjs"

.npmrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://pnpm.io/npmrc
2+
# node-linker=hoisted
3+
# symlink=false
4+
# shared-workspace-lockfile=false
5+
auto-install-peers=true
6+
enable-pre-post-scripts=true
7+
engine-strict=true

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20

0 commit comments

Comments
 (0)