@codeperfect/eslint-config 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -131,7 +131,7 @@ This order is intentional and validated in tests.
131
131
  | --------------- | ------------------------------------------------- | ------------------------------------------------------ |
132
132
  | `eslint` | `@eslint/js` | Required baseline rules. |
133
133
  | `json` | `@eslint/json` | Required JSON rules. |
134
- | `resolver` | `eslint-import-resolver-typescript` | Optional resolver integration used by import tooling. |
134
+ | `resolver` | `eslint-import-resolver-typescript` | Optional resolver; `source` condition first. |
135
135
  | `typescript` | `typescript-eslint` | Required TypeScript rules and parser support. |
136
136
  | `import-x` | `eslint-plugin-import-x` | Optional import analysis module. |
137
137
  | `comments` | `@eslint-community/eslint-plugin-eslint-comments` | Optional ESLint directive-comment rules. |
@@ -144,7 +144,7 @@ This order is intentional and validated in tests.
144
144
  | `stylistic` | `@stylistic/eslint-plugin` | Optional style rules. |
145
145
  | `perfectionist` | `eslint-plugin-perfectionist` | Optional ordering rules. |
146
146
  | `unicorn` | `eslint-plugin-unicorn` | Optional general best-practice rules. |
147
- | `prettier` | `eslint-plugin-prettier` | Optional Prettier integration. |
147
+ | `prettier` | `eslint-config-prettier` | Optional rules that disable conflicts with Prettier. |
148
148
  | `boundaries` | `eslint-plugin-boundaries` | Optional, package-owned architecture overlay. |
149
149
 
150
150
  ## Validation
@@ -1 +1 @@
1
- {"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqCrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqBjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAsCrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqBjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -22,6 +22,7 @@ async function buildCustomErrorRules() {
22
22
  {
23
23
  name: "import-x/custom-error-rules",
24
24
  rules: {
25
+ "import-x/first": "error",
25
26
  "import-x/no-internal-modules": [
26
27
  "error",
27
28
  { allow: ["**/node_modules/**"] },
@@ -56,4 +57,4 @@ async function importX() {
56
57
  });
57
58
  }
58
59
  export { importX };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUUxRCxPQUFPO1FBQ0wsUUFBUTtRQUNSLFdBQVc7UUFDWCxVQUFVO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEtBQUssRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRTtTQUN2QztRQUNEO1lBQ0UsSUFBSSxFQUFFLDZCQUE2QjtZQUNuQyxLQUFLLEVBQUU7Z0JBQ0wsOEJBQThCLEVBQUU7b0JBQzlCLE9BQU87b0JBQ1AsRUFBRSxLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2lCQUNsQzthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxLQUFLLFVBQVUsT0FBTztJQUNwQixPQUFPLFlBQVksQ0FDakIsR0FBRyxDQUFDLE1BQU0scUJBQXFCLEVBQUUsQ0FBQyxFQUNsQztRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFO1lBQ0wscUNBQXFDLEVBQUUsS0FBSztZQUM1QyxzQkFBc0IsRUFBRSxLQUFLO1NBQzlCO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7S0FDL0MsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ2xDLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO0tBQy9DLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBjdXN0b20gZXJyb3IgcnVsZXMgZm9yIGltcG9ydC14IHBsdWdpbiBieSBleGNsdWRpbmcgY2VydGFpbiBydWxlc1xuICogYW5kIGVuc3VyaW5nIG5vIG92ZXJsYXAgd2l0aCBleGlzdGluZyBjb25maWd1cmF0aW9ucy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZmxhdENvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICByZXR1cm4gW1xuICAgIHdhcm5pbmdzLFxuICAgIHJlY29tbWVuZGVkLFxuICAgIHR5cGVzY3JpcHQsXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uYW1lc3BhY2VcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tZXJyb3ItcnVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8taW50ZXJuYWwtbW9kdWxlc1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgYWxsb3c6IFtcIioqL25vZGVfbW9kdWxlcy8qKlwiXSB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xufVxuXG4vKipcbiAqIExvYWRzIHRoZSBpbXBvcnQteCBwbHVnaW4gY29uZmlndXJhdGlvbi5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgaW1wb3J0WCgpO1xuICogYGBgXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGltcG9ydFgoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICAuLi4oYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCkpLFxuICAgIHtcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXR5cGVzY3JpcHRcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHNcIjogXCJvZmZcIixcbiAgICAgICAgXCJpbXBvcnQteC91bmFtYmlndW91c1wiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbXCIqXCIsIFwicGFja2FnZXMvKi8qXCJdLFxuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tcm9vdC1jb25maWctZmlsZXNcIixcbiAgICAgIHJ1bGVzOiB7IFwiaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcIioqLyoue3NwZWMsdGVzdCxlMmV9LnRzXCJdLFxuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdGVzdC1maWxlc1wiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uby1ub2RlanMtbW9kdWxlc1wiOiBcIm9mZlwiIH0sXG4gICAgfSxcbiAgKTtcbn1cblxuZXhwb3J0IHsgaW1wb3J0WCB9O1xuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUUxRCxPQUFPO1FBQ0wsUUFBUTtRQUNSLFdBQVc7UUFDWCxVQUFVO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEtBQUssRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRTtTQUN2QztRQUNEO1lBQ0UsSUFBSSxFQUFFLDZCQUE2QjtZQUNuQyxLQUFLLEVBQUU7Z0JBQ0wsZ0JBQWdCLEVBQUUsT0FBTztnQkFDekIsOEJBQThCLEVBQUU7b0JBQzlCLE9BQU87b0JBQ1AsRUFBRSxLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2lCQUNsQzthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxLQUFLLFVBQVUsT0FBTztJQUNwQixPQUFPLFlBQVksQ0FDakIsR0FBRyxDQUFDLE1BQU0scUJBQXFCLEVBQUUsQ0FBQyxFQUNsQztRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFO1lBQ0wscUNBQXFDLEVBQUUsS0FBSztZQUM1QyxzQkFBc0IsRUFBRSxLQUFLO1NBQzlCO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7S0FDL0MsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ2xDLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO0tBQy9DLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBjdXN0b20gZXJyb3IgcnVsZXMgZm9yIGltcG9ydC14IHBsdWdpbiBieSBleGNsdWRpbmcgY2VydGFpbiBydWxlc1xuICogYW5kIGVuc3VyaW5nIG5vIG92ZXJsYXAgd2l0aCBleGlzdGluZyBjb25maWd1cmF0aW9ucy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZmxhdENvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICByZXR1cm4gW1xuICAgIHdhcm5pbmdzLFxuICAgIHJlY29tbWVuZGVkLFxuICAgIHR5cGVzY3JpcHQsXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uYW1lc3BhY2VcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tZXJyb3ItcnVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvZmlyc3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcImltcG9ydC14L25vLWludGVybmFsLW1vZHVsZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IGFsbG93OiBbXCIqKi9ub2RlX21vZHVsZXMvKipcIl0gfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbn1cblxuLyoqXG4gKiBMb2FkcyB0aGUgaW1wb3J0LXggcGx1Z2luIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGltcG9ydFgoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRYKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgLi4uKGF3YWl0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpKSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS10eXBlc2NyaXB0XCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0LXgvdW5hbWJpZ3VvdXNcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogW1wiKlwiLCBcInBhY2thZ2VzLyovKlwiXSxcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXJvb3QtY29uZmlnLWZpbGVzXCIsXG4gICAgICBydWxlczogeyBcImltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0XCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbXCIqKi8qLntzcGVjLHRlc3QsZTJlfS50c1wiXSxcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXRlc3QtZmlsZXNcIixcbiAgICAgIHJ1bGVzOiB7IFwiaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXNcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICk7XG59XG5cbmV4cG9ydCB7IGltcG9ydFggfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/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,CAazD"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/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,CAmBzD"}
@@ -8,15 +8,21 @@ import { defineConfig } from "eslint/config";
8
8
  * ```
9
9
  */
10
10
  export async function resolver() {
11
- const { createTypeScriptImportResolver } = await import("eslint-import-resolver-typescript");
11
+ const { createTypeScriptImportResolver, defaultConditionNames } = await import("eslint-import-resolver-typescript");
12
+ const conditionNames = ["source", ...defaultConditionNames];
12
13
  return defineConfig({
13
14
  name: "resolver",
14
15
  settings: {
15
16
  "import-x/resolver-next": [
16
- createTypeScriptImportResolver({ alwaysTryTypes: true }),
17
+ createTypeScriptImportResolver({
18
+ alwaysTryTypes: true,
19
+ conditionNames,
20
+ }),
17
21
  ],
18
- "import/resolver": { typescript: { alwaysTryTypes: true } },
22
+ "import/resolver": {
23
+ typescript: { alwaysTryTypes: true, conditionNames },
24
+ },
19
25
  },
20
26
  });
21
27
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29yZS9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLDhCQUE4QixFQUFFLEdBQ3RDLE1BQU0sTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFFcEQsT0FBTyxZQUFZLENBQUM7UUFDbEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsUUFBUSxFQUFFO1lBQ1Isd0JBQXdCLEVBQUU7Z0JBQ3hCLDhCQUE4QixDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3pEO1lBQ0QsaUJBQWlCLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUU7U0FDNUQ7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKlxuICogUmV0dXJuIHJlc29sdmVyIHNldHRpbmdzIGNvbmZpZ3VyZWQgZm9yIFR5cGVTY3JpcHQgaW1wb3J0cy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgcmVzb2x2ZXIoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBjcmVhdGVUeXBlU2NyaXB0SW1wb3J0UmVzb2x2ZXIgfSA9XG4gICAgYXdhaXQgaW1wb3J0KFwiZXNsaW50LWltcG9ydC1yZXNvbHZlci10eXBlc2NyaXB0XCIpO1xuXG4gIHJldHVybiBkZWZpbmVDb25maWcoe1xuICAgIG5hbWU6IFwicmVzb2x2ZXJcIixcbiAgICBzZXR0aW5nczoge1xuICAgICAgXCJpbXBvcnQteC9yZXNvbHZlci1uZXh0XCI6IFtcbiAgICAgICAgY3JlYXRlVHlwZVNjcmlwdEltcG9ydFJlc29sdmVyKHsgYWx3YXlzVHJ5VHlwZXM6IHRydWUgfSksXG4gICAgICBdLFxuICAgICAgXCJpbXBvcnQvcmVzb2x2ZXJcIjogeyB0eXBlc2NyaXB0OiB7IGFsd2F5c1RyeVR5cGVzOiB0cnVlIH0gfSxcbiAgICB9LFxuICB9KTtcbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29yZS9yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLDhCQUE4QixFQUFFLHFCQUFxQixFQUFFLEdBQzdELE1BQU0sTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDcEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO0lBRTVELE9BQU8sWUFBWSxDQUFDO1FBQ2xCLElBQUksRUFBRSxVQUFVO1FBQ2hCLFFBQVEsRUFBRTtZQUNSLHdCQUF3QixFQUFFO2dCQUN4Qiw4QkFBOEIsQ0FBQztvQkFDN0IsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLGNBQWM7aUJBQ2YsQ0FBQzthQUNIO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO2FBQ3JEO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKlxuICogUmV0dXJuIHJlc29sdmVyIHNldHRpbmdzIGNvbmZpZ3VyZWQgZm9yIFR5cGVTY3JpcHQgaW1wb3J0cy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgcmVzb2x2ZXIoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBjcmVhdGVUeXBlU2NyaXB0SW1wb3J0UmVzb2x2ZXIsIGRlZmF1bHRDb25kaXRpb25OYW1lcyB9ID1cbiAgICBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXR5cGVzY3JpcHRcIik7XG4gIGNvbnN0IGNvbmRpdGlvbk5hbWVzID0gW1wic291cmNlXCIsIC4uLmRlZmF1bHRDb25kaXRpb25OYW1lc107XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyh7XG4gICAgbmFtZTogXCJyZXNvbHZlclwiLFxuICAgIHNldHRpbmdzOiB7XG4gICAgICBcImltcG9ydC14L3Jlc29sdmVyLW5leHRcIjogW1xuICAgICAgICBjcmVhdGVUeXBlU2NyaXB0SW1wb3J0UmVzb2x2ZXIoe1xuICAgICAgICAgIGFsd2F5c1RyeVR5cGVzOiB0cnVlLFxuICAgICAgICAgIGNvbmRpdGlvbk5hbWVzLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgICBcImltcG9ydC9yZXNvbHZlclwiOiB7XG4gICAgICAgIHR5cGVzY3JpcHQ6IHsgYWx3YXlzVHJ5VHlwZXM6IHRydWUsIGNvbmRpdGlvbk5hbWVzIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import type { Linter } from "eslint";
2
2
  /**
3
- * Return Prettier integration configuration for ESLint when the plugin is available.
3
+ * Return Prettier compatibility rules for ESLint when the config is available.
4
4
  * @returns Return value output.
5
5
  * @example
6
6
  * ```typescript
@@ -2,7 +2,7 @@ import { defineConfig } from "eslint/config";
2
2
  /** File globs that Prettier linting applies to. */
3
3
  const prettierFileGlobs = ["**/*.ts"];
4
4
  /**
5
- * Return Prettier integration configuration for ESLint when the plugin is available.
5
+ * Return Prettier compatibility rules for ESLint when the config is available.
6
6
  * @returns Return value output.
7
7
  * @example
8
8
  * ```typescript
@@ -10,7 +10,7 @@ const prettierFileGlobs = ["**/*.ts"];
10
10
  * ```
11
11
  */
12
12
  export async function prettier() {
13
- const { default: recommended } = await import("eslint-plugin-prettier/recommended");
14
- return defineConfig({ ...recommended, files: prettierFileGlobs });
13
+ const { default: eslintConfigPrettier } = await import("eslint-config-prettier/flat");
14
+ return defineConfig({ ...eslintConfigPrettier, files: prettierFileGlobs });
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvc3R5bGUvcHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxtREFBbUQ7QUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXRDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FDNUIsTUFBTSxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUVyRCxPQUFPLFlBQVksQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFDcEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKiogRmlsZSBnbG9icyB0aGF0IFByZXR0aWVyIGxpbnRpbmcgYXBwbGllcyB0by4gKi9cbmNvbnN0IHByZXR0aWVyRmlsZUdsb2JzID0gW1wiKiovKi50c1wiXTtcblxuLyoqXG4gKiBSZXR1cm4gUHJldHRpZXIgaW50ZWdyYXRpb24gY29uZmlndXJhdGlvbiBmb3IgRVNMaW50IHdoZW4gdGhlIHBsdWdpbiBpcyBhdmFpbGFibGUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHByZXR0aWVyKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByZXR0aWVyKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZGVmYXVsdDogcmVjb21tZW5kZWQgfSA9XG4gICAgYXdhaXQgaW1wb3J0KFwiZXNsaW50LXBsdWdpbi1wcmV0dGllci9yZWNvbW1lbmRlZFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHsgLi4ucmVjb21tZW5kZWQsIGZpbGVzOiBwcmV0dGllckZpbGVHbG9icyB9KTtcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvc3R5bGUvcHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxtREFBbUQ7QUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXRDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUNyQyxNQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sWUFBWSxDQUFDLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIEZpbGUgZ2xvYnMgdGhhdCBQcmV0dGllciBsaW50aW5nIGFwcGxpZXMgdG8uICovXG5jb25zdCBwcmV0dGllckZpbGVHbG9icyA9IFtcIioqLyoudHNcIl07XG5cbi8qKlxuICogUmV0dXJuIFByZXR0aWVyIGNvbXBhdGliaWxpdHkgcnVsZXMgZm9yIEVTTGludCB3aGVuIHRoZSBjb25maWcgaXMgYXZhaWxhYmxlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBwcmV0dGllcigpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmV0dGllcigpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGRlZmF1bHQ6IGVzbGludENvbmZpZ1ByZXR0aWVyIH0gPVxuICAgIGF3YWl0IGltcG9ydChcImVzbGludC1jb25maWctcHJldHRpZXIvZmxhdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHsgLi4uZXNsaW50Q29uZmlnUHJldHRpZXIsIGZpbGVzOiBwcmV0dGllckZpbGVHbG9icyB9KTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-config",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "A shareable flat ESLint config for TypeScript repositories",
5
5
  "license": "MIT",
6
6
  "repository": "github:parloti/eslint-config",
@@ -111,7 +111,6 @@
111
111
  "eslint-plugin-package-json": "^1.12.0",
112
112
  "eslint-plugin-perfectionist": "^5.13.0",
113
113
  "eslint-plugin-playwright": "^2.12.1",
114
- "eslint-plugin-prettier": "^5.5.7",
115
114
  "eslint-plugin-rxjs-x": "^1.0.6",
116
115
  "eslint-plugin-unicorn": "^79.0.0",
117
116
  "globals": "^17.14.0",
@@ -121,6 +120,7 @@
121
120
  "listr2": "^11.4.0",
122
121
  "lodash-es": "^4.18.1",
123
122
  "patch-package": "^8.0.1",
123
+ "prettier": "^3.9.10",
124
124
  "rimraf": "^6.1.3",
125
125
  "semantic-release": "^25.0.9",
126
126
  "tsc-alias": "^1.9.10",
@@ -139,13 +139,13 @@
139
139
  "@vitest/eslint-plugin": "^1.6.28",
140
140
  "angular-eslint": "^22.6.0",
141
141
  "eslint": "^10.14.0",
142
+ "eslint-config-prettier": "^10.1.8",
142
143
  "eslint-import-resolver-typescript": "^4.4.5",
143
144
  "eslint-package-json": "^3.0.0",
144
145
  "eslint-plugin-boundaries": "^7.4.0",
145
146
  "eslint-plugin-import-x": "^4.17.1",
146
147
  "eslint-plugin-jsdoc": "^65.4.2",
147
148
  "eslint-plugin-perfectionist": "^5.13.0",
148
- "eslint-plugin-prettier": "^5.5.7",
149
149
  "eslint-plugin-rxjs-x": "^1.0.6",
150
150
  "eslint-plugin-unicorn": "^79.0.0",
151
151
  "globals": "^17.14.0",
@@ -157,6 +157,9 @@
157
157
  "angular-eslint": {
158
158
  "optional": true
159
159
  },
160
+ "eslint-config-prettier": {
161
+ "optional": true
162
+ },
160
163
  "eslint-plugin-rxjs-x": {
161
164
  "optional": true
162
165
  }