@codeperfect/eslint-config 1.7.0 → 1.9.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.
Files changed (119) hide show
  1. package/README.md +20 -29
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/bootstrap/index.js +1 -0
  4. package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
  5. package/dist/domain/config-composition.js +0 -1
  6. package/dist/domain/index.js +0 -1
  7. package/dist/domain/module-taxonomy.js +0 -1
  8. package/dist/domain/types.js +0 -1
  9. package/dist/index.js +1 -2
  10. package/dist/infrastructure/architecture/boundaries.js +41 -116
  11. package/dist/infrastructure/architecture/import-x.js +7 -19
  12. package/dist/infrastructure/architecture/index.js +0 -1
  13. package/dist/infrastructure/config-factory.js +7 -6
  14. package/dist/infrastructure/configs/index.js +0 -1
  15. package/dist/infrastructure/core/codeperfect.js +0 -1
  16. package/dist/infrastructure/core/eslint.js +8 -3
  17. package/dist/infrastructure/core/index.js +0 -1
  18. package/dist/infrastructure/core/resolver.js +0 -1
  19. package/dist/infrastructure/core/typescript.js +5 -45
  20. package/dist/infrastructure/diagnostics.js +7 -23
  21. package/dist/infrastructure/docs/comments.js +0 -1
  22. package/dist/infrastructure/docs/index.js +0 -1
  23. package/dist/infrastructure/docs/jsdoc-config.js +0 -1
  24. package/dist/infrastructure/docs/jsdoc.js +0 -1
  25. package/dist/infrastructure/index.js +0 -1
  26. package/dist/infrastructure/plugin-loaders.js +3 -3
  27. package/dist/infrastructure/plugin-state.js +0 -1
  28. package/dist/infrastructure/runtime/angular-eslint.js +0 -1
  29. package/dist/infrastructure/runtime/index.js +0 -1
  30. package/dist/infrastructure/rxjs-x.js +0 -1
  31. package/dist/infrastructure/style/index.js +0 -1
  32. package/dist/infrastructure/style/perfectionist.js +0 -1
  33. package/dist/infrastructure/style/prettier.js +0 -1
  34. package/dist/infrastructure/style/stylistic.js +0 -1
  35. package/dist/infrastructure/style/unicorn.js +0 -1
  36. package/dist/infrastructure/testing/index.js +0 -1
  37. package/dist/infrastructure/testing/jasmine.js +0 -1
  38. package/dist/infrastructure/testing/jest.js +0 -1
  39. package/dist/infrastructure/testing/playwright.js +0 -1
  40. package/dist/infrastructure/testing/vitest-e2e.js +0 -1
  41. package/dist/infrastructure/testing/vitest.js +0 -1
  42. package/dist/infrastructure/utilities.js +2 -89
  43. package/package.json +21 -20
  44. package/dist/domain/config-composition.d.ts +0 -8
  45. package/dist/domain/config-composition.d.ts.map +0 -1
  46. package/dist/domain/index.d.ts +0 -4
  47. package/dist/domain/index.d.ts.map +0 -1
  48. package/dist/domain/module-taxonomy.d.ts +0 -72
  49. package/dist/domain/module-taxonomy.d.ts.map +0 -1
  50. package/dist/domain/types.d.ts +0 -68
  51. package/dist/domain/types.d.ts.map +0 -1
  52. package/dist/index.d.ts +0 -3
  53. package/dist/index.d.ts.map +0 -1
  54. package/dist/infrastructure/architecture/boundaries.d.ts +0 -22
  55. package/dist/infrastructure/architecture/boundaries.d.ts.map +0 -1
  56. package/dist/infrastructure/architecture/import-x.d.ts +0 -12
  57. package/dist/infrastructure/architecture/import-x.d.ts.map +0 -1
  58. package/dist/infrastructure/architecture/index.d.ts +0 -3
  59. package/dist/infrastructure/architecture/index.d.ts.map +0 -1
  60. package/dist/infrastructure/config-factory.d.ts +0 -14
  61. package/dist/infrastructure/config-factory.d.ts.map +0 -1
  62. package/dist/infrastructure/configs/index.d.ts +0 -8
  63. package/dist/infrastructure/configs/index.d.ts.map +0 -1
  64. package/dist/infrastructure/core/codeperfect.d.ts +0 -11
  65. package/dist/infrastructure/core/codeperfect.d.ts.map +0 -1
  66. package/dist/infrastructure/core/eslint.d.ts +0 -12
  67. package/dist/infrastructure/core/eslint.d.ts.map +0 -1
  68. package/dist/infrastructure/core/index.d.ts +0 -5
  69. package/dist/infrastructure/core/index.d.ts.map +0 -1
  70. package/dist/infrastructure/core/resolver.d.ts +0 -11
  71. package/dist/infrastructure/core/resolver.d.ts.map +0 -1
  72. package/dist/infrastructure/core/typescript.d.ts +0 -11
  73. package/dist/infrastructure/core/typescript.d.ts.map +0 -1
  74. package/dist/infrastructure/diagnostics.d.ts +0 -53
  75. package/dist/infrastructure/diagnostics.d.ts.map +0 -1
  76. package/dist/infrastructure/docs/comments.d.ts +0 -11
  77. package/dist/infrastructure/docs/comments.d.ts.map +0 -1
  78. package/dist/infrastructure/docs/index.d.ts +0 -3
  79. package/dist/infrastructure/docs/index.d.ts.map +0 -1
  80. package/dist/infrastructure/docs/jsdoc-config.d.ts +0 -14
  81. package/dist/infrastructure/docs/jsdoc-config.d.ts.map +0 -1
  82. package/dist/infrastructure/docs/jsdoc.d.ts +0 -12
  83. package/dist/infrastructure/docs/jsdoc.d.ts.map +0 -1
  84. package/dist/infrastructure/index.d.ts +0 -5
  85. package/dist/infrastructure/index.d.ts.map +0 -1
  86. package/dist/infrastructure/plugin-loaders.d.ts +0 -125
  87. package/dist/infrastructure/plugin-loaders.d.ts.map +0 -1
  88. package/dist/infrastructure/plugin-state.d.ts +0 -26
  89. package/dist/infrastructure/plugin-state.d.ts.map +0 -1
  90. package/dist/infrastructure/runtime/angular-eslint.d.ts +0 -12
  91. package/dist/infrastructure/runtime/angular-eslint.d.ts.map +0 -1
  92. package/dist/infrastructure/runtime/index.d.ts +0 -2
  93. package/dist/infrastructure/runtime/index.d.ts.map +0 -1
  94. package/dist/infrastructure/rxjs-x.d.ts +0 -11
  95. package/dist/infrastructure/rxjs-x.d.ts.map +0 -1
  96. package/dist/infrastructure/style/index.d.ts +0 -5
  97. package/dist/infrastructure/style/index.d.ts.map +0 -1
  98. package/dist/infrastructure/style/perfectionist.d.ts +0 -11
  99. package/dist/infrastructure/style/perfectionist.d.ts.map +0 -1
  100. package/dist/infrastructure/style/prettier.d.ts +0 -11
  101. package/dist/infrastructure/style/prettier.d.ts.map +0 -1
  102. package/dist/infrastructure/style/stylistic.d.ts +0 -11
  103. package/dist/infrastructure/style/stylistic.d.ts.map +0 -1
  104. package/dist/infrastructure/style/unicorn.d.ts +0 -11
  105. package/dist/infrastructure/style/unicorn.d.ts.map +0 -1
  106. package/dist/infrastructure/testing/index.d.ts +0 -6
  107. package/dist/infrastructure/testing/index.d.ts.map +0 -1
  108. package/dist/infrastructure/testing/jasmine.d.ts +0 -11
  109. package/dist/infrastructure/testing/jasmine.d.ts.map +0 -1
  110. package/dist/infrastructure/testing/jest.d.ts +0 -11
  111. package/dist/infrastructure/testing/jest.d.ts.map +0 -1
  112. package/dist/infrastructure/testing/playwright.d.ts +0 -12
  113. package/dist/infrastructure/testing/playwright.d.ts.map +0 -1
  114. package/dist/infrastructure/testing/vitest-e2e.d.ts +0 -11
  115. package/dist/infrastructure/testing/vitest-e2e.d.ts.map +0 -1
  116. package/dist/infrastructure/testing/vitest.d.ts +0 -11
  117. package/dist/infrastructure/testing/vitest.d.ts.map +0 -1
  118. package/dist/infrastructure/utilities.d.ts +0 -41
  119. package/dist/infrastructure/utilities.d.ts.map +0 -1
package/README.md CHANGED
@@ -74,34 +74,25 @@ export default config({
74
74
  });
75
75
  ```
76
76
 
77
- Provide explicit repository-owned `boundaries` topology when needed:
78
-
79
- ```typescript
80
- import { config } from "@codeperfect/eslint-config";
81
-
82
- export default config({
83
- boundaries: {
84
- files: ["src/**/*.ts"],
85
- elements: [
86
- { type: "shared", pattern: "src/shared/**/*" },
87
- { type: "domain", pattern: "src/domain/**/*" },
88
- { type: "app", pattern: "src/app/**/*" },
89
- ],
90
- elementTypes: [
91
- "error",
92
- {
93
- default: "disallow",
94
- rules: [
95
- { allow: ["shared"], from: ["domain", "app"] },
96
- { allow: ["domain"], from: ["app"] },
97
- ],
98
- },
99
- ],
100
- },
101
- });
102
- ```
103
-
104
- If that topology is missing or incomplete, the `boundaries` module is skipped and the package reports a targeted warning.
77
+ The `boundaries` module is package-owned and always uses this topology:
78
+
79
+ - `entrypoint`: `src/index.ts`
80
+ - `bootstrap`: `src/bootstrap/**`
81
+ - `presentation`: `src/presentation/**`
82
+ - `infrastructure`: `src/infrastructure/**`
83
+ - `application`: `src/application/**`
84
+ - `domain`: `src/domain/**`
85
+ - `shared`: `src/shared/**`
86
+
87
+ Directional dependency rules are fixed:
88
+
89
+ - `entrypoint -> bootstrap`
90
+ - `bootstrap -> presentation | infrastructure | application | domain | shared`
91
+ - `presentation -> application | domain | shared`
92
+ - `infrastructure -> application | domain | shared`
93
+ - `application -> domain | shared`
94
+ - `domain -> shared`
95
+ - `shared -> shared`
105
96
 
106
97
  ## Composition order
107
98
 
@@ -147,7 +138,7 @@ This order is intentional and validated in tests.
147
138
  | `perfectionist` | `eslint-plugin-perfectionist` | Optional ordering rules. |
148
139
  | `unicorn` | `eslint-plugin-unicorn` | Optional general best-practice rules. |
149
140
  | `prettier` | `eslint-plugin-prettier` | Optional Prettier integration. |
150
- | `boundaries` | `eslint-plugin-boundaries` | Optional, repository-owned architecture overlay. |
141
+ | `boundaries` | `eslint-plugin-boundaries` | Optional, package-owned architecture overlay. |
151
142
 
152
143
  ## Validation
153
144
 
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/domain/config-composition.ts","../src/domain/index.ts","../src/domain/module-taxonomy.ts","../src/domain/types.ts","../src/infrastructure/config-factory.ts","../src/infrastructure/diagnostics.ts","../src/infrastructure/index.ts","../src/infrastructure/plugin-loaders.ts","../src/infrastructure/plugin-state.ts","../src/infrastructure/rxjs-x.ts","../src/infrastructure/utilities.ts","../src/infrastructure/architecture/boundaries.ts","../src/infrastructure/architecture/import-x.ts","../src/infrastructure/architecture/index.ts","../src/infrastructure/configs/index.ts","../src/infrastructure/core/codeperfect.ts","../src/infrastructure/core/eslint.ts","../src/infrastructure/core/index.ts","../src/infrastructure/core/resolver.ts","../src/infrastructure/core/typescript.ts","../src/infrastructure/docs/comments.ts","../src/infrastructure/docs/index.ts","../src/infrastructure/docs/jsdoc-config.ts","../src/infrastructure/docs/jsdoc.ts","../src/infrastructure/runtime/angular-eslint.ts","../src/infrastructure/runtime/index.ts","../src/infrastructure/style/index.ts","../src/infrastructure/style/perfectionist.ts","../src/infrastructure/style/prettier.ts","../src/infrastructure/style/stylistic.ts","../src/infrastructure/style/unicorn.ts","../src/infrastructure/testing/index.ts","../src/infrastructure/testing/jasmine.ts","../src/infrastructure/testing/jest.ts","../src/infrastructure/testing/playwright.ts","../src/infrastructure/testing/vitest-e2e.ts","../src/infrastructure/testing/vitest.ts","../eslint-plugin-jasmine.d.ts"],"version":"6.0.3"}
1
+ {"root":["../src/index.ts","../src/bootstrap/index.ts","../src/domain/config-composition.ts","../src/domain/index.ts","../src/domain/module-taxonomy.ts","../src/domain/types.ts","../src/infrastructure/config-factory.ts","../src/infrastructure/diagnostics.ts","../src/infrastructure/index.ts","../src/infrastructure/plugin-loaders.ts","../src/infrastructure/plugin-state.ts","../src/infrastructure/rxjs-x.ts","../src/infrastructure/utilities.ts","../src/infrastructure/architecture/boundaries.ts","../src/infrastructure/architecture/import-x.ts","../src/infrastructure/architecture/index.ts","../src/infrastructure/configs/index.ts","../src/infrastructure/core/codeperfect.ts","../src/infrastructure/core/eslint.ts","../src/infrastructure/core/index.ts","../src/infrastructure/core/resolver.ts","../src/infrastructure/core/typescript.ts","../src/infrastructure/docs/comments.ts","../src/infrastructure/docs/index.ts","../src/infrastructure/docs/jsdoc-config.ts","../src/infrastructure/docs/jsdoc.ts","../src/infrastructure/runtime/angular-eslint.ts","../src/infrastructure/runtime/index.ts","../src/infrastructure/style/index.ts","../src/infrastructure/style/perfectionist.ts","../src/infrastructure/style/prettier.ts","../src/infrastructure/style/stylistic.ts","../src/infrastructure/style/unicorn.ts","../src/infrastructure/testing/index.ts","../src/infrastructure/testing/jasmine.ts","../src/infrastructure/testing/jest.ts","../src/infrastructure/testing/playwright.ts","../src/infrastructure/testing/vitest-e2e.ts","../src/infrastructure/testing/vitest.ts","../eslint-plugin-jasmine.d.ts"],"version":"6.0.3"}
@@ -0,0 +1 @@
1
+ export { config, defaultBoundariesConfig } from "../infrastructure/index.js";
@@ -54,4 +54,3 @@ const reducedCompositionNames = [
54
54
  "style-unicorn",
55
55
  ];
56
56
  export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RvbWFpbi9jb25maWctY29tcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7Q0FDakIsQ0FBQztBQUVYLDhFQUE4RTtBQUM5RSxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtDQUNqQixDQUFDO0FBRVgseUVBQXlFO0FBQ3pFLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixlQUFlO0NBQ1AsQ0FBQztBQUVYLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixHQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEV4cGVjdGVkIGNvbmZpZyBuYW1lcyB3aGVuIGRlZmF1bHQtZW5hYmxlZCBtb2R1bGVzIGFyZSBjb21wb3NlZCBpbiBvcmRlci4gKi9cbmNvbnN0IGRlZmF1bHRDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtY29kZXBlcmZlY3RcIixcbiAgXCJjb3JlLWVzbGludFwiLFxuICBcImNvcmUtcmVzb2x2ZXJcIixcbiAgXCJjb3JlLXR5cGVzY3JpcHRcIixcbiAgXCJhcmNoaXRlY3R1cmUtaW1wb3J0LXhcIixcbiAgXCJkb2NzLWNvbW1lbnRzXCIsXG4gIFwiZG9jcy1qc2RvY1wiLFxuICBcInRlc3RpbmctcGxheXdyaWdodFwiLFxuICBcInRlc3Rpbmctdml0ZXN0XCIsXG4gIFwiZG9tYWluLXJ4anNcIixcbiAgXCJzdHlsZS1zdHlsaXN0aWNcIixcbiAgXCJzdHlsZS1wZXJmZWN0aW9uaXN0XCIsXG4gIFwic3R5bGUtdW5pY29yblwiLFxuICBcInN0eWxlLXByZXR0aWVyXCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWJvdW5kYXJpZXNcIixcbl0gYXMgY29uc3Q7XG5cbi8qKiBFeHBlY3RlZCBjb25maWcgbmFtZXMgd2hlbiBhbGwgZG9jdW1lbnRlZCBtb2R1bGVzIGFyZSBlbmFibGVkIGluIG9yZGVyLiAqL1xuY29uc3QgZnVsbENvbXBvc2l0aW9uTmFtZXMgPSBbXG4gIFwiY29yZS1jb2RlcGVyZmVjdFwiLFxuICBcImNvcmUtZXNsaW50XCIsXG4gIFwiY29yZS1yZXNvbHZlclwiLFxuICBcImNvcmUtdHlwZXNjcmlwdFwiLFxuICBcImFyY2hpdGVjdHVyZS1pbXBvcnQteFwiLFxuICBcImRvY3MtY29tbWVudHNcIixcbiAgXCJkb2NzLWpzZG9jXCIsXG4gIFwidGVzdGluZy1qYXNtaW5lXCIsXG4gIFwidGVzdGluZy1qZXN0XCIsXG4gIFwidGVzdGluZy1wbGF5d3JpZ2h0XCIsXG4gIFwidGVzdGluZy12aXRlc3RcIixcbiAgXCJ0ZXN0aW5nLXZpdGVzdC1lMmVcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInJ1bnRpbWUtYW5ndWxhci1lc2xpbnRcIixcbiAgXCJzdHlsZS1zdHlsaXN0aWNcIixcbiAgXCJzdHlsZS1wZXJmZWN0aW9uaXN0XCIsXG4gIFwic3R5bGUtdW5pY29yblwiLFxuICBcInN0eWxlLXByZXR0aWVyXCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWJvdW5kYXJpZXNcIixcbl0gYXMgY29uc3Q7XG5cbi8qKiBFeHBlY3RlZCBjb25maWcgbmFtZXMgd2hlbiBzZWxlY3RlZCBvcHRpb25hbCBtb2R1bGVzIGFyZSBkaXNhYmxlZC4gKi9cbmNvbnN0IHJlZHVjZWRDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtY29kZXBlcmZlY3RcIixcbiAgXCJjb3JlLWVzbGludFwiLFxuICBcImNvcmUtcmVzb2x2ZXJcIixcbiAgXCJjb3JlLXR5cGVzY3JpcHRcIixcbiAgXCJhcmNoaXRlY3R1cmUtaW1wb3J0LXhcIixcbiAgXCJkb2NzLWNvbW1lbnRzXCIsXG4gIFwiZG9jcy1qc2RvY1wiLFxuICBcInRlc3RpbmctcGxheXdyaWdodFwiLFxuICBcImRvbWFpbi1yeGpzXCIsXG4gIFwic3R5bGUtc3R5bGlzdGljXCIsXG4gIFwic3R5bGUtcGVyZmVjdGlvbmlzdFwiLFxuICBcInN0eWxlLXVuaWNvcm5cIixcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB7XG4gIGRlZmF1bHRDb21wb3NpdGlvbk5hbWVzLFxuICBmdWxsQ29tcG9zaXRpb25OYW1lcyxcbiAgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMsXG59O1xuIl19
@@ -1,3 +1,2 @@
1
1
  export { defaultCompositionNames, fullCompositionNames, reducedCompositionNames, } from "./config-composition.js";
2
2
  export { moduleTaxonomy } from "./module-taxonomy.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixHQUN4QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGRlZmF1bHRDb21wb3NpdGlvbk5hbWVzLFxuICBmdWxsQ29tcG9zaXRpb25OYW1lcyxcbiAgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMsXG59IGZyb20gXCIuL2NvbmZpZy1jb21wb3NpdGlvblwiO1xuZXhwb3J0IHsgbW9kdWxlVGF4b25vbXkgfSBmcm9tIFwiLi9tb2R1bGUtdGF4b25vbXlcIjtcbmV4cG9ydCB0eXBlIHtcbiAgQm91bmRhcmllc0NvbmZpZyxcbiAgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbixcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIENvbmZpZ09wdGlvbnMsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuIl19
@@ -21,4 +21,3 @@ const moduleTaxonomy = [
21
21
  { category: "repository-architecture", pluginName: "boundaries" },
22
22
  ];
23
23
  export { moduleTaxonomy };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRheG9ub215LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RvbWFpbi9tb2R1bGUtdGF4b25vbXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLGlEQUFpRDtBQUNqRCxNQUFNLGNBQWMsR0FBRztJQUNyQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRTtJQUMvQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUMxQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUM1QyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtJQUM5QyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUNwRCxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtJQUNyRCxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRTtJQUNsRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTtJQUM5QyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTtJQUMzQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtJQUNqRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtJQUM3QyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtJQUNqRCxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQ3BELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUU7SUFDckQsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUU7SUFDOUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUU7SUFDbEQsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUU7SUFDNUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7SUFDN0MsRUFBRSxRQUFRLEVBQUUseUJBQXlCLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRTtDQUNoQixDQUFDO0FBRXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBUYXhvbm9teSBjYXRlZ29yaWVzIGZvciBjb25maWcgbW9kdWxlcy4gKi9cbnR5cGUgTW9kdWxlQ2F0ZWdvcnkgPVxuICB8IFwiYXJjaGl0ZWN0dXJlXCJcbiAgfCBcImNvcmVcIlxuICB8IFwiZG9jdW1lbnRhdGlvblwiXG4gIHwgXCJkb21haW5cIlxuICB8IFwiaW5mcmFzdHJ1Y3R1cmVcIlxuICB8IFwicmVwb3NpdG9yeS1hcmNoaXRlY3R1cmVcIlxuICB8IFwicnVudGltZVwiXG4gIHwgXCJzdHlsZVwiXG4gIHwgXCJ0ZXN0aW5nXCI7XG5cbi8qKiBFbnRyeSBkZXNjcmliaW5nIGEgZG9jdW1lbnRlZCBjb25maWcgbW9kdWxlLiAqL1xuaW50ZXJmYWNlIE1vZHVsZVRheG9ub215RW50cnkge1xuICAvKiogQ2F0ZWdvcnkgb3duaW5nIHRoZSBtb2R1bGUuICovXG4gIGNhdGVnb3J5OiBNb2R1bGVDYXRlZ29yeTtcblxuICAvKiogUHVibGljIG1vZHVsZSBuYW1lIHVzZWQgaW4gY29uZmlnIG9wdGlvbnMgYW5kIGRpYWdub3N0aWNzLiAqL1xuICBwbHVnaW5OYW1lOiBQbHVnaW5OYW1lO1xufVxuXG4vKiogT3JkZXJlZCBtb2R1bGUgdGF4b25vbXkgbWF0Y2hpbmcgUkZDLTAwMDMuICovXG5jb25zdCBtb2R1bGVUYXhvbm9teSA9IFtcbiAgeyBjYXRlZ29yeTogXCJjb3JlXCIsIHBsdWdpbk5hbWU6IFwiY29kZXBlcmZlY3RcIiB9LFxuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJlc2xpbnRcIiB9LFxuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJyZXNvbHZlclwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcInR5cGVzY3JpcHRcIiB9LFxuICB7IGNhdGVnb3J5OiBcImFyY2hpdGVjdHVyZVwiLCBwbHVnaW5OYW1lOiBcImltcG9ydC14XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJkb2N1bWVudGF0aW9uXCIsIHBsdWdpbk5hbWU6IFwiY29tbWVudHNcIiB9LFxuICB7IGNhdGVnb3J5OiBcImRvY3VtZW50YXRpb25cIiwgcGx1Z2luTmFtZTogXCJqc2RvY1wiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcImphc21pbmVcIiB9LFxuICB7IGNhdGVnb3J5OiBcInRlc3RpbmdcIiwgcGx1Z2luTmFtZTogXCJqZXN0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwicGxheXdyaWdodFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcInZpdGVzdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcInZpdGVzdC1lMmVcIiB9LFxuICB7IGNhdGVnb3J5OiBcImluZnJhc3RydWN0dXJlXCIsIHBsdWdpbk5hbWU6IFwicnhqcy14XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJydW50aW1lXCIsIHBsdWdpbk5hbWU6IFwiYW5ndWxhci1lc2xpbnRcIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwic3R5bGlzdGljXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJzdHlsZVwiLCBwbHVnaW5OYW1lOiBcInBlcmZlY3Rpb25pc3RcIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwidW5pY29yblwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwic3R5bGVcIiwgcGx1Z2luTmFtZTogXCJwcmV0dGllclwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwicmVwb3NpdG9yeS1hcmNoaXRlY3R1cmVcIiwgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIgfSxcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IE1vZHVsZVRheG9ub215RW50cnlbXTtcblxuZXhwb3J0IHsgbW9kdWxlVGF4b25vbXkgfTtcbmV4cG9ydCB0eXBlIHsgTW9kdWxlQ2F0ZWdvcnksIE1vZHVsZVRheG9ub215RW50cnkgfTtcbiJdfQ==
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHtcbiAgRGVwZW5kZW5jaWVzUnVsZU9wdGlvbnMsXG4gIEVsZW1lbnREZXNjcmlwdG9ycyxcbn0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIEFyY2hpdGVjdHVyZVBsdWdpbk5hbWUgPSBcImJvdW5kYXJpZXNcIiB8IFwiaW1wb3J0LXhcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEJvdW5kYXJpZXNDb25maWcge1xuICAvKiogUmVwb3NpdG9yeS1vd25lZCBlbGVtZW50IGRlc2NyaXB0b3JzIGZvciBib3VuZGFyaWVzIGFuYWx5c2lzLiAqL1xuICBlbGVtZW50cz86IEVsZW1lbnREZXNjcmlwdG9ycztcblxuICAvKiogUmVwb3NpdG9yeS1vd25lZCBkZXBlbmRlbmN5IGRpcmVjdGlvbiBydWxlcyBmb3IgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgZWxlbWVudFR5cGVzPzogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeTtcblxuICAvKiogT3B0aW9uYWwgYWRkaXRpdmUgZXh0ZW5zaW9ucyBhcHBsaWVkIGFmdGVyIHRoZSByZXBvc2l0b3J5IGRlZmF1bHRzLiAqL1xuICBleHRlbmQ/OiBCb3VuZGFyaWVzQ29uZmlnRXh0ZW5zaW9uO1xuXG4gIC8qKiBGaWxlcyBpbmNsdWRlZCBpbiByZXBvc2l0b3J5LXNwZWNpZmljIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGZpbGVzPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqIE9wdGlvbmFsIGlnbm9yZSBnbG9icyBleGNsdWRlZCBmcm9tIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBhZGRpdGl2ZSBib3VuZGFyaWVzIGV4dGVuc2lvbiBmaWVsZHMuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbiB7XG4gIC8qKiBBZGRpdGlvbmFsIHJlcG9zaXRvcnktb3duZWQgZWxlbWVudCBkZXNjcmlwdG9ycyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdHMuICovXG4gIGVsZW1lbnRzPzogRWxlbWVudERlc2NyaXB0b3JzO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGRlcGVuZGVuY3kgZGlyZWN0aW9uIHJ1bGVzIGFwcGVuZGVkIHRvIHRoZSBkZWZhdWx0IHJ1bGUgc2V0LlxuICAgKiBPbmx5IGFkZGl0aXZlIGRlcGVuZGVuY3kgcnVsZXMgYXJlIHN1cHBvcnRlZCBoZXJlLlxuICAgKi9cbiAgZWxlbWVudFR5cGVzPzogUGljazxCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucywgXCJydWxlc1wiPjtcblxuICAvKiogQWRkaXRpb25hbCBmaWxlcyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdCBmaWxlIGdsb2JzLiAqL1xuICBmaWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBBZGRpdGlvbmFsIGlnbm9yZSBnbG9icyBhcHBlbmRlZCB0byB0aGUgZGVmYXVsdCBpZ25vcmUgbGlzdC4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogRGVwZW5kZW5jeSBydWxlIG9wdGlvbnMgb2JqZWN0IHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xudHlwZSBCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucyA9IERlcGVuZGVuY2llc1J1bGVPcHRpb25zO1xuXG4vKiogUnVsZSBlbnRyeSBzaGFwZSB1c2VkIGZvciByZXBvc2l0b3J5LW93bmVkIGJvdW5kYXJpZXMgZGVwZW5kZW5jeSBydWxlcy4gKi9cbnR5cGUgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgTGludGVyLlJ1bGVTZXZlcml0eSxcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG5dO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dCBmb3IgdGhlIG9wdGlvbmFsIGBib3VuZGFyaWVzYCBtb2R1bGUuICovXG4gIGJvdW5kYXJpZXM/OiBCb3VuZGFyaWVzQ29uZmlnO1xuXG4gIC8qKiBFeHBsaWNpdCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzIGtleWVkIGJ5IHB1YmxpYyBwbHVnaW4gbmFtZS4gKi9cbiAgcGx1Z2lucz86IFBsdWdpblN0YXRlT3ZlcnJpZGVzO1xuXG4gIC8qKlxuICAgKiBSdWxlcyB0byBkaXNhYmxlIG9yIG92ZXJyaWRlLlxuICAgKiBVc2UgJ29mZicgdG8gZGlzYWJsZSwgb3IgcHJvdmlkZSBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJ1bGVzPzogTGludGVyLlJ1bGVzUmVjb3JkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvcmVQbHVnaW5OYW1lID0gXCJjb2RlcGVyZmVjdFwiIHwgXCJlc2xpbnRcIiB8IFwicmVzb2x2ZXJcIiB8IFwidHlwZXNjcmlwdFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvY3VtZW50YXRpb25QbHVnaW5OYW1lID0gXCJjb21tZW50c1wiIHwgXCJqc2RvY1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvbWFpblBsdWdpbk5hbWUgPSBcInJ4anMteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFBsdWdpbk5hbWUgPVxuICB8IEFyY2hpdGVjdHVyZVBsdWdpbk5hbWVcbiAgfCBDb3JlUGx1Z2luTmFtZVxuICB8IERvY3VtZW50YXRpb25QbHVnaW5OYW1lXG4gIHwgRG9tYWluUGx1Z2luTmFtZVxuICB8IFJ1bnRpbWVQbHVnaW5OYW1lXG4gIHwgU3R5bGVQbHVnaW5OYW1lXG4gIHwgVGVzdGluZ1BsdWdpbk5hbWU7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIGV4cGxpY2l0IHBsdWdpbiBzdGF0ZSBvdmVycmlkZXMuICovXG50eXBlIFBsdWdpblN0YXRlT3ZlcnJpZGVzID0gUGFydGlhbDxSZWNvcmQ8UGx1Z2luTmFtZSwgYm9vbGVhbj4+O1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFJ1bnRpbWVQbHVnaW5OYW1lID0gXCJhbmd1bGFyLWVzbGludFwiO1xuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBTdHlsZVBsdWdpbk5hbWUgPSBcInBlcmZlY3Rpb25pc3RcIiB8IFwicHJldHRpZXJcIiB8IFwic3R5bGlzdGljXCIgfCBcInVuaWNvcm5cIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBUZXN0aW5nUGx1Z2luTmFtZSA9XG4gIHwgXCJqYXNtaW5lXCJcbiAgfCBcImplc3RcIlxuICB8IFwicGxheXdyaWdodFwiXG4gIHwgXCJ2aXRlc3RcIlxuICB8IFwidml0ZXN0LWUyZVwiO1xuXG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNDb25maWcsXG4gIEJvdW5kYXJpZXNDb25maWdFeHRlbnNpb24sXG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNPcHRpb25zLFxuICBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5LFxuICBDb25maWdPcHRpb25zLFxuICBQbHVnaW5OYW1lLFxuICBQbHVnaW5TdGF0ZU92ZXJyaWRlcyxcbn07XG4iXX0=
package/dist/index.js CHANGED
@@ -1,2 +1 @@
1
- export { config, defaultBoundariesConfig } from "./infrastructure/index.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29uZmlnLCBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZyB9IGZyb20gXCIuL2luZnJhc3RydWN0dXJlXCI7XG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNDb25maWcsXG4gIENvbmZpZ09wdGlvbnMsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9pbmZyYXN0cnVjdHVyZVwiO1xuIl19
1
+ export { config, defaultBoundariesConfig, } from "./bootstrap/index.js";
@@ -3,13 +3,16 @@ import { defineConfig } from "eslint/config";
3
3
  /** Default repository element descriptors used by the boundaries plugin. */
4
4
  const defaultElements = [
5
5
  { mode: "full", pattern: "src/index.ts", type: "entrypoint" },
6
- { basePattern: "src", pattern: "application", type: "application" },
6
+ { basePattern: "src", pattern: "bootstrap", type: "bootstrap" },
7
+ { basePattern: "src", pattern: "presentation", type: "presentation" },
7
8
  {
8
9
  basePattern: "src",
9
10
  pattern: "infrastructure",
10
11
  type: "infrastructure",
11
12
  },
13
+ { basePattern: "src", pattern: "application", type: "application" },
12
14
  { basePattern: "src", pattern: "domain", type: "domain" },
15
+ { basePattern: "src", pattern: "shared", type: "shared" },
13
16
  ];
14
17
  /** Default repository dependency rules used by the boundaries plugin. */
15
18
  const defaultElementTypes = [
@@ -18,17 +21,43 @@ const defaultElementTypes = [
18
21
  default: "disallow",
19
22
  rules: [
20
23
  {
21
- allow: { to: { type: ["application", "infrastructure"] } },
24
+ allow: { to: { type: ["bootstrap"] } },
22
25
  from: { type: "entrypoint" },
23
26
  },
24
27
  {
25
- allow: { to: { type: "domain" } },
26
- from: { type: "application" },
28
+ allow: {
29
+ to: {
30
+ type: [
31
+ "presentation",
32
+ "infrastructure",
33
+ "application",
34
+ "domain",
35
+ "shared",
36
+ ],
37
+ },
38
+ },
39
+ from: { type: "bootstrap" },
27
40
  },
28
41
  {
29
- allow: { to: { type: ["application", "domain"] } },
42
+ allow: { to: { type: ["application", "domain", "shared"] } },
43
+ from: { type: "presentation" },
44
+ },
45
+ {
46
+ allow: { to: { type: ["application", "domain", "shared"] } },
30
47
  from: { type: "infrastructure" },
31
48
  },
49
+ {
50
+ allow: { to: { type: ["domain", "shared"] } },
51
+ from: { type: "application" },
52
+ },
53
+ {
54
+ allow: { to: { type: ["shared"] } },
55
+ from: { type: "domain" },
56
+ },
57
+ {
58
+ allow: { to: { type: ["shared"] } },
59
+ from: { type: "shared" },
60
+ },
32
61
  ],
33
62
  },
34
63
  ];
@@ -44,132 +73,28 @@ const defaultBoundariesConfig = {
44
73
  ignores: defaultIgnores,
45
74
  };
46
75
  /**
47
- * Load boundaries plugin configuration using the default Clean Architecture
48
- * topology, with optional per-field overrides and additive extensions.
49
- * @param config Input config value.
76
+ * Load boundaries plugin configuration using the package-owned fixed topology.
50
77
  * @returns Return value output.
51
78
  * @example
52
79
  * ```typescript
53
- * const configs = boundaries({
54
- * extend: { ignores: ["fixtures/example.ts"] },
55
- * files: ["packages/example/src/index.ts"],
56
- * });
80
+ * const configs = boundaries();
57
81
  * ```
58
82
  */
59
- function boundaries(config = {}) {
60
- const { elements, elementTypes, files, ignores } = resolveBoundariesConfig(config);
83
+ function boundaries() {
61
84
  const settings = {
62
85
  ...strict.settings,
63
- "boundaries/elements": elements,
86
+ "boundaries/elements": defaultBoundariesConfig.elements,
64
87
  };
65
88
  const rules = {
66
89
  ...strict.rules,
67
- "boundaries/dependencies": elementTypes,
90
+ "boundaries/dependencies": defaultBoundariesConfig.elementTypes,
68
91
  };
69
92
  const configObject = createConfig({
70
- files: [...files],
71
- ignores: [...ignores],
93
+ files: [...defaultBoundariesConfig.files],
94
+ ignores: [...defaultBoundariesConfig.ignores],
72
95
  rules,
73
96
  settings,
74
97
  });
75
98
  return defineConfig(configObject);
76
99
  }
77
- /**
78
- * Clone the element-types rule entry so callers do not mutate shared defaults.
79
- * @param value Rule entry to clone.
80
- * @returns The cloned rule entry.
81
- * @example
82
- * ```typescript
83
- * cloneElementTypes(defaultBoundariesConfig.elementTypes);
84
- * ```
85
- */
86
- function cloneElementTypes(value) {
87
- const [severity, options] = value;
88
- return [severity, { ...options, rules: [...(options.rules ?? [])] }];
89
- }
90
- /**
91
- * Merge the normalized base dependency rules with any additive extension rules.
92
- * @param baseRules The normalized base dependency rules.
93
- * @param extensionRules Additional extension rules.
94
- * @returns The merged dependency rules.
95
- * @example
96
- * ```typescript
97
- * mergeDependencyRules([], []);
98
- * ```
99
- */
100
- function mergeDependencyRules(baseRules, extensionRules) {
101
- const mergedRules = [];
102
- for (const rule of baseRules) {
103
- mergedRules.push(rule);
104
- }
105
- for (const rule of extensionRules) {
106
- mergedRules.push(rule);
107
- }
108
- return mergedRules;
109
- }
110
- /**
111
- * Resolve one array field by applying an override first, then appending any
112
- * additive extensions.
113
- * @template T Array item type.
114
- * @param defaults Repository defaults.
115
- * @param override Optional override that replaces the defaults.
116
- * @param extension Optional additive extension appended to the base value.
117
- * @returns The resolved array field.
118
- * @example
119
- * ```typescript
120
- * resolveArrayField(["src/index.ts"], ["packages/example.ts"], ["fixtures/example.ts"]);
121
- * ```
122
- */
123
- function resolveArrayField(defaults, override, extension) {
124
- const baseValue = override ?? defaults;
125
- return extension === void 0 ? [...baseValue] : [...baseValue, ...extension];
126
- }
127
- /**
128
- * Resolve the repo default boundaries topology with optional overrides and
129
- * additive extensions.
130
- * @param config Input config value.
131
- * @returns Return value output.
132
- * @example
133
- * ```typescript
134
- * resolveBoundariesConfig({ extend: { ignores: ["fixtures/example.ts"] } });
135
- * ```
136
- */
137
- function resolveBoundariesConfig(config) {
138
- const { extend, ...overrides } = config;
139
- return {
140
- ...defaultBoundariesConfig,
141
- elements: resolveArrayField(defaultBoundariesConfig.elements, overrides.elements, extend?.elements),
142
- elementTypes: resolveElementTypes(defaultBoundariesConfig.elementTypes, overrides.elementTypes, extend?.elementTypes),
143
- files: resolveArrayField(defaultBoundariesConfig.files, overrides.files, extend?.files),
144
- ignores: resolveArrayField(defaultBoundariesConfig.ignores, overrides.ignores, extend?.ignores),
145
- };
146
- }
147
- /**
148
- * Resolve the boundaries element-types rule entry with optional replacement and
149
- * additive rule extensions.
150
- * @param defaults Repository default element-types rule entry.
151
- * @param override Optional full replacement rule entry.
152
- * @param extension Optional additional rules appended to the base rule set.
153
- * @returns The resolved element-types rule entry.
154
- * @example
155
- * ```typescript
156
- * resolveElementTypes(defaultBoundariesConfig.elementTypes, undefined, { rules: [] });
157
- * ```
158
- */
159
- function resolveElementTypes(defaults, override, extension) {
160
- const baseValue = override ?? defaults;
161
- if (extension === void 0) {
162
- return cloneElementTypes(baseValue);
163
- }
164
- const [severity, options] = cloneElementTypes(baseValue);
165
- const extensionRules = extension.rules ?? [];
166
- return [
167
- severity,
168
- {
169
- ...options,
170
- rules: mergeDependencyRules(options.rules, extensionRules),
171
- },
172
- ];
173
- }
174
100
  export { boundaries, defaultBoundariesConfig };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9hcmNoaXRlY3R1cmUvYm91bmRhcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvQjdDLDRFQUE0RTtBQUM1RSxNQUFNLGVBQWUsR0FBdUI7SUFDMUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRTtJQUM3RCxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ25FO1FBQ0UsV0FBVyxFQUFFLEtBQUs7UUFDbEIsT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0lBQ0QsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtDQUMxRCxDQUFDO0FBRUYseUVBQXlFO0FBQ3pFLE1BQU0sbUJBQW1CLEdBQW9DO0lBQzNELE9BQU87SUFDUDtRQUNFLE9BQU8sRUFBRSxVQUFVO1FBQ25CLEtBQUssRUFBRTtZQUNMO2dCQUNFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUU7Z0JBQzFELElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxhQUFh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b250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29uZmlnT2JqZWN0IH0gZnJvbSBcIkBlc2xpbnQvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEVsZW1lbnREZXNjcmlwdG9ycyxcbiAgUnVsZXMsXG4gIFNldHRpbmdzLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbmZpZywgc3RyaWN0IH0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgQm91bmRhcmllc0NvbmZpZyxcbiAgQm91bmRhcmllc0NvbmZpZ0V4dGVuc2lvbixcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSxcbn0gZnJvbSBcIi4uLy4uL2RvbWFpblwiO1xuXG4vKiogUmVzb2x2ZWQgYm91bmRhcmllcyBjb25maWcgdXNlZCBpbnRlcm5hbGx5IGFmdGVyIGRlZmF1bHRzIGFyZSBhcHBsaWVkLiAqL1xudHlwZSBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcgPSBPbWl0PFJlcXVpcmVkPEJvdW5kYXJpZXNDb25maWc+LCBcImV4dGVuZFwiPjtcblxuLyoqIEludGVybmFsIGVsZW1lbnQtdHlwZXMgdHVwbGUgd2l0aCBhIG5vcm1hbGl6ZWQgcnVsZXMgYXJyYXkuICovXG50eXBlIFJlc29sdmVkQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVswXSxcbiAgT21pdDxCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdLCBcInJ1bGVzXCI+ICYge1xuICAgIC8qKiBOb3JtYWxpemVkIGRlcGVuZGVuY3kgcnVsZXMgYXJyYXkgd2l0aCBubyB1bmRlZmluZWQgYnJhbmNoIHJlbWFpbmluZy4gKi9cbiAgICBydWxlczogTm9uTnVsbGFibGU8Qm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVsxXVtcInJ1bGVzXCJdPjtcbiAgfSxcbl07XG5cbi8qKiBEZWZhdWx0IHJlcG9zaXRvcnkgZWxlbWVudCBkZXNjcmlwdG9ycyB1c2VkIGJ5IHRoZSBib3VuZGFyaWVzIHBsdWdpbi4gKi9cbmNvbnN0IGRlZmF1bHRFbGVtZW50czogRWxlbWVudERlc2NyaXB0b3JzID0gW1xuICB7IG1vZGU6IFwiZnVsbFwiLCBwYXR0ZXJuOiBcInNyYy9pbmRleC50c1wiLCB0eXBlOiBcImVudHJ5cG9pbnRcIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcInNyY1wiLCBwYXR0ZXJuOiBcImFwcGxpY2F0aW9uXCIsIHR5cGU6IFwiYXBwbGljYXRpb25cIiB9LFxuICB7XG4gICAgYmFzZVBhdHRlcm46IFwic3JjXCIsXG4gICAgcGF0dGVybjogXCJpbmZyYXN0cnVjdHVyZVwiLFxuICAgIHR5cGU6IFwiaW5mcmFzdHJ1Y3R1cmVcIixcbiAgfSxcbiAgeyBiYXNlUGF0dGVybjogXCJzcmNcIiwgcGF0dGVybjogXCJkb21haW5cIiwgdHlwZTogXCJkb21haW5cIiB9LFxuXTtcblxuLyoqIERlZmF1bHQgcmVwb3NpdG9yeSBkZXBlbmRlbmN5IHJ1bGVzIHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xuY29uc3QgZGVmYXVsdEVsZW1lbnRUeXBlczogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgXCJlcnJvclwiLFxuICB7XG4gICAgZGVmYXVsdDogXCJkaXNhbGxvd1wiLFxuICAgIHJ1bGVzOiBbXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IHR5cGU6IFtcImFwcGxpY2F0aW9uXCIsIFwiaW5mcmFzdHJ1Y3R1cmVcIl0gfSB9LFxuICAgICAgICBmcm9tOiB7IHR5cGU6IFwiZW50cnlwb2ludFwiIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBhbGxvdzogeyB0bzogeyB0eXBlOiBcImRvbWFpblwiIH0gfSxcbiAgICAgICAgZnJvbTogeyB0eXBlOiBcImFwcGxpY2F0aW9uXCIgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IHR5cGU6IFtcImFwcGxpY2F0aW9uXCIsIFwiZG9tYWluXCJdIH0gfSxcbiAgICAgICAgZnJvbTogeyB0eXBlOiBcImluZnJhc3RydWN0dXJlXCIgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbl07XG5cbi8qKiBEZWZhdWx0IHNvdXJjZSBmaWxlIGdsb2JzIGluY2x1ZGVkIGluIHJlcG9zaXRvcnkgYm91bmRhcmllcyBjaGVja3MuICovXG5jb25zdCBkZWZhdWx0RmlsZXMgPSBbXCJzcmMvKiovKi50c1wiXTtcblxuLyoqIERlZmF1bHQgc291cmNlIGZpbGUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgZGVmYXVsdElnbm9yZXMgPSBbXCJzcmMvKiovKi5zcGVjLnRzXCJdO1xuXG4vKiogUmVwb3NpdG9yeSBkZWZhdWx0IGJvdW5kYXJpZXMgdG9wb2xvZ3kgYWxpZ25lZCB3aXRoIENsZWFuIEFyY2hpdGVjdHVyZS4gKi9cbmNvbnN0IGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnOiBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcgPSB7XG4gIGVsZW1lbnRzOiBkZWZhdWx0RWxlbWVudHMsXG4gIGVsZW1lbnRUeXBlczogZGVmYXVsdEVsZW1lbnRUeXBlcyxcbiAgZmlsZXM6IGRlZmF1bHRGaWxlcyxcbiAgaWdub3JlczogZGVmYXVsdElnbm9yZXMsXG59O1xuXG4vKipcbiAqIExvYWQgYm91bmRhcmllcyBwbHVnaW4gY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZGVmYXVsdCBDbGVhbiBBcmNoaXRlY3R1cmVcbiAqIHRvcG9sb2d5LCB3aXRoIG9wdGlvbmFsIHBlci1maWVsZCBvdmVycmlkZXMgYW5kIGFkZGl0aXZlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gY29uZmlnIElucHV0IGNvbmZpZyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlncyA9IGJvdW5kYXJpZXMoe1xuICogICBleHRlbmQ6IHsgaWdub3JlczogW1wiZml4dHVyZXMvZXhhbXBsZS50c1wiXSB9LFxuICogICBmaWxlczogW1wicGFja2FnZXMvZXhhbXBsZS9zcmMvaW5kZXgudHNcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBib3VuZGFyaWVzKGNvbmZpZzogQm91bmRhcmllc0NvbmZpZyA9IHt9KTogTGludGVyLkNvbmZpZ1tdIHtcbiAgY29uc3QgeyBlbGVtZW50cywgZWxlbWVudFR5cGVzLCBmaWxlcywgaWdub3JlcyB9ID1cbiAgICByZXNvbHZlQm91bmRhcmllc0NvbmZpZyhjb25maWcpO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5ncyA9IHtcbiAgICAuLi5zdHJpY3Quc2V0dGluZ3MsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnRzXCI6IGVsZW1lbnRzLFxuICB9O1xuXG4gIGNvbnN0IHJ1bGVzOiBSdWxlcyA9IHtcbiAgICAuLi5zdHJpY3QucnVsZXMsXG4gICAgXCJib3VuZGFyaWVzL2RlcGVuZGVuY2llc1wiOiBlbGVtZW50VHlwZXMsXG4gIH07XG5cbiAgY29uc3QgY29uZmlnT2JqZWN0ID0gY3JlYXRlQ29uZmlnKHtcbiAgICBmaWxlczogWy4uLmZpbGVzXSxcbiAgICBpZ25vcmVzOiBbLi4uaWdub3Jlc10sXG4gICAgcnVsZXMsXG4gICAgc2V0dGluZ3MsXG4gIH0pIGFzIENvbmZpZ09iamVjdDtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ09iamVjdCk7XG59XG5cbi8qKlxuICogQ2xvbmUgdGhlIGVsZW1lbnQtdHlwZXMgcnVsZSBlbnRyeSBzbyBjYWxsZXJzIGRvIG5vdCBtdXRhdGUgc2hhcmVkIGRlZmF1bHRzLlxuICogQHBhcmFtIHZhbHVlIFJ1bGUgZW50cnkgdG8gY2xvbmUuXG4gKiBAcmV0dXJucyBUaGUgY2xvbmVkIHJ1bGUgZW50cnkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xvbmVFbGVtZW50VHlwZXMoZGVmYXVsdEJvdW5kYXJpZXNDb25maWcuZWxlbWVudFR5cGVzKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRUeXBlcyhcbiAgdmFsdWU6IEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4pOiBSZXNvbHZlZEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnkge1xuICBjb25zdCBbc2V2ZXJpdHksIG9wdGlvbnNdID0gdmFsdWU7XG5cbiAgcmV0dXJuIFtzZXZlcml0eSwgeyAuLi5vcHRpb25zLCBydWxlczogWy4uLihvcHRpb25zLnJ1bGVzID8/IFtdKV0gfV07XG59XG5cbi8qKlxuICogTWVyZ2UgdGhlIG5vcm1hbGl6ZWQgYmFzZSBkZXBlbmRlbmN5IHJ1bGVzIHdpdGggYW55IGFkZGl0aXZlIGV4dGVuc2lvbiBydWxlcy5cbiAqIEBwYXJhbSBiYXNlUnVsZXMgVGhlIG5vcm1hbGl6ZWQgYmFzZSBkZXBlbmRlbmN5IHJ1bGVzLlxuICogQHBhcmFtIGV4dGVuc2lvblJ1bGVzIEFkZGl0aW9uYWwgZXh0ZW5zaW9uIHJ1bGVzLlxuICogQHJldHVybnMgVGhlIG1lcmdlZCBkZXBlbmRlbmN5IHJ1bGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1lcmdlRGVwZW5kZW5jeVJ1bGVzKFtdLCBbXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbWVyZ2VEZXBlbmRlbmN5UnVsZXMoXG4gIGJhc2VSdWxlczogTm9uTnVsbGFibGU8Qm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeVsxXVtcInJ1bGVzXCJdPixcbiAgZXh0ZW5zaW9uUnVsZXM6IE5vbk51bGxhYmxlPEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnlbMV1bXCJydWxlc1wiXT4sXG4pOiBOb25OdWxsYWJsZTxCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdW1wicnVsZXNcIl0+IHtcbiAgY29uc3QgbWVyZ2VkUnVsZXM6IE5vbk51bGxhYmxlPEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnlbMV1bXCJydWxlc1wiXT4gPVxuICAgIFtdO1xuXG4gIGZvciAoY29uc3QgcnVsZSBvZiBiYXNlUnVsZXMpIHtcbiAgICBtZXJnZWRSdWxlcy5wdXNoKHJ1bGUpO1xuICB9XG5cbiAgZm9yIChjb25zdCBydWxlIG9mIGV4dGVuc2lvblJ1bGVzKSB7XG4gICAgbWVyZ2VkUnVsZXMucHVzaChydWxlKTtcbiAgfVxuXG4gIHJldHVybiBtZXJnZWRSdWxlcztcbn1cblxuLyoqXG4gKiBSZXNvbHZlIG9uZSBhcnJheSBmaWVsZCBieSBhcHBseWluZyBhbiBvdmVycmlkZSBmaXJzdCwgdGhlbiBhcHBlbmRpbmcgYW55XG4gKiBhZGRpdGl2ZSBleHRlbnNpb25zLlxuICogQHRlbXBsYXRlIFQgQXJyYXkgaXRlbSB0eXBlLlxuICogQHBhcmFtIGRlZmF1bHRzIFJlcG9zaXRvcnkgZGVmYXVsdHMuXG4gKiBAcGFyYW0gb3ZlcnJpZGUgT3B0aW9uYWwgb3ZlcnJpZGUgdGhhdCByZXBsYWNlcyB0aGUgZGVmYXVsdHMuXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIE9wdGlvbmFsIGFkZGl0aXZlIGV4dGVuc2lvbiBhcHBlbmRlZCB0byB0aGUgYmFzZSB2YWx1ZS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBhcnJheSBmaWVsZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXNvbHZlQXJyYXlGaWVsZChbXCJzcmMvaW5kZXgudHNcIl0sIFtcInBhY2thZ2VzL2V4YW1wbGUudHNcIl0sIFtcImZpeHR1cmVzL2V4YW1wbGUudHNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVBcnJheUZpZWxkPFQ+KFxuICBkZWZhdWx0czogcmVhZG9ubHkgVFtdLFxuICBvdmVycmlkZTogcmVhZG9ubHkgVFtdIHwgdW5kZWZpbmVkLFxuICBleHRlbnNpb246IHJlYWRvbmx5IFRbXSB8IHVuZGVmaW5lZCxcbik6IFRbXSB7XG4gIGNvbnN0IGJhc2VWYWx1ZSA9IG92ZXJyaWRlID8/IGRlZmF1bHRzO1xuXG4gIHJldHVybiBleHRlbnNpb24gPT09IHZvaWQgMCA/IFsuLi5iYXNlVmFsdWVdIDogWy4uLmJhc2VWYWx1ZSwgLi4uZXh0ZW5zaW9uXTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSByZXBvIGRlZmF1bHQgYm91bmRhcmllcyB0b3BvbG9neSB3aXRoIG9wdGlvbmFsIG92ZXJyaWRlcyBhbmRcbiAqIGFkZGl0aXZlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gY29uZmlnIElucHV0IGNvbmZpZyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVzb2x2ZUJvdW5kYXJpZXNDb25maWcoeyBleHRlbmQ6IHsgaWdub3JlczogW1wiZml4dHVyZXMvZXhhbXBsZS50c1wiXSB9IH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVCb3VuZGFyaWVzQ29uZmlnKFxuICBjb25maWc6IEJvdW5kYXJpZXNDb25maWcsXG4pOiBSZXNvbHZlZEJvdW5kYXJpZXNDb25maWcge1xuICBjb25zdCB7IGV4dGVuZCwgLi4ub3ZlcnJpZGVzIH0gPSBjb25maWc7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0Qm91bmRhcmllc0NvbmZpZyxcbiAgICBlbGVtZW50czogcmVzb2x2ZUFycmF5RmllbGQoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5lbGVtZW50cyxcbiAgICAgIG92ZXJyaWRlcy5lbGVtZW50cyxcbiAgICAgIGV4dGVuZD8uZWxlbWVudHMsXG4gICAgKSxcbiAgICBlbGVtZW50VHlwZXM6IHJlc29sdmVFbGVtZW50VHlwZXMoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5lbGVtZW50VHlwZXMsXG4gICAgICBvdmVycmlkZXMuZWxlbWVudFR5cGVzLFxuICAgICAgZXh0ZW5kPy5lbGVtZW50VHlwZXMsXG4gICAgKSxcbiAgICBmaWxlczogcmVzb2x2ZUFycmF5RmllbGQoXG4gICAgICBkZWZhdWx0Qm91bmRhcmllc0NvbmZpZy5maWxlcyxcbiAgICAgIG92ZXJyaWRlcy5maWxlcyxcbiAgICAgIGV4dGVuZD8uZmlsZXMsXG4gICAgKSxcbiAgICBpZ25vcmVzOiByZXNvbHZlQXJyYXlGaWVsZChcbiAgICAgIGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnLmlnbm9yZXMsXG4gICAgICBvdmVycmlkZXMuaWdub3JlcyxcbiAgICAgIGV4dGVuZD8uaWdub3JlcyxcbiAgICApLFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIGJvdW5kYXJpZXMgZWxlbWVudC10eXBlcyBydWxlIGVudHJ5IHdpdGggb3B0aW9uYWwgcmVwbGFjZW1lbnQgYW5kXG4gKiBhZGRpdGl2ZSBydWxlIGV4dGVuc2lvbnMuXG4gKiBAcGFyYW0gZGVmYXVsdHMgUmVwb3NpdG9yeSBkZWZhdWx0IGVsZW1lbnQtdHlwZXMgcnVsZSBlbnRyeS5cbiAqIEBwYXJhbSBvdmVycmlkZSBPcHRpb25hbCBmdWxsIHJlcGxhY2VtZW50IHJ1bGUgZW50cnkuXG4gKiBAcGFyYW0gZXh0ZW5zaW9uIE9wdGlvbmFsIGFkZGl0aW9uYWwgcnVsZXMgYXBwZW5kZWQgdG8gdGhlIGJhc2UgcnVsZSBzZXQuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgZWxlbWVudC10eXBlcyBydWxlIGVudHJ5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlc29sdmVFbGVtZW50VHlwZXMoZGVmYXVsdEJvdW5kYXJpZXNDb25maWcuZWxlbWVudFR5cGVzLCB1bmRlZmluZWQsIHsgcnVsZXM6IFtdIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVFbGVtZW50VHlwZXMoXG4gIGRlZmF1bHRzOiBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5LFxuICBvdmVycmlkZTogQm91bmRhcmllc0NvbmZpZ1tcImVsZW1lbnRUeXBlc1wiXSxcbiAgZXh0ZW5zaW9uOiBCb3VuZGFyaWVzQ29uZmlnRXh0ZW5zaW9uW1wiZWxlbWVudFR5cGVzXCJdLFxuKTogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSB7XG4gIGNvbnN0IGJhc2VWYWx1ZSA9IG92ZXJyaWRlID8/IGRlZmF1bHRzO1xuXG4gIGlmIChleHRlbnNpb24gPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBjbG9uZUVsZW1lbnRUeXBlcyhiYXNlVmFsdWUpO1xuICB9XG5cbiAgY29uc3QgW3NldmVyaXR5LCBvcHRpb25zXSA9IGNsb25lRWxlbWVudFR5cGVzKGJhc2VWYWx1ZSk7XG4gIGNvbnN0IGV4dGVuc2lvblJ1bGVzOiBOb25OdWxsYWJsZTxcbiAgICBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5WzFdW1wicnVsZXNcIl1cbiAgPiA9IGV4dGVuc2lvbi5ydWxlcyA/PyBbXTtcblxuICByZXR1cm4gW1xuICAgIHNldmVyaXR5LFxuICAgIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBydWxlczogbWVyZ2VEZXBlbmRlbmN5UnVsZXMob3B0aW9ucy5ydWxlcywgZXh0ZW5zaW9uUnVsZXMpLFxuICAgIH0sXG4gIF07XG59XG5cbmV4cG9ydCB7IGJvdW5kYXJpZXMsIGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnIH07XG4iXX0=
@@ -9,30 +9,19 @@ import { defineConfig } from "eslint/config";
9
9
  * ```
10
10
  */
11
11
  async function buildCustomErrorRules() {
12
- const { flatConfigs, rules } = await import("eslint-plugin-import-x");
12
+ const { flatConfigs } = await import("eslint-plugin-import-x");
13
13
  const { recommended, typescript, warnings } = flatConfigs;
14
- const customIgnore = new Set([
15
- "dynamic-import-chunkname",
16
- "no-deprecated",
17
- "no-named-export",
18
- "no-namespace",
19
- "no-unused-modules",
20
- "order",
21
- "prefer-default-export",
22
- ]);
23
- const allConfigs = new Set([warnings, recommended, typescript].flatMap((config) => Object.keys(config.rules ?? {})));
24
- const customError = Object.fromEntries(Object.keys(rules)
25
- .filter((rule) => !customIgnore.has(rule))
26
- .map((rule) => `import-x/${rule}`)
27
- .filter((rule) => !allConfigs.has(rule))
28
- .map((rule) => [rule, "error"]));
29
14
  return [
30
15
  warnings,
31
16
  recommended,
32
17
  typescript,
33
18
  {
34
- name: "import-x/custom-error",
35
- rules: customError,
19
+ rules: {
20
+ "import-x/no-internal-modules": [
21
+ "error",
22
+ { allow: ["**/node_modules/**"] },
23
+ ],
24
+ },
36
25
  },
37
26
  ];
38
27
  }
@@ -81,4 +70,3 @@ async function importX() {
81
70
  });
82
71
  }
83
72
  export { importX };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDM0IsMEJBQTBCO1FBQzFCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixPQUFPO1FBQ1AsdUJBQXVCO0tBQ3hCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUN4QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNmLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBVSxDQUFDLENBQzNDLENBQUM7SUFFRixPQUFPO1FBQ0wsUUFBUTtRQUNSLFdBQVc7UUFDWCxVQUFVO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxXQUFXO1NBQ25CO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLE9BQU87SUFDcEIsT0FBTyxZQUFZLENBQ2pCLEdBQUcsQ0FBQyxNQUFNLHFCQUFxQixFQUFFLENBQUMsRUFDbEM7UUFDRSxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLEtBQUssRUFBRTtZQUNMLHFDQUFxQyxFQUFFLEtBQUs7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSztTQUM5QjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLEtBQUssRUFBRTtZQUNMLDhCQUE4QixFQUFFO2dCQUM5QixPQUFPO2dCQUNQO29CQUNFLEtBQUssRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsb0NBQW9DO3dCQUNwQyxlQUFlO3dCQUNmLHlEQUF5RDtxQkFDMUQ7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUU7WUFDTCw0QkFBNEIsRUFBRSxLQUFLO1NBQ3BDO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ2xDLEtBQUssRUFBRTtZQUNMLDRCQUE0QixFQUFFLEtBQUs7U0FDcEM7S0FDRixDQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKlxuICogQnVpbGQgY3VzdG9tIGVycm9yIHJ1bGVzIGZvciBpbXBvcnQteCBwbHVnaW4gYnkgZXhjbHVkaW5nIGNlcnRhaW4gcnVsZXNcbiAqIGFuZCBlbnN1cmluZyBubyBvdmVybGFwIHdpdGggZXhpc3RpbmcgY29uZmlndXJhdGlvbnMuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpO1xuICogYGBgXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGZsYXRDb25maWdzLCBydWxlcyB9ID0gYXdhaXQgaW1wb3J0KFwiZXNsaW50LXBsdWdpbi1pbXBvcnQteFwiKTtcbiAgY29uc3QgeyByZWNvbW1lbmRlZCwgdHlwZXNjcmlwdCwgd2FybmluZ3MgfSA9IGZsYXRDb25maWdzO1xuXG4gIGNvbnN0IGN1c3RvbUlnbm9yZSA9IG5ldyBTZXQoW1xuICAgIFwiZHluYW1pYy1pbXBvcnQtY2h1bmtuYW1lXCIsXG4gICAgXCJuby1kZXByZWNhdGVkXCIsXG4gICAgXCJuby1uYW1lZC1leHBvcnRcIixcbiAgICBcIm5vLW5hbWVzcGFjZVwiLFxuICAgIFwibm8tdW51c2VkLW1vZHVsZXNcIixcbiAgICBcIm9yZGVyXCIsXG4gICAgXCJwcmVmZXItZGVmYXVsdC1leHBvcnRcIixcbiAgXSk7XG5cbiAgY29uc3QgYWxsQ29uZmlncyA9IG5ldyBTZXQoXG4gICAgW3dhcm5pbmdzLCByZWNvbW1lbmRlZCwgdHlwZXNjcmlwdF0uZmxhdE1hcCgoY29uZmlnKSA9PlxuICAgICAgT2JqZWN0LmtleXMoY29uZmlnLnJ1bGVzID8/IHt9KSxcbiAgICApLFxuICApO1xuXG4gIGNvbnN0IGN1c3RvbUVycm9yID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5rZXlzKHJ1bGVzKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWN1c3RvbUlnbm9yZS5oYXMocnVsZSkpXG4gICAgICAubWFwKChydWxlKSA9PiBgaW1wb3J0LXgvJHtydWxlfWApXG4gICAgICAuZmlsdGVyKChydWxlKSA9PiAhYWxsQ29uZmlncy5oYXMocnVsZSkpXG4gICAgICAubWFwKChydWxlKSA9PiBbcnVsZSwgXCJlcnJvclwiXSBhcyBjb25zdCksXG4gICk7XG5cbiAgcmV0dXJuIFtcbiAgICB3YXJuaW5ncyxcbiAgICByZWNvbW1lbmRlZCxcbiAgICB0eXBlc2NyaXB0LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLWVycm9yXCIsXG4gICAgICBydWxlczogY3VzdG9tRXJyb3IsXG4gICAgfSxcbiAgXTtcbn1cblxuLyoqXG4gKiBMb2FkcyB0aGUgaW1wb3J0LXggcGx1Z2luIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGltcG9ydFgoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRYKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgLi4uKGF3YWl0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpKSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS10eXBlc2NyaXB0XCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0LXgvdW5hbWJpZ3VvdXNcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1ub2RlX21vZHVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8taW50ZXJuYWwtbW9kdWxlc1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgIFwiZXNsaW50L2NvbmZpZ1wiLFxuICAgICAgICAgICAgICBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJlc2xpbnQtcGx1Z2luLXByZXR0aWVyL3JlY29tbWVuZGVkXCIsXG4gICAgICAgICAgICAgIFwidml0ZXN0L2NvbmZpZ1wiLFxuICAgICAgICAgICAgICBcIkBlc2xpbnQtY29tbXVuaXR5L2VzbGludC1wbHVnaW4tZXNsaW50LWNvbW1lbnRzL2NvbmZpZ3NcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogW1wiKlwiLCBcInBhY2thZ2VzLyovKlwiXSxcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXJvb3QtY29uZmlnLWZpbGVzXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0XCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcIioqLyoue3NwZWMsdGVzdCxlMmV9LnRzXCJdLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlc1wiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgeyBpbXBvcnRYIH07XG4iXX0=
@@ -1,3 +1,2 @@
1
1
  export { boundaries, defaultBoundariesConfig } from "./boundaries.js";
2
2
  export { importX } from "./import-x.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGJvdW5kYXJpZXMsIGRlZmF1bHRCb3VuZGFyaWVzQ29uZmlnIH0gZnJvbSBcIi4vYm91bmRhcmllc1wiO1xuZXhwb3J0IHsgaW1wb3J0WCB9IGZyb20gXCIuL2ltcG9ydC14XCI7XG4iXX0=
@@ -1,8 +1,9 @@
1
1
  import { defineConfig } from "eslint/config";
2
2
  import { moduleTaxonomy } from "../domain/index.js";
3
+ import { reportDeprecatedBoundariesOption } from "./diagnostics.js";
3
4
  import { pluginLoaders } from "./plugin-loaders.js";
4
5
  import { resolvePluginState } from "./plugin-state.js";
5
- import { applyRuleOverrides, collectAvailablePlugins, loadPluginConfig, } from "./utilities.js";
6
+ import { loadPluginConfig } from "./utilities.js";
6
7
  /**
7
8
  * Builds the list of plugin config loaders.
8
9
  * @param options Input options value.
@@ -25,7 +26,7 @@ function buildPluginConfigLoaders(options) {
25
26
  return loaders;
26
27
  }
27
28
  /**
28
- * Creates the ESLint configuration with optional plugin and rule customization.
29
+ * Creates the ESLint configuration with optional plugin customization.
29
30
  * @param options Input options value.
30
31
  * @returns Return value output.
31
32
  * @example
@@ -34,11 +35,11 @@ function buildPluginConfigLoaders(options) {
34
35
  * ```
35
36
  */
36
37
  async function config(options = {}) {
37
- const { rules: ruleOverrides } = options;
38
+ if (Object.hasOwn(options, "boundaries")) {
39
+ reportDeprecatedBoundariesOption();
40
+ }
38
41
  const pluginConfigResults = await Promise.all(buildPluginConfigLoaders(options));
39
42
  const pluginConfigs = pluginConfigResults.flat();
40
- const finalConfig = applyRuleOverrides(pluginConfigs, ruleOverrides, collectAvailablePlugins(pluginConfigs));
41
- return finalConfig.length === 0 ? [] : defineConfig(...finalConfig);
43
+ return pluginConfigs.length === 0 ? [] : defineConfig(...pluginConfigs);
42
44
  }
43
45
  export { config };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29uZmlnLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixnQkFBZ0IsR0FDakIsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixPQUFzQjtJQUV0QixNQUFNLE9BQU8sR0FBK0IsRUFBRSxDQUFDO0lBRS9DLEtBQUssTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILEtBQUssVUFBVSxNQUFNLENBQUMsVUFBeUIsRUFBRTtJQUMvQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUV6QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0Msd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQ2xDLENBQUM7SUFDRixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FDcEMsYUFBYSxFQUNiLGFBQWEsRUFDYix1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FDdkMsQ0FBQztJQUVGLE9BQU8sV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcclxuXHJcbmltcG9ydCB0eXBlIHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuLi9kb21haW5cIjtcclxuXHJcbmltcG9ydCB7IG1vZHVsZVRheG9ub215IH0gZnJvbSBcIi4uL2RvbWFpblwiO1xyXG5pbXBvcnQgeyBwbHVnaW5Mb2FkZXJzIH0gZnJvbSBcIi4vcGx1Z2luLWxvYWRlcnNcIjtcclxuaW1wb3J0IHsgcmVzb2x2ZVBsdWdpblN0YXRlIH0gZnJvbSBcIi4vcGx1Z2luLXN0YXRlXCI7XHJcbmltcG9ydCB7XHJcbiAgYXBwbHlSdWxlT3ZlcnJpZGVzLFxyXG4gIGNvbGxlY3RBdmFpbGFibGVQbHVnaW5zLFxyXG4gIGxvYWRQbHVnaW5Db25maWcsXHJcbn0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSBsaXN0IG9mIHBsdWdpbiBjb25maWcgbG9hZGVycy5cclxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBidWlsZFBsdWdpbkNvbmZpZ0xvYWRlcnMoe30pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUGx1Z2luQ29uZmlnTG9hZGVycyhcclxuICBvcHRpb25zOiBDb25maWdPcHRpb25zLFxyXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSB7XHJcbiAgY29uc3QgbG9hZGVyczogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+W10gPSBbXTtcclxuXHJcbiAgZm9yIChjb25zdCB7IHBsdWdpbk5hbWUgfSBvZiBtb2R1bGVUYXhvbm9teSkge1xyXG4gICAgY29uc3QgbG9hZGVyRW50cnkgPSBwbHVnaW5Mb2FkZXJzW3BsdWdpbk5hbWVdO1xyXG4gICAgY29uc3QgbG9hZENvbmZpZyA9IGxvYWRlckVudHJ5LmxvYWRlcihvcHRpb25zKTtcclxuICAgIGNvbnN0IGlzRW5hYmxlZCA9IHJlc29sdmVQbHVnaW5TdGF0ZShwbHVnaW5OYW1lLCBvcHRpb25zLnBsdWdpbnMpO1xyXG5cclxuICAgIGlmIChpc0VuYWJsZWQpIHtcclxuICAgICAgbG9hZGVycy5wdXNoKGxvYWRQbHVnaW5Db25maWcocGx1Z2luTmFtZSwgbG9hZENvbmZpZywgbG9hZGVyRW50cnkubW9kZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGxvYWRlcnM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHRoZSBFU0xpbnQgY29uZmlndXJhdGlvbiB3aXRoIG9wdGlvbmFsIHBsdWdpbiBhbmQgcnVsZSBjdXN0b21pemF0aW9uLlxyXG4gKiBAcGFyYW0gb3B0aW9ucyBJbnB1dCBvcHRpb25zIHZhbHVlLlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbmZpZygpO1xyXG4gKiBgYGBcclxuICovXHJcbmFzeW5jIGZ1bmN0aW9uIGNvbmZpZyhvcHRpb25zOiBDb25maWdPcHRpb25zID0ge30pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xyXG4gIGNvbnN0IHsgcnVsZXM6IHJ1bGVPdmVycmlkZXMgfSA9IG9wdGlvbnM7XHJcblxyXG4gIGNvbnN0IHBsdWdpbkNvbmZpZ1Jlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgIGJ1aWxkUGx1Z2luQ29uZmlnTG9hZGVycyhvcHRpb25zKSxcclxuICApO1xyXG4gIGNvbnN0IHBsdWdpbkNvbmZpZ3MgPSBwbHVnaW5Db25maWdSZXN1bHRzLmZsYXQoKTtcclxuICBjb25zdCBmaW5hbENvbmZpZyA9IGFwcGx5UnVsZU92ZXJyaWRlcyhcclxuICAgIHBsdWdpbkNvbmZpZ3MsXHJcbiAgICBydWxlT3ZlcnJpZGVzLFxyXG4gICAgY29sbGVjdEF2YWlsYWJsZVBsdWdpbnMocGx1Z2luQ29uZmlncyksXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIGZpbmFsQ29uZmlnLmxlbmd0aCA9PT0gMCA/IFtdIDogZGVmaW5lQ29uZmlnKC4uLmZpbmFsQ29uZmlnKTtcclxufVxyXG5cclxuZXhwb3J0IHsgY29uZmlnIH07XHJcbiJdfQ==
@@ -5,4 +5,3 @@ export { angularEslint } from "../runtime/index.js";
5
5
  export { rxjsX } from "../rxjs-x.js";
6
6
  export { perfectionist, prettier, stylistic, unicorn } from "../style/index.js";
7
7
  export { jasmine, jest, playwright, vitest, vitestE2e } from "../testing/index.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29uZmlncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBib3VuZGFyaWVzLCBpbXBvcnRYIH0gZnJvbSBcIi4uL2FyY2hpdGVjdHVyZVwiO1xuZXhwb3J0IHsgY29kZXBlcmZlY3QsIGVzbGludCwgcmVzb2x2ZXIsIHR5cGVzY3JpcHQgfSBmcm9tIFwiLi4vY29yZVwiO1xuZXhwb3J0IHsgY29tbWVudHMsIGpzZG9jIH0gZnJvbSBcIi4uL2RvY3NcIjtcbmV4cG9ydCB7IGFuZ3VsYXJFc2xpbnQgfSBmcm9tIFwiLi4vcnVudGltZVwiO1xuZXhwb3J0IHsgcnhqc1ggfSBmcm9tIFwiLi4vcnhqcy14XCI7XG5leHBvcnQgeyBwZXJmZWN0aW9uaXN0LCBwcmV0dGllciwgc3R5bGlzdGljLCB1bmljb3JuIH0gZnJvbSBcIi4uL3N0eWxlXCI7XG5leHBvcnQgeyBqYXNtaW5lLCBqZXN0LCBwbGF5d3JpZ2h0LCB2aXRlc3QsIHZpdGVzdEUyZSB9IGZyb20gXCIuLi90ZXN0aW5nXCI7XG4iXX0=
@@ -11,4 +11,3 @@ export async function codeperfect() {
11
11
  const pluginModule = await import("@codeperfect/eslint-plugin");
12
12
  return defineConfig(pluginModule.all);
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29yZS9jb2RlcGVyZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVc7SUFDL0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUVoRSxPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcclxuXHJcbi8qKlxyXG4gKiBMb2FkIHRoZSB1cHN0cmVhbSBDb2RlUGVyZmVjdCBFU0xpbnQgY29uZmlndXJhdGlvbi5cclxuICogQHJldHVybnMgVGhlIHVwc3RyZWFtIENvZGVQZXJmZWN0IGNvbmZpZyBhcnJheS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBjb25maWdzID0gYXdhaXQgY29kZXBlcmZlY3QoKTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29kZXBlcmZlY3QoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcclxuICBjb25zdCBwbHVnaW5Nb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJAY29kZXBlcmZlY3QvZXNsaW50LXBsdWdpblwiKTtcclxuXHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhwbHVnaW5Nb2R1bGUuYWxsKTtcclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { configs } from "@eslint/js";
1
+ import js from "@eslint/js";
2
2
  import { defineConfig, globalIgnores } from "eslint/config";
3
3
  /**
4
4
  * Assemble base configuration combining the official eslint-js recommendations with
@@ -10,11 +10,16 @@ import { defineConfig, globalIgnores } from "eslint/config";
10
10
  * ```
11
11
  */
12
12
  export function eslint() {
13
- return defineConfig(configs.recommended, globalIgnores(["**/dist/**", "docs/", "**/coverage", ".stryker-tmp"], "@eslint/js/custom-ignore-directory"), {
13
+ return defineConfig(js.configs.recommended, globalIgnores([
14
+ "**/dist",
15
+ "**/docs",
16
+ "**/coverage",
17
+ "**/.stryker-tmp",
18
+ "**/playwright-reports",
19
+ ], "@eslint/js/custom-ignore-directory"), {
14
20
  linterOptions: {
15
21
  reportUnusedDisableDirectives: "error",
16
22
  reportUnusedInlineConfigs: "error",
17
23
  },
18
24
  });
19
25
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvcmUvZXNsaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLFlBQVksQ0FDakIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsYUFBYSxDQUNYLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLEVBQ3RELG9DQUFvQyxDQUNyQyxFQUNEO1FBQ0UsYUFBYSxFQUFFO1lBQ2IsNkJBQTZCLEVBQUUsT0FBTztZQUN0Qyx5QkFBeUIsRUFBRSxPQUFPO1NBQ25DO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjb25maWdzIH0gZnJvbSBcIkBlc2xpbnQvanNcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZywgZ2xvYmFsSWdub3JlcyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKlxuICogQXNzZW1ibGUgYmFzZSBjb25maWd1cmF0aW9uIGNvbWJpbmluZyB0aGUgb2ZmaWNpYWwgZXNsaW50LWpzIHJlY29tbWVuZGF0aW9ucyB3aXRoXG4gKiBwcm9qZWN0LXNwZWNpZmljIG92ZXJyaWRlcyBhbmQgbGludGVyIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBCYXNlIEVTTGludCBjb25maWcgYXJyYXkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYmFzZSA9IGVzbGludCgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2xpbnQoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICBjb25maWdzLnJlY29tbWVuZGVkLFxuICAgIGdsb2JhbElnbm9yZXMoXG4gICAgICBbXCIqKi9kaXN0LyoqXCIsIFwiZG9jcy9cIiwgXCIqKi9jb3ZlcmFnZVwiLCBcIi5zdHJ5a2VyLXRtcFwiXSxcbiAgICAgIFwiQGVzbGludC9qcy9jdXN0b20taWdub3JlLWRpcmVjdG9yeVwiLFxuICAgICksXG4gICAge1xuICAgICAgbGludGVyT3B0aW9uczoge1xuICAgICAgICByZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlczogXCJlcnJvclwiLFxuICAgICAgICByZXBvcnRVbnVzZWRJbmxpbmVDb25maWdzOiBcImVycm9yXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG4iXX0=
@@ -2,4 +2,3 @@ export { codeperfect } from "./codeperfect.js";
2
2
  export { eslint } from "./eslint.js";
3
3
  export { resolver } from "./resolver.js";
4
4
  export { typescript } from "./typescript.js";
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29kZXBlcmZlY3QgfSBmcm9tIFwiLi9jb2RlcGVyZmVjdFwiO1xuZXhwb3J0IHsgZXNsaW50IH0gZnJvbSBcIi4vZXNsaW50XCI7XG5leHBvcnQgeyByZXNvbHZlciB9IGZyb20gXCIuL3Jlc29sdmVyXCI7XG5leHBvcnQgeyB0eXBlc2NyaXB0IH0gZnJvbSBcIi4vdHlwZXNjcmlwdFwiO1xuIl19
@@ -24,4 +24,3 @@ export async function resolver() {
24
24
  },
25
25
  });
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29yZS9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLDhCQUE4QixFQUFFLEdBQ3RDLE1BQU0sTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFcEQsT0FBTyxZQUFZLENBQUM7UUFDbEIsUUFBUSxFQUFFO1lBQ1Isd0JBQXdCLEVBQUU7Z0JBQ3hCLDhCQUE4QixDQUFDO29CQUM3QixjQUFjLEVBQUUsSUFBSTtpQkFDckIsQ0FBQzthQUNIO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFVBQVUsRUFBRTtvQkFDVixjQUFjLEVBQUUsSUFBSTtpQkFDckI7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIFJldHVybiByZXNvbHZlciBzZXR0aW5ncyBjb25maWd1cmVkIGZvciBUeXBlU2NyaXB0IGltcG9ydHMuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHJlc29sdmVyKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyIH0gPVxuICAgIGF3YWl0IGltcG9ydChcImVzbGludC1pbXBvcnQtcmVzb2x2ZXItdHlwZXNjcmlwdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBzZXR0aW5nczoge1xuICAgICAgXCJpbXBvcnQteC9yZXNvbHZlci1uZXh0XCI6IFtcbiAgICAgICAgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyKHtcbiAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgICAgXCJpbXBvcnQvcmVzb2x2ZXJcIjoge1xuICAgICAgICB0eXBlc2NyaXB0OiB7XG4gICAgICAgICAgYWx3YXlzVHJ5VHlwZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl19
@@ -1,15 +1,4 @@
1
1
  import { defineConfig } from "eslint/config";
2
- /** TypeScript rule names to disable. */
3
- const off = [
4
- "class-methods-use-this",
5
- "member-ordering",
6
- "naming-convention",
7
- "no-magic-numbers",
8
- "no-use-before-define",
9
- "prefer-readonly-parameter-types",
10
- ];
11
- /** TypeScript rules disabled as a map. */
12
- const customOff = Object.fromEntries(off.map((rule) => [`@typescript-eslint/${rule}`, "off"]));
13
2
  /**
14
3
  * Build and return TypeScript-specific ESLint configs and rule adjustments.
15
4
  * @returns The TypeScript ESLint config array.
@@ -20,45 +9,16 @@ const customOff = Object.fromEntries(off.map((rule) => [`@typescript-eslint/${ru
20
9
  */
21
10
  export async function typescript() {
22
11
  const { configs } = await import("typescript-eslint");
23
- const { all } = configs;
24
- return defineConfig(all, {
12
+ const { strictTypeChecked, stylisticTypeChecked } = configs;
13
+ return defineConfig(strictTypeChecked, stylisticTypeChecked, {
25
14
  languageOptions: {
26
15
  parserOptions: {
27
16
  projectService: true,
28
17
  },
29
18
  },
30
19
  }, {
31
- name: "@typescript-eslint/deprecated",
32
- rules: {
33
- "@typescript-eslint/no-type-alias": "off",
34
- "@typescript-eslint/sort-type-constituents": "off",
35
- },
36
- }, {
37
- name: "@typescript-eslint/custom",
38
- rules: {
39
- ...customOff,
40
- "@typescript-eslint/no-unsafe-type-assertion": "off",
41
- "@typescript-eslint/strict-boolean-expressions": [
42
- "error",
43
- {
44
- allowNullableEnum: false,
45
- allowNullableObject: false,
46
- allowNumber: false,
47
- allowString: false,
48
- },
49
- ],
50
- "@typescript-eslint/unified-signatures": [
51
- "error",
52
- { ignoreDifferentlyNamedParameters: true },
53
- ],
54
- },
55
- }, {
56
- files: ["**/*.spec.ts", "**/*.e2e.ts"],
57
- name: "@typescript-eslint/custom-spec",
58
- rules: {
59
- "@typescript-eslint/init-declarations": "off",
60
- "@typescript-eslint/unbound-method": "off",
61
- },
20
+ files: ["**/*.{spec,test,e2e}.ts"],
21
+ name: "Test files should allow unbound methods for better assertion flexibility",
22
+ rules: { "@typescript-eslint/unbound-method": "off" },
62
23
  });
63
24
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9jb3JlL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qyx3Q0FBd0M7QUFDeEMsTUFBTSxHQUFHLEdBQUc7SUFDVix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLGlDQUFpQztDQUNsQyxDQUFDO0FBRUYsMENBQTBDO0FBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ2xDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBVSxDQUFDLENBQ2xFLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxVQUFVO0lBQzlCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFFeEIsT0FBTyxZQUFZLENBQ2pCLEdBQUcsRUFDSDtRQUNFLGVBQWUsRUFBRTtZQUNmLGFBQWEsRUFBRTtnQkFDYixjQUFjLEVBQUUsSUFBSTthQUNyQjtTQUNGO0tBQ0YsRUFDRDtRQUNFLElBQUksRUFBRSwrQkFBK0I7UUFDckMsS0FBSyxFQUFFO1lBQ0wsa0NBQWtDLEVBQUUsS0FBSztZQUN6QywyQ0FBMkMsRUFBRSxLQUFLO1NBQ25EO0tBQ0YsRUFDRDtRQUNFLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFO1lBQ0wsR0FBRyxTQUFTO1lBQ1osNkNBQTZDLEVBQUUsS0FBSztZQUNwRCwrQ0FBK0MsRUFBRTtnQkFDL0MsT0FBTztnQkFDUDtvQkFDRSxpQkFBaUIsRUFBRSxLQUFLO29CQUN4QixtQkFBbUIsRUFBRSxLQUFLO29CQUMxQixXQUFXLEVBQUUsS0FBSztvQkFDbEIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CO2FBQ0Y7WUFDRCx1Q0FBdUMsRUFBRTtnQkFDdkMsT0FBTztnQkFDUCxFQUFFLGdDQUFnQyxFQUFFLElBQUksRUFBRTthQUMzQztTQUNGO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUM7UUFDdEMsSUFBSSxFQUFFLGdDQUFnQztRQUN0QyxLQUFLLEVBQUU7WUFDTCxzQ0FBc0MsRUFBRSxLQUFLO1lBQzdDLG1DQUFtQyxFQUFFLEtBQUs7U0FDM0M7S0FDRixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XHJcblxyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xyXG5cclxuLyoqIFR5cGVTY3JpcHQgcnVsZSBuYW1lcyB0byBkaXNhYmxlLiAqL1xyXG5jb25zdCBvZmYgPSBbXHJcbiAgXCJjbGFzcy1tZXRob2RzLXVzZS10aGlzXCIsXHJcbiAgXCJtZW1iZXItb3JkZXJpbmdcIixcclxuICBcIm5hbWluZy1jb252ZW50aW9uXCIsXHJcbiAgXCJuby1tYWdpYy1udW1iZXJzXCIsXHJcbiAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiLFxyXG4gIFwicHJlZmVyLXJlYWRvbmx5LXBhcmFtZXRlci10eXBlc1wiLFxyXG5dO1xyXG5cclxuLyoqIFR5cGVTY3JpcHQgcnVsZXMgZGlzYWJsZWQgYXMgYSBtYXAuICovXHJcbmNvbnN0IGN1c3RvbU9mZiA9IE9iamVjdC5mcm9tRW50cmllcyhcclxuICBvZmYubWFwKChydWxlKSA9PiBbYEB0eXBlc2NyaXB0LWVzbGludC8ke3J1bGV9YCwgXCJvZmZcIl0gYXMgY29uc3QpLFxyXG4pO1xyXG5cclxuLyoqXHJcbiAqIEJ1aWxkIGFuZCByZXR1cm4gVHlwZVNjcmlwdC1zcGVjaWZpYyBFU0xpbnQgY29uZmlncyBhbmQgcnVsZSBhZGp1c3RtZW50cy5cclxuICogQHJldHVybnMgVGhlIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZyBhcnJheS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0eXBlc2NyaXB0Q29uZmlncyA9IGF3YWl0IHR5cGVzY3JpcHQoKTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHlwZXNjcmlwdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xyXG4gIGNvbnN0IHsgY29uZmlncyB9ID0gYXdhaXQgaW1wb3J0KFwidHlwZXNjcmlwdC1lc2xpbnRcIik7XHJcbiAgY29uc3QgeyBhbGwgfSA9IGNvbmZpZ3M7XHJcblxyXG4gIHJldHVybiBkZWZpbmVDb25maWcoXHJcbiAgICBhbGwsXHJcbiAgICB7XHJcbiAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xyXG4gICAgICAgIHBhcnNlck9wdGlvbnM6IHtcclxuICAgICAgICAgIHByb2plY3RTZXJ2aWNlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kZXByZWNhdGVkXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdHlwZS1hbGlhc1wiOiBcIm9mZlwiLFxyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3NvcnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJvZmZcIixcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2N1c3RvbVwiLFxyXG4gICAgICBydWxlczoge1xyXG4gICAgICAgIC4uLmN1c3RvbU9mZixcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtdHlwZS1hc3NlcnRpb25cIjogXCJvZmZcIixcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zdHJpY3QtYm9vbGVhbi1leHByZXNzaW9uc1wiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGFsbG93TnVsbGFibGVFbnVtOiBmYWxzZSxcclxuICAgICAgICAgICAgYWxsb3dOdWxsYWJsZU9iamVjdDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFsbG93TnVtYmVyOiBmYWxzZSxcclxuICAgICAgICAgICAgYWxsb3dTdHJpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7IGlnbm9yZURpZmZlcmVudGx5TmFtZWRQYXJhbWV0ZXJzOiB0cnVlIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGZpbGVzOiBbXCIqKi8qLnNwZWMudHNcIiwgXCIqKi8qLmUyZS50c1wiXSxcclxuICAgICAgbmFtZTogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY3VzdG9tLXNwZWNcIixcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9pbml0LWRlY2xhcmF0aW9uc1wiOiBcIm9mZlwiLFxyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwib2ZmXCIsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICk7XHJcbn1cclxuIl19