@codeperfect/eslint-config 1.0.0 → 1.2.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 (44) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/architecture/import-x.d.ts.map +1 -1
  3. package/dist/architecture/import-x.js +2 -1
  4. package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
  5. package/dist/config-composition.d.ts +2 -2
  6. package/dist/config-composition.d.ts.map +1 -1
  7. package/dist/config-composition.js +3 -1
  8. package/dist/config-factory.d.ts +14 -0
  9. package/dist/config-factory.d.ts.map +1 -0
  10. package/dist/config-factory.js +42 -0
  11. package/dist/configs/index.d.ts +1 -1
  12. package/dist/configs/index.d.ts.map +1 -1
  13. package/dist/configs/index.js +2 -2
  14. package/dist/core/codeperfect.d.ts +11 -0
  15. package/dist/core/codeperfect.d.ts.map +1 -0
  16. package/dist/core/codeperfect.js +14 -0
  17. package/dist/core/index.d.ts +1 -0
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +2 -1
  20. package/dist/docs/jsdoc.d.ts +2 -2
  21. package/dist/docs/jsdoc.d.ts.map +1 -1
  22. package/dist/docs/jsdoc.js +62 -13
  23. package/dist/index.d.ts +1 -13
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -42
  26. package/dist/module-taxonomy.d.ts +3 -0
  27. package/dist/module-taxonomy.d.ts.map +1 -1
  28. package/dist/module-taxonomy.js +2 -1
  29. package/dist/plugin-loaders.d.ts +5 -0
  30. package/dist/plugin-loaders.d.ts.map +1 -1
  31. package/dist/plugin-loaders.js +7 -2
  32. package/dist/style/perfectionist.d.ts.map +1 -1
  33. package/dist/style/perfectionist.js +16 -2
  34. package/dist/style/stylistic.d.ts.map +1 -1
  35. package/dist/style/stylistic.js +4 -2
  36. package/dist/testing/vitest.d.ts.map +1 -1
  37. package/dist/testing/vitest.js +2 -1
  38. package/dist/types.d.ts +3 -3
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +1 -1
  41. package/package.json +42 -41
  42. package/dist/index-spec-helpers.d.ts +0 -44
  43. package/dist/index-spec-helpers.d.ts.map +0 -1
  44. package/dist/index-spec-helpers.js +0 -175
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"root":["../src/config-composition.ts","../src/diagnostics.ts","../src/index-spec-helpers.ts","../src/index.ts","../src/module-taxonomy.ts","../src/plugin-loaders.ts","../src/types.ts","../src/utilities.ts","../src/architecture/boundaries.ts","../src/architecture/import-x.ts","../src/architecture/index.ts","../src/configs/index.ts","../src/core/eslint.ts","../src/core/index.ts","../src/core/resolver.ts","../src/core/typescript.ts","../src/docs/comments.ts","../src/docs/index.ts","../src/docs/jsdoc.ts","../src/domain/index.ts","../src/domain/rxjs-x.ts","../src/style/index.ts","../src/style/perfectionist.ts","../src/style/prettier.ts","../src/style/stylistic.ts","../src/style/unicorn.ts","../src/testing/index.ts","../src/testing/jasmine.ts","../src/testing/jest.ts","../src/testing/playwright.ts","../src/testing/vitest.ts","../conventional-changelog-conventionalcommits.d.ts","../eslint-plugin-jasmine.d.ts"],"version":"5.9.3"}
1
+ {"root":["../src/config-composition.ts","../src/config-factory.ts","../src/diagnostics.ts","../src/index.ts","../src/module-taxonomy.ts","../src/plugin-loaders.ts","../src/types.ts","../src/utilities.ts","../src/architecture/boundaries.ts","../src/architecture/import-x.ts","../src/architecture/index.ts","../src/configs/index.ts","../src/core/codeperfect.ts","../src/core/eslint.ts","../src/core/index.ts","../src/core/resolver.ts","../src/core/typescript.ts","../src/docs/comments.ts","../src/docs/index.ts","../src/docs/jsdoc.ts","../src/domain/index.ts","../src/domain/rxjs-x.ts","../src/style/index.ts","../src/style/perfectionist.ts","../src/style/prettier.ts","../src/style/stylistic.ts","../src/style/unicorn.ts","../src/testing/index.ts","../src/testing/jasmine.ts","../src/testing/jest.ts","../src/testing/playwright.ts","../src/testing/vitest.ts","../conventional-changelog-conventionalcommits.d.ts","../eslint-plugin-jasmine.d.ts"],"version":"5.9.3"}
@@ -1 +1 @@
1
- {"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../src/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoDrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAmCjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../src/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqDrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAmCjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -17,6 +17,7 @@ async function buildCustomErrorRules() {
17
17
  "no-deprecated",
18
18
  "no-named-export",
19
19
  "no-namespace",
20
+ "no-unused-modules",
20
21
  "order",
21
22
  "prefer-default-export",
22
23
  ]);
@@ -76,4 +77,4 @@ async function importX() {
76
77
  });
77
78
  }
78
79
  export { importX };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDM0IsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxPQUFPO1FBQ1AsdUJBQXVCO0tBQ3hCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUN4QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNmLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBVSxDQUFDLENBQzNDLENBQUM7SUFFRixPQUFPO1FBQ0wsUUFBeUI7UUFDekIsV0FBNEI7UUFDNUIsVUFBMkI7UUFDM0I7WUFDRSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxXQUFXO1NBQ25CO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLE9BQU87SUFDcEIsT0FBTyxZQUFZLENBQ2pCLEdBQUcsQ0FBQyxNQUFNLHFCQUFxQixFQUFFLENBQUMsRUFDbEM7UUFDRSxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLEtBQUssRUFBRTtZQUNMLHFDQUFxQyxFQUFFLEtBQUs7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSztTQUM5QjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLEtBQUssRUFBRTtZQUNMLDhCQUE4QixFQUFFO2dCQUM5QixPQUFPO2dCQUNQO29CQUNFLEtBQUssRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsb0NBQW9DO3dCQUNwQyxlQUFlO3dCQUNmLHlEQUF5RDtxQkFDMUQ7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7UUFDaEQsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUU7WUFDTCw0QkFBNEIsRUFBRSxPQUFPO1NBQ3RDO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGN1c3RvbSBlcnJvciBydWxlcyBmb3IgaW1wb3J0LXggcGx1Z2luIGJ5IGV4Y2x1ZGluZyBjZXJ0YWluIHJ1bGVzXG4gKiBhbmQgZW5zdXJpbmcgbm8gb3ZlcmxhcCB3aXRoIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBmbGF0Q29uZmlncywgcnVsZXMgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICBjb25zdCBjdXN0b21JZ25vcmUgPSBuZXcgU2V0KFtcbiAgICBcImR5bmFtaWMtaW1wb3J0LWNodW5rbmFtZVwiLFxuICAgIFwibm8tZGVmYXVsdC1leHBvcnRcIixcbiAgICBcIm5vLWRlcHJlY2F0ZWRcIixcbiAgICBcIm5vLW5hbWVkLWV4cG9ydFwiLFxuICAgIFwibm8tbmFtZXNwYWNlXCIsXG4gICAgXCJvcmRlclwiLFxuICAgIFwicHJlZmVyLWRlZmF1bHQtZXhwb3J0XCIsXG4gIF0pO1xuXG4gIGNvbnN0IGFsbENvbmZpZ3MgPSBuZXcgU2V0KFxuICAgIFt3YXJuaW5ncywgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHRdLmZsYXRNYXAoKGNvbmZpZykgPT5cbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZy5ydWxlcyA/PyB7fSksXG4gICAgKSxcbiAgKTtcblxuICBjb25zdCBjdXN0b21FcnJvciA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhydWxlcylcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFjdXN0b21JZ25vcmUuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gYGltcG9ydC14LyR7cnVsZX1gKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWFsbENvbmZpZ3MuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gW3J1bGUsIFwiZXJyb3JcIl0gYXMgY29uc3QpLFxuICApO1xuXG4gIHJldHVybiBbXG4gICAgd2FybmluZ3MgYXMgTGludGVyLkNvbmZpZyxcbiAgICByZWNvbW1lbmRlZCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgIHR5cGVzY3JpcHQgYXMgTGludGVyLkNvbmZpZyxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1lcnJvclwiLFxuICAgICAgcnVsZXM6IGN1c3RvbUVycm9yLFxuICAgIH0sXG4gIF07XG59XG5cbi8qKlxuICogTG9hZHMgdGhlIGltcG9ydC14IHBsdWdpbiBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBpbXBvcnRYKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW1wb3J0WCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIC4uLihhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKSksXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgICBcImltcG9ydC14L3VuYW1iaWd1b3VzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tbm9kZV9tb2R1bGVzXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLWludGVybmFsLW1vZHVsZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICBcImVzbGludC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJlc2xpbnQtcGx1Z2luLWJvdW5kYXJpZXMvY29uZmlnXCIsXG4gICAgICAgICAgICAgIFwiZXNsaW50LXBsdWdpbi1wcmV0dGllci9yZWNvbW1lbmRlZFwiLFxuICAgICAgICAgICAgICBcInZpdGVzdC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50cy9jb25maWdzXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgaWdub3JlczogW1wiKlwiLCBcInBhY2thZ2VzLyovKlwiLCBcInBhY2thZ2VzLyovKi8qXCJdLFxuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tcm9vdC1jb25maWctZmlsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJlcnJvclwiLFxuICAgICAgfSxcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgeyBpbXBvcnRYIH07XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDM0IsMEJBQTBCO1FBQzFCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsT0FBTztRQUNQLHVCQUF1QjtLQUN4QixDQUFDLENBQUM7SUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FDeEIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FDaEMsQ0FDRixDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDZixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7U0FDakMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQVUsQ0FBQyxDQUMzQyxDQUFDO0lBRUYsT0FBTztRQUNMLFFBQXlCO1FBQ3pCLFdBQTRCO1FBQzVCLFVBQTJCO1FBQzNCO1lBQ0UsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixLQUFLLEVBQUUsV0FBVztTQUNuQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILEtBQUssVUFBVSxPQUFPO0lBQ3BCLE9BQU8sWUFBWSxDQUNqQixHQUFHLENBQUMsTUFBTSxxQkFBcUIsRUFBRSxDQUFDLEVBQ2xDO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxLQUFLLEVBQUU7WUFDTCxxQ0FBcUMsRUFBRSxLQUFLO1lBQzVDLHNCQUFzQixFQUFFLEtBQUs7U0FDOUI7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxLQUFLLEVBQUU7WUFDTCw4QkFBOEIsRUFBRTtnQkFDOUIsT0FBTztnQkFDUDtvQkFDRSxLQUFLLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixpQ0FBaUM7d0JBQ2pDLG9DQUFvQzt3QkFDcEMsZUFBZTt3QkFDZix5REFBeUQ7cUJBQzFEO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGLEVBQ0Q7UUFDRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDO1FBQ2hELElBQUksRUFBRSxtQ0FBbUM7UUFDekMsS0FBSyxFQUFFO1lBQ0wsNEJBQTRCLEVBQUUsT0FBTztTQUN0QztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBjdXN0b20gZXJyb3IgcnVsZXMgZm9yIGltcG9ydC14IHBsdWdpbiBieSBleGNsdWRpbmcgY2VydGFpbiBydWxlc1xuICogYW5kIGVuc3VyaW5nIG5vIG92ZXJsYXAgd2l0aCBleGlzdGluZyBjb25maWd1cmF0aW9ucy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZmxhdENvbmZpZ3MsIHJ1bGVzIH0gPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLWltcG9ydC14XCIpO1xuICBjb25zdCB7IHJlY29tbWVuZGVkLCB0eXBlc2NyaXB0LCB3YXJuaW5ncyB9ID0gZmxhdENvbmZpZ3M7XG5cbiAgY29uc3QgY3VzdG9tSWdub3JlID0gbmV3IFNldChbXG4gICAgXCJkeW5hbWljLWltcG9ydC1jaHVua25hbWVcIixcbiAgICBcIm5vLWRlZmF1bHQtZXhwb3J0XCIsXG4gICAgXCJuby1kZXByZWNhdGVkXCIsXG4gICAgXCJuby1uYW1lZC1leHBvcnRcIixcbiAgICBcIm5vLW5hbWVzcGFjZVwiLFxuICAgIFwibm8tdW51c2VkLW1vZHVsZXNcIixcbiAgICBcIm9yZGVyXCIsXG4gICAgXCJwcmVmZXItZGVmYXVsdC1leHBvcnRcIixcbiAgXSk7XG5cbiAgY29uc3QgYWxsQ29uZmlncyA9IG5ldyBTZXQoXG4gICAgW3dhcm5pbmdzLCByZWNvbW1lbmRlZCwgdHlwZXNjcmlwdF0uZmxhdE1hcCgoY29uZmlnKSA9PlxuICAgICAgT2JqZWN0LmtleXMoY29uZmlnLnJ1bGVzID8/IHt9KSxcbiAgICApLFxuICApO1xuXG4gIGNvbnN0IGN1c3RvbUVycm9yID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5rZXlzKHJ1bGVzKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWN1c3RvbUlnbm9yZS5oYXMocnVsZSkpXG4gICAgICAubWFwKChydWxlKSA9PiBgaW1wb3J0LXgvJHtydWxlfWApXG4gICAgICAuZmlsdGVyKChydWxlKSA9PiAhYWxsQ29uZmlncy5oYXMocnVsZSkpXG4gICAgICAubWFwKChydWxlKSA9PiBbcnVsZSwgXCJlcnJvclwiXSBhcyBjb25zdCksXG4gICk7XG5cbiAgcmV0dXJuIFtcbiAgICB3YXJuaW5ncyBhcyBMaW50ZXIuQ29uZmlnLFxuICAgIHJlY29tbWVuZGVkIGFzIExpbnRlci5Db25maWcsXG4gICAgdHlwZXNjcmlwdCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgIHtcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLWVycm9yXCIsXG4gICAgICBydWxlczogY3VzdG9tRXJyb3IsXG4gICAgfSxcbiAgXTtcbn1cblxuLyoqXG4gKiBMb2FkcyB0aGUgaW1wb3J0LXggcGx1Z2luIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGltcG9ydFgoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRYKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgLi4uKGF3YWl0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpKSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS10eXBlc2NyaXB0XCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0LXgvdW5hbWJpZ3VvdXNcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1ub2RlX21vZHVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvbm8taW50ZXJuYWwtbW9kdWxlc1wiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFsbG93OiBbXG4gICAgICAgICAgICAgIFwiZXNsaW50L2NvbmZpZ1wiLFxuICAgICAgICAgICAgICBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJlc2xpbnQtcGx1Z2luLXByZXR0aWVyL3JlY29tbWVuZGVkXCIsXG4gICAgICAgICAgICAgIFwidml0ZXN0L2NvbmZpZ1wiLFxuICAgICAgICAgICAgICBcIkBlc2xpbnQtY29tbXVuaXR5L2VzbGludC1wbHVnaW4tZXNsaW50LWNvbW1lbnRzL2NvbmZpZ3NcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBpZ25vcmVzOiBbXCIqXCIsIFwicGFja2FnZXMvKi8qXCIsIFwicGFja2FnZXMvKi8qLypcIl0sXG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1yb290LWNvbmZpZy1maWxlc1wiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcImVycm9yXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG5cbmV4cG9ydCB7IGltcG9ydFggfTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
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"];
2
+ declare const fullCompositionNames: readonly ["core-codeperfect", "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
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"];
4
+ declare const reducedCompositionNames: readonly ["core-codeperfect", "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
5
  export { fullCompositionNames, reducedCompositionNames };
6
6
  //# sourceMappingURL=config-composition.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"config-composition.d.ts","sourceRoot":"","sources":["../src/config-composition.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,QAAA,MAAM,oBAAoB,4UAkBhB,CAAC;AAEX,yEAAyE;AACzE,QAAA,MAAM,uBAAuB,6QAenB,CAAC;AAEX,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /** Expected config names when all documented modules are enabled in order. */
2
2
  const fullCompositionNames = [
3
+ "core-codeperfect",
3
4
  "core-eslint",
4
5
  "core-resolver",
5
6
  "core-typescript",
@@ -19,6 +20,7 @@ const fullCompositionNames = [
19
20
  ];
20
21
  /** Expected config names when selected optional modules are disabled. */
21
22
  const reducedCompositionNames = [
23
+ "core-codeperfect",
22
24
  "core-eslint",
23
25
  "core-resolver",
24
26
  "core-typescript",
@@ -34,4 +36,4 @@ const reducedCompositionNames = [
34
36
  "style-unicorn",
35
37
  ];
36
38
  export { fullCompositionNames, reducedCompositionNames };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy1jb21wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixhQUFhO0lBQ2IsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQix5QkFBeUI7Q0FDakIsQ0FBQztBQUVYLHlFQUF5RTtBQUN6RSxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLGFBQWE7SUFDYixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLGVBQWU7Q0FDUCxDQUFDO0FBRVgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogRXhwZWN0ZWQgY29uZmlnIG5hbWVzIHdoZW4gYWxsIGRvY3VtZW50ZWQgbW9kdWxlcyBhcmUgZW5hYmxlZCBpbiBvcmRlci4gKi9cbmNvbnN0IGZ1bGxDb21wb3NpdGlvbk5hbWVzID0gW1xuICBcImNvcmUtZXNsaW50XCIsXG4gIFwiY29yZS1yZXNvbHZlclwiLFxuICBcImNvcmUtdHlwZXNjcmlwdFwiLFxuICBcImFyY2hpdGVjdHVyZS1pbXBvcnQteFwiLFxuICBcImRvY3MtY29tbWVudHNcIixcbiAgXCJkb2NzLWpzZG9jXCIsXG4gIFwidGVzdGluZy1qYXNtaW5lXCIsXG4gIFwidGVzdGluZy1qZXN0XCIsXG4gIFwidGVzdGluZy1wbGF5d3JpZ2h0XCIsXG4gIFwidGVzdGluZy12aXRlc3RcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInN0eWxlLXN0eWxpc3RpY1wiLFxuICBcInN0eWxlLXBlcmZlY3Rpb25pc3RcIixcbiAgXCJzdHlsZS11bmljb3JuXCIsXG4gIFwic3R5bGUtcHJldHRpZXJcIixcbiAgXCJhcmNoaXRlY3R1cmUtYm91bmRhcmllc1wiLFxuXSBhcyBjb25zdDtcblxuLyoqIEV4cGVjdGVkIGNvbmZpZyBuYW1lcyB3aGVuIHNlbGVjdGVkIG9wdGlvbmFsIG1vZHVsZXMgYXJlIGRpc2FibGVkLiAqL1xuY29uc3QgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMgPSBbXG4gIFwiY29yZS1lc2xpbnRcIixcbiAgXCJjb3JlLXJlc29sdmVyXCIsXG4gIFwiY29yZS10eXBlc2NyaXB0XCIsXG4gIFwiYXJjaGl0ZWN0dXJlLWltcG9ydC14XCIsXG4gIFwiZG9jcy1jb21tZW50c1wiLFxuICBcImRvY3MtanNkb2NcIixcbiAgXCJ0ZXN0aW5nLWphc21pbmVcIixcbiAgXCJ0ZXN0aW5nLWplc3RcIixcbiAgXCJ0ZXN0aW5nLXBsYXl3cmlnaHRcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInN0eWxlLXN0eWxpc3RpY1wiLFxuICBcInN0eWxlLXBlcmZlY3Rpb25pc3RcIixcbiAgXCJzdHlsZS11bmljb3JuXCIsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgeyBmdWxsQ29tcG9zaXRpb25OYW1lcywgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMgfTtcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy1jb21wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIseUJBQXlCO0NBQ2pCLENBQUM7QUFFWCx5RUFBeUU7QUFDekUsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsZUFBZTtDQUNQLENBQUM7QUFFWCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBFeHBlY3RlZCBjb25maWcgbmFtZXMgd2hlbiBhbGwgZG9jdW1lbnRlZCBtb2R1bGVzIGFyZSBlbmFibGVkIGluIG9yZGVyLiAqL1xuY29uc3QgZnVsbENvbXBvc2l0aW9uTmFtZXMgPSBbXG4gIFwiY29yZS1jb2RlcGVyZmVjdFwiLFxuICBcImNvcmUtZXNsaW50XCIsXG4gIFwiY29yZS1yZXNvbHZlclwiLFxuICBcImNvcmUtdHlwZXNjcmlwdFwiLFxuICBcImFyY2hpdGVjdHVyZS1pbXBvcnQteFwiLFxuICBcImRvY3MtY29tbWVudHNcIixcbiAgXCJkb2NzLWpzZG9jXCIsXG4gIFwidGVzdGluZy1qYXNtaW5lXCIsXG4gIFwidGVzdGluZy1qZXN0XCIsXG4gIFwidGVzdGluZy1wbGF5d3JpZ2h0XCIsXG4gIFwidGVzdGluZy12aXRlc3RcIixcbiAgXCJkb21haW4tcnhqc1wiLFxuICBcInN0eWxlLXN0eWxpc3RpY1wiLFxuICBcInN0eWxlLXBlcmZlY3Rpb25pc3RcIixcbiAgXCJzdHlsZS11bmljb3JuXCIsXG4gIFwic3R5bGUtcHJldHRpZXJcIixcbiAgXCJhcmNoaXRlY3R1cmUtYm91bmRhcmllc1wiLFxuXSBhcyBjb25zdDtcblxuLyoqIEV4cGVjdGVkIGNvbmZpZyBuYW1lcyB3aGVuIHNlbGVjdGVkIG9wdGlvbmFsIG1vZHVsZXMgYXJlIGRpc2FibGVkLiAqL1xuY29uc3QgcmVkdWNlZENvbXBvc2l0aW9uTmFtZXMgPSBbXG4gIFwiY29yZS1jb2RlcGVyZmVjdFwiLFxuICBcImNvcmUtZXNsaW50XCIsXG4gIFwiY29yZS1yZXNvbHZlclwiLFxuICBcImNvcmUtdHlwZXNjcmlwdFwiLFxuICBcImFyY2hpdGVjdHVyZS1pbXBvcnQteFwiLFxuICBcImRvY3MtY29tbWVudHNcIixcbiAgXCJkb2NzLWpzZG9jXCIsXG4gIFwidGVzdGluZy1qYXNtaW5lXCIsXG4gIFwidGVzdGluZy1qZXN0XCIsXG4gIFwidGVzdGluZy1wbGF5d3JpZ2h0XCIsXG4gIFwiZG9tYWluLXJ4anNcIixcbiAgXCJzdHlsZS1zdHlsaXN0aWNcIixcbiAgXCJzdHlsZS1wZXJmZWN0aW9uaXN0XCIsXG4gIFwic3R5bGUtdW5pY29yblwiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHsgZnVsbENvbXBvc2l0aW9uTmFtZXMsIHJlZHVjZWRDb21wb3NpdGlvbk5hbWVzIH07XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import type { Linter } from "eslint";
2
+ import type { ConfigOptions } from "./types";
3
+ /**
4
+ * Creates the ESLint configuration with optional plugin and rule customization.
5
+ * @param options Input options value.
6
+ * @returns Return value output.
7
+ * @example
8
+ * ```typescript
9
+ * config();
10
+ * ```
11
+ */
12
+ declare function config(options?: ConfigOptions): Promise<Linter.Config[]>;
13
+ export { config };
14
+ //# sourceMappingURL=config-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-factory.d.ts","sourceRoot":"","sources":["../src/config-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA2C7C;;;;;;;;GAQG;AACH,iBAAe,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAc3E;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { defineConfig } from "eslint/config";
2
+ import { moduleTaxonomy } from "./module-taxonomy";
3
+ import { pluginLoaders } from "./plugin-loaders";
4
+ import { applyRuleOverrides, collectAvailablePlugins, isPluginDisabled, loadPluginConfig, } from "./utilities";
5
+ /**
6
+ * Builds the list of plugin config loaders.
7
+ * @param options Input options value.
8
+ * @returns Return value output.
9
+ * @example
10
+ * ```typescript
11
+ * buildPluginConfigLoaders({});
12
+ * ```
13
+ */
14
+ function buildPluginConfigLoaders(options) {
15
+ const disabledPlugins = [...(options.disabledPlugins ?? [])];
16
+ const loaders = [];
17
+ for (const { pluginName } of moduleTaxonomy) {
18
+ const loaderEntry = pluginLoaders[pluginName];
19
+ if (!isPluginDisabled(pluginName, disabledPlugins)) {
20
+ loaders.push(loadPluginConfig(pluginName, loaderEntry.loader(options), loaderEntry.mode));
21
+ }
22
+ }
23
+ return loaders;
24
+ }
25
+ /**
26
+ * Creates the ESLint configuration with optional plugin and rule customization.
27
+ * @param options Input options value.
28
+ * @returns Return value output.
29
+ * @example
30
+ * ```typescript
31
+ * config();
32
+ * ```
33
+ */
34
+ async function config(options = {}) {
35
+ const { rules: ruleOverrides } = options;
36
+ const pluginConfigResults = await Promise.all(buildPluginConfigLoaders(options));
37
+ const pluginConfigs = pluginConfigResults.flat();
38
+ const finalConfig = applyRuleOverrides(pluginConfigs, ruleOverrides, collectAvailablePlugins(pluginConfigs));
39
+ return finalConfig.length === 0 ? [] : defineConfig(...finalConfig);
40
+ }
41
+ export { config };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixPQUFzQjtJQUV0QixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLEdBQStCLEVBQUUsQ0FBQztJQUUvQyxLQUFLLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQ1YsZ0JBQWdCLENBQ2QsVUFBVSxFQUNWLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzNCLFdBQVcsQ0FBQyxJQUFJLENBQ2pCLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLE1BQU0sQ0FBQyxVQUF5QixFQUFFO0lBQy9DLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXpDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMzQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FDbEMsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUNwQyxhQUFhLEVBQ2IsYUFBYSxFQUNiLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUN2QyxDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XHJcblxyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBDb25maWdPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7IG1vZHVsZVRheG9ub215IH0gZnJvbSBcIi4vbW9kdWxlLXRheG9ub215XCI7XHJcbmltcG9ydCB7IHBsdWdpbkxvYWRlcnMgfSBmcm9tIFwiLi9wbHVnaW4tbG9hZGVyc1wiO1xyXG5pbXBvcnQge1xyXG4gIGFwcGx5UnVsZU92ZXJyaWRlcyxcclxuICBjb2xsZWN0QXZhaWxhYmxlUGx1Z2lucyxcclxuICBpc1BsdWdpbkRpc2FibGVkLFxyXG4gIGxvYWRQbHVnaW5Db25maWcsXHJcbn0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcblxyXG4vKipcclxuICogQnVpbGRzIHRoZSBsaXN0IG9mIHBsdWdpbiBjb25maWcgbG9hZGVycy5cclxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cclxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBidWlsZFBsdWdpbkNvbmZpZ0xvYWRlcnMoe30pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUGx1Z2luQ29uZmlnTG9hZGVycyhcclxuICBvcHRpb25zOiBDb25maWdPcHRpb25zLFxyXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSB7XHJcbiAgY29uc3QgZGlzYWJsZWRQbHVnaW5zID0gWy4uLihvcHRpb25zLmRpc2FibGVkUGx1Z2lucyA/PyBbXSldO1xyXG4gIGNvbnN0IGxvYWRlcnM6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPltdID0gW107XHJcblxyXG4gIGZvciAoY29uc3QgeyBwbHVnaW5OYW1lIH0gb2YgbW9kdWxlVGF4b25vbXkpIHtcclxuICAgIGNvbnN0IGxvYWRlckVudHJ5ID0gcGx1Z2luTG9hZGVyc1twbHVnaW5OYW1lXTtcclxuXHJcbiAgICBpZiAoIWlzUGx1Z2luRGlzYWJsZWQocGx1Z2luTmFtZSwgZGlzYWJsZWRQbHVnaW5zKSkge1xyXG4gICAgICBsb2FkZXJzLnB1c2goXHJcbiAgICAgICAgbG9hZFBsdWdpbkNvbmZpZyhcclxuICAgICAgICAgIHBsdWdpbk5hbWUsXHJcbiAgICAgICAgICBsb2FkZXJFbnRyeS5sb2FkZXIob3B0aW9ucyksXHJcbiAgICAgICAgICBsb2FkZXJFbnRyeS5tb2RlLFxyXG4gICAgICAgICksXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbG9hZGVycztcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgdGhlIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggb3B0aW9uYWwgcGx1Z2luIGFuZCBydWxlIGN1c3RvbWl6YXRpb24uXHJcbiAqIEBwYXJhbSBvcHRpb25zIElucHV0IG9wdGlvbnMgdmFsdWUuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uZmlnKCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuYXN5bmMgZnVuY3Rpb24gY29uZmlnKG9wdGlvbnM6IENvbmZpZ09wdGlvbnMgPSB7fSk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XHJcbiAgY29uc3QgeyBydWxlczogcnVsZU92ZXJyaWRlcyB9ID0gb3B0aW9ucztcclxuXHJcbiAgY29uc3QgcGx1Z2luQ29uZmlnUmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMpLFxyXG4gICk7XHJcbiAgY29uc3QgcGx1Z2luQ29uZmlncyA9IHBsdWdpbkNvbmZpZ1Jlc3VsdHMuZmxhdCgpO1xyXG4gIGNvbnN0IGZpbmFsQ29uZmlnID0gYXBwbHlSdWxlT3ZlcnJpZGVzKFxyXG4gICAgcGx1Z2luQ29uZmlncyxcclxuICAgIHJ1bGVPdmVycmlkZXMsXHJcbiAgICBjb2xsZWN0QXZhaWxhYmxlUGx1Z2lucyhwbHVnaW5Db25maWdzKSxcclxuICApO1xyXG5cclxuICByZXR1cm4gZmluYWxDb25maWcubGVuZ3RoID09PSAwID8gW10gOiBkZWZpbmVDb25maWcoLi4uZmluYWxDb25maWcpO1xyXG59XHJcblxyXG5leHBvcnQgeyBjb25maWcgfTtcclxuIl19
@@ -1,5 +1,5 @@
1
1
  export { boundaries, importX } from "../architecture";
2
- export { eslint, resolver, typescript } from "../core";
2
+ export { codeperfect, eslint, resolver, typescript } from "../core";
3
3
  export { comments, jsdoc } from "../docs";
4
4
  export { rxjsX } from "../domain";
5
5
  export { perfectionist, prettier, stylistic, unicorn } from "../style";
@@ -1 +1 @@
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
+ {"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,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACpE,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 +1,7 @@
1
1
  export { boundaries, importX } from "../architecture";
2
- export { eslint, resolver, typescript } from "../core";
2
+ export { codeperfect, eslint, resolver, typescript } from "../core";
3
3
  export { comments, jsdoc } from "../docs";
4
4
  export { rxjsX } from "../domain";
5
5
  export { perfectionist, prettier, stylistic, unicorn } from "../style";
6
6
  export { jasmine, jest, playwright, vitest } from "../testing";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGJvdW5kYXJpZXMsIGltcG9ydFggfSBmcm9tIFwiLi4vYXJjaGl0ZWN0dXJlXCI7XG5leHBvcnQgeyBlc2xpbnQsIHJlc29sdmVyLCB0eXBlc2NyaXB0IH0gZnJvbSBcIi4uL2NvcmVcIjtcbmV4cG9ydCB7IGNvbW1lbnRzLCBqc2RvYyB9IGZyb20gXCIuLi9kb2NzXCI7XG5leHBvcnQgeyByeGpzWCB9IGZyb20gXCIuLi9kb21haW5cIjtcbmV4cG9ydCB7IHBlcmZlY3Rpb25pc3QsIHByZXR0aWVyLCBzdHlsaXN0aWMsIHVuaWNvcm4gfSBmcm9tIFwiLi4vc3R5bGVcIjtcbmV4cG9ydCB7IGphc21pbmUsIGplc3QsIHBsYXl3cmlnaHQsIHZpdGVzdCB9IGZyb20gXCIuLi90ZXN0aW5nXCI7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBib3VuZGFyaWVzLCBpbXBvcnRYIH0gZnJvbSBcIi4uL2FyY2hpdGVjdHVyZVwiO1xuZXhwb3J0IHsgY29kZXBlcmZlY3QsIGVzbGludCwgcmVzb2x2ZXIsIHR5cGVzY3JpcHQgfSBmcm9tIFwiLi4vY29yZVwiO1xuZXhwb3J0IHsgY29tbWVudHMsIGpzZG9jIH0gZnJvbSBcIi4uL2RvY3NcIjtcbmV4cG9ydCB7IHJ4anNYIH0gZnJvbSBcIi4uL2RvbWFpblwiO1xuZXhwb3J0IHsgcGVyZmVjdGlvbmlzdCwgcHJldHRpZXIsIHN0eWxpc3RpYywgdW5pY29ybiB9IGZyb20gXCIuLi9zdHlsZVwiO1xuZXhwb3J0IHsgamFzbWluZSwgamVzdCwgcGxheXdyaWdodCwgdml0ZXN0IH0gZnJvbSBcIi4uL3Rlc3RpbmdcIjtcbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import type { Linter } from "eslint";
2
+ /**
3
+ * Load the upstream CodePerfect ESLint configuration.
4
+ * @returns The upstream CodePerfect config array.
5
+ * @example
6
+ * ```typescript
7
+ * const configs = await codeperfect();
8
+ * ```
9
+ */
10
+ export declare function codeperfect(): Promise<Linter.Config[]>;
11
+ //# sourceMappingURL=codeperfect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeperfect.d.ts","sourceRoot":"","sources":["../../src/core/codeperfect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAI5D"}
@@ -0,0 +1,14 @@
1
+ import { defineConfig } from "eslint/config";
2
+ /**
3
+ * Load the upstream CodePerfect ESLint configuration.
4
+ * @returns The upstream CodePerfect config array.
5
+ * @example
6
+ * ```typescript
7
+ * const configs = await codeperfect();
8
+ * ```
9
+ */
10
+ export async function codeperfect() {
11
+ const pluginModule = await import("@codeperfect/eslint-plugin");
12
+ return defineConfig(pluginModule.all);
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9jb2RlcGVyZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFdBQVc7SUFDL0IsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUVoRSxPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcclxuXHJcbi8qKlxyXG4gKiBMb2FkIHRoZSB1cHN0cmVhbSBDb2RlUGVyZmVjdCBFU0xpbnQgY29uZmlndXJhdGlvbi5cclxuICogQHJldHVybnMgVGhlIHVwc3RyZWFtIENvZGVQZXJmZWN0IGNvbmZpZyBhcnJheS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBjb25maWdzID0gYXdhaXQgY29kZXBlcmZlY3QoKTtcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29kZXBlcmZlY3QoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcclxuICBjb25zdCBwbHVnaW5Nb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJAY29kZXBlcmZlY3QvZXNsaW50LXBsdWdpblwiKTtcclxuXHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhwbHVnaW5Nb2R1bGUuYWxsKTtcclxufVxyXG4iXX0=
@@ -1,3 +1,4 @@
1
+ export { codeperfect } from "./codeperfect";
1
2
  export { eslint } from "./eslint";
2
3
  export { resolver } from "./resolver";
3
4
  export { typescript } from "./typescript";
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,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 +1,5 @@
1
+ export { codeperfect } from "./codeperfect";
1
2
  export { eslint } from "./eslint";
2
3
  export { resolver } from "./resolver";
3
4
  export { typescript } from "./typescript";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGVzbGludCB9IGZyb20gXCIuL2VzbGludFwiO1xuZXhwb3J0IHsgcmVzb2x2ZXIgfSBmcm9tIFwiLi9yZXNvbHZlclwiO1xuZXhwb3J0IHsgdHlwZXNjcmlwdCB9IGZyb20gXCIuL3R5cGVzY3JpcHRcIjtcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29kZXBlcmZlY3QgfSBmcm9tIFwiLi9jb2RlcGVyZmVjdFwiO1xuZXhwb3J0IHsgZXNsaW50IH0gZnJvbSBcIi4vZXNsaW50XCI7XG5leHBvcnQgeyByZXNvbHZlciB9IGZyb20gXCIuL3Jlc29sdmVyXCI7XG5leHBvcnQgeyB0eXBlc2NyaXB0IH0gZnJvbSBcIi4vdHlwZXNjcmlwdFwiO1xuIl19
@@ -4,9 +4,9 @@ import type { Linter } from "eslint";
4
4
  * @returns Return value output.
5
5
  * @example
6
6
  * ```typescript
7
- * await jsdoc();
7
+ * console.log(await jsdoc());
8
8
  * ```
9
9
  */
10
- declare const jsdoc: () => Promise<Linter.Config[]>;
10
+ declare function jsdoc(): Promise<Linter.Config[]>;
11
11
  export { jsdoc };
12
12
  //# sourceMappingURL=jsdoc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsdoc.d.ts","sourceRoot":"","sources":["../../src/docs/jsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiDrC;;;;;;;GAOG;AACH,QAAA,MAAM,KAAK,QAAa,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAsC9C,CAAC;AAEF,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"jsdoc.d.ts","sourceRoot":"","sources":["../../src/docs/jsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAkIrC;;;;;;;GAOG;AACH,iBAAe,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAU/C;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,11 +1,19 @@
1
1
  import { defineConfig } from "eslint/config";
2
+ /** Upstream JSDoc flat preset names consumed by this config. */
3
+ const jsdocPresetNames = [
4
+ "flat/recommended-typescript-error",
5
+ "flat/contents-typescript-error",
6
+ "flat/logical-typescript-error",
7
+ "flat/requirements-typescript-error",
8
+ "flat/stylistic-typescript-error",
9
+ ];
2
10
  /**
3
11
  * Build the custom jsdoc error rules based on available plugin rules.
4
12
  * @param availableRules Set of available jsdoc rule names.
5
13
  * @returns The rules record for ESLint.
6
14
  * @example
7
15
  * ```typescript
8
- * const rules = buildCustomErrorRules(new Set(["require-throws"]));
16
+ * console.log(buildCustomErrorRules(new Set(["require-throws"])));
9
17
  * ```
10
18
  */
11
19
  const buildCustomErrorRules = (availableRules) => {
@@ -38,28 +46,52 @@ const requireJsdocContexts = [
38
46
  "TSIndexSignature",
39
47
  ];
40
48
  /**
41
- * Build the jsdoc plugin configuration and any overrides needed by this project.
42
- * @returns Return value output.
49
+ * Select only the upstream flat presets that are available in the current plugin version.
50
+ * @param configs Upstream JSDoc config map.
51
+ * @returns The available flat presets.
43
52
  * @example
44
53
  * ```typescript
45
- * await jsdoc();
54
+ * console.log(buildPresetConfigs({ "flat/recommended-typescript-error": {} as Linter.Config }).length);
46
55
  * ```
47
56
  */
48
- const jsdoc = async () => {
49
- const jsdocModule = await import("eslint-plugin-jsdoc");
50
- const { configs, rules } = jsdocModule.default;
51
- const availableRules = new Set(Object.keys(rules ?? {}));
52
- const customError = buildCustomErrorRules(availableRules);
53
- return defineConfig(configs["flat/recommended-typescript-error"], configs["flat/contents-typescript-error"], configs["flat/logical-typescript-error"], configs["flat/requirements-typescript-error"], configs["flat/stylistic-typescript-error"], {
57
+ function buildPresetConfigs(configs) {
58
+ return jsdocPresetNames.flatMap((configName) => {
59
+ const config = configs[configName];
60
+ if (config === void 0 ||
61
+ Array.isArray(config) ||
62
+ typeof config !== "object") {
63
+ return [];
64
+ }
65
+ return [config];
66
+ });
67
+ }
68
+ /**
69
+ * Build the final repo-owned JSDoc configs on top of the upstream presets.
70
+ * @param customError Repo-owned JSDoc rule overrides.
71
+ * @returns The final ESLint config array.
72
+ * @example
73
+ * ```typescript
74
+ * console.log(buildRepoJsdocConfigs({}).length);
75
+ * ```
76
+ */
77
+ function buildRepoJsdocConfigs(customError) {
78
+ return defineConfig({
54
79
  name: "jsdoc/custom",
55
80
  rules: {
56
81
  ...customError,
82
+ "jsdoc/convert-to-jsdoc-comments": [
83
+ "error",
84
+ { enforceJsdocLineStyle: "single" },
85
+ ],
57
86
  "jsdoc/text-escaping": "off",
58
87
  },
59
88
  }, {
60
89
  name: "jsdoc/require-jsdoc-alias",
61
90
  rules: {
62
- "jsdoc/require-description": ["error", { contexts: requireJsdocContexts }],
91
+ "jsdoc/require-description": [
92
+ "error",
93
+ { contexts: requireJsdocContexts },
94
+ ],
63
95
  "jsdoc/require-jsdoc": ["error", { contexts: requireJsdocContexts }],
64
96
  },
65
97
  }, {
@@ -72,6 +104,23 @@ const jsdoc = async () => {
72
104
  ],
73
105
  },
74
106
  });
75
- };
107
+ }
108
+ /**
109
+ * Build the jsdoc plugin configuration and any overrides needed by this project.
110
+ * @returns Return value output.
111
+ * @example
112
+ * ```typescript
113
+ * console.log(await jsdoc());
114
+ * ```
115
+ */
116
+ async function jsdoc() {
117
+ const jsdocModule = await import("eslint-plugin-jsdoc");
118
+ const { default: jsdocPlugin } = jsdocModule;
119
+ const { configs, rules } = jsdocPlugin;
120
+ const availableRules = new Set(Object.keys(rules ?? {}));
121
+ const customError = buildCustomErrorRules(availableRules);
122
+ const presetConfigs = buildPresetConfigs(configs);
123
+ return defineConfig(...presetConfigs, ...buildRepoJsdocConfigs(customError));
124
+ }
76
125
  export { jsdoc };
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNkb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9qc2RvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixjQUEyQixFQUNQLEVBQUU7SUFDdEIsTUFBTSxTQUFTLEdBQUc7UUFDaEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsdUNBQXVDO1FBQ3ZDLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsV0FBVztLQUNaLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVM7U0FDTixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFVLENBQUMsQ0FDdEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLDRDQUE0QztBQUM1QyxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLCtCQUErQjtJQUMvQiwwREFBMEQ7SUFDMUQsd0RBQXdEO0lBQ3hELCtCQUErQjtJQUMvQix3REFBd0Q7SUFDeEQsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsa0JBQWtCO0NBQ25CLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxLQUFLLEdBQUcsS0FBSyxJQUE4QixFQUFFO0lBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBRS9DLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFMUQsT0FBTyxZQUFZLENBQ2pCLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxFQUM1QyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsRUFDekMsT0FBTyxDQUFDLCtCQUErQixDQUFDLEVBQ3hDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxFQUM3QyxPQUFPLENBQUMsaUNBQWlDLENBQUMsRUFDMUM7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUU7WUFDTCxHQUFHLFdBQVc7WUFDZCxxQkFBcUIsRUFBRSxLQUFLO1NBQzdCO0tBQ0YsRUFDRDtRQUNFLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFO1lBQ0wsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztZQUMxRSxxQkFBcUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1NBQ3JFO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUN2QixJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsZUFBZSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFO2FBQ3hDO1NBQ0Y7S0FDRixDQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcclxuXHJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XHJcblxyXG4vKipcclxuICogQnVpbGQgdGhlIGN1c3RvbSBqc2RvYyBlcnJvciBydWxlcyBiYXNlZCBvbiBhdmFpbGFibGUgcGx1Z2luIHJ1bGVzLlxyXG4gKiBAcGFyYW0gYXZhaWxhYmxlUnVsZXMgU2V0IG9mIGF2YWlsYWJsZSBqc2RvYyBydWxlIG5hbWVzLlxyXG4gKiBAcmV0dXJucyBUaGUgcnVsZXMgcmVjb3JkIGZvciBFU0xpbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcnVsZXMgPSBidWlsZEN1c3RvbUVycm9yUnVsZXMobmV3IFNldChbXCJyZXF1aXJlLXRocm93c1wiXSkpO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcyA9IChcclxuICBhdmFpbGFibGVSdWxlczogU2V0PHN0cmluZz4sXHJcbik6IExpbnRlci5SdWxlc1JlY29yZCA9PiB7XHJcbiAgY29uc3QgcnVsZU5hbWVzID0gW1xyXG4gICAgXCJjaGVjay1pbmRlbnRhdGlvblwiLFxyXG4gICAgXCJjb252ZXJ0LXRvLWpzZG9jLWNvbW1lbnRzXCIsXHJcbiAgICBcInJlcXVpcmUtZGVzY3JpcHRpb25cIixcclxuICAgIFwicmVxdWlyZS1kZXNjcmlwdGlvbi1jb21wbGV0ZS1zZW50ZW5jZVwiLFxyXG4gICAgXCJyZXF1aXJlLXRlbXBsYXRlXCIsXHJcbiAgICBcInJlcXVpcmUtdGhyb3dzXCIsXHJcbiAgICBcInNvcnQtdGFnc1wiLFxyXG4gIF07XHJcblxyXG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICBydWxlTmFtZXNcclxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gYXZhaWxhYmxlUnVsZXMuaGFzKHJ1bGUpKVxyXG4gICAgICAubWFwKChydWxlKSA9PiBbYGpzZG9jLyR7cnVsZX1gLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcclxuICApO1xyXG59O1xyXG5cclxuLyoqIEFTVCBjb250ZXh0cyB0aGF0IG11c3QgaW5jbHVkZSBKU0RvYy4gKi9cclxuY29uc3QgcmVxdWlyZUpzZG9jQ29udGV4dHMgPSBbXHJcbiAgXCJQcm9ncmFtID4gRnVuY3Rpb25EZWNsYXJhdGlvblwiLFxyXG4gIFwiUHJvZ3JhbSA+IEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiA+IEZ1bmN0aW9uRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBFeHBvcnROYW1lZERlY2xhcmF0aW9uID4gRnVuY3Rpb25EZWNsYXJhdGlvblwiLFxyXG4gIFwiUHJvZ3JhbSA+IFZhcmlhYmxlRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBFeHBvcnROYW1lZERlY2xhcmF0aW9uID4gVmFyaWFibGVEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNQcm9wZXJ0eVNpZ25hdHVyZVwiLFxyXG4gIFwiVFNNZXRob2RTaWduYXR1cmVcIixcclxuICBcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXHJcbiAgXCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXHJcbiAgXCJUU0luZGV4U2lnbmF0dXJlXCIsXHJcbl07XHJcblxyXG4vKipcclxuICogQnVpbGQgdGhlIGpzZG9jIHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBhbnkgb3ZlcnJpZGVzIG5lZWRlZCBieSB0aGlzIHByb2plY3QuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogYXdhaXQganNkb2MoKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBqc2RvYyA9IGFzeW5jICgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4gPT4ge1xyXG4gIGNvbnN0IGpzZG9jTW9kdWxlID0gYXdhaXQgaW1wb3J0KFwiZXNsaW50LXBsdWdpbi1qc2RvY1wiKTtcclxuICBjb25zdCB7IGNvbmZpZ3MsIHJ1bGVzIH0gPSBqc2RvY01vZHVsZS5kZWZhdWx0O1xyXG5cclxuICBjb25zdCBhdmFpbGFibGVSdWxlcyA9IG5ldyBTZXQoT2JqZWN0LmtleXMocnVsZXMgPz8ge30pKTtcclxuICBjb25zdCBjdXN0b21FcnJvciA9IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcyhhdmFpbGFibGVSdWxlcyk7XHJcblxyXG4gIHJldHVybiBkZWZpbmVDb25maWcoXHJcbiAgICBjb25maWdzW1wiZmxhdC9yZWNvbW1lbmRlZC10eXBlc2NyaXB0LWVycm9yXCJdLFxyXG4gICAgY29uZmlnc1tcImZsYXQvY29udGVudHMtdHlwZXNjcmlwdC1lcnJvclwiXSxcclxuICAgIGNvbmZpZ3NbXCJmbGF0L2xvZ2ljYWwtdHlwZXNjcmlwdC1lcnJvclwiXSxcclxuICAgIGNvbmZpZ3NbXCJmbGF0L3JlcXVpcmVtZW50cy10eXBlc2NyaXB0LWVycm9yXCJdLFxyXG4gICAgY29uZmlnc1tcImZsYXQvc3R5bGlzdGljLXR5cGVzY3JpcHQtZXJyb3JcIl0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwianNkb2MvY3VzdG9tXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgLi4uY3VzdG9tRXJyb3IsXHJcbiAgICAgICAgXCJqc2RvYy90ZXh0LWVzY2FwaW5nXCI6IFwib2ZmXCIsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiBcImpzZG9jL3JlcXVpcmUtanNkb2MtYWxpYXNcIixcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICBcImpzZG9jL3JlcXVpcmUtZGVzY3JpcHRpb25cIjogW1wiZXJyb3JcIiwgeyBjb250ZXh0czogcmVxdWlyZUpzZG9jQ29udGV4dHMgfV0sXHJcbiAgICAgICAgXCJqc2RvYy9yZXF1aXJlLWpzZG9jXCI6IFtcImVycm9yXCIsIHsgY29udGV4dHM6IHJlcXVpcmVKc2RvY0NvbnRleHRzIH1dLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgZmlsZXM6IFtcIioqLyouc3BlYy50c1wiXSxcclxuICAgICAgbmFtZTogXCJqc2RvYy9jdXN0b20tc3BlY1wiLFxyXG4gICAgICBydWxlczoge1xyXG4gICAgICAgIFwianNkb2MvY29udmVydC10by1qc2RvYy1jb21tZW50c1wiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7IGFsbG93ZWRQcmVmaXhlczogW1wiQXJyYW5nZVwiLCBcIkFjdFwiXSB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICk7XHJcbn07XHJcblxyXG5leHBvcnQgeyBqc2RvYyB9O1xyXG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNkb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9qc2RvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLGdFQUFnRTtBQUNoRSxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLG1DQUFtQztJQUNuQyxnQ0FBZ0M7SUFDaEMsK0JBQStCO0lBQy9CLG9DQUFvQztJQUNwQyxpQ0FBaUM7Q0FDekIsQ0FBQztBQUVYOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxDQUM1QixjQUEyQixFQUNQLEVBQUU7SUFDdEIsTUFBTSxTQUFTLEdBQUc7UUFDaEIsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixxQkFBcUI7UUFDckIsdUNBQXVDO1FBQ3ZDLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsV0FBVztLQUNaLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVM7U0FDTixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFVLENBQUMsQ0FDdEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLDRDQUE0QztBQUM1QyxNQUFNLG9CQUFvQixHQUFHO0lBQzNCLCtCQUErQjtJQUMvQiwwREFBMEQ7SUFDMUQsd0RBQXdEO0lBQ3hELCtCQUErQjtJQUMvQix3REFBd0Q7SUFDeEQsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsa0JBQWtCO0NBQ25CLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBZ0M7SUFDMUQsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkMsSUFDRSxNQUFNLEtBQUssS0FBSyxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFDMUIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUF1QixDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixXQUErQjtJQUUvQixPQUFPLFlBQVksQ0FDakI7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUU7WUFDTCxHQUFHLFdBQVc7WUFDZCxpQ0FBaUMsRUFBRTtnQkFDakMsT0FBTztnQkFDUCxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRTthQUNwQztZQUNELHFCQUFxQixFQUFFLEtBQUs7U0FDN0I7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxLQUFLLEVBQUU7WUFDTCwyQkFBMkIsRUFBRTtnQkFDM0IsT0FBTztnQkFDUCxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTthQUNuQztZQUNELHFCQUFxQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7U0FDckU7S0FDRixFQUNEO1FBQ0UsS0FBSyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3ZCLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFO1lBQ0wsaUNBQWlDLEVBQUU7Z0JBQ2pDLE9BQU87Z0JBQ1AsRUFBRSxlQUFlLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7YUFDeEM7U0FDRjtLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLEtBQUs7SUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUM3QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUV2QyxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFELE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxELE9BQU8sWUFBWSxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XHJcblxyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xyXG5cclxuLyoqIFVwc3RyZWFtIEpTRG9jIGZsYXQgcHJlc2V0IG5hbWVzIGNvbnN1bWVkIGJ5IHRoaXMgY29uZmlnLiAqL1xyXG5jb25zdCBqc2RvY1ByZXNldE5hbWVzID0gW1xyXG4gIFwiZmxhdC9yZWNvbW1lbmRlZC10eXBlc2NyaXB0LWVycm9yXCIsXHJcbiAgXCJmbGF0L2NvbnRlbnRzLXR5cGVzY3JpcHQtZXJyb3JcIixcclxuICBcImZsYXQvbG9naWNhbC10eXBlc2NyaXB0LWVycm9yXCIsXHJcbiAgXCJmbGF0L3JlcXVpcmVtZW50cy10eXBlc2NyaXB0LWVycm9yXCIsXHJcbiAgXCJmbGF0L3N0eWxpc3RpYy10eXBlc2NyaXB0LWVycm9yXCIsXHJcbl0gYXMgY29uc3Q7XHJcblxyXG4vKipcclxuICogQnVpbGQgdGhlIGN1c3RvbSBqc2RvYyBlcnJvciBydWxlcyBiYXNlZCBvbiBhdmFpbGFibGUgcGx1Z2luIHJ1bGVzLlxyXG4gKiBAcGFyYW0gYXZhaWxhYmxlUnVsZXMgU2V0IG9mIGF2YWlsYWJsZSBqc2RvYyBydWxlIG5hbWVzLlxyXG4gKiBAcmV0dXJucyBUaGUgcnVsZXMgcmVjb3JkIGZvciBFU0xpbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogIGNvbnNvbGUubG9nKGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcyhuZXcgU2V0KFtcInJlcXVpcmUtdGhyb3dzXCJdKSkpO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcyA9IChcclxuICBhdmFpbGFibGVSdWxlczogU2V0PHN0cmluZz4sXHJcbik6IExpbnRlci5SdWxlc1JlY29yZCA9PiB7XHJcbiAgY29uc3QgcnVsZU5hbWVzID0gW1xyXG4gICAgXCJjaGVjay1pbmRlbnRhdGlvblwiLFxyXG4gICAgXCJjb252ZXJ0LXRvLWpzZG9jLWNvbW1lbnRzXCIsXHJcbiAgICBcInJlcXVpcmUtZGVzY3JpcHRpb25cIixcclxuICAgIFwicmVxdWlyZS1kZXNjcmlwdGlvbi1jb21wbGV0ZS1zZW50ZW5jZVwiLFxyXG4gICAgXCJyZXF1aXJlLXRlbXBsYXRlXCIsXHJcbiAgICBcInJlcXVpcmUtdGhyb3dzXCIsXHJcbiAgICBcInNvcnQtdGFnc1wiLFxyXG4gIF07XHJcblxyXG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICBydWxlTmFtZXNcclxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gYXZhaWxhYmxlUnVsZXMuaGFzKHJ1bGUpKVxyXG4gICAgICAubWFwKChydWxlKSA9PiBbYGpzZG9jLyR7cnVsZX1gLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcclxuICApO1xyXG59O1xyXG5cclxuLyoqIEFTVCBjb250ZXh0cyB0aGF0IG11c3QgaW5jbHVkZSBKU0RvYy4gKi9cclxuY29uc3QgcmVxdWlyZUpzZG9jQ29udGV4dHMgPSBbXHJcbiAgXCJQcm9ncmFtID4gRnVuY3Rpb25EZWNsYXJhdGlvblwiLFxyXG4gIFwiUHJvZ3JhbSA+IEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiA+IEZ1bmN0aW9uRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBFeHBvcnROYW1lZERlY2xhcmF0aW9uID4gRnVuY3Rpb25EZWNsYXJhdGlvblwiLFxyXG4gIFwiUHJvZ3JhbSA+IFZhcmlhYmxlRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBFeHBvcnROYW1lZERlY2xhcmF0aW9uID4gVmFyaWFibGVEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNQcm9wZXJ0eVNpZ25hdHVyZVwiLFxyXG4gIFwiVFNNZXRob2RTaWduYXR1cmVcIixcclxuICBcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXHJcbiAgXCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXHJcbiAgXCJUU0luZGV4U2lnbmF0dXJlXCIsXHJcbl07XHJcblxyXG4vKipcclxuICogU2VsZWN0IG9ubHkgdGhlIHVwc3RyZWFtIGZsYXQgcHJlc2V0cyB0aGF0IGFyZSBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgcGx1Z2luIHZlcnNpb24uXHJcbiAqIEBwYXJhbSBjb25maWdzIFVwc3RyZWFtIEpTRG9jIGNvbmZpZyBtYXAuXHJcbiAqIEByZXR1cm5zIFRoZSBhdmFpbGFibGUgZmxhdCBwcmVzZXRzLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqICBjb25zb2xlLmxvZyhidWlsZFByZXNldENvbmZpZ3MoeyBcImZsYXQvcmVjb21tZW5kZWQtdHlwZXNjcmlwdC1lcnJvclwiOiB7fSBhcyBMaW50ZXIuQ29uZmlnIH0pLmxlbmd0aCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYnVpbGRQcmVzZXRDb25maWdzKGNvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogTGludGVyLkNvbmZpZ1tdIHtcclxuICByZXR1cm4ganNkb2NQcmVzZXROYW1lcy5mbGF0TWFwKChjb25maWdOYW1lKSA9PiB7XHJcbiAgICBjb25zdCBjb25maWcgPSBjb25maWdzW2NvbmZpZ05hbWVdO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgY29uZmlnID09PSB2b2lkIDAgfHxcclxuICAgICAgQXJyYXkuaXNBcnJheShjb25maWcpIHx8XHJcbiAgICAgIHR5cGVvZiBjb25maWcgIT09IFwib2JqZWN0XCJcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFtjb25maWcgYXMgTGludGVyLkNvbmZpZ107XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdWlsZCB0aGUgZmluYWwgcmVwby1vd25lZCBKU0RvYyBjb25maWdzIG9uIHRvcCBvZiB0aGUgdXBzdHJlYW0gcHJlc2V0cy5cclxuICogQHBhcmFtIGN1c3RvbUVycm9yIFJlcG8tb3duZWQgSlNEb2MgcnVsZSBvdmVycmlkZXMuXHJcbiAqIEByZXR1cm5zIFRoZSBmaW5hbCBFU0xpbnQgY29uZmlnIGFycmF5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqICBjb25zb2xlLmxvZyhidWlsZFJlcG9Kc2RvY0NvbmZpZ3Moe30pLmxlbmd0aCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYnVpbGRSZXBvSnNkb2NDb25maWdzKFxyXG4gIGN1c3RvbUVycm9yOiBMaW50ZXIuUnVsZXNSZWNvcmQsXHJcbik6IExpbnRlci5Db25maWdbXSB7XHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcclxuICAgIHtcclxuICAgICAgbmFtZTogXCJqc2RvYy9jdXN0b21cIixcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICAuLi5jdXN0b21FcnJvcixcclxuICAgICAgICBcImpzZG9jL2NvbnZlcnQtdG8tanNkb2MtY29tbWVudHNcIjogW1xyXG4gICAgICAgICAgXCJlcnJvclwiLFxyXG4gICAgICAgICAgeyBlbmZvcmNlSnNkb2NMaW5lU3R5bGU6IFwic2luZ2xlXCIgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwianNkb2MvdGV4dC1lc2NhcGluZ1wiOiBcIm9mZlwiLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgbmFtZTogXCJqc2RvYy9yZXF1aXJlLWpzZG9jLWFsaWFzXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJqc2RvYy9yZXF1aXJlLWRlc2NyaXB0aW9uXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHsgY29udGV4dHM6IHJlcXVpcmVKc2RvY0NvbnRleHRzIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBcImpzZG9jL3JlcXVpcmUtanNkb2NcIjogW1wiZXJyb3JcIiwgeyBjb250ZXh0czogcmVxdWlyZUpzZG9jQ29udGV4dHMgfV0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBmaWxlczogW1wiKiovKi5zcGVjLnRzXCJdLFxyXG4gICAgICBuYW1lOiBcImpzZG9jL2N1c3RvbS1zcGVjXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJqc2RvYy9jb252ZXJ0LXRvLWpzZG9jLWNvbW1lbnRzXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHsgYWxsb3dlZFByZWZpeGVzOiBbXCJBcnJhbmdlXCIsIFwiQWN0XCJdIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkIHRoZSBqc2RvYyBwbHVnaW4gY29uZmlndXJhdGlvbiBhbmQgYW55IG92ZXJyaWRlcyBuZWVkZWQgYnkgdGhpcyBwcm9qZWN0LlxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqICBjb25zb2xlLmxvZyhhd2FpdCBqc2RvYygpKTtcclxuICogYGBgXHJcbiAqL1xyXG5hc3luYyBmdW5jdGlvbiBqc2RvYygpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xyXG4gIGNvbnN0IGpzZG9jTW9kdWxlID0gYXdhaXQgaW1wb3J0KFwiZXNsaW50LXBsdWdpbi1qc2RvY1wiKTtcclxuICBjb25zdCB7IGRlZmF1bHQ6IGpzZG9jUGx1Z2luIH0gPSBqc2RvY01vZHVsZTtcclxuICBjb25zdCB7IGNvbmZpZ3MsIHJ1bGVzIH0gPSBqc2RvY1BsdWdpbjtcclxuXHJcbiAgY29uc3QgYXZhaWxhYmxlUnVsZXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHJ1bGVzID8/IHt9KSk7XHJcbiAgY29uc3QgY3VzdG9tRXJyb3IgPSBidWlsZEN1c3RvbUVycm9yUnVsZXMoYXZhaWxhYmxlUnVsZXMpO1xyXG4gIGNvbnN0IHByZXNldENvbmZpZ3MgPSBidWlsZFByZXNldENvbmZpZ3MoY29uZmlncyk7XHJcblxyXG4gIHJldHVybiBkZWZpbmVDb25maWcoLi4ucHJlc2V0Q29uZmlncywgLi4uYnVpbGRSZXBvSnNkb2NDb25maWdzKGN1c3RvbUVycm9yKSk7XHJcbn1cclxuXHJcbmV4cG9ydCB7IGpzZG9jIH07XHJcbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -1,15 +1,3 @@
1
- import type { Linter } from "eslint";
2
- import type { ConfigOptions } from "./types";
3
- /**
4
- * Creates the ESLint configuration with optional plugin and rule customization.
5
- * @param options Input options value.
6
- * @returns Return value output.
7
- * @example
8
- * ```typescript
9
- * config();
10
- * ```
11
- */
12
- declare function config(options?: ConfigOptions): Promise<Linter.Config[]>;
13
- export { config };
1
+ export { config } from "./config-factory";
14
2
  export type { BoundariesConfig, ConfigOptions } from "./types";
15
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA2C7C;;;;;;;;GAQG;AACH,iBAAe,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAc3E;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,42 +1,2 @@
1
- import { defineConfig } from "eslint/config";
2
- import { moduleTaxonomy } from "./module-taxonomy";
3
- import { pluginLoaders } from "./plugin-loaders";
4
- import { applyRuleOverrides, collectAvailablePlugins, isPluginDisabled, loadPluginConfig, } from "./utilities";
5
- /**
6
- * Builds the list of plugin config loaders.
7
- * @param options Input options value.
8
- * @returns Return value output.
9
- * @example
10
- * ```typescript
11
- * buildPluginConfigLoaders({});
12
- * ```
13
- */
14
- function buildPluginConfigLoaders(options) {
15
- const disabledPlugins = [...(options.disabledPlugins ?? [])];
16
- const loaders = [];
17
- for (const { pluginName } of moduleTaxonomy) {
18
- const loaderEntry = pluginLoaders[pluginName];
19
- if (!isPluginDisabled(pluginName, disabledPlugins)) {
20
- loaders.push(loadPluginConfig(pluginName, loaderEntry.loader(options), loaderEntry.mode));
21
- }
22
- }
23
- return loaders;
24
- }
25
- /**
26
- * Creates the ESLint configuration with optional plugin and rule customization.
27
- * @param options Input options value.
28
- * @returns Return value output.
29
- * @example
30
- * ```typescript
31
- * config();
32
- * ```
33
- */
34
- async function config(options = {}) {
35
- const { rules: ruleOverrides } = options;
36
- const pluginConfigResults = await Promise.all(buildPluginConfigLoaders(options));
37
- const pluginConfigs = pluginConfigResults.flat();
38
- const finalConfig = applyRuleOverrides(pluginConfigs, ruleOverrides, collectAvailablePlugins(pluginConfigs));
39
- return finalConfig.length === 0 ? [] : defineConfig(...finalConfig);
40
- }
41
- export { config };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixnQkFBZ0IsR0FDakIsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixPQUFzQjtJQUV0QixNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLEdBQStCLEVBQUUsQ0FBQztJQUUvQyxLQUFLLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQ1YsZ0JBQWdCLENBQ2QsVUFBVSxFQUNWLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQzNCLFdBQVcsQ0FBQyxJQUFJLENBQ2pCLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLE1BQU0sQ0FBQyxVQUF5QixFQUFFO0lBQy9DLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXpDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMzQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FDbEMsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pELE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUNwQyxhQUFhLEVBQ2IsYUFBYSxFQUNiLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUN2QyxDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IG1vZHVsZVRheG9ub215IH0gZnJvbSBcIi4vbW9kdWxlLXRheG9ub215XCI7XG5pbXBvcnQgeyBwbHVnaW5Mb2FkZXJzIH0gZnJvbSBcIi4vcGx1Z2luLWxvYWRlcnNcIjtcbmltcG9ydCB7XG4gIGFwcGx5UnVsZU92ZXJyaWRlcyxcbiAgY29sbGVjdEF2YWlsYWJsZVBsdWdpbnMsXG4gIGlzUGx1Z2luRGlzYWJsZWQsXG4gIGxvYWRQbHVnaW5Db25maWcsXG59IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgbGlzdCBvZiBwbHVnaW4gY29uZmlnIGxvYWRlcnMuXG4gKiBAcGFyYW0gb3B0aW9ucyBJbnB1dCBvcHRpb25zIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBidWlsZFBsdWdpbkNvbmZpZ0xvYWRlcnMoe30pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkUGx1Z2luQ29uZmlnTG9hZGVycyhcbiAgb3B0aW9uczogQ29uZmlnT3B0aW9ucyxcbik6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPltdIHtcbiAgY29uc3QgZGlzYWJsZWRQbHVnaW5zID0gWy4uLihvcHRpb25zLmRpc2FibGVkUGx1Z2lucyA/PyBbXSldO1xuICBjb25zdCBsb2FkZXJzOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgeyBwbHVnaW5OYW1lIH0gb2YgbW9kdWxlVGF4b25vbXkpIHtcbiAgICBjb25zdCBsb2FkZXJFbnRyeSA9IHBsdWdpbkxvYWRlcnNbcGx1Z2luTmFtZV07XG5cbiAgICBpZiAoIWlzUGx1Z2luRGlzYWJsZWQocGx1Z2luTmFtZSwgZGlzYWJsZWRQbHVnaW5zKSkge1xuICAgICAgbG9hZGVycy5wdXNoKFxuICAgICAgICBsb2FkUGx1Z2luQ29uZmlnKFxuICAgICAgICAgIHBsdWdpbk5hbWUsXG4gICAgICAgICAgbG9hZGVyRW50cnkubG9hZGVyKG9wdGlvbnMpLFxuICAgICAgICAgIGxvYWRlckVudHJ5Lm1vZGUsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2FkZXJzO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggb3B0aW9uYWwgcGx1Z2luIGFuZCBydWxlIGN1c3RvbWl6YXRpb24uXG4gKiBAcGFyYW0gb3B0aW9ucyBJbnB1dCBvcHRpb25zIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25maWcoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBjb25maWcob3B0aW9uczogQ29uZmlnT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBydWxlczogcnVsZU92ZXJyaWRlcyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBwbHVnaW5Db25maWdSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMpLFxuICApO1xuICBjb25zdCBwbHVnaW5Db25maWdzID0gcGx1Z2luQ29uZmlnUmVzdWx0cy5mbGF0KCk7XG4gIGNvbnN0IGZpbmFsQ29uZmlnID0gYXBwbHlSdWxlT3ZlcnJpZGVzKFxuICAgIHBsdWdpbkNvbmZpZ3MsXG4gICAgcnVsZU92ZXJyaWRlcyxcbiAgICBjb2xsZWN0QXZhaWxhYmxlUGx1Z2lucyhwbHVnaW5Db25maWdzKSxcbiAgKTtcblxuICByZXR1cm4gZmluYWxDb25maWcubGVuZ3RoID09PSAwID8gW10gOiBkZWZpbmVDb25maWcoLi4uZmluYWxDb25maWcpO1xufVxuXG5leHBvcnQgeyBjb25maWcgfTtcbmV4cG9ydCB0eXBlIHsgQm91bmRhcmllc0NvbmZpZywgQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
1
+ export { config } from "./config-factory";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnLWZhY3RvcnlcIjtcbmV4cG9ydCB0eXBlIHsgQm91bmRhcmllc0NvbmZpZywgQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
@@ -10,6 +10,9 @@ interface ModuleTaxonomyEntry {
10
10
  }
11
11
  /** Ordered module taxonomy matching RFC-0003. */
12
12
  declare const moduleTaxonomy: readonly [{
13
+ readonly category: "core";
14
+ readonly pluginName: "codeperfect";
15
+ }, {
13
16
  readonly category: "core";
14
17
  readonly pluginName: "eslint";
15
18
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"module-taxonomy.d.ts","sourceRoot":"","sources":["../src/module-taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,8CAA8C;AAC9C,KAAK,cAAc,GACf,cAAc,GACd,MAAM,GACN,eAAe,GACf,QAAQ,GACR,yBAAyB,GACzB,OAAO,GACP,SAAS,CAAC;AAEd,mDAAmD;AACnD,UAAU,mBAAmB;IAC3B,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;IAEzB,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,iDAAiD;AACjD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB+B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"module-taxonomy.d.ts","sourceRoot":"","sources":["../src/module-taxonomy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,8CAA8C;AAC9C,KAAK,cAAc,GACf,cAAc,GACd,MAAM,GACN,eAAe,GACf,QAAQ,GACR,yBAAyB,GACzB,OAAO,GACP,SAAS,CAAC;AAEd,mDAAmD;AACnD,UAAU,mBAAmB;IAC3B,kCAAkC;IAClC,QAAQ,EAAE,cAAc,CAAC;IAEzB,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,iDAAiD;AACjD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB+B,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /** Ordered module taxonomy matching RFC-0003. */
2
2
  const moduleTaxonomy = [
3
+ { category: "core", pluginName: "codeperfect" },
3
4
  { category: "core", pluginName: "eslint" },
4
5
  { category: "core", pluginName: "resolver" },
5
6
  { category: "core", pluginName: "typescript" },
@@ -18,4 +19,4 @@ const moduleTaxonomy = [
18
19
  { category: "repository-architecture", pluginName: "boundaries" },
19
20
  ];
20
21
  export { moduleTaxonomy };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRheG9ub215LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS10YXhvbm9teS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsaURBQWlEO0FBQ2pELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQ3BELEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQ3JELEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFO0lBQ2xELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQzNDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0lBQ2xELEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQzdDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUU7Q0FDaEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbk5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogVGF4b25vbXkgY2F0ZWdvcmllcyBmb3IgY29uZmlnIG1vZHVsZXMuICovXG50eXBlIE1vZHVsZUNhdGVnb3J5ID1cbiAgfCBcImFyY2hpdGVjdHVyZVwiXG4gIHwgXCJjb3JlXCJcbiAgfCBcImRvY3VtZW50YXRpb25cIlxuICB8IFwiZG9tYWluXCJcbiAgfCBcInJlcG9zaXRvcnktYXJjaGl0ZWN0dXJlXCJcbiAgfCBcInN0eWxlXCJcbiAgfCBcInRlc3RpbmdcIjtcblxuLyoqIEVudHJ5IGRlc2NyaWJpbmcgYSBkb2N1bWVudGVkIGNvbmZpZyBtb2R1bGUuICovXG5pbnRlcmZhY2UgTW9kdWxlVGF4b25vbXlFbnRyeSB7XG4gIC8qKiBDYXRlZ29yeSBvd25pbmcgdGhlIG1vZHVsZS4gKi9cbiAgY2F0ZWdvcnk6IE1vZHVsZUNhdGVnb3J5O1xuXG4gIC8qKiBQdWJsaWMgbW9kdWxlIG5hbWUgdXNlZCBpbiBjb25maWcgb3B0aW9ucyBhbmQgZGlhZ25vc3RpY3MuICovXG4gIHBsdWdpbk5hbWU6IFBsdWdpbk5hbWU7XG59XG5cbi8qKiBPcmRlcmVkIG1vZHVsZSB0YXhvbm9teSBtYXRjaGluZyBSRkMtMDAwMy4gKi9cbmNvbnN0IG1vZHVsZVRheG9ub215ID0gW1xuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJlc2xpbnRcIiB9LFxuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJyZXNvbHZlclwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcInR5cGVzY3JpcHRcIiB9LFxuICB7IGNhdGVnb3J5OiBcImFyY2hpdGVjdHVyZVwiLCBwbHVnaW5OYW1lOiBcImltcG9ydC14XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJkb2N1bWVudGF0aW9uXCIsIHBsdWdpbk5hbWU6IFwiY29tbWVudHNcIiB9LFxuICB7IGNhdGVnb3J5OiBcImRvY3VtZW50YXRpb25cIiwgcGx1Z2luTmFtZTogXCJqc2RvY1wiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcImphc21pbmVcIiB9LFxuICB7IGNhdGVnb3J5OiBcInRlc3RpbmdcIiwgcGx1Z2luTmFtZTogXCJqZXN0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwicGxheXdyaWdodFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcInZpdGVzdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiZG9tYWluXCIsIHBsdWdpbk5hbWU6IFwicnhqcy14XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJzdHlsZVwiLCBwbHVnaW5OYW1lOiBcInN0eWxpc3RpY1wiIH0sXG4gIHsgY2F0ZWdvcnk6IFwic3R5bGVcIiwgcGx1Z2luTmFtZTogXCJwZXJmZWN0aW9uaXN0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJzdHlsZVwiLCBwbHVnaW5OYW1lOiBcInVuaWNvcm5cIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwicHJldHRpZXJcIiB9LFxuICB7IGNhdGVnb3J5OiBcInJlcG9zaXRvcnktYXJjaGl0ZWN0dXJlXCIsIHBsdWdpbk5hbWU6IFwiYm91bmRhcmllc1wiIH0sXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBNb2R1bGVUYXhvbm9teUVudHJ5W107XG5cbmV4cG9ydCB7IG1vZHVsZVRheG9ub215IH07XG5leHBvcnQgdHlwZSB7IE1vZHVsZUNhdGVnb3J5LCBNb2R1bGVUYXhvbm9teUVudHJ5IH07XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLXRheG9ub215LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS10YXhvbm9teS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsaURBQWlEO0FBQ2pELE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFO0lBQy9DLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQ3BELEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQ3JELEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFO0lBQ2xELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFO0lBQzNDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFO0lBQ2pELEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzdDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFO0lBQzlDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFO0lBQ2xELEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO0lBQzVDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO0lBQzdDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUU7Q0FDaEIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbk5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKiogVGF4b25vbXkgY2F0ZWdvcmllcyBmb3IgY29uZmlnIG1vZHVsZXMuICovXG50eXBlIE1vZHVsZUNhdGVnb3J5ID1cbiAgfCBcImFyY2hpdGVjdHVyZVwiXG4gIHwgXCJjb3JlXCJcbiAgfCBcImRvY3VtZW50YXRpb25cIlxuICB8IFwiZG9tYWluXCJcbiAgfCBcInJlcG9zaXRvcnktYXJjaGl0ZWN0dXJlXCJcbiAgfCBcInN0eWxlXCJcbiAgfCBcInRlc3RpbmdcIjtcblxuLyoqIEVudHJ5IGRlc2NyaWJpbmcgYSBkb2N1bWVudGVkIGNvbmZpZyBtb2R1bGUuICovXG5pbnRlcmZhY2UgTW9kdWxlVGF4b25vbXlFbnRyeSB7XG4gIC8qKiBDYXRlZ29yeSBvd25pbmcgdGhlIG1vZHVsZS4gKi9cbiAgY2F0ZWdvcnk6IE1vZHVsZUNhdGVnb3J5O1xuXG4gIC8qKiBQdWJsaWMgbW9kdWxlIG5hbWUgdXNlZCBpbiBjb25maWcgb3B0aW9ucyBhbmQgZGlhZ25vc3RpY3MuICovXG4gIHBsdWdpbk5hbWU6IFBsdWdpbk5hbWU7XG59XG5cbi8qKiBPcmRlcmVkIG1vZHVsZSB0YXhvbm9teSBtYXRjaGluZyBSRkMtMDAwMy4gKi9cbmNvbnN0IG1vZHVsZVRheG9ub215ID0gW1xuICB7IGNhdGVnb3J5OiBcImNvcmVcIiwgcGx1Z2luTmFtZTogXCJjb2RlcGVyZmVjdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcImVzbGludFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiY29yZVwiLCBwbHVnaW5OYW1lOiBcInJlc29sdmVyXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJjb3JlXCIsIHBsdWdpbk5hbWU6IFwidHlwZXNjcmlwdFwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiYXJjaGl0ZWN0dXJlXCIsIHBsdWdpbk5hbWU6IFwiaW1wb3J0LXhcIiB9LFxuICB7IGNhdGVnb3J5OiBcImRvY3VtZW50YXRpb25cIiwgcGx1Z2luTmFtZTogXCJjb21tZW50c1wiIH0sXG4gIHsgY2F0ZWdvcnk6IFwiZG9jdW1lbnRhdGlvblwiLCBwbHVnaW5OYW1lOiBcImpzZG9jXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwiamFzbWluZVwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwidGVzdGluZ1wiLCBwbHVnaW5OYW1lOiBcImplc3RcIiB9LFxuICB7IGNhdGVnb3J5OiBcInRlc3RpbmdcIiwgcGx1Z2luTmFtZTogXCJwbGF5d3JpZ2h0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJ0ZXN0aW5nXCIsIHBsdWdpbk5hbWU6IFwidml0ZXN0XCIgfSxcbiAgeyBjYXRlZ29yeTogXCJkb21haW5cIiwgcGx1Z2luTmFtZTogXCJyeGpzLXhcIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwic3R5bGlzdGljXCIgfSxcbiAgeyBjYXRlZ29yeTogXCJzdHlsZVwiLCBwbHVnaW5OYW1lOiBcInBlcmZlY3Rpb25pc3RcIiB9LFxuICB7IGNhdGVnb3J5OiBcInN0eWxlXCIsIHBsdWdpbk5hbWU6IFwidW5pY29yblwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwic3R5bGVcIiwgcGx1Z2luTmFtZTogXCJwcmV0dGllclwiIH0sXG4gIHsgY2F0ZWdvcnk6IFwicmVwb3NpdG9yeS1hcmNoaXRlY3R1cmVcIiwgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIgfSxcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IE1vZHVsZVRheG9ub215RW50cnlbXTtcblxuZXhwb3J0IHsgbW9kdWxlVGF4b25vbXkgfTtcbmV4cG9ydCB0eXBlIHsgTW9kdWxlQ2F0ZWdvcnksIE1vZHVsZVRheG9ub215RW50cnkgfTtcbiJdfQ==
@@ -29,6 +29,11 @@ declare const pluginLoaders: {
29
29
  mode: "optional";
30
30
  pluginName: "boundaries";
31
31
  };
32
+ codeperfect: {
33
+ loader: (options: ConfigOptions) => ConfigLoader;
34
+ mode: "required";
35
+ pluginName: "codeperfect";
36
+ };
32
37
  comments: {
33
38
  loader: (options: ConfigOptions) => ConfigLoader;
34
39
  mode: "optional";
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loaders.d.ts","sourceRoot":"","sources":["../src/plugin-loaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqB5C,kDAAkD;AAClD,KAAK,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAErE,8EAA8E;AAC9E,UAAU,iBAAiB;IACzB,qCAAqC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;IAEjD,2CAA2C;IAC3C,IAAI,EAAE,QAAQ,CAAC;IAEf,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAE3E;AAiBD,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;0BAtCC,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;CAuHD,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"plugin-loaders.d.ts","sourceRoot":"","sources":["../src/plugin-loaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsB5C,kDAAkD;AAClD,KAAK,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAErE,8EAA8E;AAC9E,UAAU,iBAAiB;IACzB,qCAAqC;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;IAEjD,2CAA2C;IAC3C,IAAI,EAAE,QAAQ,CAAC;IAEf,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,iBAAS,6BAA6B,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAE3E;AAiBD,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;0BAtCC,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;;0BAA9B,aAAa,KAAK,YAAY;;;;CA4HD,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { boundaries, comments, eslint, importX, jasmine, jest, jsdoc, perfectionist, playwright, prettier, resolver, rxjsX, stylistic, typescript, unicorn, vitest, } from "./configs";
1
+ import { boundaries, codeperfect, comments, eslint, importX, jasmine, jest, jsdoc, perfectionist, playwright, prettier, resolver, rxjsX, stylistic, typescript, unicorn, vitest, } from "./configs";
2
2
  /**
3
3
  * Creates the boundaries loader factory for repository-owned architecture input.
4
4
  * @param options Input options value.
@@ -30,6 +30,11 @@ const pluginLoaders = {
30
30
  mode: "optional",
31
31
  pluginName: "boundaries",
32
32
  },
33
+ codeperfect: {
34
+ loader: createStaticLoaderFactory(codeperfect),
35
+ mode: "required",
36
+ pluginName: "codeperfect",
37
+ },
33
38
  comments: {
34
39
  loader: createStaticLoaderFactory(comments),
35
40
  mode: "optional",
@@ -107,4 +112,4 @@ const pluginLoaders = {
107
112
  },
108
113
  };
109
114
  export { pluginLoaders };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLWxvYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsSUFBSSxFQUNKLEtBQUssRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE1BQU0sR0FDUCxNQUFNLFdBQVcsQ0FBQztBQWlCbkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDZCQUE2QixDQUFDLE9BQXNCO0lBQzNELE9BQU8sR0FBb0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx5QkFBeUIsQ0FDaEMsTUFBb0I7SUFFcEIsT0FBTyxHQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxxRUFBcUU7QUFDckUsTUFBTSxhQUFhLEdBQUc7SUFDcEIsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsWUFBWTtLQUN6QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFVBQVU7S0FDdkI7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFDRCxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUseUJBQXlCLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxNQUFNO0tBQ25CO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLHlCQUF5QixDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsT0FBTztLQUNwQjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLGVBQWU7S0FDNUI7SUFDRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUseUJBQXlCLENBQUMsVUFBVSxDQUFDO1FBQzdDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxZQUFZO0tBQ3pCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFVBQVU7S0FDdkI7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsV0FBVztLQUN4QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxTQUFTO0tBQ3RCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsUUFBUTtLQUNyQjtDQUM4QyxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbmZpZ09wdGlvbnMsIFBsdWdpbk5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBMb2FkTW9kZSB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5pbXBvcnQge1xuICBib3VuZGFyaWVzLFxuICBjb21tZW50cyxcbiAgZXNsaW50LFxuICBpbXBvcnRYLFxuICBqYXNtaW5lLFxuICBqZXN0LFxuICBqc2RvYyxcbiAgcGVyZmVjdGlvbmlzdCxcbiAgcGxheXdyaWdodCxcbiAgcHJldHRpZXIsXG4gIHJlc29sdmVyLFxuICByeGpzWCxcbiAgc3R5bGlzdGljLFxuICB0eXBlc2NyaXB0LFxuICB1bmljb3JuLFxuICB2aXRlc3QsXG59IGZyb20gXCIuL2NvbmZpZ3NcIjtcblxuLyoqIExvYWRlciBmdW5jdGlvbiBmb3IgYSBzaW5nbGUgY29uZmlnIG1vZHVsZS4gKi9cbnR5cGUgQ29uZmlnTG9hZGVyID0gKCkgPT4gTGludGVyLkNvbmZpZ1tdIHwgUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+O1xuXG4vKiogRW50cnkgZGVzY3JpYmluZyBhIHNpbmdsZSBjb25maWcgbG9hZGVyIGluIHRoZSBmaW5hbCBjb21wb3NpdGlvbiBvcmRlci4gKi9cbmludGVyZmFjZSBQbHVnaW5Mb2FkZXJFbnRyeSB7XG4gIC8qKiBMb2FkZXIgZmFjdG9yeSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbG9hZGVyOiAob3B0aW9uczogQ29uZmlnT3B0aW9ucykgPT4gQ29uZmlnTG9hZGVyO1xuXG4gIC8qKiBSdW50aW1lIGxvYWRpbmcgbW9kZSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbW9kZTogTG9hZE1vZGU7XG5cbiAgLyoqIFB1YmxpYyBtb2R1bGUgbmFtZSB1c2VkIGluIGNvbmZpZyBvcHRpb25zIGFuZCBkaWFnbm9zdGljcy4gKi9cbiAgcGx1Z2luTmFtZTogUGx1Z2luTmFtZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBib3VuZGFyaWVzIGxvYWRlciBmYWN0b3J5IGZvciByZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIElucHV0IG9wdGlvbnMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSh7fSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQm91bmRhcmllc0xvYWRlckZhY3Rvcnkob3B0aW9uczogQ29uZmlnT3B0aW9ucyk6IENvbmZpZ0xvYWRlciB7XG4gIHJldHVybiAoKTogTGludGVyLkNvbmZpZ1tdID0+IGJvdW5kYXJpZXMob3B0aW9ucy5ib3VuZGFyaWVzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShcbiAgbG9hZGVyOiBDb25maWdMb2FkZXIsXG4pOiBQbHVnaW5Mb2FkZXJFbnRyeVtcImxvYWRlclwiXSB7XG4gIHJldHVybiAoKTogQ29uZmlnTG9hZGVyID0+IGxvYWRlcjtcbn1cblxuLyoqIERvY3VtZW50ZWQgY29uZmlnIGxvYWRlciByZWdpc3RyeSBrZXllZCBieSBwdWJsaWMgbW9kdWxlIG5hbWUuICovXG5jb25zdCBwbHVnaW5Mb2FkZXJzID0ge1xuICBib3VuZGFyaWVzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIsXG4gIH0sXG4gIGNvbW1lbnRzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGNvbW1lbnRzKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJjb21tZW50c1wiLFxuICB9LFxuICBlc2xpbnQ6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoZXNsaW50KSxcbiAgICBtb2RlOiBcInJlcXVpcmVkXCIsXG4gICAgcGx1Z2luTmFtZTogXCJlc2xpbnRcIixcbiAgfSxcbiAgXCJpbXBvcnQteFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGltcG9ydFgpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImltcG9ydC14XCIsXG4gIH0sXG4gIGphc21pbmU6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoamFzbWluZSksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiamFzbWluZVwiLFxuICB9LFxuICBqZXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGplc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImplc3RcIixcbiAgfSxcbiAganNkb2M6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoanNkb2MpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImpzZG9jXCIsXG4gIH0sXG4gIHBlcmZlY3Rpb25pc3Q6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocGVyZmVjdGlvbmlzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicGVyZmVjdGlvbmlzdFwiLFxuICB9LFxuICBwbGF5d3JpZ2h0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBsYXl3cmlnaHQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInBsYXl3cmlnaHRcIixcbiAgfSxcbiAgcHJldHRpZXI6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocHJldHRpZXIpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInByZXR0aWVyXCIsXG4gIH0sXG4gIHJlc29sdmVyOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHJlc29sdmVyKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJyZXNvbHZlclwiLFxuICB9LFxuICBcInJ4anMteFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHJ4anNYKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJyeGpzLXhcIixcbiAgfSxcbiAgc3R5bGlzdGljOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHN0eWxpc3RpYyksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwic3R5bGlzdGljXCIsXG4gIH0sXG4gIHR5cGVzY3JpcHQ6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkodHlwZXNjcmlwdCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICAgIHBsdWdpbk5hbWU6IFwidHlwZXNjcmlwdFwiLFxuICB9LFxuICB1bmljb3JuOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHVuaWNvcm4pLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInVuaWNvcm5cIixcbiAgfSxcbiAgdml0ZXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHZpdGVzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwidml0ZXN0XCIsXG4gIH0sXG59IHNhdGlzZmllcyBSZWNvcmQ8UGx1Z2luTmFtZSwgUGx1Z2luTG9hZGVyRW50cnk+O1xuXG5leHBvcnQgeyBwbHVnaW5Mb2FkZXJzIH07XG5leHBvcnQgdHlwZSB7IENvbmZpZ0xvYWRlciwgUGx1Z2luTG9hZGVyRW50cnkgfTtcbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLWxvYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLElBQUksRUFDSixLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLEdBQ1AsTUFBTSxXQUFXLENBQUM7QUFpQm5COzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw2QkFBNkIsQ0FBQyxPQUFzQjtJQUMzRCxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMseUJBQXlCLENBQ2hDLE1BQW9CO0lBRXBCLE9BQU8sR0FBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNwQyxDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxXQUFXLEVBQUU7UUFDWCxNQUFNLEVBQUUseUJBQXlCLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxhQUFhO0tBQzFCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFDRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsU0FBUztLQUN0QjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLE1BQU07S0FDbkI7SUFDRCxLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsZUFBZTtLQUM1QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUseUJBQXlCLENBQUMsUUFBUSxDQUFDO1FBQzNDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFDeEMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFDRCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxXQUFXO0tBQ3hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsWUFBWTtLQUN6QjtJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0NBQzhDLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uZmlnT3B0aW9ucywgUGx1Z2luTmFtZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IExvYWRNb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7XG4gIGJvdW5kYXJpZXMsXG4gIGNvZGVwZXJmZWN0LFxuICBjb21tZW50cyxcbiAgZXNsaW50LFxuICBpbXBvcnRYLFxuICBqYXNtaW5lLFxuICBqZXN0LFxuICBqc2RvYyxcbiAgcGVyZmVjdGlvbmlzdCxcbiAgcGxheXdyaWdodCxcbiAgcHJldHRpZXIsXG4gIHJlc29sdmVyLFxuICByeGpzWCxcbiAgc3R5bGlzdGljLFxuICB0eXBlc2NyaXB0LFxuICB1bmljb3JuLFxuICB2aXRlc3QsXG59IGZyb20gXCIuL2NvbmZpZ3NcIjtcblxuLyoqIExvYWRlciBmdW5jdGlvbiBmb3IgYSBzaW5nbGUgY29uZmlnIG1vZHVsZS4gKi9cbnR5cGUgQ29uZmlnTG9hZGVyID0gKCkgPT4gTGludGVyLkNvbmZpZ1tdIHwgUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+O1xuXG4vKiogRW50cnkgZGVzY3JpYmluZyBhIHNpbmdsZSBjb25maWcgbG9hZGVyIGluIHRoZSBmaW5hbCBjb21wb3NpdGlvbiBvcmRlci4gKi9cbmludGVyZmFjZSBQbHVnaW5Mb2FkZXJFbnRyeSB7XG4gIC8qKiBMb2FkZXIgZmFjdG9yeSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbG9hZGVyOiAob3B0aW9uczogQ29uZmlnT3B0aW9ucykgPT4gQ29uZmlnTG9hZGVyO1xuXG4gIC8qKiBSdW50aW1lIGxvYWRpbmcgbW9kZSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbW9kZTogTG9hZE1vZGU7XG5cbiAgLyoqIFB1YmxpYyBtb2R1bGUgbmFtZSB1c2VkIGluIGNvbmZpZyBvcHRpb25zIGFuZCBkaWFnbm9zdGljcy4gKi9cbiAgcGx1Z2luTmFtZTogUGx1Z2luTmFtZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBib3VuZGFyaWVzIGxvYWRlciBmYWN0b3J5IGZvciByZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIElucHV0IG9wdGlvbnMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSh7fSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQm91bmRhcmllc0xvYWRlckZhY3Rvcnkob3B0aW9uczogQ29uZmlnT3B0aW9ucyk6IENvbmZpZ0xvYWRlciB7XG4gIHJldHVybiAoKTogTGludGVyLkNvbmZpZ1tdID0+IGJvdW5kYXJpZXMob3B0aW9ucy5ib3VuZGFyaWVzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShcbiAgbG9hZGVyOiBDb25maWdMb2FkZXIsXG4pOiBQbHVnaW5Mb2FkZXJFbnRyeVtcImxvYWRlclwiXSB7XG4gIHJldHVybiAoKTogQ29uZmlnTG9hZGVyID0+IGxvYWRlcjtcbn1cblxuLyoqIERvY3VtZW50ZWQgY29uZmlnIGxvYWRlciByZWdpc3RyeSBrZXllZCBieSBwdWJsaWMgbW9kdWxlIG5hbWUuICovXG5jb25zdCBwbHVnaW5Mb2FkZXJzID0ge1xuICBib3VuZGFyaWVzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIsXG4gIH0sXG4gIGNvZGVwZXJmZWN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGNvZGVwZXJmZWN0KSxcbiAgICBtb2RlOiBcInJlcXVpcmVkXCIsXG4gICAgcGx1Z2luTmFtZTogXCJjb2RlcGVyZmVjdFwiLFxuICB9LFxuICBjb21tZW50czoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShjb21tZW50cyksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiY29tbWVudHNcIixcbiAgfSxcbiAgZXNsaW50OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiZXNsaW50XCIsXG4gIH0sXG4gIFwiaW1wb3J0LXhcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShpbXBvcnRYKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJpbXBvcnQteFwiLFxuICB9LFxuICBqYXNtaW5lOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGphc21pbmUpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImphc21pbmVcIixcbiAgfSxcbiAgamVzdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqZXN0KSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJqZXN0XCIsXG4gIH0sXG4gIGpzZG9jOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGpzZG9jKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJqc2RvY1wiLFxuICB9LFxuICBwZXJmZWN0aW9uaXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBlcmZlY3Rpb25pc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInBlcmZlY3Rpb25pc3RcIixcbiAgfSxcbiAgcGxheXdyaWdodDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShwbGF5d3JpZ2h0KSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJwbGF5d3JpZ2h0XCIsXG4gIH0sXG4gIHByZXR0aWVyOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHByZXR0aWVyKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJwcmV0dGllclwiLFxuICB9LFxuICByZXNvbHZlcjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyZXNvbHZlciksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicmVzb2x2ZXJcIixcbiAgfSxcbiAgXCJyeGpzLXhcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyeGpzWCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicnhqcy14XCIsXG4gIH0sXG4gIHN0eWxpc3RpYzoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShzdHlsaXN0aWMpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInN0eWxpc3RpY1wiLFxuICB9LFxuICB0eXBlc2NyaXB0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHR5cGVzY3JpcHQpLFxuICAgIG1vZGU6IFwicmVxdWlyZWRcIixcbiAgICBwbHVnaW5OYW1lOiBcInR5cGVzY3JpcHRcIixcbiAgfSxcbiAgdW5pY29ybjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh1bmljb3JuKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJ1bmljb3JuXCIsXG4gIH0sXG4gIHZpdGVzdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh2aXRlc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInZpdGVzdFwiLFxuICB9LFxufSBzYXRpc2ZpZXMgUmVjb3JkPFBsdWdpbk5hbWUsIFBsdWdpbkxvYWRlckVudHJ5PjtcblxuZXhwb3J0IHsgcGx1Z2luTG9hZGVycyB9O1xuZXhwb3J0IHR5cGUgeyBDb25maWdMb2FkZXIsIFBsdWdpbkxvYWRlckVudHJ5IH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"perfectionist.d.ts","sourceRoot":"","sources":["../../src/style/perfectionist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAO9D"}
1
+ {"version":3,"file":"perfectionist.d.ts","sourceRoot":"","sources":["../../src/style/perfectionist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYrC;;;;;;;GAOG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAoB9D"}
@@ -1,4 +1,11 @@
1
1
  import { defineConfig } from "eslint/config";
2
+ /** Generated example and default-expression snippets emitted by the JSDoc processor. */
3
+ const generatedSnippetFiles = [
4
+ "**/*.md/*.js",
5
+ "**/*.jsdoc-defaults",
6
+ "**/*.jsdoc-params",
7
+ "**/*.jsdoc-properties",
8
+ ];
2
9
  /**
3
10
  * Build and return the Perfectionist plugin configuration and any overrides.
4
11
  * @returns Return value output.
@@ -9,9 +16,16 @@ import { defineConfig } from "eslint/config";
9
16
  */
10
17
  export async function perfectionist() {
11
18
  const { configs } = await import("eslint-plugin-perfectionist");
19
+ const generatedSnippetRules = Object.fromEntries(Object.keys(configs["recommended-natural"].rules ?? {})
20
+ .filter((ruleName) => ruleName.startsWith("perfectionist/"))
21
+ .map((ruleName) => [ruleName, "off"]));
12
22
  return defineConfig(configs["recommended-natural"], {
13
- name: "To avoid conflcts",
23
+ name: "To avoid conflicts",
14
24
  rules: { "sort-keys": "off" },
25
+ }, {
26
+ files: generatedSnippetFiles,
27
+ name: "perfectionist/generated-snippets",
28
+ rules: generatedSnippetRules,
15
29
  });
16
30
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZmVjdGlvbmlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9wZXJmZWN0aW9uaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYTtJQUNqQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUVoRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFBRTtRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7S0FDOUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGFuZCByZXR1cm4gdGhlIFBlcmZlY3Rpb25pc3QgcGx1Z2luIGNvbmZpZ3VyYXRpb24gYW5kIGFueSBvdmVycmlkZXMuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHBlcmZlY3Rpb25pc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGVyZmVjdGlvbmlzdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGNvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4tcGVyZmVjdGlvbmlzdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ3NbXCJyZWNvbW1lbmRlZC1uYXR1cmFsXCJdLCB7XG4gICAgbmFtZTogXCJUbyBhdm9pZCBjb25mbGN0c1wiLFxuICAgIHJ1bGVzOiB7IFwic29ydC1rZXlzXCI6IFwib2ZmXCIgfSxcbiAgfSk7XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZmVjdGlvbmlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9wZXJmZWN0aW9uaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0Msd0ZBQXdGO0FBQ3hGLE1BQU0scUJBQXFCLEdBQUc7SUFDNUIsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsdUJBQXVCO0NBQ3hCLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhO0lBQ2pDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ3BELE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFVLENBQUMsQ0FDakQsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUNqQixPQUFPLENBQUMscUJBQXFCLENBQUMsRUFDOUI7UUFDRSxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7S0FDOUIsRUFDRDtRQUNFLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxLQUFLLEVBQUUscUJBQXFCO0tBQzdCLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIEdlbmVyYXRlZCBleGFtcGxlIGFuZCBkZWZhdWx0LWV4cHJlc3Npb24gc25pcHBldHMgZW1pdHRlZCBieSB0aGUgSlNEb2MgcHJvY2Vzc29yLiAqL1xuY29uc3QgZ2VuZXJhdGVkU25pcHBldEZpbGVzID0gW1xuICBcIioqLyoubWQvKi5qc1wiLFxuICBcIioqLyouanNkb2MtZGVmYXVsdHNcIixcbiAgXCIqKi8qLmpzZG9jLXBhcmFtc1wiLFxuICBcIioqLyouanNkb2MtcHJvcGVydGllc1wiLFxuXTtcblxuLyoqXG4gKiBCdWlsZCBhbmQgcmV0dXJuIHRoZSBQZXJmZWN0aW9uaXN0IHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBhbnkgb3ZlcnJpZGVzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBwZXJmZWN0aW9uaXN0KCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBlcmZlY3Rpb25pc3QoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBjb25maWdzIH0gPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLXBlcmZlY3Rpb25pc3RcIik7XG4gIGNvbnN0IGdlbmVyYXRlZFNuaXBwZXRSdWxlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhjb25maWdzW1wicmVjb21tZW5kZWQtbmF0dXJhbFwiXS5ydWxlcyA/PyB7fSlcbiAgICAgIC5maWx0ZXIoKHJ1bGVOYW1lKSA9PiBydWxlTmFtZS5zdGFydHNXaXRoKFwicGVyZmVjdGlvbmlzdC9cIikpXG4gICAgICAubWFwKChydWxlTmFtZSkgPT4gW3J1bGVOYW1lLCBcIm9mZlwiXSBhcyBjb25zdCksXG4gICk7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICBjb25maWdzW1wicmVjb21tZW5kZWQtbmF0dXJhbFwiXSxcbiAgICB7XG4gICAgICBuYW1lOiBcIlRvIGF2b2lkIGNvbmZsaWN0c1wiLFxuICAgICAgcnVsZXM6IHsgXCJzb3J0LWtleXNcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IGdlbmVyYXRlZFNuaXBwZXRGaWxlcyxcbiAgICAgIG5hbWU6IFwicGVyZmVjdGlvbmlzdC9nZW5lcmF0ZWQtc25pcHBldHNcIixcbiAgICAgIHJ1bGVzOiBnZW5lcmF0ZWRTbmlwcGV0UnVsZXMsXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAK1D"}
1
+ {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAO1D"}
@@ -10,6 +10,8 @@ import { defineConfig } from "eslint/config";
10
10
  export async function stylistic() {
11
11
  const stylisticModule = await import("@stylistic/eslint-plugin");
12
12
  const { default: plugin } = stylisticModule;
13
- return defineConfig(plugin.configs.all);
13
+ return defineConfig(plugin.configs.all, {
14
+ rules: { "@stylistic/multiline-comment-style": "off" },
15
+ });
14
16
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVM7SUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztJQUU1QyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHN0eWxpc3RpYyBwbHVnaW4gY29uZmlndXJhdGlvbiBhbmQgaXRzIHJlY29tbWVuZGVkIHNldHRpbmdzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBzdHlsaXN0aWMoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3R5bGlzdGljKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHN0eWxpc3RpY01vZHVsZSA9IGF3YWl0IGltcG9ydChcIkBzdHlsaXN0aWMvZXNsaW50LXBsdWdpblwiKTtcbiAgY29uc3QgeyBkZWZhdWx0OiBwbHVnaW4gfSA9IHN0eWxpc3RpY01vZHVsZTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHBsdWdpbi5jb25maWdzLmFsbCk7XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVM7SUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztJQUU1QyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUN0QyxLQUFLLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUU7S0FDdkQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIFJldHVybiB0aGUgc3R5bGlzdGljIHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBpdHMgcmVjb21tZW5kZWQgc2V0dGluZ3MuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHN0eWxpc3RpYygpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdHlsaXN0aWMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3Qgc3R5bGlzdGljTW9kdWxlID0gYXdhaXQgaW1wb3J0KFwiQHN0eWxpc3RpYy9lc2xpbnQtcGx1Z2luXCIpO1xuICBjb25zdCB7IGRlZmF1bHQ6IHBsdWdpbiB9ID0gc3R5bGlzdGljTW9kdWxlO1xuXG4gIHJldHVybiBkZWZpbmVDb25maWcocGx1Z2luLmNvbmZpZ3MuYWxsLCB7XG4gICAgcnVsZXM6IHsgXCJAc3R5bGlzdGljL211bHRpbGluZS1jb21tZW50LXN0eWxlXCI6IFwib2ZmXCIgfSxcbiAgfSk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqCvD"}
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAsCvD"}
@@ -26,7 +26,8 @@ export async function vitest() {
26
26
  "vitest/no-hooks": "off",
27
27
  "vitest/prefer-expect-assertions": "off",
28
28
  "vitest/require-mock-type-parameters": "off",
29
+ "vitest/unbound-method": "off",
29
30
  },
30
31
  });
31
32
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Rpbmcvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTTtJQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUNWLFlBVUQsQ0FBQyxPQUFPLENBQUM7SUFDVixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sWUFBWSxDQUNqQixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQzdDO1FBQ0UsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUEsb0JBQW9CLEVBQUU7YUFDNUM7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMscUNBQXFDLEVBQUUsS0FBSztTQUM3QztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBMb2FkIFZpdGVzdCBwbHVnaW4gY29uZmlndXJhdGlvbiB3aGVuIGF2YWlsYWJsZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgdml0ZXN0KCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZpdGVzdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB2aXRlc3RNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJAdml0ZXN0L2VzbGludC1wbHVnaW5cIik7XG4gIGNvbnN0IHBsdWdpbiA9IChcbiAgICB2aXRlc3RNb2R1bGUgYXMge1xuICAgICAgLyoqIERlZmF1bHQgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgZGVmYXVsdD86IHtcbiAgICAgICAgLyoqIENvbmZpZ3MgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgICBjb25maWdzPzoge1xuICAgICAgICAgIC8qKiBBbGwgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgICAgIGFsbD86IExpbnRlci5Db25maWc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1cbiAgKS5kZWZhdWx0O1xuICBjb25zdCBhbGxDb25maWcgPSBwbHVnaW4/LmNvbmZpZ3M/LmFsbDtcblxuICBpZiAoYWxsQ29uZmlnID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIHsgc2V0dGluZ3M6IHsgdml0ZXN0OiB7IHR5cGVjaGVjazogdHJ1ZSB9IH0gfSxcbiAgICB7XG4gICAgICBleHRlbmRzOiBbYWxsQ29uZmlnXSxcbiAgICAgIGZpbGVzOiBbXCIqKi8qLntzcGVjLHRlc3R9LnRzXCJdLFxuICAgICAgbmFtZTogXCJ2aXRlc3QvY3VzdG9tXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcInZpdGVzdC9jb25zaXN0ZW50LXRlc3QtZmlsZW5hbWVcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IHBhdHRlcm46IFN0cmluZy5yYXdgLipcXC5zcGVjXFwuW3RqXXN4PyRgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFwidml0ZXN0L25vLWhvb2tzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidml0ZXN0L3ByZWZlci1leHBlY3QtYXNzZXJ0aW9uc1wiOiBcIm9mZlwiLFxuICAgICAgICBcInZpdGVzdC9yZXF1aXJlLW1vY2stdHlwZS1wYXJhbWV0ZXJzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Rpbmcvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTTtJQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUNWLFlBVUQsQ0FBQyxPQUFPLENBQUM7SUFDVixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sWUFBWSxDQUNqQixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQzdDO1FBQ0UsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUEsb0JBQW9CLEVBQUU7YUFDNUM7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMscUNBQXFDLEVBQUUsS0FBSztZQUM1Qyx1QkFBdUIsRUFBRSxLQUFLO1NBQy9CO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIExvYWQgVml0ZXN0IHBsdWdpbiBjb25maWd1cmF0aW9uIHdoZW4gYXZhaWxhYmxlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCB2aXRlc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdml0ZXN0KCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHZpdGVzdE1vZHVsZSA9IGF3YWl0IGltcG9ydChcIkB2aXRlc3QvZXNsaW50LXBsdWdpblwiKTtcbiAgY29uc3QgcGx1Z2luID0gKFxuICAgIHZpdGVzdE1vZHVsZSBhcyB7XG4gICAgICAvKiogRGVmYXVsdCBoZWxwZXIgdmFsdWUuICovXG4gICAgICBkZWZhdWx0Pzoge1xuICAgICAgICAvKiogQ29uZmlncyBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgIGNvbmZpZ3M/OiB7XG4gICAgICAgICAgLyoqIEFsbCBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgICAgYWxsPzogTGludGVyLkNvbmZpZztcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfVxuICApLmRlZmF1bHQ7XG4gIGNvbnN0IGFsbENvbmZpZyA9IHBsdWdpbj8uY29uZmlncz8uYWxsO1xuXG4gIGlmIChhbGxDb25maWcgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgeyBzZXR0aW5nczogeyB2aXRlc3Q6IHsgdHlwZWNoZWNrOiB0cnVlIH0gfSB9LFxuICAgIHtcbiAgICAgIGV4dGVuZHM6IFthbGxDb25maWddLFxuICAgICAgZmlsZXM6IFtcIioqLyoue3NwZWMsdGVzdH0udHNcIl0sXG4gICAgICBuYW1lOiBcInZpdGVzdC9jdXN0b21cIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwidml0ZXN0L2NvbnNpc3RlbnQtdGVzdC1maWxlbmFtZVwiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgcGF0dGVybjogU3RyaW5nLnJhd2AuKlxcLnNwZWNcXC5bdGpdc3g/JGAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJ2aXRlc3Qvbm8taG9va3NcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvcHJlZmVyLWV4cGVjdC1hc3NlcnRpb25zXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidml0ZXN0L3JlcXVpcmUtbW9jay10eXBlLXBhcmFtZXRlcnNcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvdW5ib3VuZC1tZXRob2RcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Linter } from "eslint";
2
- import type { ElementDescriptors, ElementTypesRuleOptions } from "eslint-plugin-boundaries";
2
+ import type { DependenciesRuleOptions, ElementDescriptors } from "eslint-plugin-boundaries";
3
3
  /** Type definition for rule data. */
4
4
  type ArchitecturePluginName = "boundaries" | "import-x";
5
5
  /** Type definition for rule data. */
@@ -7,7 +7,7 @@ interface BoundariesConfig {
7
7
  /** Repository-owned element descriptors for boundaries analysis. */
8
8
  elements: ElementDescriptors;
9
9
  /** Repository-owned dependency direction rules for boundaries analysis. */
10
- elementTypes: Linter.RuleEntry<ElementTypesRuleOptions[]>;
10
+ elementTypes: Linter.RuleEntry<DependenciesRuleOptions[]>;
11
11
  /** Files included in repository-specific boundaries analysis. */
12
12
  files: readonly string[];
13
13
  /** Optional ignore globs excluded from repository-specific boundaries analysis. */
@@ -26,7 +26,7 @@ interface ConfigOptions {
26
26
  rules?: Linter.RulesRecord;
27
27
  }
28
28
  /** Type definition for rule data. */
29
- type CorePluginName = "eslint" | "resolver" | "typescript";
29
+ type CorePluginName = "codeperfect" | "eslint" | "resolver" | "typescript";
30
30
  /** Type definition for rule data. */
31
31
  type DocumentationPluginName = "comments" | "jsdoc";
32
32
  /** Type definition for rule data. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,oEAAoE;IACpE,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE1D,iEAAiE;IACjE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzB,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,qCAAqC;AACrC,UAAU,aAAa;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC5B;AAED,qCAAqC;AACrC,KAAK,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,qCAAqC;AACrC,KAAK,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,oEAAoE;IACpE,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,2EAA2E;IAE3E,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE1D,iEAAiE;IACjE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzB,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,qCAAqC;AACrC,UAAU,aAAa;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC5B;AAED,qCAAqC;AACrC,KAAK,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3E,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,qCAAqC;AACrC,KAAK,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBFbGVtZW50RGVzY3JpcHRvcnMsXG4gIEVsZW1lbnRUeXBlc1J1bGVPcHRpb25zLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGVsZW1lbnQgZGVzY3JpcHRvcnMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRzOiBFbGVtZW50RGVzY3JpcHRvcnM7XG5cbiAgLyoqIFJlcG9zaXRvcnktb3duZWQgZGVwZW5kZW5jeSBkaXJlY3Rpb24gcnVsZXMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRUeXBlczogTGludGVyLlJ1bGVFbnRyeTxFbGVtZW50VHlwZXNSdWxlT3B0aW9uc1tdPjtcblxuICAvKiogRmlsZXMgaW5jbHVkZWQgaW4gcmVwb3NpdG9yeS1zcGVjaWZpYyBib3VuZGFyaWVzIGFuYWx5c2lzLiAqL1xuICBmaWxlczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqIE9wdGlvbmFsIGlnbm9yZSBnbG9icyBleGNsdWRlZCBmcm9tIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dCBmb3IgdGhlIG9wdGlvbmFsIGBib3VuZGFyaWVzYCBtb2R1bGUuICovXG4gIGJvdW5kYXJpZXM/OiBCb3VuZGFyaWVzQ29uZmlnO1xuXG4gIC8qKiBMaXN0IG9mIG5hbWVkIG1vZHVsZXMgdG8gZGlzYWJsZSBmcm9tIHRoZSBjb21wb3NlZCBjb25maWd1cmF0aW9uLiAqL1xuICBkaXNhYmxlZFBsdWdpbnM/OiByZWFkb25seSBQbHVnaW5OYW1lW107XG5cbiAgLyoqXG4gICAqIFJ1bGVzIHRvIGRpc2FibGUgb3Igb3ZlcnJpZGUuXG4gICAqIFVzZSAnb2ZmJyB0byBkaXNhYmxlLCBvciBwcm92aWRlIGN1c3RvbSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcnVsZXM/OiBMaW50ZXIuUnVsZXNSZWNvcmQ7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29yZVBsdWdpbk5hbWUgPSBcImVzbGludFwiIHwgXCJyZXNvbHZlclwiIHwgXCJ0eXBlc2NyaXB0XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWUgPSBcImNvbW1lbnRzXCIgfCBcImpzZG9jXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9tYWluUGx1Z2luTmFtZSA9IFwicnhqcy14XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUGx1Z2luTmFtZSA9XG4gIHwgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZVxuICB8IENvcmVQbHVnaW5OYW1lXG4gIHwgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWVcbiAgfCBEb21haW5QbHVnaW5OYW1lXG4gIHwgU3R5bGVQbHVnaW5OYW1lXG4gIHwgVGVzdGluZ1BsdWdpbk5hbWU7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgU3R5bGVQbHVnaW5OYW1lID0gXCJwZXJmZWN0aW9uaXN0XCIgfCBcInByZXR0aWVyXCIgfCBcInN0eWxpc3RpY1wiIHwgXCJ1bmljb3JuXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgVGVzdGluZ1BsdWdpbk5hbWUgPSBcImphc21pbmVcIiB8IFwiamVzdFwiIHwgXCJwbGF5d3JpZ2h0XCIgfCBcInZpdGVzdFwiO1xuXG5leHBvcnQgdHlwZSB7IEJvdW5kYXJpZXNDb25maWcsIENvbmZpZ09wdGlvbnMsIFBsdWdpbk5hbWUgfTtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBEZXBlbmRlbmNpZXNSdWxlT3B0aW9ucyxcbiAgRWxlbWVudERlc2NyaXB0b3JzLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGVsZW1lbnQgZGVzY3JpcHRvcnMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRzOiBFbGVtZW50RGVzY3JpcHRvcnM7XG5cbiAgLyoqIFJlcG9zaXRvcnktb3duZWQgZGVwZW5kZW5jeSBkaXJlY3Rpb24gcnVsZXMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHMgLS0tIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBjb3JyZWN0IHR5cGluZyBvZiB0aGUgcnVsZSBvcHRpb25zLlxuICBlbGVtZW50VHlwZXM6IExpbnRlci5SdWxlRW50cnk8RGVwZW5kZW5jaWVzUnVsZU9wdGlvbnNbXT47XG5cbiAgLyoqIEZpbGVzIGluY2x1ZGVkIGluIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgZmlsZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBPcHRpb25hbCBpZ25vcmUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5LXNwZWNpZmljIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGlnbm9yZXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbmZpZ09wdGlvbnMge1xuICAvKiogUmVwb3NpdG9yeS1vd25lZCBhcmNoaXRlY3R1cmUgaW5wdXQgZm9yIHRoZSBvcHRpb25hbCBgYm91bmRhcmllc2AgbW9kdWxlLiAqL1xuICBib3VuZGFyaWVzPzogQm91bmRhcmllc0NvbmZpZztcblxuICAvKiogTGlzdCBvZiBuYW1lZCBtb2R1bGVzIHRvIGRpc2FibGUgZnJvbSB0aGUgY29tcG9zZWQgY29uZmlndXJhdGlvbi4gKi9cbiAgZGlzYWJsZWRQbHVnaW5zPzogcmVhZG9ubHkgUGx1Z2luTmFtZVtdO1xuXG4gIC8qKlxuICAgKiBSdWxlcyB0byBkaXNhYmxlIG9yIG92ZXJyaWRlLlxuICAgKiBVc2UgJ29mZicgdG8gZGlzYWJsZSwgb3IgcHJvdmlkZSBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJ1bGVzPzogTGludGVyLlJ1bGVzUmVjb3JkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvcmVQbHVnaW5OYW1lID0gXCJjb2RlcGVyZmVjdFwiIHwgXCJlc2xpbnRcIiB8IFwicmVzb2x2ZXJcIiB8IFwidHlwZXNjcmlwdFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvY3VtZW50YXRpb25QbHVnaW5OYW1lID0gXCJjb21tZW50c1wiIHwgXCJqc2RvY1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvbWFpblBsdWdpbk5hbWUgPSBcInJ4anMteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFBsdWdpbk5hbWUgPVxuICB8IEFyY2hpdGVjdHVyZVBsdWdpbk5hbWVcbiAgfCBDb3JlUGx1Z2luTmFtZVxuICB8IERvY3VtZW50YXRpb25QbHVnaW5OYW1lXG4gIHwgRG9tYWluUGx1Z2luTmFtZVxuICB8IFN0eWxlUGx1Z2luTmFtZVxuICB8IFRlc3RpbmdQbHVnaW5OYW1lO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFN0eWxlUGx1Z2luTmFtZSA9IFwicGVyZmVjdGlvbmlzdFwiIHwgXCJwcmV0dGllclwiIHwgXCJzdHlsaXN0aWNcIiB8IFwidW5pY29yblwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFRlc3RpbmdQbHVnaW5OYW1lID0gXCJqYXNtaW5lXCIgfCBcImplc3RcIiB8IFwicGxheXdyaWdodFwiIHwgXCJ2aXRlc3RcIjtcblxuZXhwb3J0IHR5cGUgeyBCb3VuZGFyaWVzQ29uZmlnLCBDb25maWdPcHRpb25zLCBQbHVnaW5OYW1lIH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-config",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "A shareable flat ESLint config for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -70,69 +70,70 @@
70
70
  "test": "npx --yes vitest run"
71
71
  },
72
72
  "dependencies": {
73
- "minimatch": "^9.0.5"
73
+ "minimatch": "^10.2.4"
74
74
  },
75
75
  "peerDependencies": {
76
- "@eslint/js": ">=9.0.0",
77
- "eslint": ">=9.0.0",
78
- "jiti": ">=2.0.0",
79
- "typescript": ">=5.0.0",
80
- "typescript-eslint": ">=8.0.0"
76
+ "@eslint/js": "^10.0.0",
77
+ "eslint": "^10.1.0",
78
+ "jiti": "^2.6.0",
79
+ "typescript": "^5.9.0",
80
+ "typescript-eslint": "^8.57.0"
81
81
  },
82
82
  "optionalDependencies": {
83
- "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
84
- "@stylistic/eslint-plugin": "^5.7.1",
85
- "@vitest/eslint-plugin": "^1.6.6",
83
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
84
+ "@stylistic/eslint-plugin": "^5.10.0",
85
+ "@vitest/eslint-plugin": "^1.6.13",
86
86
  "eslint-import-resolver-typescript": "^4.4.4",
87
- "eslint-plugin-boundaries": "^5.3.1",
88
- "eslint-plugin-import-x": "^4.16.1",
87
+ "eslint-plugin-boundaries": "^6.0.1",
88
+ "eslint-plugin-import-x": "^4.16.2",
89
89
  "eslint-plugin-jasmine": "^4.2.2",
90
- "eslint-plugin-jest": "^29.12.1",
91
- "eslint-plugin-jsdoc": "^62.4.1",
92
- "eslint-plugin-perfectionist": "^5.4.0",
90
+ "eslint-plugin-jest": "^29.15.1",
91
+ "eslint-plugin-jsdoc": "^62.8.1",
92
+ "eslint-plugin-perfectionist": "^5.7.0",
93
93
  "eslint-plugin-prettier": "^5.5.5",
94
- "eslint-plugin-rxjs-x": "^0.8.4",
95
- "eslint-plugin-unicorn": "^62.0.0",
96
- "globals": "^17.2.0"
94
+ "eslint-plugin-rxjs-x": "^1.0.1",
95
+ "eslint-plugin-unicorn": "^64.0.0",
96
+ "globals": "^17.4.0"
97
97
  },
98
98
  "devDependencies": {
99
- "@commitlint/cli": "^20.4.1",
100
- "@commitlint/config-conventional": "^20.4.1",
101
- "@commitlint/cz-commitlint": "^20.4.1",
102
- "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
103
- "@eslint/js": "^9.39.2",
99
+ "@codeperfect/eslint-plugin": "^1.0.0",
100
+ "@commitlint/cli": "^20.5.0",
101
+ "@commitlint/config-conventional": "^20.5.0",
102
+ "@commitlint/cz-commitlint": "^20.5.0",
103
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
104
+ "@eslint/js": "^10.0.1",
104
105
  "@semantic-release/commit-analyzer": "^13.0.1",
105
106
  "@semantic-release/github": "^12.0.6",
106
107
  "@semantic-release/npm": "^13.1.5",
107
108
  "@semantic-release/release-notes-generator": "^14.1.0",
108
- "@stylistic/eslint-plugin": "^5.7.1",
109
+ "@stylistic/eslint-plugin": "^5.10.0",
109
110
  "@types/lodash-es": "^4.17.12",
110
- "@types/node": "^25.2.1",
111
- "@vitest/coverage-v8": "^4.0.18",
112
- "@vitest/eslint-plugin": "^1.6.6",
111
+ "@types/node": "^25.5.0",
112
+ "@vitest/coverage-v8": "^4.1.2",
113
+ "@vitest/eslint-plugin": "^1.6.13",
113
114
  "chalk": "^5.6.2",
114
- "conventional-changelog-conventionalcommits": "^9.1.0",
115
- "eslint": "^9.39.2",
115
+ "conventional-changelog-conventionalcommits": "^9.3.1",
116
+ "eslint": "^10.1.0",
116
117
  "eslint-config-prettier": "^10.1.8",
117
118
  "eslint-import-resolver-typescript": "^4.4.4",
118
- "eslint-plugin-boundaries": "^5.4.0",
119
- "eslint-plugin-import-x": "^4.16.1",
120
- "eslint-plugin-jsdoc": "^62.5.3",
121
- "eslint-plugin-perfectionist": "^5.5.0",
122
- "eslint-plugin-playwright": "^2.5.1",
119
+ "eslint-plugin-boundaries": "^6.0.1",
120
+ "eslint-plugin-import-x": "^4.16.2",
121
+ "eslint-plugin-jsdoc": "^62.8.1",
122
+ "eslint-plugin-perfectionist": "^5.7.0",
123
+ "eslint-plugin-playwright": "^2.10.1",
123
124
  "eslint-plugin-prettier": "^5.5.5",
124
- "eslint-plugin-unicorn": "^62.0.0",
125
- "globals": "^17.3.0",
125
+ "eslint-plugin-unicorn": "^64.0.0",
126
+ "globals": "^17.4.0",
126
127
  "husky": "^9.1.7",
127
128
  "jiti": "^2.6.1",
128
- "lint-staged": "^16.2.7",
129
+ "lint-staged": "^16.4.0",
129
130
  "lodash-es": "^4.17.23",
130
- "rimraf": "^6.1.2",
131
+ "rimraf": "^6.1.3",
131
132
  "semantic-release": "^25.0.3",
132
- "typedoc": "^0.28.17",
133
- "typedoc-plugin-markdown": "^4.10.0",
133
+ "typedoc": "^0.28.18",
134
+ "typedoc-plugin-markdown": "^4.11.0",
134
135
  "typescript": "^5.9.3",
135
- "vitest": "^4.0.18"
136
+ "vitest": "^4.1.2"
136
137
  },
137
138
  "engines": {
138
139
  "node": ">=24.0.0"
@@ -1,44 +0,0 @@
1
- /** List of supported plugin names used in config tests. */
2
- declare const allPlugins: ["eslint", "resolver", "typescript", "boundaries", "import-x", "comments", "jsdoc", "jasmine", "jest", "playwright", "vitest", "rxjs-x", "perfectionist", "prettier", "stylistic", "unicorn"];
3
- /**
4
- * Mock all plugin loaders to return empty configurations.
5
- * @example
6
- * ```typescript
7
- * mockAllEmpty();
8
- * ```
9
- */
10
- declare function mockAllEmpty(): void;
11
- /**
12
- * Mock all plugin loaders to return small sample configurations.
13
- * @example
14
- * ```typescript
15
- * mockAllEnabled();
16
- * ```
17
- */
18
- declare function mockAllEnabled(): void;
19
- /**
20
- * Mock architecture loaders so `boundaries` only activates with repository input.
21
- * @example
22
- * ```typescript
23
- * mockBoundariesAware();
24
- * ```
25
- */
26
- declare function mockBoundariesAware(): void;
27
- /**
28
- * Mock non-core plugin loaders to return empty configs.
29
- * @example
30
- * ```typescript
31
- * mockNonCoreEmpty();
32
- * ```
33
- */
34
- declare function mockNonCoreEmpty(): void;
35
- /**
36
- * Mock a config composition where required loaders succeed and one optional loader fails.
37
- * @example
38
- * ```typescript
39
- * mockOptionalResolverFailure();
40
- * ```
41
- */
42
- declare function mockOptionalResolverFailure(): void;
43
- export { allPlugins, mockAllEmpty, mockAllEnabled, mockBoundariesAware, mockNonCoreEmpty, mockOptionalResolverFailure, };
44
- //# sourceMappingURL=index-spec-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-spec-helpers.d.ts","sourceRoot":"","sources":["../src/index-spec-helpers.ts"],"names":[],"mappings":"AAOA,2DAA2D;AAC3D,QAAA,MAAM,UAAU,+LAiBiB,CAAC;AAElC;;;;;;GAMG;AACH,iBAAS,YAAY,IAAI,IAAI,CAuB5B;AAED;;;;;;GAMG;AACH,iBAAS,cAAc,IAAI,IAAI,CAuB9B;AAED;;;;;;GAMG;AACH,iBAAS,mBAAmB,IAAI,IAAI,CAwBnC;AAED;;;;;;GAMG;AACH,iBAAS,gBAAgB,IAAI,IAAI,CAyBhC;AAED;;;;;;GAMG;AACH,iBAAS,2BAA2B,IAAI,IAAI,CA2B3C;AAED,OAAO,EACL,UAAU,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,GAC5B,CAAC"}
@@ -1,175 +0,0 @@
1
- import { vi } from "vitest";
2
- /** List of supported plugin names used in config tests. */
3
- const allPlugins = [
4
- "eslint",
5
- "resolver",
6
- "typescript",
7
- "boundaries",
8
- "import-x",
9
- "comments",
10
- "jsdoc",
11
- "jasmine",
12
- "jest",
13
- "playwright",
14
- "vitest",
15
- "rxjs-x",
16
- "perfectionist",
17
- "prettier",
18
- "stylistic",
19
- "unicorn",
20
- ];
21
- /**
22
- * Mock all plugin loaders to return empty configurations.
23
- * @example
24
- * ```typescript
25
- * mockAllEmpty();
26
- * ```
27
- */
28
- function mockAllEmpty() {
29
- vi.doMock("./configs", () => ({
30
- boundaries: () => [],
31
- comments: () => [],
32
- eslint: () => [],
33
- importX: () => [],
34
- jasmine: () => [],
35
- jest: () => [],
36
- jsdoc: () => [],
37
- perfectionist: () => [],
38
- playwright: () => [],
39
- prettier: () => [],
40
- resolver: () => [],
41
- rxjsX: () => [],
42
- stylistic: () => [],
43
- typescript: () => [],
44
- unicorn: async () => {
45
- const configs = await Promise.resolve([]);
46
- return configs;
47
- },
48
- vitest: () => [],
49
- }));
50
- }
51
- /**
52
- * Mock all plugin loaders to return small sample configurations.
53
- * @example
54
- * ```typescript
55
- * mockAllEnabled();
56
- * ```
57
- */
58
- function mockAllEnabled() {
59
- vi.doMock("./configs", () => ({
60
- boundaries: () => [{ name: "architecture-boundaries" }],
61
- comments: () => [{ name: "docs-comments" }],
62
- eslint: () => [{ name: "core-eslint" }],
63
- importX: () => [{ name: "architecture-import-x" }],
64
- jasmine: () => [{ name: "testing-jasmine" }],
65
- jest: () => [{ name: "testing-jest" }],
66
- jsdoc: () => [{ name: "docs-jsdoc" }],
67
- perfectionist: () => [{ name: "style-perfectionist" }],
68
- playwright: () => [{ name: "testing-playwright" }],
69
- prettier: () => [{ name: "style-prettier" }],
70
- resolver: () => [{ name: "core-resolver" }],
71
- rxjsX: () => [{ name: "domain-rxjs" }],
72
- stylistic: () => [{ name: "style-stylistic" }],
73
- typescript: () => [{ name: "core-typescript" }],
74
- unicorn: async () => {
75
- const configs = await Promise.resolve([{ name: "style-unicorn" }]);
76
- return configs;
77
- },
78
- vitest: () => [{ name: "testing-vitest" }],
79
- }));
80
- }
81
- /**
82
- * Mock architecture loaders so `boundaries` only activates with repository input.
83
- * @example
84
- * ```typescript
85
- * mockBoundariesAware();
86
- * ```
87
- */
88
- function mockBoundariesAware() {
89
- vi.doMock("./configs", () => ({
90
- boundaries: (boundaries) => boundaries === void 0 ? [] : [{ name: "architecture-boundaries" }],
91
- comments: () => [{ name: "docs-comments" }],
92
- eslint: () => [{ name: "core-eslint" }],
93
- importX: () => [{ name: "architecture-import-x" }],
94
- jasmine: () => [{ name: "testing-jasmine" }],
95
- jest: () => [{ name: "testing-jest" }],
96
- jsdoc: () => [{ name: "docs-jsdoc" }],
97
- perfectionist: () => [{ name: "style-perfectionist" }],
98
- playwright: () => [{ name: "testing-playwright" }],
99
- prettier: () => [{ name: "style-prettier" }],
100
- resolver: () => [{ name: "core-resolver" }],
101
- rxjsX: () => [{ name: "domain-rxjs" }],
102
- stylistic: () => [{ name: "style-stylistic" }],
103
- typescript: () => [{ name: "core-typescript" }],
104
- unicorn: async () => {
105
- const configs = await Promise.resolve([{ name: "style-unicorn" }]);
106
- return configs;
107
- },
108
- vitest: () => [{ name: "testing-vitest" }],
109
- }));
110
- }
111
- /**
112
- * Mock non-core plugin loaders to return empty configs.
113
- * @example
114
- * ```typescript
115
- * mockNonCoreEmpty();
116
- * ```
117
- */
118
- function mockNonCoreEmpty() {
119
- vi.doMock("./configs", async () => {
120
- const actual = await vi.importActual("./configs");
121
- return {
122
- ...actual,
123
- boundaries: () => [],
124
- comments: () => [],
125
- importX: () => [],
126
- jasmine: () => [],
127
- jest: () => [],
128
- jsdoc: () => [],
129
- perfectionist: () => [],
130
- playwright: () => [],
131
- prettier: () => [],
132
- rxjsX: () => [],
133
- stylistic: () => [],
134
- unicorn: async () => {
135
- const configs = await Promise.resolve([]);
136
- return configs;
137
- },
138
- vitest: () => [],
139
- };
140
- });
141
- }
142
- /**
143
- * Mock a config composition where required loaders succeed and one optional loader fails.
144
- * @example
145
- * ```typescript
146
- * mockOptionalResolverFailure();
147
- * ```
148
- */
149
- function mockOptionalResolverFailure() {
150
- vi.doMock("./configs", () => {
151
- return {
152
- boundaries: () => [],
153
- comments: () => [],
154
- eslint: () => [{ name: "core-eslint" }],
155
- importX: () => [],
156
- jasmine: () => [],
157
- jest: () => [],
158
- jsdoc: () => [],
159
- perfectionist: () => [],
160
- playwright: () => [],
161
- prettier: () => [],
162
- resolver: async () => {
163
- await Promise.resolve();
164
- throw new Error("Cannot find module 'eslint-import-resolver-typescript'");
165
- },
166
- rxjsX: () => [],
167
- stylistic: () => [],
168
- typescript: () => [{ name: "core-typescript" }],
169
- unicorn: () => [],
170
- vitest: () => [],
171
- };
172
- });
173
- }
174
- export { allPlugins, mockAllEmpty, mockAllEnabled, mockBoundariesAware, mockNonCoreEmpty, mockOptionalResolverFailure, };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtc3BlYy1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LXNwZWMtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSzVCLDJEQUEyRDtBQUMzRCxNQUFNLFVBQVUsR0FBRztJQUNqQixRQUFRO0lBQ1IsVUFBVTtJQUNWLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7SUFDVixPQUFPO0lBQ1AsU0FBUztJQUNULE1BQU07SUFDTixZQUFZO0lBQ1osUUFBUTtJQUNSLFFBQVE7SUFDUixlQUFlO0lBQ2YsVUFBVTtJQUNWLFdBQVc7SUFDWCxTQUFTO0NBQ3NCLENBQUM7QUFFbEM7Ozs7OztHQU1HO0FBQ0gsU0FBUyxZQUFZO0lBQ25CLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDNUIsVUFBVSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLFFBQVEsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtRQUNuQyxNQUFNLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7UUFDakMsT0FBTyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1FBQ2xDLE9BQU8sRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtRQUNsQyxJQUFJLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7UUFDL0IsS0FBSyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1FBQ2hDLGFBQWEsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtRQUN4QyxVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7UUFDckMsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLFFBQVEsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtRQUNuQyxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7UUFDaEMsU0FBUyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1FBQ3BDLFVBQVUsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtRQUNyQyxPQUFPLEVBQUUsS0FBSyxJQUE4QixFQUFFO1lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFxQixDQUFDLENBQUM7WUFFN0QsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtLQUNsQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGNBQWM7SUFDckIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1QixVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztRQUN4RSxRQUFRLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDO1FBQ3hELE9BQU8sRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDO1FBQ25FLE9BQU8sRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBQzdELElBQUksRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUN2RCxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDdEQsYUFBYSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFDdkUsVUFBVSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLENBQUM7UUFDbkUsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFDN0QsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQzVELEtBQUssRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUN2RCxTQUFTLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUMvRCxVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUNoRSxPQUFPLEVBQUUsS0FBSyxJQUE4QixFQUFFO1lBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUVuRSxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7S0FDNUQsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyxtQkFBbUI7SUFDMUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1QixVQUFVLEVBQUUsQ0FBQyxVQUFtQixFQUFtQixFQUFFLENBQ25ELFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLENBQUM7UUFDcEUsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQzVELE1BQU0sRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUN4RCxPQUFPLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQztRQUNuRSxPQUFPLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUM3RCxJQUFJLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDdkQsS0FBSyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3RELGFBQWEsRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZFLFVBQVUsRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO1FBQ25FLFFBQVEsRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdELFFBQVEsRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUM1RCxLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDdkQsU0FBUyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDL0QsVUFBVSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDaEUsT0FBTyxFQUFFLEtBQUssSUFBOEIsRUFBRTtZQUM1QyxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFbkUsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0tBQzVELENBQUMsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMsZ0JBQWdCO0lBQ3ZCLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBdUIsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULFVBQVUsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUNyQyxRQUFRLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDbkMsT0FBTyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUNsQyxJQUFJLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDL0IsS0FBSyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLGFBQWEsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUN4QyxVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDckMsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLEtBQUssRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUNoQyxTQUFTLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDcEMsT0FBTyxFQUFFLEtBQUssSUFBOEIsRUFBRTtnQkFDNUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQXFCLENBQUMsQ0FBQztnQkFFN0QsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQztZQUNELE1BQU0sRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtTQUNsQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUywyQkFBMkI7SUFDbEMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1FBQzFCLE9BQU87WUFDTCxVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDckMsUUFBUSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sRUFBRSxHQUFvQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUN4RCxPQUFPLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ2xDLElBQUksRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUMvQixLQUFLLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDaEMsYUFBYSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ3hDLFVBQVUsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUNyQyxRQUFRLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDbkMsUUFBUSxFQUFFLEtBQUssSUFBOEIsRUFBRTtnQkFDN0MsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBRXhCLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0RBQXdELENBQ3pELENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1lBQ2hDLFNBQVMsRUFBRSxHQUFvQixFQUFFLENBQUMsRUFBRTtZQUNwQyxVQUFVLEVBQUUsR0FBb0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRSxPQUFPLEVBQUUsR0FBb0IsRUFBRSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxFQUFFLEdBQW9CLEVBQUUsQ0FBQyxFQUFFO1NBQ2xDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLEVBQ0wsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQiwyQkFBMkIsR0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyB2aSB9IGZyb20gXCJ2aXRlc3RcIjtcblxuaW1wb3J0IHR5cGUgKiBhcyBDb25maWdzTW9kdWxlIGZyb20gXCIuL2NvbmZpZ3NcIjtcbmltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKiBMaXN0IG9mIHN1cHBvcnRlZCBwbHVnaW4gbmFtZXMgdXNlZCBpbiBjb25maWcgdGVzdHMuICovXG5jb25zdCBhbGxQbHVnaW5zID0gW1xuICBcImVzbGludFwiLFxuICBcInJlc29sdmVyXCIsXG4gIFwidHlwZXNjcmlwdFwiLFxuICBcImJvdW5kYXJpZXNcIixcbiAgXCJpbXBvcnQteFwiLFxuICBcImNvbW1lbnRzXCIsXG4gIFwianNkb2NcIixcbiAgXCJqYXNtaW5lXCIsXG4gIFwiamVzdFwiLFxuICBcInBsYXl3cmlnaHRcIixcbiAgXCJ2aXRlc3RcIixcbiAgXCJyeGpzLXhcIixcbiAgXCJwZXJmZWN0aW9uaXN0XCIsXG4gIFwicHJldHRpZXJcIixcbiAgXCJzdHlsaXN0aWNcIixcbiAgXCJ1bmljb3JuXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyBQbHVnaW5OYW1lW107XG5cbi8qKlxuICogTW9jayBhbGwgcGx1Z2luIGxvYWRlcnMgdG8gcmV0dXJuIGVtcHR5IGNvbmZpZ3VyYXRpb25zLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1vY2tBbGxFbXB0eSgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1vY2tBbGxFbXB0eSgpOiB2b2lkIHtcbiAgdmkuZG9Nb2NrKFwiLi9jb25maWdzXCIsICgpID0+ICh7XG4gICAgYm91bmRhcmllczogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICBjb21tZW50czogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICBlc2xpbnQ6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgaW1wb3J0WDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICBqYXNtaW5lOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIGplc3Q6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAganNkb2M6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgcGVyZmVjdGlvbmlzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICBwbGF5d3JpZ2h0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIHByZXR0aWVyOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIHJlc29sdmVyOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIHJ4anNYOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIHN0eWxpc3RpYzogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICB0eXBlc2NyaXB0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIHVuaWNvcm46IGFzeW5jICgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4gPT4ge1xuICAgICAgY29uc3QgY29uZmlncyA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShbXSBhcyBMaW50ZXIuQ29uZmlnW10pO1xuXG4gICAgICByZXR1cm4gY29uZmlncztcbiAgICB9LFxuICAgIHZpdGVzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgfSkpO1xufVxuXG4vKipcbiAqIE1vY2sgYWxsIHBsdWdpbiBsb2FkZXJzIHRvIHJldHVybiBzbWFsbCBzYW1wbGUgY29uZmlndXJhdGlvbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbW9ja0FsbEVuYWJsZWQoKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBtb2NrQWxsRW5hYmxlZCgpOiB2b2lkIHtcbiAgdmkuZG9Nb2NrKFwiLi9jb25maWdzXCIsICgpID0+ICh7XG4gICAgYm91bmRhcmllczogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImFyY2hpdGVjdHVyZS1ib3VuZGFyaWVzXCIgfV0sXG4gICAgY29tbWVudHM6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJkb2NzLWNvbW1lbnRzXCIgfV0sXG4gICAgZXNsaW50OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwiY29yZS1lc2xpbnRcIiB9XSxcbiAgICBpbXBvcnRYOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwiYXJjaGl0ZWN0dXJlLWltcG9ydC14XCIgfV0sXG4gICAgamFzbWluZTogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInRlc3RpbmctamFzbWluZVwiIH1dLFxuICAgIGplc3Q6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJ0ZXN0aW5nLWplc3RcIiB9XSxcbiAgICBqc2RvYzogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImRvY3MtanNkb2NcIiB9XSxcbiAgICBwZXJmZWN0aW9uaXN0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwic3R5bGUtcGVyZmVjdGlvbmlzdFwiIH1dLFxuICAgIHBsYXl3cmlnaHQ6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJ0ZXN0aW5nLXBsYXl3cmlnaHRcIiB9XSxcbiAgICBwcmV0dGllcjogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInN0eWxlLXByZXR0aWVyXCIgfV0sXG4gICAgcmVzb2x2ZXI6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJjb3JlLXJlc29sdmVyXCIgfV0sXG4gICAgcnhqc1g6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJkb21haW4tcnhqc1wiIH1dLFxuICAgIHN0eWxpc3RpYzogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInN0eWxlLXN0eWxpc3RpY1wiIH1dLFxuICAgIHR5cGVzY3JpcHQ6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJjb3JlLXR5cGVzY3JpcHRcIiB9XSxcbiAgICB1bmljb3JuOiBhc3luYyAoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+ID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZ3MgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoW3sgbmFtZTogXCJzdHlsZS11bmljb3JuXCIgfV0pO1xuXG4gICAgICByZXR1cm4gY29uZmlncztcbiAgICB9LFxuICAgIHZpdGVzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInRlc3Rpbmctdml0ZXN0XCIgfV0sXG4gIH0pKTtcbn1cblxuLyoqXG4gKiBNb2NrIGFyY2hpdGVjdHVyZSBsb2FkZXJzIHNvIGBib3VuZGFyaWVzYCBvbmx5IGFjdGl2YXRlcyB3aXRoIHJlcG9zaXRvcnkgaW5wdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbW9ja0JvdW5kYXJpZXNBd2FyZSgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1vY2tCb3VuZGFyaWVzQXdhcmUoKTogdm9pZCB7XG4gIHZpLmRvTW9jayhcIi4vY29uZmlnc1wiLCAoKSA9PiAoe1xuICAgIGJvdW5kYXJpZXM6IChib3VuZGFyaWVzOiB1bmtub3duKTogTGludGVyLkNvbmZpZ1tdID0+XG4gICAgICBib3VuZGFyaWVzID09PSB2b2lkIDAgPyBbXSA6IFt7IG5hbWU6IFwiYXJjaGl0ZWN0dXJlLWJvdW5kYXJpZXNcIiB9XSxcbiAgICBjb21tZW50czogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImRvY3MtY29tbWVudHNcIiB9XSxcbiAgICBlc2xpbnQ6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJjb3JlLWVzbGludFwiIH1dLFxuICAgIGltcG9ydFg6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJhcmNoaXRlY3R1cmUtaW1wb3J0LXhcIiB9XSxcbiAgICBqYXNtaW5lOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwidGVzdGluZy1qYXNtaW5lXCIgfV0sXG4gICAgamVzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInRlc3RpbmctamVzdFwiIH1dLFxuICAgIGpzZG9jOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwiZG9jcy1qc2RvY1wiIH1dLFxuICAgIHBlcmZlY3Rpb25pc3Q6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW3sgbmFtZTogXCJzdHlsZS1wZXJmZWN0aW9uaXN0XCIgfV0sXG4gICAgcGxheXdyaWdodDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcInRlc3RpbmctcGxheXdyaWdodFwiIH1dLFxuICAgIHByZXR0aWVyOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwic3R5bGUtcHJldHRpZXJcIiB9XSxcbiAgICByZXNvbHZlcjogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImNvcmUtcmVzb2x2ZXJcIiB9XSxcbiAgICByeGpzWDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImRvbWFpbi1yeGpzXCIgfV0sXG4gICAgc3R5bGlzdGljOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwic3R5bGUtc3R5bGlzdGljXCIgfV0sXG4gICAgdHlwZXNjcmlwdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbeyBuYW1lOiBcImNvcmUtdHlwZXNjcmlwdFwiIH1dLFxuICAgIHVuaWNvcm46IGFzeW5jICgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4gPT4ge1xuICAgICAgY29uc3QgY29uZmlncyA9IGF3YWl0IFByb21pc2UucmVzb2x2ZShbeyBuYW1lOiBcInN0eWxlLXVuaWNvcm5cIiB9XSk7XG5cbiAgICAgIHJldHVybiBjb25maWdzO1xuICAgIH0sXG4gICAgdml0ZXN0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwidGVzdGluZy12aXRlc3RcIiB9XSxcbiAgfSkpO1xufVxuXG4vKipcbiAqIE1vY2sgbm9uLWNvcmUgcGx1Z2luIGxvYWRlcnMgdG8gcmV0dXJuIGVtcHR5IGNvbmZpZ3MuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbW9ja05vbkNvcmVFbXB0eSgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1vY2tOb25Db3JlRW1wdHkoKTogdm9pZCB7XG4gIHZpLmRvTW9jayhcIi4vY29uZmlnc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgYWN0dWFsID0gYXdhaXQgdmkuaW1wb3J0QWN0dWFsPHR5cGVvZiBDb25maWdzTW9kdWxlPihcIi4vY29uZmlnc1wiKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY3R1YWwsXG4gICAgICBib3VuZGFyaWVzOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgY29tbWVudHM6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBpbXBvcnRYOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgamFzbWluZTogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIGplc3Q6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBqc2RvYzogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIHBlcmZlY3Rpb25pc3Q6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBwbGF5d3JpZ2h0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgcHJldHRpZXI6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICByeGpzWDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIHN0eWxpc3RpYzogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIHVuaWNvcm46IGFzeW5jICgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4gPT4ge1xuICAgICAgICBjb25zdCBjb25maWdzID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKFtdIGFzIExpbnRlci5Db25maWdbXSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbmZpZ3M7XG4gICAgICB9LFxuICAgICAgdml0ZXN0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIH07XG4gIH0pO1xufVxuXG4vKipcbiAqIE1vY2sgYSBjb25maWcgY29tcG9zaXRpb24gd2hlcmUgcmVxdWlyZWQgbG9hZGVycyBzdWNjZWVkIGFuZCBvbmUgb3B0aW9uYWwgbG9hZGVyIGZhaWxzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1vY2tPcHRpb25hbFJlc29sdmVyRmFpbHVyZSgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1vY2tPcHRpb25hbFJlc29sdmVyRmFpbHVyZSgpOiB2b2lkIHtcbiAgdmkuZG9Nb2NrKFwiLi9jb25maWdzXCIsICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgYm91bmRhcmllczogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIGNvbW1lbnRzOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgZXNsaW50OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwiY29yZS1lc2xpbnRcIiB9XSxcbiAgICAgIGltcG9ydFg6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBqYXNtaW5lOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgamVzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIGpzZG9jOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgcGVyZmVjdGlvbmlzdDogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIHBsYXl3cmlnaHQ6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBwcmV0dGllcjogKCk6IExpbnRlci5Db25maWdbXSA9PiBbXSxcbiAgICAgIHJlc29sdmVyOiBhc3luYyAoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+ID0+IHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiQ2Fubm90IGZpbmQgbW9kdWxlICdlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXR5cGVzY3JpcHQnXCIsXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgcnhqc1g6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICBzdHlsaXN0aWM6ICgpOiBMaW50ZXIuQ29uZmlnW10gPT4gW10sXG4gICAgICB0eXBlc2NyaXB0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFt7IG5hbWU6IFwiY29yZS10eXBlc2NyaXB0XCIgfV0sXG4gICAgICB1bmljb3JuOiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgICAgdml0ZXN0OiAoKTogTGludGVyLkNvbmZpZ1tdID0+IFtdLFxuICAgIH07XG4gIH0pO1xufVxuXG5leHBvcnQge1xuICBhbGxQbHVnaW5zLFxuICBtb2NrQWxsRW1wdHksXG4gIG1vY2tBbGxFbmFibGVkLFxuICBtb2NrQm91bmRhcmllc0F3YXJlLFxuICBtb2NrTm9uQ29yZUVtcHR5LFxuICBtb2NrT3B0aW9uYWxSZXNvbHZlckZhaWx1cmUsXG59O1xuIl19