@adbayb/stack 2.39.0 → 2.40.0-next-7baa8ed

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.
Files changed (56) hide show
  1. package/bin/index.js +1 -1
  2. package/configs/{prettier → oxfmt}/README.md +6 -14
  3. package/configs/{prettier/index.js → oxfmt/index.ts} +13 -9
  4. package/configs/{eslint → oxlint}/README.md +4 -4
  5. package/configs/oxlint/index.ts +28 -0
  6. package/configs/typescript/index.json +1 -7
  7. package/dist/index.js +204 -162
  8. package/package.json +26 -44
  9. package/templates/multi-projects/.vscode/extensions.json +1 -1
  10. package/templates/multi-projects/.vscode/settings.json +7 -13
  11. package/templates/{single-project/package.json.tmpl → multi-projects/package.json} +7 -13
  12. package/templates/multi-projects/{pnpm-workspace.yaml.tmpl → pnpm-workspace.yaml} +2 -0
  13. package/templates/single-project/.vscode/extensions.json +1 -1
  14. package/templates/single-project/.vscode/settings.json +7 -13
  15. package/templates/{multi-projects/package.json.tmpl → single-project/package.json} +7 -13
  16. package/templates/single-project/{pnpm-workspace.yaml.tmpl → pnpm-workspace.yaml} +2 -0
  17. package/configs/eslint/constants.js +0 -37
  18. package/configs/eslint/helpers.js +0 -5
  19. package/configs/eslint/index.js +0 -30
  20. package/configs/eslint/presets/dependencies.js +0 -14
  21. package/configs/eslint/presets/eslint.js +0 -133
  22. package/configs/eslint/presets/import.js +0 -65
  23. package/configs/eslint/presets/jsdoc.js +0 -78
  24. package/configs/eslint/presets/markdown.js +0 -1
  25. package/configs/eslint/presets/node.js +0 -51
  26. package/configs/eslint/presets/prettier.js +0 -1
  27. package/configs/eslint/presets/react.js +0 -111
  28. package/configs/eslint/presets/sonar.js +0 -201
  29. package/configs/eslint/presets/stylistic.js +0 -79
  30. package/configs/eslint/presets/test.js +0 -87
  31. package/configs/eslint/presets/typescript.js +0 -198
  32. package/configs/eslint/presets/unicorn.js +0 -257
  33. package/templates/multi-projects/.npmrc.tmpl +0 -1
  34. package/templates/single-project/.npmrc.tmpl +0 -1
  35. package/templates/multi-projects/.changeset/{config.json.tmpl → config.json} +0 -0
  36. package/templates/multi-projects/.changeset/{welcome.md.tmpl → welcome.md} +0 -0
  37. package/templates/multi-projects/.github/{PULL_REQUEST_TEMPLATE.md.tmpl → PULL_REQUEST_TEMPLATE.md} +0 -0
  38. package/templates/multi-projects/{.nvmrc.tmpl → .nvmrc} +0 -0
  39. package/templates/multi-projects/{CONTRIBUTING.md.tmpl → CONTRIBUTING.md} +0 -0
  40. package/templates/multi-projects/{LICENSE.tmpl → LICENSE} +0 -0
  41. package/templates/multi-projects/examples/default/{package.json.tmpl → package.json} +0 -0
  42. package/templates/multi-projects/examples/default/src/{index.ts.tmpl → index.ts} +0 -0
  43. package/templates/multi-projects/libraries/{{projectName}}/{README.md.tmpl → README.md} +0 -0
  44. package/templates/multi-projects/libraries/{{projectName}}/{package.json.tmpl → package.json} +10 -10
  45. package/templates/multi-projects/libraries/{{projectName}}/src/{index.test.ts.tmpl → index.test.ts} +0 -0
  46. package/templates/single-project/.changeset/{config.json.tmpl → config.json} +0 -0
  47. package/templates/single-project/.changeset/{welcome.md.tmpl → welcome.md} +0 -0
  48. package/templates/single-project/.github/{PULL_REQUEST_TEMPLATE.md.tmpl → PULL_REQUEST_TEMPLATE.md} +0 -0
  49. package/templates/single-project/{.nvmrc.tmpl → .nvmrc} +0 -0
  50. package/templates/single-project/{CONTRIBUTING.md.tmpl → CONTRIBUTING.md} +0 -0
  51. package/templates/single-project/{LICENSE.tmpl → LICENSE} +0 -0
  52. package/templates/single-project/examples/default/{package.json.tmpl → package.json} +0 -0
  53. package/templates/single-project/examples/default/src/{index.ts.tmpl → index.ts} +0 -0
  54. package/templates/single-project/{{projectName}}/{README.md.tmpl → README.md} +0 -0
  55. package/templates/single-project/{{projectName}}/{package.json.tmpl → package.json} +10 -10
  56. /package/templates/single-project/{{projectName}}/src/{index.test.ts.tmpl → index.test.ts} +0 -0
package/bin/index.js CHANGED
@@ -4,4 +4,4 @@ import { createRequire } from "node:module";
4
4
 
5
5
  const package_ = createRequire(import.meta.url)("../package.json");
6
6
 
7
- import(new URL(`../${package_.exports["."].default}`, import.meta.url));
7
+ void import(new URL(`../${package_.exports["."].default}`, import.meta.url));
@@ -1,6 +1,6 @@
1
1
  <br>
2
2
  <div align="center">
3
- <h1>@adbayb/stack/prettier</h1>
3
+ <h1>@adbayb/stack/oxfmt</h1>
4
4
  <strong>My opinionated formatting standards</strong>
5
5
  </div>
6
6
  <br>
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## ✨ Features
10
10
 
11
- This package offers opinionated but extensible **[Prettier](https://prettier.io/)** configurations to align code formatting conventions across projects.
11
+ This package offers opinionated but extensible **[Oxfmt](https://oxc.rs/docs/guide/usage/formatter.html)** configurations to align code formatting conventions across projects.
12
12
 
13
13
  It allows to:
14
14
 
@@ -30,18 +30,10 @@ pnpm add @adbayb/stack --save-dev --workspace-root
30
30
 
31
31
  ### 2️⃣ Usage
32
32
 
33
- Edit the root `package.json` file to include the following:
34
-
35
- ```jsonc
36
- {
37
- "scripts": {
38
- "check:format": "prettier \"**/!(pnpm-lock.yaml)\" --check --ignore-unknown --ignore-path .gitignore --log-level warn",
39
- "fix:format": "pnpm check:format --write",
40
- // ...
41
- },
42
- "prettier": "@adbayb/stack/prettier",
43
- // ...
44
- }
33
+ Create a `oxfmt.config.ts` file and include the following:
34
+
35
+ ```ts
36
+ export { default } from "@adbayb/stack/oxfmt";
45
37
  ```
46
38
 
47
39
  <br />
@@ -1,25 +1,29 @@
1
- /**
2
- * @type {import("prettier").Config}
3
- */
4
- export default {
1
+ import { defineConfig } from "oxfmt";
2
+
3
+ export default defineConfig({
5
4
  arrowParens: "always",
6
5
  bracketSameLine: false,
7
6
  bracketSpacing: true,
8
7
  embeddedLanguageFormatting: "auto",
9
8
  endOfLine: "lf",
10
9
  htmlWhitespaceSensitivity: "css",
11
- insertPragma: false,
10
+ ignorePatterns: [],
11
+ insertFinalNewline: true,
12
+ jsdoc: true,
12
13
  jsxSingleQuote: false,
13
- plugins: ["prettier-plugin-packagejson"],
14
- printWidth: 80,
14
+ objectWrap: "preserve",
15
+ printWidth: 100,
15
16
  proseWrap: "preserve",
16
17
  quoteProps: "consistent",
17
- requirePragma: false,
18
18
  semi: true,
19
19
  singleAttributePerLine: true,
20
20
  singleQuote: false,
21
+ sortImports: {
22
+ newlinesBetween: false,
23
+ },
24
+ sortPackageJson: true,
21
25
  tabWidth: 4,
22
26
  trailingComma: "all",
23
27
  useTabs: true,
24
28
  vueIndentScriptAndStyle: false,
25
- };
29
+ });
@@ -1,6 +1,6 @@
1
1
  <br>
2
2
  <div align="center">
3
- <h1>@adbayb/stack/eslint</h1>
3
+ <h1>@adbayb/stack/oxlint</h1>
4
4
  <strong>My opinionated linter standards</strong>
5
5
  </div>
6
6
  <br>
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## ✨ Features
10
10
 
11
- This package offers opinionated but extensible **[ESLint](https://eslint.org/)** configurations to align logical and stylistic rules across projects.
11
+ This package offers opinionated but extensible **[Oxlint](https://oxc.rs/docs/guide/usage/linter.html)** configurations to align logical and stylistic rules across projects.
12
12
 
13
13
  It allows to:
14
14
 
@@ -30,10 +30,10 @@ pnpm add @adbayb/stack --save-dev --workspace-root
30
30
 
31
31
  ### 2️⃣ Usage
32
32
 
33
- Create a `eslint.config.js` file and include the following:
33
+ Create a `oxlint.config.ts` file and include the following:
34
34
 
35
35
  ```ts
36
- export { default } from "@adbayb/stack/eslint";
36
+ export { default } from "@adbayb/stack/oxlint";
37
37
  ```
38
38
 
39
39
  <br />
@@ -0,0 +1,28 @@
1
+ import { defineConfig } from "oxlint";
2
+
3
+ export default defineConfig({
4
+ plugins: [
5
+ "eslint",
6
+ "import",
7
+ "jsdoc",
8
+ "jsx-a11y",
9
+ "node",
10
+ "oxc",
11
+ "promise",
12
+ "react",
13
+ "react-perf",
14
+ "typescript",
15
+ "unicorn",
16
+ "vitest",
17
+ ],
18
+ categories: {
19
+ correctness: "error",
20
+ },
21
+ options: {
22
+ denyWarnings: true,
23
+ reportUnusedDisableDirectives: "error",
24
+ respectEslintDisableDirectives: false,
25
+ typeAware: true,
26
+ typeCheck: true,
27
+ },
28
+ });
@@ -10,13 +10,7 @@
10
10
  "exactOptionalPropertyTypes": true,
11
11
  "incremental": true,
12
12
  "jsx": "react-jsx",
13
- "lib": [
14
- "ESNext",
15
- "DOM",
16
- "DOM.AsyncIterable",
17
- "DOM.Iterable",
18
- "WebWorker.ImportScripts"
19
- ],
13
+ "lib": ["ESNext", "DOM", "DOM.AsyncIterable", "DOM.Iterable", "WebWorker.ImportScripts"],
20
14
  "module": "Preserve",
21
15
  "noEmit": true,
22
16
  "noErrorTruncation": true,