@adbayb/stack 1.16.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -41
- package/bin/index.js +8 -0
- package/configs/eslint/README.md +39 -0
- package/configs/eslint/constants.js +10 -0
- package/configs/eslint/helpers.js +6 -0
- package/configs/eslint/index.js +29 -0
- package/configs/eslint/presets/base.js +26 -0
- package/configs/eslint/presets/eslint.js +105 -0
- package/configs/eslint/presets/import.js +71 -0
- package/configs/eslint/presets/jsdoc.js +79 -0
- package/configs/eslint/presets/node.js +51 -0
- package/configs/eslint/presets/overridable.js +33 -0
- package/configs/eslint/presets/react.js +75 -0
- package/configs/eslint/presets/sonar.js +225 -0
- package/configs/eslint/presets/stylistic.js +69 -0
- package/configs/eslint/presets/test.js +59 -0
- package/configs/eslint/presets/typescript.js +172 -0
- package/configs/eslint/presets/uncategorized.js +34 -0
- package/configs/prettier/README.md +65 -0
- package/configs/prettier/index.js +25 -0
- package/configs/typescript/README.md +46 -0
- package/configs/typescript/index.json +35 -0
- package/dist/index.js +761 -0
- package/package.json +48 -18
- package/{template → templates/multi-projects}/.editorconfig +1 -1
- package/templates/multi-projects/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/templates/multi-projects/.github/workflows/continuous_delivery.yml +61 -0
- package/templates/multi-projects/.github/workflows/continuous_integration.yml +9 -0
- package/templates/multi-projects/.github/workflows/conventional_commit.yml +48 -0
- package/templates/multi-projects/.github/workflows/dependency_changelog.yml +117 -0
- package/templates/multi-projects/.github/workflows/workflow.yml +39 -0
- package/templates/multi-projects/.gitignore.tmpl +134 -0
- package/templates/multi-projects/.npmrc.tmpl +8 -0
- package/templates/multi-projects/applications/README.md +6 -0
- package/templates/multi-projects/eslint.config.js.tmpl +1 -0
- package/templates/multi-projects/examples/README.md +6 -0
- package/{template → templates/multi-projects}/examples/default/package.json.tmpl +2 -2
- package/templates/multi-projects/libraries/README.md +3 -0
- package/templates/multi-projects/libraries/{{projectName}}/package.json.tmpl +39 -0
- package/templates/multi-projects/libraries/{{projectName}}/tsconfig.json +5 -0
- package/{template → templates/multi-projects}/package.json.tmpl +4 -3
- package/{template → templates/multi-projects}/pnpm-workspace.yaml.tmpl +0 -1
- package/{template → templates/multi-projects}/tools/README.md +1 -1
- package/templates/multi-projects/tsconfig.json +4 -0
- package/{template → templates/multi-projects}/turbo.json +2 -1
- package/templates/single-project/.changeset/README.md +8 -0
- package/templates/single-project/.changeset/config.json.tmpl +13 -0
- package/templates/single-project/.changeset/welcome.md.tmpl +5 -0
- package/templates/single-project/.editorconfig +4 -0
- package/templates/single-project/.github/ISSUE_TEMPLATE/bug_report.md +34 -0
- package/templates/single-project/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/templates/single-project/.github/PULL_REQUEST_TEMPLATE.md.tmpl +29 -0
- package/templates/single-project/.github/renovate.json +69 -0
- package/templates/single-project/.github/workflows/continuous_delivery.yml +61 -0
- package/templates/single-project/.github/workflows/continuous_integration.yml +9 -0
- package/templates/single-project/.github/workflows/conventional_commit.yml +48 -0
- package/templates/single-project/.github/workflows/dependency_changelog.yml +117 -0
- package/templates/single-project/.github/workflows/workflow.yml +39 -0
- package/templates/single-project/.gitignore.tmpl +134 -0
- package/templates/single-project/.npmrc.tmpl +8 -0
- package/templates/single-project/.nvmrc.tmpl +1 -0
- package/templates/single-project/.vscode/extensions.json +8 -0
- package/templates/single-project/.vscode/settings.json +27 -0
- package/templates/single-project/CONTRIBUTING.md.tmpl +21 -0
- package/templates/single-project/LICENSE.tmpl +21 -0
- package/templates/single-project/eslint.config.js.tmpl +1 -0
- package/templates/single-project/examples/README.md +6 -0
- package/templates/single-project/examples/default/package.json.tmpl +14 -0
- package/templates/single-project/examples/default/src/index.ts.tmpl +3 -0
- package/templates/single-project/examples/default/tsconfig.json +5 -0
- package/templates/single-project/package.json.tmpl +27 -0
- package/templates/single-project/pnpm-workspace.yaml.tmpl +4 -0
- package/templates/single-project/tools/README.md +6 -0
- package/templates/single-project/tsconfig.json +4 -0
- package/templates/single-project/turbo.json +25 -0
- package/templates/single-project/{{projectName}}/README.md.tmpl +42 -0
- package/{template → templates/single-project}/{{projectName}}/package.json.tmpl +3 -5
- package/templates/single-project/{{projectName}}/src/index.test.ts.tmpl +5 -0
- package/templates/single-project/{{projectName}}/src/index.ts +1 -0
- package/bin/index.cjs +0 -7
- package/dist/index.cjs +0 -15
- package/dist/index.cjs.map +0 -7
- package/template/.commitlintrc.json +0 -3
- package/template/.eslintrc.json.tmpl +0 -3
- package/template/.github/ISSUE_TEMPLATE/config.yml +0 -4
- package/template/.github/workflows/continuous_delivery.yml +0 -49
- package/template/.github/workflows/continuous_integration.yml +0 -9
- package/template/.github/workflows/conventional_commit.yml +0 -48
- package/template/.github/workflows/dependency_changelog.yml +0 -117
- package/template/.github/workflows/workflow.yml +0 -96
- package/template/applications/README.md +0 -9
- package/template/examples/README.md +0 -6
- package/template/libraries/README.md +0 -9
- package/template/tsconfig.json +0 -3
- /package/{template → templates/multi-projects}/.changeset/README.md +0 -0
- /package/{template → templates/multi-projects}/.changeset/config.json.tmpl +0 -0
- /package/{template → templates/multi-projects}/.changeset/welcome.md.tmpl +0 -0
- /package/{template → templates/multi-projects}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- /package/{template → templates/multi-projects}/.github/PULL_REQUEST_TEMPLATE.md.tmpl +0 -0
- /package/{template → templates/multi-projects}/.github/renovate.json +0 -0
- /package/{template → templates/multi-projects}/.nvmrc.tmpl +0 -0
- /package/{template → templates/multi-projects}/.vscode/extensions.json +0 -0
- /package/{template → templates/multi-projects}/.vscode/settings.json +0 -0
- /package/{template → templates/multi-projects}/CONTRIBUTING.md.tmpl +0 -0
- /package/{template → templates/multi-projects}/LICENSE.tmpl +0 -0
- /package/{template → templates/multi-projects}/examples/default/src/index.ts.tmpl +0 -0
- /package/{template → templates/multi-projects}/examples/default/tsconfig.json +0 -0
- /package/{template → templates/multi-projects/libraries}/{{projectName}}/README.md.tmpl +0 -0
- /package/{template → templates/multi-projects/libraries}/{{projectName}}/src/index.test.ts.tmpl +0 -0
- /package/{template → templates/multi-projects/libraries}/{{projectName}}/src/index.ts +0 -0
- /package/{template → templates/single-project}/{{projectName}}/tsconfig.json +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<br>
|
|
2
|
+
<div align="center">
|
|
3
|
+
<h1>@adbayb/stack/typescript</h1>
|
|
4
|
+
<strong>My opinionated TypeScript configuration preset</strong>
|
|
5
|
+
</div>
|
|
6
|
+
<br>
|
|
7
|
+
<br>
|
|
8
|
+
|
|
9
|
+
## ✨ Features
|
|
10
|
+
|
|
11
|
+
This package offers opinionated but extensible **[TypeScript](https://www.typescriptlang.org/tsconfig/)** configurations to align type checking and processing across projects.
|
|
12
|
+
|
|
13
|
+
It allows to:
|
|
14
|
+
|
|
15
|
+
- Make collaboration across my projects effective (including onboarding with a consistent look and writing patterns).
|
|
16
|
+
- Include a minimum viable and required set of rules to foster maintainable, testable, secure, and green code over time.
|
|
17
|
+
- Accelerate development by reusing common configuration and convention defaults.
|
|
18
|
+
|
|
19
|
+
<br />
|
|
20
|
+
|
|
21
|
+
## 🚀 Quick Start
|
|
22
|
+
|
|
23
|
+
### 1️⃣ Installation
|
|
24
|
+
|
|
25
|
+
At the root level of your project, run the following command:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
pnpm add @adbayb/stack --save-dev --workspace-root
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 2️⃣ Usage
|
|
32
|
+
|
|
33
|
+
Edit the `tsconfig.json` file to include the following:
|
|
34
|
+
|
|
35
|
+
```jsonc
|
|
36
|
+
{
|
|
37
|
+
"$schema": "https://json.schemastore.org/tsconfig",
|
|
38
|
+
"extends": "@adbayb/stack/typescript",
|
|
39
|
+
"include": ["src"], // Depending on your project specificities
|
|
40
|
+
"exclude": ["node_modules", "dist"], // Depending on your project specificities
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The default configuration is versatile and suitable for all projects, whether back-end or front-end.
|
|
45
|
+
|
|
46
|
+
<br />
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json.schemastore.org/tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"allowArbitraryExtensions": true,
|
|
5
|
+
"allowImportingTsExtensions": false,
|
|
6
|
+
"allowJs": false,
|
|
7
|
+
"allowUnreachableCode": false,
|
|
8
|
+
"allowUnusedLabels": false,
|
|
9
|
+
"checkJs": false,
|
|
10
|
+
"exactOptionalPropertyTypes": true,
|
|
11
|
+
"incremental": true,
|
|
12
|
+
"jsx": "react-jsx",
|
|
13
|
+
"lib": [
|
|
14
|
+
"ESNext",
|
|
15
|
+
"DOM",
|
|
16
|
+
"DOM.AsyncIterable",
|
|
17
|
+
"DOM.Iterable",
|
|
18
|
+
"WebWorker.ImportScripts"
|
|
19
|
+
],
|
|
20
|
+
"module": "Preserve",
|
|
21
|
+
"noEmit": true,
|
|
22
|
+
"noErrorTruncation": true,
|
|
23
|
+
"noFallthroughCasesInSwitch": true,
|
|
24
|
+
"noImplicitOverride": true,
|
|
25
|
+
"noImplicitReturns": true,
|
|
26
|
+
"noUncheckedIndexedAccess": true,
|
|
27
|
+
"noUncheckedSideEffectImports": true,
|
|
28
|
+
"noUnusedLocals": true,
|
|
29
|
+
"noUnusedParameters": true,
|
|
30
|
+
"skipLibCheck": true,
|
|
31
|
+
"strict": true,
|
|
32
|
+
"target": "ESNext",
|
|
33
|
+
"verbatimModuleSyntax": true
|
|
34
|
+
}
|
|
35
|
+
}
|