@codeperfect/eslint-config 1.1.0 → 1.3.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 (177) hide show
  1. package/README.md +21 -3
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
  4. package/dist/domain/config-composition.d.ts +8 -0
  5. package/dist/domain/config-composition.d.ts.map +1 -0
  6. package/dist/domain/config-composition.js +55 -0
  7. package/dist/domain/index.d.ts +3 -1
  8. package/dist/domain/index.d.ts.map +1 -1
  9. package/dist/domain/index.js +3 -2
  10. package/dist/{module-taxonomy.d.ts → domain/module-taxonomy.d.ts} +6 -3
  11. package/dist/domain/module-taxonomy.d.ts.map +1 -0
  12. package/dist/domain/module-taxonomy.js +22 -0
  13. package/dist/domain/types.d.ts +66 -0
  14. package/dist/domain/types.d.ts.map +1 -0
  15. package/dist/domain/types.js +2 -0
  16. package/dist/index.d.ts +2 -14
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +2 -42
  19. package/dist/infrastructure/architecture/boundaries.d.ts +22 -0
  20. package/dist/infrastructure/architecture/boundaries.d.ts.map +1 -0
  21. package/dist/infrastructure/architecture/boundaries.js +175 -0
  22. package/dist/infrastructure/architecture/import-x.d.ts.map +1 -0
  23. package/dist/infrastructure/architecture/import-x.js +80 -0
  24. package/dist/infrastructure/architecture/index.d.ts +3 -0
  25. package/dist/infrastructure/architecture/index.d.ts.map +1 -0
  26. package/dist/infrastructure/architecture/index.js +3 -0
  27. package/dist/infrastructure/config-factory.d.ts +14 -0
  28. package/dist/infrastructure/config-factory.d.ts.map +1 -0
  29. package/dist/infrastructure/config-factory.js +44 -0
  30. package/dist/infrastructure/configs/index.d.ts +7 -0
  31. package/dist/infrastructure/configs/index.d.ts.map +1 -0
  32. package/dist/infrastructure/configs/index.js +7 -0
  33. package/dist/infrastructure/core/codeperfect.d.ts +11 -0
  34. package/dist/infrastructure/core/codeperfect.d.ts.map +1 -0
  35. package/dist/infrastructure/core/codeperfect.js +14 -0
  36. package/dist/infrastructure/core/eslint.d.ts.map +1 -0
  37. package/dist/infrastructure/core/eslint.js +58 -0
  38. package/dist/infrastructure/core/index.d.ts +5 -0
  39. package/dist/infrastructure/core/index.d.ts.map +1 -0
  40. package/dist/infrastructure/core/index.js +5 -0
  41. package/dist/infrastructure/core/resolver.d.ts.map +1 -0
  42. package/dist/infrastructure/core/resolver.js +27 -0
  43. package/dist/infrastructure/core/typescript.d.ts.map +1 -0
  44. package/dist/infrastructure/core/typescript.js +63 -0
  45. package/dist/{diagnostics.d.ts → infrastructure/diagnostics.d.ts} +13 -3
  46. package/dist/infrastructure/diagnostics.d.ts.map +1 -0
  47. package/dist/infrastructure/diagnostics.js +90 -0
  48. package/dist/infrastructure/docs/comments.d.ts.map +1 -0
  49. package/dist/infrastructure/docs/comments.js +30 -0
  50. package/dist/infrastructure/docs/index.d.ts +3 -0
  51. package/dist/infrastructure/docs/index.d.ts.map +1 -0
  52. package/dist/infrastructure/docs/index.js +3 -0
  53. package/dist/{docs → infrastructure/docs}/jsdoc.d.ts +3 -1
  54. package/dist/infrastructure/docs/jsdoc.d.ts.map +1 -0
  55. package/dist/infrastructure/docs/jsdoc.js +126 -0
  56. package/dist/infrastructure/index.d.ts +5 -0
  57. package/dist/infrastructure/index.d.ts.map +1 -0
  58. package/dist/infrastructure/index.js +4 -0
  59. package/dist/{plugin-loaders.d.ts → infrastructure/plugin-loaders.d.ts} +7 -2
  60. package/dist/infrastructure/plugin-loaders.d.ts.map +1 -0
  61. package/dist/infrastructure/plugin-loaders.js +115 -0
  62. package/dist/infrastructure/plugin-state.d.ts +26 -0
  63. package/dist/infrastructure/plugin-state.d.ts.map +1 -0
  64. package/dist/infrastructure/plugin-state.js +54 -0
  65. package/dist/infrastructure/rxjs-x.d.ts.map +1 -0
  66. package/dist/infrastructure/rxjs-x.js +27 -0
  67. package/dist/infrastructure/style/index.d.ts +5 -0
  68. package/dist/infrastructure/style/index.d.ts.map +1 -0
  69. package/dist/infrastructure/style/index.js +5 -0
  70. package/dist/infrastructure/style/perfectionist.d.ts.map +1 -0
  71. package/dist/infrastructure/style/perfectionist.js +31 -0
  72. package/dist/infrastructure/style/prettier.d.ts.map +1 -0
  73. package/dist/infrastructure/style/prettier.js +15 -0
  74. package/dist/infrastructure/style/stylistic.d.ts.map +1 -0
  75. package/dist/infrastructure/style/stylistic.js +17 -0
  76. package/dist/infrastructure/style/unicorn.d.ts.map +1 -0
  77. package/dist/infrastructure/style/unicorn.js +15 -0
  78. package/dist/infrastructure/testing/index.d.ts +5 -0
  79. package/dist/infrastructure/testing/index.d.ts.map +1 -0
  80. package/dist/infrastructure/testing/index.js +5 -0
  81. package/dist/infrastructure/testing/jasmine.d.ts.map +1 -0
  82. package/dist/infrastructure/testing/jasmine.js +26 -0
  83. package/dist/infrastructure/testing/jest.d.ts.map +1 -0
  84. package/dist/infrastructure/testing/jest.js +27 -0
  85. package/dist/infrastructure/testing/playwright.d.ts.map +1 -0
  86. package/dist/infrastructure/testing/playwright.js +29 -0
  87. package/dist/infrastructure/testing/vitest.d.ts.map +1 -0
  88. package/dist/infrastructure/testing/vitest.js +33 -0
  89. package/dist/{utilities.d.ts → infrastructure/utilities.d.ts} +2 -13
  90. package/dist/infrastructure/utilities.d.ts.map +1 -0
  91. package/dist/infrastructure/utilities.js +112 -0
  92. package/package.json +47 -44
  93. package/dist/architecture/boundaries.d.ts +0 -17
  94. package/dist/architecture/boundaries.d.ts.map +0 -1
  95. package/dist/architecture/boundaries.js +0 -69
  96. package/dist/architecture/import-x.d.ts.map +0 -1
  97. package/dist/architecture/import-x.js +0 -79
  98. package/dist/architecture/index.d.ts +0 -3
  99. package/dist/architecture/index.d.ts.map +0 -1
  100. package/dist/architecture/index.js +0 -3
  101. package/dist/config-composition.d.ts +0 -6
  102. package/dist/config-composition.d.ts.map +0 -1
  103. package/dist/config-composition.js +0 -37
  104. package/dist/configs/index.d.ts +0 -7
  105. package/dist/configs/index.d.ts.map +0 -1
  106. package/dist/configs/index.js +0 -7
  107. package/dist/core/eslint.d.ts.map +0 -1
  108. package/dist/core/eslint.js +0 -58
  109. package/dist/core/index.d.ts +0 -4
  110. package/dist/core/index.d.ts.map +0 -1
  111. package/dist/core/index.js +0 -4
  112. package/dist/core/resolver.d.ts.map +0 -1
  113. package/dist/core/resolver.js +0 -27
  114. package/dist/core/typescript.d.ts.map +0 -1
  115. package/dist/core/typescript.js +0 -63
  116. package/dist/diagnostics.d.ts.map +0 -1
  117. package/dist/diagnostics.js +0 -74
  118. package/dist/docs/comments.d.ts.map +0 -1
  119. package/dist/docs/comments.js +0 -30
  120. package/dist/docs/index.d.ts +0 -3
  121. package/dist/docs/index.d.ts.map +0 -1
  122. package/dist/docs/index.js +0 -3
  123. package/dist/docs/jsdoc-examples.d.ts +0 -56
  124. package/dist/docs/jsdoc-examples.d.ts.map +0 -1
  125. package/dist/docs/jsdoc-examples.js +0 -186
  126. package/dist/docs/jsdoc-processor.d.ts +0 -63
  127. package/dist/docs/jsdoc-processor.d.ts.map +0 -1
  128. package/dist/docs/jsdoc-processor.js +0 -112
  129. package/dist/docs/jsdoc.d.ts.map +0 -1
  130. package/dist/docs/jsdoc.js +0 -122
  131. package/dist/domain/rxjs-x.d.ts.map +0 -1
  132. package/dist/domain/rxjs-x.js +0 -27
  133. package/dist/module-taxonomy.d.ts.map +0 -1
  134. package/dist/module-taxonomy.js +0 -21
  135. package/dist/plugin-loaders.d.ts.map +0 -1
  136. package/dist/plugin-loaders.js +0 -110
  137. package/dist/style/index.d.ts +0 -5
  138. package/dist/style/index.d.ts.map +0 -1
  139. package/dist/style/index.js +0 -5
  140. package/dist/style/perfectionist.d.ts.map +0 -1
  141. package/dist/style/perfectionist.js +0 -17
  142. package/dist/style/prettier.d.ts.map +0 -1
  143. package/dist/style/prettier.js +0 -15
  144. package/dist/style/stylistic.d.ts.map +0 -1
  145. package/dist/style/stylistic.js +0 -15
  146. package/dist/style/unicorn.d.ts.map +0 -1
  147. package/dist/style/unicorn.js +0 -15
  148. package/dist/testing/index.d.ts +0 -5
  149. package/dist/testing/index.d.ts.map +0 -1
  150. package/dist/testing/index.js +0 -5
  151. package/dist/testing/jasmine.d.ts.map +0 -1
  152. package/dist/testing/jasmine.js +0 -25
  153. package/dist/testing/jest.d.ts.map +0 -1
  154. package/dist/testing/jest.js +0 -27
  155. package/dist/testing/playwright.d.ts.map +0 -1
  156. package/dist/testing/playwright.js +0 -29
  157. package/dist/testing/vitest.d.ts.map +0 -1
  158. package/dist/testing/vitest.js +0 -32
  159. package/dist/types.d.ts +0 -41
  160. package/dist/types.d.ts.map +0 -1
  161. package/dist/types.js +0 -2
  162. package/dist/utilities.d.ts.map +0 -1
  163. package/dist/utilities.js +0 -125
  164. /package/dist/{architecture → infrastructure/architecture}/import-x.d.ts +0 -0
  165. /package/dist/{core → infrastructure/core}/eslint.d.ts +0 -0
  166. /package/dist/{core → infrastructure/core}/resolver.d.ts +0 -0
  167. /package/dist/{core → infrastructure/core}/typescript.d.ts +0 -0
  168. /package/dist/{docs → infrastructure/docs}/comments.d.ts +0 -0
  169. /package/dist/{domain → infrastructure}/rxjs-x.d.ts +0 -0
  170. /package/dist/{style → infrastructure/style}/perfectionist.d.ts +0 -0
  171. /package/dist/{style → infrastructure/style}/prettier.d.ts +0 -0
  172. /package/dist/{style → infrastructure/style}/stylistic.d.ts +0 -0
  173. /package/dist/{style → infrastructure/style}/unicorn.d.ts +0 -0
  174. /package/dist/{testing → infrastructure/testing}/jasmine.d.ts +0 -0
  175. /package/dist/{testing → infrastructure/testing}/jest.d.ts +0 -0
  176. /package/dist/{testing → infrastructure/testing}/playwright.d.ts +0 -0
  177. /package/dist/{testing → infrastructure/testing}/vitest.d.ts +0 -0
@@ -1,79 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- /**
3
- * Build custom error rules for import-x plugin by excluding certain rules
4
- * and ensuring no overlap with existing configurations.
5
- * @returns Return value output.
6
- * @example
7
- * ```typescript
8
- * await buildCustomErrorRules();
9
- * ```
10
- */
11
- async function buildCustomErrorRules() {
12
- const { flatConfigs, rules } = await import("eslint-plugin-import-x");
13
- const { recommended, typescript, warnings } = flatConfigs;
14
- const customIgnore = new Set([
15
- "dynamic-import-chunkname",
16
- "no-default-export",
17
- "no-deprecated",
18
- "no-named-export",
19
- "no-namespace",
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
- return [
30
- warnings,
31
- recommended,
32
- typescript,
33
- {
34
- name: "import-x/custom-error",
35
- rules: customError,
36
- },
37
- ];
38
- }
39
- /**
40
- * Loads the import-x plugin configuration.
41
- * @returns Return value output.
42
- * @example
43
- * ```typescript
44
- * await importX();
45
- * ```
46
- */
47
- async function importX() {
48
- return defineConfig(...(await buildCustomErrorRules()), {
49
- name: "import-x/custom-typescript",
50
- rules: {
51
- "import-x/no-relative-parent-imports": "off",
52
- "import-x/unambiguous": "off",
53
- },
54
- }, {
55
- name: "import-x/custom-node_modules",
56
- rules: {
57
- "import-x/no-internal-modules": [
58
- "error",
59
- {
60
- allow: [
61
- "eslint/config",
62
- "eslint-plugin-boundaries/config",
63
- "eslint-plugin-prettier/recommended",
64
- "vitest/config",
65
- "@eslint-community/eslint-plugin-eslint-comments/configs",
66
- ],
67
- },
68
- ],
69
- },
70
- }, {
71
- ignores: ["*", "packages/*/*", "packages/*/*/*"],
72
- name: "import-x/custom-root-config-files",
73
- rules: {
74
- "import-x/no-default-export": "error",
75
- },
76
- });
77
- }
78
- export { importX };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDM0IsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxPQUFPO1FBQ1AsdUJBQXVCO0tBQ3hCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUN4QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNmLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBVSxDQUFDLENBQzNDLENBQUM7SUFFRixPQUFPO1FBQ0wsUUFBeUI7UUFDekIsV0FBNEI7UUFDNUIsVUFBMkI7UUFDM0I7WUFDRSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxXQUFXO1NBQ25CO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLE9BQU87SUFDcEIsT0FBTyxZQUFZLENBQ2pCLEdBQUcsQ0FBQyxNQUFNLHFCQUFxQixFQUFFLENBQUMsRUFDbEM7UUFDRSxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLEtBQUssRUFBRTtZQUNMLHFDQUFxQyxFQUFFLEtBQUs7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSztTQUM5QjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLEtBQUssRUFBRTtZQUNMLDhCQUE4QixFQUFFO2dCQUM5QixPQUFPO2dCQUNQO29CQUNFLEtBQUssRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsb0NBQW9DO3dCQUNwQyxlQUFlO3dCQUNmLHlEQUF5RDtxQkFDMUQ7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7UUFDaEQsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUU7WUFDTCw0QkFBNEIsRUFBRSxPQUFPO1NBQ3RDO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGN1c3RvbSBlcnJvciBydWxlcyBmb3IgaW1wb3J0LXggcGx1Z2luIGJ5IGV4Y2x1ZGluZyBjZXJ0YWluIHJ1bGVzXG4gKiBhbmQgZW5zdXJpbmcgbm8gb3ZlcmxhcCB3aXRoIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBmbGF0Q29uZmlncywgcnVsZXMgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICBjb25zdCBjdXN0b21JZ25vcmUgPSBuZXcgU2V0KFtcbiAgICBcImR5bmFtaWMtaW1wb3J0LWNodW5rbmFtZVwiLFxuICAgIFwibm8tZGVmYXVsdC1leHBvcnRcIixcbiAgICBcIm5vLWRlcHJlY2F0ZWRcIixcbiAgICBcIm5vLW5hbWVkLWV4cG9ydFwiLFxuICAgIFwibm8tbmFtZXNwYWNlXCIsXG4gICAgXCJvcmRlclwiLFxuICAgIFwicHJlZmVyLWRlZmF1bHQtZXhwb3J0XCIsXG4gIF0pO1xuXG4gIGNvbnN0IGFsbENvbmZpZ3MgPSBuZXcgU2V0KFxuICAgIFt3YXJuaW5ncywgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHRdLmZsYXRNYXAoKGNvbmZpZykgPT5cbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZy5ydWxlcyA/PyB7fSksXG4gICAgKSxcbiAgKTtcblxuICBjb25zdCBjdXN0b21FcnJvciA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhydWxlcylcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFjdXN0b21JZ25vcmUuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gYGltcG9ydC14LyR7cnVsZX1gKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWFsbENvbmZpZ3MuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gW3J1bGUsIFwiZXJyb3JcIl0gYXMgY29uc3QpLFxuICApO1xuXG4gIHJldHVybiBbXG4gICAgd2FybmluZ3MgYXMgTGludGVyLkNvbmZpZyxcbiAgICByZWNvbW1lbmRlZCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgIHR5cGVzY3JpcHQgYXMgTGludGVyLkNvbmZpZyxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1lcnJvclwiLFxuICAgICAgcnVsZXM6IGN1c3RvbUVycm9yLFxuICAgIH0sXG4gIF07XG59XG5cbi8qKlxuICogTG9hZHMgdGhlIGltcG9ydC14IHBsdWdpbiBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBpbXBvcnRYKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW1wb3J0WCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIC4uLihhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKSksXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgICBcImltcG9ydC14L3VuYW1iaWd1b3VzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tbm9kZV9tb2R1bGVzXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLWludGVybmFsLW1vZHVsZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICBcImVzbGludC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJlc2xpbnQtcGx1Z2luLWJvdW5kYXJpZXMvY29uZmlnXCIsXG4gICAgICAgICAgICAgIFwiZXNsaW50LXBsdWdpbi1wcmV0dGllci9yZWNvbW1lbmRlZFwiLFxuICAgICAgICAgICAgICBcInZpdGVzdC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50cy9jb25maWdzXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWdub3JlczogW1wiKlwiLCBcInBhY2thZ2VzLyovKlwiLCBcInBhY2thZ2VzLyovKi8qXCJdLFxuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tcm9vdC1jb25maWctZmlsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJlcnJvclwiLFxuICAgICAgfSxcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgeyBpbXBvcnRYIH07XG4iXX0=
@@ -1,3 +0,0 @@
1
- export { boundaries } from "./boundaries";
2
- export { importX } from "./import-x";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/architecture/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- export { boundaries } from "./boundaries";
2
- export { importX } from "./import-x";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGJvdW5kYXJpZXMgfSBmcm9tIFwiLi9ib3VuZGFyaWVzXCI7XG5leHBvcnQgeyBpbXBvcnRYIH0gZnJvbSBcIi4vaW1wb3J0LXhcIjtcbiJdfQ==
@@ -1,6 +0,0 @@
1
- /** Expected config names when all documented modules are enabled in order. */
2
- declare const fullCompositionNames: readonly ["core-eslint", "core-resolver", "core-typescript", "architecture-import-x", "docs-comments", "docs-jsdoc", "testing-jasmine", "testing-jest", "testing-playwright", "testing-vitest", "domain-rxjs", "style-stylistic", "style-perfectionist", "style-unicorn", "style-prettier", "architecture-boundaries"];
3
- /** Expected config names when selected optional modules are disabled. */
4
- declare const reducedCompositionNames: readonly ["core-eslint", "core-resolver", "core-typescript", "architecture-import-x", "docs-comments", "docs-jsdoc", "testing-jasmine", "testing-jest", "testing-playwright", "domain-rxjs", "style-stylistic", "style-perfectionist", "style-unicorn"];
5
- export { fullCompositionNames, reducedCompositionNames };
6
- //# sourceMappingURL=config-composition.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-composition.d.ts","sourceRoot":"","sources":["../src/config-composition.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,QAAA,MAAM,oBAAoB,wTAiBhB,CAAC;AAEX,yEAAyE;AACzE,QAAA,MAAM,uBAAuB,yPAcnB,CAAC;AAEX,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,37 +0,0 @@
1
- /** Expected config names when all documented modules are enabled in order. */
2
- const fullCompositionNames = [
3
- "core-eslint",
4
- "core-resolver",
5
- "core-typescript",
6
- "architecture-import-x",
7
- "docs-comments",
8
- "docs-jsdoc",
9
- "testing-jasmine",
10
- "testing-jest",
11
- "testing-playwright",
12
- "testing-vitest",
13
- "domain-rxjs",
14
- "style-stylistic",
15
- "style-perfectionist",
16
- "style-unicorn",
17
- "style-prettier",
18
- "architecture-boundaries",
19
- ];
20
- /** Expected config names when selected optional modules are disabled. */
21
- const reducedCompositionNames = [
22
- "core-eslint",
23
- "core-resolver",
24
- "core-typescript",
25
- "architecture-import-x",
26
- "docs-comments",
27
- "docs-jsdoc",
28
- "testing-jasmine",
29
- "testing-jest",
30
- "testing-playwright",
31
- "domain-rxjs",
32
- "style-stylistic",
33
- "style-perfectionist",
34
- "style-unicorn",
35
- ];
36
- export { fullCompositionNames, reducedCompositionNames };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy1jb21wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixhQUFhO0lBQ2IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7Q0FDakIsQ0FBQztBQUVYLHlFQUF5RTtBQUN6RSxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLGFBQWE7SUFDYixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLGVBQWU7Q0FDUCxDQUFDO0FBRVgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogRXhwZWN0ZWQgY29uZmlnIG5hbWVzIHdoZW4gYWxsIGRvY3VtZW50ZWQgbW9kdWxlcyBhcmUgZW5hYmxlZCBpbiBvcmRlci4gKi9cbmNvbnN0IGZ1bGxDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtZXNsaW50XCIsXG4gIFwiY29yZS1yZXNvbHZlclwiLFxuICBcImNvcmUtdHlwZXNjcmlwdFwiLFxuICBcImFyY2hpdGVjdHVyZS1pbXBvcnQteFwiLFxuICBcImRvY3MtY29tbWVudHNcIixcbiAgXCJkb2NzLWpzZG9jXCIsXG4gIFwidGVzdGluZy1qYXNtaW5lXCIsXG4gIFwidGVzdGluZy1qZXN0XCIsXG4gIFwidGVzdGluZy1wbGF5d3JpZ2h0XCIsXG4gIFwidGVzdGluZy12aXRlc3RcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInN0eWxlLXN0eWxpc3RpY1wiLFxuICBcInN0eWxlLXBlcmZlY3Rpb25pc3RcIixcbiAgXCJzdHlsZS11bmljb3JuXCIsXG4gIFwic3R5bGUtcHJldHRpZXJcIixcbiAgXCJhcmNoaXRlY3R1cmUtYm91bmRhcmllc1wiLFxuXSBhcyBjb25zdDtcblxuLyoqIEV4cGVjdGVkIGNvbmZpZyBuYW1lcyB3aGVuIHNlbGVjdGVkIG9wdGlvbmFsIG1vZHVsZXMgYXJlIGRpc2FibGVkLiAqL1xuY29uc3QgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMgPSBbXG4gIFwiY29yZS1lc2xpbnRcIixcbiAgXCJjb3JlLXJlc29sdmVyXCIsXG4gIFwiY29yZS10eXBlc2NyaXB0XCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWltcG9ydC14XCIsXG4gIFwiZG9jcy1jb21tZW50c1wiLFxuICBcImRvY3MtanNkb2NcIixcbiAgXCJ0ZXN0aW5nLWphc21pbmVcIixcbiAgXCJ0ZXN0aW5nLWplc3RcIixcbiAgXCJ0ZXN0aW5nLXBsYXl3cmlnaHRcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInN0eWxlLXN0eWxpc3RpY1wiLFxuICBcInN0eWxlLXBlcmZlY3Rpb25pc3RcIixcbiAgXCJzdHlsZS11bmljb3JuXCIsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgeyBmdWxsQ29tcG9zaXRpb25OYW1lcywgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMgfTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export { boundaries, importX } from "../architecture";
2
- export { eslint, resolver, typescript } from "../core";
3
- export { comments, jsdoc } from "../docs";
4
- export { rxjsX } from "../domain";
5
- export { perfectionist, prettier, stylistic, unicorn } from "../style";
6
- export { jasmine, jest, playwright, vitest } from "../testing";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
@@ -1,7 +0,0 @@
1
- export { boundaries, importX } from "../architecture";
2
- export { eslint, resolver, typescript } from "../core";
3
- export { comments, jsdoc } from "../docs";
4
- export { rxjsX } from "../domain";
5
- export { perfectionist, prettier, stylistic, unicorn } from "../style";
6
- export { jasmine, jest, playwright, vitest } from "../testing";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGJvdW5kYXJpZXMsIGltcG9ydFggfSBmcm9tIFwiLi4vYXJjaGl0ZWN0dXJlXCI7XG5leHBvcnQgeyBlc2xpbnQsIHJlc29sdmVyLCB0eXBlc2NyaXB0IH0gZnJvbSBcIi4uL2NvcmVcIjtcbmV4cG9ydCB7IGNvbW1lbnRzLCBqc2RvYyB9IGZyb20gXCIuLi9kb2NzXCI7XG5leHBvcnQgeyByeGpzWCB9IGZyb20gXCIuLi9kb21haW5cIjtcbmV4cG9ydCB7IHBlcmZlY3Rpb25pc3QsIHByZXR0aWVyLCBzdHlsaXN0aWMsIHVuaWNvcm4gfSBmcm9tIFwiLi4vc3R5bGVcIjtcbmV4cG9ydCB7IGphc21pbmUsIGplc3QsIHBsYXl3cmlnaHQsIHZpdGVzdCB9IGZyb20gXCIuLi90ZXN0aW5nXCI7XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../src/core/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA8BrC;;;;;;;;GAQG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAmCxC"}
@@ -1,58 +0,0 @@
1
- import { configs } from "@eslint/js";
2
- import { defineConfig, globalIgnores } from "eslint/config";
3
- /** Rules excluded from custom errors. */
4
- const customIgnore = new Set([
5
- "capitalized-comments",
6
- "func-style",
7
- "no-magic-numbers",
8
- "no-ternary",
9
- "no-unused-vars",
10
- "no-use-before-define",
11
- "no-void",
12
- "no-warning-comments",
13
- "one-var",
14
- "sort-imports",
15
- ]);
16
- /** Rules included in eslint:recommended. */
17
- const recommended = new Set(Object.keys(configs.recommended.rules));
18
- /** Error rules excluding ignored or recommended. */
19
- const customError = Object.fromEntries(Object.keys(configs.all.rules)
20
- .filter((rule) => !customIgnore.has(rule))
21
- .filter((rule) => !recommended.has(rule))
22
- .map((rule) => [rule, "error"]));
23
- /**
24
- * Assemble base configuration combining the official eslint-js recommendations with
25
- * project-specific overrides and linter options.
26
- * @returns Base ESLint config array.
27
- * @example
28
- * ```typescript
29
- * const base = eslint();
30
- * ```
31
- */
32
- export function eslint() {
33
- return defineConfig(configs.recommended, globalIgnores(["**/dist/**", "docs/", "**/coverage"], "@eslint/js/custom-ignore-directory"), {
34
- linterOptions: {
35
- reportUnusedDisableDirectives: "error",
36
- reportUnusedInlineConfigs: "error",
37
- },
38
- }, {
39
- name: "@eslint/js/custom",
40
- rules: {
41
- ...customError,
42
- "new-cap": ["error", { capIsNewExceptionPattern: "^@" }],
43
- "no-duplicate-imports": ["error", { allowSeparateTypeImports: true }],
44
- },
45
- }, {
46
- files: ["**/*.spec.ts"],
47
- name: "@eslint/js/custom-spec",
48
- rules: {
49
- "init-declarations": "off",
50
- "max-lines-per-function": "off",
51
- },
52
- }, {
53
- files: ["scripts/*.ts"],
54
- name: "@eslint/js/custom-scripts",
55
- rules: { "no-console": "off" },
56
- });
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvZXNsaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQseUNBQXlDO0FBQ3pDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNCLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLFNBQVM7SUFDVCxxQkFBcUI7SUFDckIsU0FBUztJQUNULGNBQWM7Q0FDZixDQUFDLENBQUM7QUFFSCw0Q0FBNEM7QUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFcEUsb0RBQW9EO0FBQ3BELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7S0FDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDeEMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQVUsQ0FBQyxDQUMzQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLFlBQVksQ0FDakIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsYUFBYSxDQUNYLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFDdEMsb0NBQW9DLENBQ3JDLEVBQ0Q7UUFDRSxhQUFhLEVBQUU7WUFDYiw2QkFBNkIsRUFBRSxPQUFPO1lBQ3RDLHlCQUF5QixFQUFFLE9BQU87U0FDbkM7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUU7WUFDTCxHQUFHLFdBQVc7WUFDZCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN4RCxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3RFO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUN2QixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLEtBQUssRUFBRTtZQUNMLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsd0JBQXdCLEVBQUUsS0FBSztTQUNoQztLQUNGLEVBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQyxjQUFjLENBQUM7UUFDdkIsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxLQUFLLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO0tBQy9CLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgY29uZmlncyB9IGZyb20gXCJAZXNsaW50L2pzXCI7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcsIGdsb2JhbElnbm9yZXMgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKiogUnVsZXMgZXhjbHVkZWQgZnJvbSBjdXN0b20gZXJyb3JzLiAqL1xuY29uc3QgY3VzdG9tSWdub3JlID0gbmV3IFNldChbXG4gIFwiY2FwaXRhbGl6ZWQtY29tbWVudHNcIixcbiAgXCJmdW5jLXN0eWxlXCIsXG4gIFwibm8tbWFnaWMtbnVtYmVyc1wiLFxuICBcIm5vLXRlcm5hcnlcIixcbiAgXCJuby11bnVzZWQtdmFyc1wiLFxuICBcIm5vLXVzZS1iZWZvcmUtZGVmaW5lXCIsXG4gIFwibm8tdm9pZFwiLFxuICBcIm5vLXdhcm5pbmctY29tbWVudHNcIixcbiAgXCJvbmUtdmFyXCIsXG4gIFwic29ydC1pbXBvcnRzXCIsXG5dKTtcblxuLyoqIFJ1bGVzIGluY2x1ZGVkIGluIGVzbGludDpyZWNvbW1lbmRlZC4gKi9cbmNvbnN0IHJlY29tbWVuZGVkID0gbmV3IFNldChPYmplY3Qua2V5cyhjb25maWdzLnJlY29tbWVuZGVkLnJ1bGVzKSk7XG5cbi8qKiBFcnJvciBydWxlcyBleGNsdWRpbmcgaWdub3JlZCBvciByZWNvbW1lbmRlZC4gKi9cbmNvbnN0IGN1c3RvbUVycm9yID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICBPYmplY3Qua2V5cyhjb25maWdzLmFsbC5ydWxlcylcbiAgICAuZmlsdGVyKChydWxlKSA9PiAhY3VzdG9tSWdub3JlLmhhcyhydWxlKSlcbiAgICAuZmlsdGVyKChydWxlKSA9PiAhcmVjb21tZW5kZWQuaGFzKHJ1bGUpKVxuICAgIC5tYXAoKHJ1bGUpID0+IFtydWxlLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcbik7XG5cbi8qKlxuICogQXNzZW1ibGUgYmFzZSBjb25maWd1cmF0aW9uIGNvbWJpbmluZyB0aGUgb2ZmaWNpYWwgZXNsaW50LWpzIHJlY29tbWVuZGF0aW9ucyB3aXRoXG4gKiBwcm9qZWN0LXNwZWNpZmljIG92ZXJyaWRlcyBhbmQgbGludGVyIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBCYXNlIEVTTGludCBjb25maWcgYXJyYXkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYmFzZSA9IGVzbGludCgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2xpbnQoKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICBjb25maWdzLnJlY29tbWVuZGVkLFxuICAgIGdsb2JhbElnbm9yZXMoXG4gICAgICBbXCIqKi9kaXN0LyoqXCIsIFwiZG9jcy9cIiwgXCIqKi9jb3ZlcmFnZVwiXSxcbiAgICAgIFwiQGVzbGludC9qcy9jdXN0b20taWdub3JlLWRpcmVjdG9yeVwiLFxuICAgICksXG4gICAge1xuICAgICAgbGludGVyT3B0aW9uczoge1xuICAgICAgICByZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlczogXCJlcnJvclwiLFxuICAgICAgICByZXBvcnRVbnVzZWRJbmxpbmVDb25maWdzOiBcImVycm9yXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJAZXNsaW50L2pzL2N1c3RvbVwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgLi4uY3VzdG9tRXJyb3IsXG4gICAgICAgIFwibmV3LWNhcFwiOiBbXCJlcnJvclwiLCB7IGNhcElzTmV3RXhjZXB0aW9uUGF0dGVybjogXCJeQFwiIH1dLFxuICAgICAgICBcIm5vLWR1cGxpY2F0ZS1pbXBvcnRzXCI6IFtcImVycm9yXCIsIHsgYWxsb3dTZXBhcmF0ZVR5cGVJbXBvcnRzOiB0cnVlIH1dLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbXCIqKi8qLnNwZWMudHNcIl0sXG4gICAgICBuYW1lOiBcIkBlc2xpbnQvanMvY3VzdG9tLXNwZWNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJvZmZcIixcbiAgICAgICAgXCJtYXgtbGluZXMtcGVyLWZ1bmN0aW9uXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcInNjcmlwdHMvKi50c1wiXSxcbiAgICAgIG5hbWU6IFwiQGVzbGludC9qcy9jdXN0b20tc2NyaXB0c1wiLFxuICAgICAgcnVsZXM6IHsgXCJuby1jb25zb2xlXCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICApO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export { eslint } from "./eslint";
2
- export { resolver } from "./resolver";
3
- export { typescript } from "./typescript";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1,4 +0,0 @@
1
- export { eslint } from "./eslint";
2
- export { resolver } from "./resolver";
3
- export { typescript } from "./typescript";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGVzbGludCB9IGZyb20gXCIuL2VzbGludFwiO1xuZXhwb3J0IHsgcmVzb2x2ZXIgfSBmcm9tIFwiLi9yZXNvbHZlclwiO1xuZXhwb3J0IHsgdHlwZXNjcmlwdCB9IGZyb20gXCIuL3R5cGVzY3JpcHRcIjtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/core/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAkBzD"}
@@ -1,27 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- /**
3
- * Return resolver settings configured for TypeScript imports.
4
- * @returns Return value output.
5
- * @example
6
- * ```typescript
7
- * await resolver();
8
- * ```
9
- */
10
- export async function resolver() {
11
- const { createTypeScriptImportResolver } = await import("eslint-import-resolver-typescript");
12
- return defineConfig({
13
- settings: {
14
- "import-x/resolver-next": [
15
- createTypeScriptImportResolver({
16
- alwaysTryTypes: true,
17
- }),
18
- ],
19
- "import/resolver": {
20
- typescript: {
21
- alwaysTryTypes: true,
22
- },
23
- },
24
- },
25
- });
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLDhCQUE4QixFQUFFLEdBQ3RDLE1BQU0sTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFcEQsT0FBTyxZQUFZLENBQUM7UUFDbEIsUUFBUSxFQUFFO1lBQ1Isd0JBQXdCLEVBQUU7Z0JBQ3hCLDhCQUE4QixDQUFDO29CQUM3QixjQUFjLEVBQUUsSUFBSTtpQkFDckIsQ0FBQzthQUNIO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFVBQVUsRUFBRTtvQkFDVixjQUFjLEVBQUUsSUFBSTtpQkFDckI7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIFJldHVybiByZXNvbHZlciBzZXR0aW5ncyBjb25maWd1cmVkIGZvciBUeXBlU2NyaXB0IGltcG9ydHMuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHJlc29sdmVyKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc29sdmVyKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyIH0gPVxuICAgIGF3YWl0IGltcG9ydChcImVzbGludC1pbXBvcnQtcmVzb2x2ZXItdHlwZXNjcmlwdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBzZXR0aW5nczoge1xuICAgICAgXCJpbXBvcnQteC9yZXNvbHZlci1uZXh0XCI6IFtcbiAgICAgICAgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyKHtcbiAgICAgICAgICBhbHdheXNUcnlUeXBlczogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgICAgXCJpbXBvcnQvcmVzb2x2ZXJcIjoge1xuICAgICAgICB0eXBlc2NyaXB0OiB7XG4gICAgICAgICAgYWx3YXlzVHJ5VHlwZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/core/typescript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoBrC;;;;;;;GAOG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CA+C3D"}
@@ -1,63 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- /** TypeScript rule names to disable. */
3
- const off = [
4
- "no-magic-numbers",
5
- "no-type-alias",
6
- "sort-type-constituents",
7
- "naming-convention",
8
- "no-use-before-define",
9
- "member-ordering",
10
- "no-unsafe-type-assertion",
11
- ];
12
- /** TypeScript rules disabled as a map. */
13
- const customOff = Object.fromEntries(off.map((rule) => [`@typescript-eslint/${rule}`, "off"]));
14
- /**
15
- * Build and return TypeScript-specific ESLint configs and rule adjustments.
16
- * @returns The TypeScript ESLint config array.
17
- * @example
18
- * ```typescript
19
- * const typescriptConfigs = await typescript();
20
- * ```
21
- */
22
- export async function typescript() {
23
- const { configs } = await import("typescript-eslint");
24
- const { all } = configs;
25
- return defineConfig(all, {
26
- languageOptions: {
27
- parserOptions: {
28
- projectService: true,
29
- },
30
- },
31
- }, {
32
- name: "@typescript-eslint/custom",
33
- rules: {
34
- ...customOff,
35
- "@typescript-eslint/strict-boolean-expressions": [
36
- "error",
37
- {
38
- allowNullableEnum: false,
39
- allowNullableObject: false,
40
- allowNumber: false,
41
- allowString: false,
42
- },
43
- ],
44
- "@typescript-eslint/unified-signatures": [
45
- "error",
46
- { ignoreDifferentlyNamedParameters: true },
47
- ],
48
- },
49
- }, {
50
- name: "@typescript-eslint/custom-compat",
51
- rules: {
52
- "@typescript-eslint/prefer-readonly-parameter-types": "off",
53
- },
54
- }, {
55
- files: ["**/*.spec.ts"],
56
- name: "@typescript-eslint/custom-spec",
57
- rules: {
58
- "@typescript-eslint/init-declarations": "off",
59
- "@typescript-eslint/unbound-method": "off",
60
- },
61
- });
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qyx3Q0FBd0M7QUFDeEMsTUFBTSxHQUFHLEdBQUc7SUFDVixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUVGLDBDQUEwQztBQUMxQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxLQUFLLENBQVUsQ0FBQyxDQUNsRSxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVTtJQUM5QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXhCLE9BQU8sWUFBWSxDQUNqQixHQUFHLEVBQ0g7UUFDRSxlQUFlLEVBQUU7WUFDZixhQUFhLEVBQUU7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7YUFDckI7U0FDRjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLEtBQUssRUFBRTtZQUNMLEdBQUcsU0FBUztZQUNaLCtDQUErQyxFQUFFO2dCQUMvQyxPQUFPO2dCQUNQO29CQUNFLGlCQUFpQixFQUFFLEtBQUs7b0JBQ3hCLG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLFdBQVcsRUFBRSxLQUFLO29CQUNsQixXQUFXLEVBQUUsS0FBSztpQkFDbkI7YUFDRjtZQUNELHVDQUF1QyxFQUFFO2dCQUN2QyxPQUFPO2dCQUNQLEVBQUUsZ0NBQWdDLEVBQUUsSUFBSSxFQUFFO2FBQzNDO1NBQ0Y7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxLQUFLLEVBQUU7WUFDTCxvREFBb0QsRUFBRSxLQUFLO1NBQzVEO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUN2QixJQUFJLEVBQUUsZ0NBQWdDO1FBQ3RDLEtBQUssRUFBRTtZQUNMLHNDQUFzQyxFQUFFLEtBQUs7WUFDN0MsbUNBQW1DLEVBQUUsS0FBSztTQUMzQztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcclxuXHJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XHJcblxyXG4vKiogVHlwZVNjcmlwdCBydWxlIG5hbWVzIHRvIGRpc2FibGUuICovXHJcbmNvbnN0IG9mZiA9IFtcclxuICBcIm5vLW1hZ2ljLW51bWJlcnNcIixcclxuICBcIm5vLXR5cGUtYWxpYXNcIixcclxuICBcInNvcnQtdHlwZS1jb25zdGl0dWVudHNcIixcclxuICBcIm5hbWluZy1jb252ZW50aW9uXCIsXHJcbiAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiLFxyXG4gIFwibWVtYmVyLW9yZGVyaW5nXCIsXHJcbiAgXCJuby11bnNhZmUtdHlwZS1hc3NlcnRpb25cIixcclxuXTtcclxuXHJcbi8qKiBUeXBlU2NyaXB0IHJ1bGVzIGRpc2FibGVkIGFzIGEgbWFwLiAqL1xyXG5jb25zdCBjdXN0b21PZmYgPSBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgb2ZmLm1hcCgocnVsZSkgPT4gW2BAdHlwZXNjcmlwdC1lc2xpbnQvJHtydWxlfWAsIFwib2ZmXCJdIGFzIGNvbnN0KSxcclxuKTtcclxuXHJcbi8qKlxyXG4gKiBCdWlsZCBhbmQgcmV0dXJuIFR5cGVTY3JpcHQtc3BlY2lmaWMgRVNMaW50IGNvbmZpZ3MgYW5kIHJ1bGUgYWRqdXN0bWVudHMuXHJcbiAqIEByZXR1cm5zIFRoZSBUeXBlU2NyaXB0IEVTTGludCBjb25maWcgYXJyYXkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgdHlwZXNjcmlwdENvbmZpZ3MgPSBhd2FpdCB0eXBlc2NyaXB0KCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHR5cGVzY3JpcHQoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcclxuICBjb25zdCB7IGNvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcInR5cGVzY3JpcHQtZXNsaW50XCIpO1xyXG4gIGNvbnN0IHsgYWxsIH0gPSBjb25maWdzO1xyXG5cclxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxyXG4gICAgYWxsLFxyXG4gICAge1xyXG4gICAgICBsYW5ndWFnZU9wdGlvbnM6IHtcclxuICAgICAgICBwYXJzZXJPcHRpb25zOiB7XHJcbiAgICAgICAgICBwcm9qZWN0U2VydmljZTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY3VzdG9tXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgLi4uY3VzdG9tT2ZmLFxyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3N0cmljdC1ib29sZWFuLWV4cHJlc3Npb25zXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgYWxsb3dOdWxsYWJsZUVudW06IGZhbHNlLFxyXG4gICAgICAgICAgICBhbGxvd051bGxhYmxlT2JqZWN0OiBmYWxzZSxcclxuICAgICAgICAgICAgYWxsb3dOdW1iZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbGxvd1N0cmluZzogZmFsc2UsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHsgaWdub3JlRGlmZmVyZW50bHlOYW1lZFBhcmFtZXRlcnM6IHRydWUgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY3VzdG9tLWNvbXBhdFwiLFxyXG4gICAgICBydWxlczoge1xyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZWFkb25seS1wYXJhbWV0ZXItdHlwZXNcIjogXCJvZmZcIixcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGZpbGVzOiBbXCIqKi8qLnNwZWMudHNcIl0sXHJcbiAgICAgIG5hbWU6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2N1c3RvbS1zcGVjXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJvZmZcIixcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcIm9mZlwiLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICApO1xyXG59XHJcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAe5C;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;;;;;GAMG;AACH,iBAAS,6BAA6B,IAAI,IAAI,CAK7C;AAED;;;;;;;;;GASG;AACH,iBAAS,qBAAqB,CAC5B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,GACb,IAAI,CAaN;AAED;;;;;;;;GAQG;AACH,iBAAS,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAK1E;AAED,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,GACvB,CAAC"}
@@ -1,74 +0,0 @@
1
- /** ANSI escape sequences for colored console output. */
2
- const ansi = {
3
- bold: "\u001B[1m",
4
- cyan: "\u001B[36m",
5
- red: "\u001B[31m",
6
- reset: "\u001B[0m",
7
- yellow: "\u001B[33m",
8
- };
9
- /** Matches common missing-module error text across package managers and runtimes. */
10
- const missingModulePattern = /Cannot find module|ERR_MODULE_NOT_FOUND|MODULE_NOT_FOUND/u;
11
- /**
12
- * Checks whether an error represents a missing runtime module.
13
- * @param error Input error value.
14
- * @returns Return value output.
15
- * @example
16
- * ```typescript
17
- * const missing = isMissingModuleError(new Error("Cannot find module 'x'"));
18
- * ```
19
- */
20
- function isMissingModuleError(error) {
21
- return missingModulePattern.test(String(error));
22
- }
23
- /**
24
- * Reports that repository-owned boundaries input is missing.
25
- * @example
26
- * ```typescript
27
- * reportMissingBoundariesConfig();
28
- * ```
29
- */
30
- function reportMissingBoundariesConfig() {
31
- const header = `${ansi.bold}${ansi.red}Skipped boundaries config${ansi.reset}`;
32
- const detail = `${ansi.yellow}Provide repository-owned boundaries files, elements, and element-types.${ansi.reset}`;
33
- const hint = `${ansi.cyan}Hint:${ansi.reset} Provide boundaries config via config({ boundaries: { ... } }) or disable the plugin with disabledPlugins: ["boundaries"].`;
34
- process.stderr.write(`${[header, detail, hint].join("\n")}\n`);
35
- }
36
- /**
37
- * Reports a plugin loading issue using runtime-aware messaging.
38
- * @param pluginName Input pluginName value.
39
- * @param error Input error value.
40
- * @param mode Specifies whether loader failures are fatal or skippable.
41
- * @example
42
- * ```typescript
43
- * reportPluginLoadIssue("vitest", new Error("Cannot find module"), "optional");
44
- * ```
45
- */
46
- function reportPluginLoadIssue(pluginName, error, mode) {
47
- const message = String(error);
48
- const isMissingOptionalDependency = mode === "optional" && isMissingModuleError(error);
49
- const header = isMissingOptionalDependency
50
- ? `${ansi.bold}${ansi.yellow}Skipped optional ESLint plugin config: ${pluginName}${ansi.reset}`
51
- : `${ansi.bold}${ansi.red}Failed to load ESLint plugin config: ${pluginName}${ansi.reset}`;
52
- const detail = `${ansi.yellow}${message}${ansi.reset}`;
53
- const hint = mode === "required"
54
- ? `${ansi.cyan}Hint:${ansi.reset} Install the required peer dependency backing "${pluginName}" before using config().`
55
- : `${ansi.cyan}Hint:${ansi.reset} Install the plugin or disable it via config({ disabledPlugins: ["${pluginName}"] }).`;
56
- process.stderr.write(`${[header, detail, hint].join("\n")}\n`);
57
- }
58
- /**
59
- * Reports a skipped rule override when the target plugin is unavailable.
60
- * @param ruleName Input ruleName value.
61
- * @param pluginName Input pluginName value.
62
- * @example
63
- * ```typescript
64
- * reportRuleOverrideSkip("vitest/no-focused-tests", "vitest");
65
- * ```
66
- */
67
- function reportRuleOverrideSkip(ruleName, pluginName) {
68
- const header = `${ansi.bold}${ansi.red}Skipped rule override: ${ruleName}${ansi.reset}`;
69
- const detail = `${ansi.yellow}Plugin "${pluginName}" is not available in the final config.${ansi.reset}`;
70
- const hint = `${ansi.cyan}Hint:${ansi.reset} Install the plugin or remove the rule override.`;
71
- process.stderr.write(`${[header, detail, hint].join("\n")}\n`);
72
- }
73
- export { isMissingModuleError, reportMissingBoundariesConfig, reportPluginLoadIssue, reportRuleOverrideSkip, };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGlhZ25vc3RpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0Esd0RBQXdEO0FBQ3hELE1BQU0sSUFBSSxHQUFHO0lBQ1gsSUFBSSxFQUFFLFdBQVc7SUFDakIsSUFBSSxFQUFFLFlBQVk7SUFDbEIsR0FBRyxFQUFFLFlBQVk7SUFDakIsS0FBSyxFQUFFLFdBQVc7SUFDbEIsTUFBTSxFQUFFLFlBQVk7Q0FDWixDQUFDO0FBRVgscUZBQXFGO0FBQ3JGLE1BQU0sb0JBQW9CLEdBQ3hCLDJEQUEyRCxDQUFDO0FBRTlEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FBQyxLQUFjO0lBQzFDLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLDZCQUE2QjtJQUNwQyxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsNEJBQTRCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvRSxNQUFNLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLDBFQUEwRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEgsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLDRIQUE0SCxDQUFDO0lBQ3hLLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMscUJBQXFCLENBQzVCLFVBQXNCLEVBQ3RCLEtBQWMsRUFDZCxJQUFjO0lBRWQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLE1BQU0sMkJBQTJCLEdBQy9CLElBQUksS0FBSyxVQUFVLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckQsTUFBTSxNQUFNLEdBQUcsMkJBQTJCO1FBQ3hDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sMENBQTBDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQy9GLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsd0NBQXdDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkQsTUFBTSxJQUFJLEdBQ1IsSUFBSSxLQUFLLFVBQVU7UUFDakIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksUUFBUSxJQUFJLENBQUMsS0FBSyxrREFBa0QsVUFBVSwwQkFBMEI7UUFDdEgsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksUUFBUSxJQUFJLENBQUMsS0FBSyxxRUFBcUUsVUFBVSxRQUFRLENBQUM7SUFDNUgsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsVUFBa0I7SUFDbEUsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLDBCQUEwQixRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hGLE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sV0FBVyxVQUFVLDBDQUEwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekcsTUFBTSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxLQUFLLGtEQUFrRCxDQUFDO0lBQzlGLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsNkJBQTZCLEVBQzdCLHFCQUFxQixFQUNyQixzQkFBc0IsR0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IExvYWRNb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbi8qKiBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIGNvbG9yZWQgY29uc29sZSBvdXRwdXQuICovXG5jb25zdCBhbnNpID0ge1xuICBib2xkOiBcIlxcdTAwMUJbMW1cIixcbiAgY3lhbjogXCJcXHUwMDFCWzM2bVwiLFxuICByZWQ6IFwiXFx1MDAxQlszMW1cIixcbiAgcmVzZXQ6IFwiXFx1MDAxQlswbVwiLFxuICB5ZWxsb3c6IFwiXFx1MDAxQlszM21cIixcbn0gYXMgY29uc3Q7XG5cbi8qKiBNYXRjaGVzIGNvbW1vbiBtaXNzaW5nLW1vZHVsZSBlcnJvciB0ZXh0IGFjcm9zcyBwYWNrYWdlIG1hbmFnZXJzIGFuZCBydW50aW1lcy4gKi9cbmNvbnN0IG1pc3NpbmdNb2R1bGVQYXR0ZXJuID1cbiAgL0Nhbm5vdCBmaW5kIG1vZHVsZXxFUlJfTU9EVUxFX05PVF9GT1VORHxNT0RVTEVfTk9UX0ZPVU5EL3U7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gZXJyb3IgcmVwcmVzZW50cyBhIG1pc3NpbmcgcnVudGltZSBtb2R1bGUuXG4gKiBAcGFyYW0gZXJyb3IgSW5wdXQgZXJyb3IgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1pc3NpbmcgPSBpc01pc3NpbmdNb2R1bGVFcnJvcihuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ3gnXCIpKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc01pc3NpbmdNb2R1bGVFcnJvcihlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gbWlzc2luZ01vZHVsZVBhdHRlcm4udGVzdChTdHJpbmcoZXJyb3IpKTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHRoYXQgcmVwb3NpdG9yeS1vd25lZCBib3VuZGFyaWVzIGlucHV0IGlzIG1pc3NpbmcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0TWlzc2luZ0JvdW5kYXJpZXNDb25maWcoKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRNaXNzaW5nQm91bmRhcmllc0NvbmZpZygpOiB2b2lkIHtcbiAgY29uc3QgaGVhZGVyID0gYCR7YW5zaS5ib2xkfSR7YW5zaS5yZWR9U2tpcHBlZCBib3VuZGFyaWVzIGNvbmZpZyR7YW5zaS5yZXNldH1gO1xuICBjb25zdCBkZXRhaWwgPSBgJHthbnNpLnllbGxvd31Qcm92aWRlIHJlcG9zaXRvcnktb3duZWQgYm91bmRhcmllcyBmaWxlcywgZWxlbWVudHMsIGFuZCBlbGVtZW50LXR5cGVzLiR7YW5zaS5yZXNldH1gO1xuICBjb25zdCBoaW50ID0gYCR7YW5zaS5jeWFufUhpbnQ6JHthbnNpLnJlc2V0fSBQcm92aWRlIGJvdW5kYXJpZXMgY29uZmlnIHZpYSBjb25maWcoeyBib3VuZGFyaWVzOiB7IC4uLiB9IH0pIG9yIGRpc2FibGUgdGhlIHBsdWdpbiB3aXRoIGRpc2FibGVkUGx1Z2luczogW1wiYm91bmRhcmllc1wiXS5gO1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZShgJHtbaGVhZGVyLCBkZXRhaWwsIGhpbnRdLmpvaW4oXCJcXG5cIil9XFxuYCk7XG59XG5cbi8qKlxuICogUmVwb3J0cyBhIHBsdWdpbiBsb2FkaW5nIGlzc3VlIHVzaW5nIHJ1bnRpbWUtYXdhcmUgbWVzc2FnaW5nLlxuICogQHBhcmFtIHBsdWdpbk5hbWUgSW5wdXQgcGx1Z2luTmFtZSB2YWx1ZS5cbiAqIEBwYXJhbSBlcnJvciBJbnB1dCBlcnJvciB2YWx1ZS5cbiAqIEBwYXJhbSBtb2RlIFNwZWNpZmllcyB3aGV0aGVyIGxvYWRlciBmYWlsdXJlcyBhcmUgZmF0YWwgb3Igc2tpcHBhYmxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydFBsdWdpbkxvYWRJc3N1ZShcInZpdGVzdFwiLCBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGVcIiksIFwib3B0aW9uYWxcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0UGx1Z2luTG9hZElzc3VlKFxuICBwbHVnaW5OYW1lOiBQbHVnaW5OYW1lLFxuICBlcnJvcjogdW5rbm93bixcbiAgbW9kZTogTG9hZE1vZGUsXG4pOiB2b2lkIHtcbiAgY29uc3QgbWVzc2FnZSA9IFN0cmluZyhlcnJvcik7XG4gIGNvbnN0IGlzTWlzc2luZ09wdGlvbmFsRGVwZW5kZW5jeSA9XG4gICAgbW9kZSA9PT0gXCJvcHRpb25hbFwiICYmIGlzTWlzc2luZ01vZHVsZUVycm9yKGVycm9yKTtcbiAgY29uc3QgaGVhZGVyID0gaXNNaXNzaW5nT3B0aW9uYWxEZXBlbmRlbmN5XG4gICAgPyBgJHthbnNpLmJvbGR9JHthbnNpLnllbGxvd31Ta2lwcGVkIG9wdGlvbmFsIEVTTGludCBwbHVnaW4gY29uZmlnOiAke3BsdWdpbk5hbWV9JHthbnNpLnJlc2V0fWBcbiAgICA6IGAke2Fuc2kuYm9sZH0ke2Fuc2kucmVkfUZhaWxlZCB0byBsb2FkIEVTTGludCBwbHVnaW4gY29uZmlnOiAke3BsdWdpbk5hbWV9JHthbnNpLnJlc2V0fWA7XG4gIGNvbnN0IGRldGFpbCA9IGAke2Fuc2kueWVsbG93fSR7bWVzc2FnZX0ke2Fuc2kucmVzZXR9YDtcbiAgY29uc3QgaGludCA9XG4gICAgbW9kZSA9PT0gXCJyZXF1aXJlZFwiXG4gICAgICA/IGAke2Fuc2kuY3lhbn1IaW50OiR7YW5zaS5yZXNldH0gSW5zdGFsbCB0aGUgcmVxdWlyZWQgcGVlciBkZXBlbmRlbmN5IGJhY2tpbmcgXCIke3BsdWdpbk5hbWV9XCIgYmVmb3JlIHVzaW5nIGNvbmZpZygpLmBcbiAgICAgIDogYCR7YW5zaS5jeWFufUhpbnQ6JHthbnNpLnJlc2V0fSBJbnN0YWxsIHRoZSBwbHVnaW4gb3IgZGlzYWJsZSBpdCB2aWEgY29uZmlnKHsgZGlzYWJsZWRQbHVnaW5zOiBbXCIke3BsdWdpbk5hbWV9XCJdIH0pLmA7XG4gIHByb2Nlc3Muc3RkZXJyLndyaXRlKGAke1toZWFkZXIsIGRldGFpbCwgaGludF0uam9pbihcIlxcblwiKX1cXG5gKTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIGEgc2tpcHBlZCBydWxlIG92ZXJyaWRlIHdoZW4gdGhlIHRhcmdldCBwbHVnaW4gaXMgdW5hdmFpbGFibGUuXG4gKiBAcGFyYW0gcnVsZU5hbWUgSW5wdXQgcnVsZU5hbWUgdmFsdWUuXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSBJbnB1dCBwbHVnaW5OYW1lIHZhbHVlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydFJ1bGVPdmVycmlkZVNraXAoXCJ2aXRlc3Qvbm8tZm9jdXNlZC10ZXN0c1wiLCBcInZpdGVzdFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRSdWxlT3ZlcnJpZGVTa2lwKHJ1bGVOYW1lOiBzdHJpbmcsIHBsdWdpbk5hbWU6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBoZWFkZXIgPSBgJHthbnNpLmJvbGR9JHthbnNpLnJlZH1Ta2lwcGVkIHJ1bGUgb3ZlcnJpZGU6ICR7cnVsZU5hbWV9JHthbnNpLnJlc2V0fWA7XG4gIGNvbnN0IGRldGFpbCA9IGAke2Fuc2kueWVsbG93fVBsdWdpbiBcIiR7cGx1Z2luTmFtZX1cIiBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBmaW5hbCBjb25maWcuJHthbnNpLnJlc2V0fWA7XG4gIGNvbnN0IGhpbnQgPSBgJHthbnNpLmN5YW59SGludDoke2Fuc2kucmVzZXR9IEluc3RhbGwgdGhlIHBsdWdpbiBvciByZW1vdmUgdGhlIHJ1bGUgb3ZlcnJpZGUuYDtcbiAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoYCR7W2hlYWRlciwgZGV0YWlsLCBoaW50XS5qb2luKFwiXFxuXCIpfVxcbmApO1xufVxuXG5leHBvcnQge1xuICBpc01pc3NpbmdNb2R1bGVFcnJvcixcbiAgcmVwb3J0TWlzc2luZ0JvdW5kYXJpZXNDb25maWcsXG4gIHJlcG9ydFBsdWdpbkxvYWRJc3N1ZSxcbiAgcmVwb3J0UnVsZU92ZXJyaWRlU2tpcCxcbn07XG4iXX0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/docs/comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CA0BzD"}
@@ -1,30 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- /**
3
- * Resolve and return plugin configuration for eslint-comments when available.
4
- * @returns Return value output.
5
- * @example
6
- * ```typescript
7
- * await comments();
8
- * ```
9
- */
10
- export async function comments() {
11
- const eslintCommentsModule = await import("@eslint-community/eslint-plugin-eslint-comments");
12
- const eslintCommentsConfigs = await import("@eslint-community/eslint-plugin-eslint-comments/configs");
13
- const { rules } = eslintCommentsModule;
14
- const { recommended } = eslintCommentsConfigs;
15
- const customIgnore = new Set(["no-use"]);
16
- const recommendedRules = new Set(Object.keys(recommended.rules ?? {}));
17
- const customError = Object.fromEntries(Object.keys(rules)
18
- .filter((rule) => !customIgnore.has(rule))
19
- .map((rule) => `@eslint-community/eslint-comments/${rule}`)
20
- .filter((rule) => !recommendedRules.has(rule))
21
- .map((rule) => [rule, "error"]));
22
- return defineConfig(recommended, {
23
- name: "@eslint-community/eslint-comments/custom",
24
- rules: {
25
- ...customError,
26
- "@eslint-community/eslint-comments/disable-enable-pair": "off",
27
- },
28
- });
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9jb21tZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxvQkFBb0IsR0FDeEIsTUFBTSxNQUFNLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNsRSxNQUFNLHFCQUFxQixHQUN6QixNQUFNLE1BQU0sQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQztJQUN2QyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcscUJBQXFCLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFdkUsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDZixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLHFDQUFxQyxJQUFJLEVBQUUsQ0FBQztTQUMxRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFVLENBQUMsQ0FDM0MsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDLFdBQVcsRUFBRTtRQUMvQixJQUFJLEVBQUUsMENBQTBDO1FBQ2hELEtBQUssRUFBRTtZQUNMLEdBQUcsV0FBVztZQUNkLHVEQUF1RCxFQUFFLEtBQUs7U0FDL0Q7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKlxuICogUmVzb2x2ZSBhbmQgcmV0dXJuIHBsdWdpbiBjb25maWd1cmF0aW9uIGZvciBlc2xpbnQtY29tbWVudHMgd2hlbiBhdmFpbGFibGUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGNvbW1lbnRzKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbW1lbnRzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IGVzbGludENvbW1lbnRzTW9kdWxlID1cbiAgICBhd2FpdCBpbXBvcnQoXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50c1wiKTtcbiAgY29uc3QgZXNsaW50Q29tbWVudHNDb25maWdzID1cbiAgICBhd2FpdCBpbXBvcnQoXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50cy9jb25maWdzXCIpO1xuICBjb25zdCB7IHJ1bGVzIH0gPSBlc2xpbnRDb21tZW50c01vZHVsZTtcbiAgY29uc3QgeyByZWNvbW1lbmRlZCB9ID0gZXNsaW50Q29tbWVudHNDb25maWdzO1xuXG4gIGNvbnN0IGN1c3RvbUlnbm9yZSA9IG5ldyBTZXQoW1wibm8tdXNlXCJdKTtcbiAgY29uc3QgcmVjb21tZW5kZWRSdWxlcyA9IG5ldyBTZXQoT2JqZWN0LmtleXMocmVjb21tZW5kZWQucnVsZXMgPz8ge30pKTtcblxuICBjb25zdCBjdXN0b21FcnJvciA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhydWxlcylcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFjdXN0b21JZ25vcmUuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gYEBlc2xpbnQtY29tbXVuaXR5L2VzbGludC1jb21tZW50cy8ke3J1bGV9YClcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFyZWNvbW1lbmRlZFJ1bGVzLmhhcyhydWxlKSlcbiAgICAgIC5tYXAoKHJ1bGUpID0+IFtydWxlLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcbiAgKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHJlY29tbWVuZGVkLCB7XG4gICAgbmFtZTogXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtY29tbWVudHMvY3VzdG9tXCIsXG4gICAgcnVsZXM6IHtcbiAgICAgIC4uLmN1c3RvbUVycm9yLFxuICAgICAgXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtY29tbWVudHMvZGlzYWJsZS1lbmFibGUtcGFpclwiOiBcIm9mZlwiLFxuICAgIH0sXG4gIH0pO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- export { comments } from "./comments";
2
- export { jsdoc } from "./jsdoc";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -1,3 +0,0 @@
1
- export { comments } from "./comments";
2
- export { jsdoc } from "./jsdoc";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBjb21tZW50cyB9IGZyb20gXCIuL2NvbW1lbnRzXCI7XG5leHBvcnQgeyBqc2RvYyB9IGZyb20gXCIuL2pzZG9jXCI7XG4iXX0=
@@ -1,56 +0,0 @@
1
- import type { Linter } from "eslint";
2
- import type { getJsdocProcessorPlugin as getJsdocProcessorPluginType } from "eslint-plugin-jsdoc";
3
- import type { parser as parserType, configs as typeScriptConfigsType, plugin as typeScriptPluginType } from "typescript-eslint";
4
- /** Options for building TypeScript example configs. */
5
- interface BuildTypeScriptExampleConfigOptions {
6
- /** Rule overrides that disable typed-only checks for snippets. */
7
- disableTypeCheckedRules: Linter.RulesRecord;
8
- /** Upstream processor factory when the plugin exports it. */
9
- getJsdocProcessorPlugin: JsdocProcessorPluginFactory | undefined;
10
- /** Parser used for host files and snippet files. */
11
- parser: Parser;
12
- /** TypeScript ESLint plugin used by the virtual snippet configs. */
13
- typeScriptPlugin: TypeScriptPlugin;
14
- }
15
- /** Function signature for the JSDoc processor factory. */
16
- type JsdocProcessorPluginFactory = typeof getJsdocProcessorPluginType;
17
- /** Parser accepted by the JSDoc example processor. */
18
- type Parser = typeof parserType;
19
- /** TypeScript ESLint config map. */
20
- type TypeScriptConfigs = typeof typeScriptConfigsType;
21
- /** TypeScript ESLint plugin instance used for snippet-only rule configs. */
22
- type TypeScriptPlugin = typeof typeScriptPluginType;
23
- /**
24
- * Build TypeScript-aware processor configs for JSDoc examples and default expressions.
25
- * @param options Config input for the TypeScript snippet support.
26
- * @param options.disableTypeCheckedRules Rule overrides that disable typed-only checks.
27
- * @param options.getJsdocProcessorPlugin Upstream processor factory when present.
28
- * @param options.parser Parser used for host files and snippets.
29
- * @param options.typeScriptPlugin TypeScript ESLint plugin instance.
30
- * @returns The processor and virtual-file configs.
31
- * @example
32
- * console.log(buildTypeScriptExampleConfigs({ disableTypeCheckedRules: {}, getJsdocProcessorPlugin: void 0, parser: {} as Parser, typeScriptPlugin: {} as TypeScriptPlugin }).length);
33
- */
34
- declare function buildTypeScriptExampleConfigs({ disableTypeCheckedRules, getJsdocProcessorPlugin, parser, typeScriptPlugin, }: BuildTypeScriptExampleConfigOptions): Linter.Config[];
35
- /**
36
- * Resolve the TypeScript rule overrides that disable typed-only linting for snippets.
37
- * @param typeScriptConfigs The exported TypeScript ESLint config map.
38
- * @returns The disable-type-checked rule overrides.
39
- * @example
40
- * console.log(resolveDisableTypeCheckedRules({ disableTypeChecked: { rules: { example: "off" } } } as TypeScriptConfigs).example);
41
- */
42
- declare function resolveDisableTypeCheckedRules(typeScriptConfigs: TypeScriptConfigs): Linter.RulesRecord;
43
- /**
44
- * Resolve the optional processor factory from the JSDoc plugin module.
45
- * @param jsdocModule The loaded JSDoc plugin module.
46
- * @returns The processor factory when the module exports it.
47
- * @example
48
- * console.log(resolveJsdocProcessorPlugin({}) === void 0);
49
- */
50
- declare function resolveJsdocProcessorPlugin(jsdocModule: Readonly<{
51
- /** Optional exported JSDoc processor factory. */
52
- getJsdocProcessorPlugin?: JsdocProcessorPluginFactory;
53
- }>): JsdocProcessorPluginFactory | undefined;
54
- export { buildTypeScriptExampleConfigs, resolveDisableTypeCheckedRules, resolveJsdocProcessorPlugin, };
55
- export type { Parser, TypeScriptConfigs, TypeScriptPlugin };
56
- //# sourceMappingURL=jsdoc-examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsdoc-examples.d.ts","sourceRoot":"","sources":["../../src/docs/jsdoc-examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EACV,MAAM,IAAI,UAAU,EACpB,OAAO,IAAI,qBAAqB,EAChC,MAAM,IAAI,oBAAoB,EAC/B,MAAM,mBAAmB,CAAC;AAI3B,uDAAuD;AACvD,UAAU,mCAAmC;IAC3C,kEAAkE;IAClE,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC;IAE5C,6DAA6D;IAC7D,uBAAuB,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAEjE,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,0DAA0D;AAC1D,KAAK,2BAA2B,GAAG,OAAO,2BAA2B,CAAC;AAEtE,sDAAsD;AACtD,KAAK,MAAM,GAAG,OAAO,UAAU,CAAC;AAEhC,oCAAoC;AACpC,KAAK,iBAAiB,GAAG,OAAO,qBAAqB,CAAC;AAEtD,4EAA4E;AAC5E,KAAK,gBAAgB,GAAG,OAAO,oBAAoB,CAAC;AAkFpD;;;;;;;;;;GAUG;AACH,iBAAS,6BAA6B,CAAC,EACrC,uBAAuB,EACvB,uBAAuB,EACvB,MAAM,EACN,gBAAgB,GACjB,EAAE,mCAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,CA4BvD;AAgFD;;;;;;GAMG;AACH,iBAAS,8BAA8B,CACrC,iBAAiB,EAAE,iBAAiB,GACnC,MAAM,CAAC,WAAW,CAGpB;AAED;;;;;;GAMG;AACH,iBAAS,2BAA2B,CAClC,WAAW,EAAE,QAAQ,CAAC;IACpB,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;CACvD,CAAC,GACD,2BAA2B,GAAG,SAAS,CAIzC;AAED,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,CAAC;AACF,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}