@codeperfect/eslint-config 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
- package/dist/infrastructure/architecture/import-x.d.ts.map +1 -1
- package/dist/infrastructure/architecture/import-x.js +3 -4
- package/dist/infrastructure/core/eslint.d.ts.map +1 -1
- package/dist/infrastructure/core/eslint.js +6 -2
- package/dist/infrastructure/core/typescript.js +2 -2
- package/dist/infrastructure/docs/jsdoc-config.d.ts +14 -0
- package/dist/infrastructure/docs/jsdoc-config.d.ts.map +1 -0
- package/dist/infrastructure/docs/jsdoc-config.js +126 -0
- package/dist/infrastructure/docs/jsdoc.d.ts.map +1 -1
- package/dist/infrastructure/docs/jsdoc.js +4 -115
- package/dist/infrastructure/rxjs-x.js +2 -2
- package/dist/infrastructure/testing/jasmine.d.ts.map +1 -1
- package/dist/infrastructure/testing/jasmine.js +2 -3
- package/package.json +39 -35
package/dist/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/domain/config-composition.ts","../src/domain/index.ts","../src/domain/module-taxonomy.ts","../src/domain/types.ts","../src/infrastructure/config-factory.ts","../src/infrastructure/diagnostics.ts","../src/infrastructure/index.ts","../src/infrastructure/plugin-loaders.ts","../src/infrastructure/plugin-state.ts","../src/infrastructure/rxjs-x.ts","../src/infrastructure/utilities.ts","../src/infrastructure/architecture/boundaries.ts","../src/infrastructure/architecture/import-x.ts","../src/infrastructure/architecture/index.ts","../src/infrastructure/configs/index.ts","../src/infrastructure/core/codeperfect.ts","../src/infrastructure/core/eslint.ts","../src/infrastructure/core/index.ts","../src/infrastructure/core/resolver.ts","../src/infrastructure/core/typescript.ts","../src/infrastructure/docs/comments.ts","../src/infrastructure/docs/index.ts","../src/infrastructure/docs/jsdoc.ts","../src/infrastructure/style/index.ts","../src/infrastructure/style/perfectionist.ts","../src/infrastructure/style/prettier.ts","../src/infrastructure/style/stylistic.ts","../src/infrastructure/style/unicorn.ts","../src/infrastructure/testing/index.ts","../src/infrastructure/testing/jasmine.ts","../src/infrastructure/testing/jest.ts","../src/infrastructure/testing/playwright.ts","../src/infrastructure/testing/vitest.ts","../conventional-changelog-conventionalcommits.d.ts","../eslint-plugin-jasmine.d.ts"],"version":"
|
|
1
|
+
{"root":["../src/index.ts","../src/domain/config-composition.ts","../src/domain/index.ts","../src/domain/module-taxonomy.ts","../src/domain/types.ts","../src/infrastructure/config-factory.ts","../src/infrastructure/diagnostics.ts","../src/infrastructure/index.ts","../src/infrastructure/plugin-loaders.ts","../src/infrastructure/plugin-state.ts","../src/infrastructure/rxjs-x.ts","../src/infrastructure/utilities.ts","../src/infrastructure/architecture/boundaries.ts","../src/infrastructure/architecture/import-x.ts","../src/infrastructure/architecture/index.ts","../src/infrastructure/configs/index.ts","../src/infrastructure/core/codeperfect.ts","../src/infrastructure/core/eslint.ts","../src/infrastructure/core/index.ts","../src/infrastructure/core/resolver.ts","../src/infrastructure/core/typescript.ts","../src/infrastructure/docs/comments.ts","../src/infrastructure/docs/index.ts","../src/infrastructure/docs/jsdoc-config.ts","../src/infrastructure/docs/jsdoc.ts","../src/infrastructure/style/index.ts","../src/infrastructure/style/perfectionist.ts","../src/infrastructure/style/prettier.ts","../src/infrastructure/style/stylistic.ts","../src/infrastructure/style/unicorn.ts","../src/infrastructure/testing/index.ts","../src/infrastructure/testing/jasmine.ts","../src/infrastructure/testing/jest.ts","../src/infrastructure/testing/playwright.ts","../src/infrastructure/testing/vitest.ts","../conventional-changelog-conventionalcommits.d.ts","../eslint-plugin-jasmine.d.ts"],"version":"6.0.3"}
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAoDrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAmCjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -13,7 +13,6 @@ async function buildCustomErrorRules() {
|
|
|
13
13
|
const { recommended, typescript, warnings } = flatConfigs;
|
|
14
14
|
const customIgnore = new Set([
|
|
15
15
|
"dynamic-import-chunkname",
|
|
16
|
-
"no-default-export",
|
|
17
16
|
"no-deprecated",
|
|
18
17
|
"no-named-export",
|
|
19
18
|
"no-namespace",
|
|
@@ -69,12 +68,12 @@ async function importX() {
|
|
|
69
68
|
],
|
|
70
69
|
},
|
|
71
70
|
}, {
|
|
72
|
-
|
|
71
|
+
files: ["*", "packages/*/*"],
|
|
73
72
|
name: "import-x/custom-root-config-files",
|
|
74
73
|
rules: {
|
|
75
|
-
"import-x/no-default-export": "
|
|
74
|
+
"import-x/no-default-export": "off",
|
|
76
75
|
},
|
|
77
76
|
});
|
|
78
77
|
}
|
|
79
78
|
export { importX };
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUN0RSxNQUFNLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFFMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDM0IsMEJBQTBCO1FBQzFCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixPQUFPO1FBQ1AsdUJBQXVCO0tBQ3hCLENBQUMsQ0FBQztJQUVILE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUN4QixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUNGLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNmLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztTQUNqQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBVSxDQUFDLENBQzNDLENBQUM7SUFFRixPQUFPO1FBQ0wsUUFBeUI7UUFDekIsV0FBNEI7UUFDNUIsVUFBMkI7UUFDM0I7WUFDRSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxXQUFXO1NBQ25CO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLE9BQU87SUFDcEIsT0FBTyxZQUFZLENBQ2pCLEdBQUcsQ0FBQyxNQUFNLHFCQUFxQixFQUFFLENBQUMsRUFDbEM7UUFDRSxJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLEtBQUssRUFBRTtZQUNMLHFDQUFxQyxFQUFFLEtBQUs7WUFDNUMsc0JBQXNCLEVBQUUsS0FBSztTQUM5QjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLEtBQUssRUFBRTtZQUNMLDhCQUE4QixFQUFFO2dCQUM5QixPQUFPO2dCQUNQO29CQUNFLEtBQUssRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGlDQUFpQzt3QkFDakMsb0NBQW9DO3dCQUNwQyxlQUFlO3dCQUNmLHlEQUF5RDtxQkFDMUQ7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUU7WUFDTCw0QkFBNEIsRUFBRSxLQUFLO1NBQ3BDO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGN1c3RvbSBlcnJvciBydWxlcyBmb3IgaW1wb3J0LXggcGx1Z2luIGJ5IGV4Y2x1ZGluZyBjZXJ0YWluIHJ1bGVzXG4gKiBhbmQgZW5zdXJpbmcgbm8gb3ZlcmxhcCB3aXRoIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBidWlsZEN1c3RvbUVycm9yUnVsZXMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBmbGF0Q29uZmlncywgcnVsZXMgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICBjb25zdCBjdXN0b21JZ25vcmUgPSBuZXcgU2V0KFtcbiAgICBcImR5bmFtaWMtaW1wb3J0LWNodW5rbmFtZVwiLFxuICAgIFwibm8tZGVwcmVjYXRlZFwiLFxuICAgIFwibm8tbmFtZWQtZXhwb3J0XCIsXG4gICAgXCJuby1uYW1lc3BhY2VcIixcbiAgICBcIm5vLXVudXNlZC1tb2R1bGVzXCIsXG4gICAgXCJvcmRlclwiLFxuICAgIFwicHJlZmVyLWRlZmF1bHQtZXhwb3J0XCIsXG4gIF0pO1xuXG4gIGNvbnN0IGFsbENvbmZpZ3MgPSBuZXcgU2V0KFxuICAgIFt3YXJuaW5ncywgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHRdLmZsYXRNYXAoKGNvbmZpZykgPT5cbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZy5ydWxlcyA/PyB7fSksXG4gICAgKSxcbiAgKTtcblxuICBjb25zdCBjdXN0b21FcnJvciA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhydWxlcylcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFjdXN0b21JZ25vcmUuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gYGltcG9ydC14LyR7cnVsZX1gKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWFsbENvbmZpZ3MuaGFzKHJ1bGUpKVxuICAgICAgLm1hcCgocnVsZSkgPT4gW3J1bGUsIFwiZXJyb3JcIl0gYXMgY29uc3QpLFxuICApO1xuXG4gIHJldHVybiBbXG4gICAgd2FybmluZ3MgYXMgTGludGVyLkNvbmZpZyxcbiAgICByZWNvbW1lbmRlZCBhcyBMaW50ZXIuQ29uZmlnLFxuICAgIHR5cGVzY3JpcHQgYXMgTGludGVyLkNvbmZpZyxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1lcnJvclwiLFxuICAgICAgcnVsZXM6IGN1c3RvbUVycm9yLFxuICAgIH0sXG4gIF07XG59XG5cbi8qKlxuICogTG9hZHMgdGhlIGltcG9ydC14IHBsdWdpbiBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBpbXBvcnRYKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW1wb3J0WCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIC4uLihhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKSksXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgICBcImltcG9ydC14L3VuYW1iaWd1b3VzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tbm9kZV9tb2R1bGVzXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLWludGVybmFsLW1vZHVsZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGxvdzogW1xuICAgICAgICAgICAgICBcImVzbGludC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJlc2xpbnQtcGx1Z2luLWJvdW5kYXJpZXMvY29uZmlnXCIsXG4gICAgICAgICAgICAgIFwiZXNsaW50LXBsdWdpbi1wcmV0dGllci9yZWNvbW1lbmRlZFwiLFxuICAgICAgICAgICAgICBcInZpdGVzdC9jb25maWdcIixcbiAgICAgICAgICAgICAgXCJAZXNsaW50LWNvbW11bml0eS9lc2xpbnQtcGx1Z2luLWVzbGludC1jb21tZW50cy9jb25maWdzXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcIipcIiwgXCJwYWNrYWdlcy8qLypcIl0sXG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1yb290LWNvbmZpZy1maWxlc1wiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgeyBpbXBvcnRYIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/core/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA8BrC;;;;;;;;GAQG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/core/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA8BrC;;;;;;;;GAQG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAuCxC"}
|
|
@@ -43,11 +43,15 @@ export function eslint() {
|
|
|
43
43
|
"no-duplicate-imports": ["error", { allowSeparateTypeImports: true }],
|
|
44
44
|
},
|
|
45
45
|
}, {
|
|
46
|
-
files: ["**/*.spec.ts"],
|
|
46
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
47
47
|
name: "@eslint/js/custom-spec",
|
|
48
48
|
rules: {
|
|
49
49
|
"init-declarations": "off",
|
|
50
50
|
"max-lines-per-function": "off",
|
|
51
|
+
"unicorn/prevent-abbreviations": [
|
|
52
|
+
"error",
|
|
53
|
+
{ ignore: [String.raw `\.e2e$`] },
|
|
54
|
+
],
|
|
51
55
|
},
|
|
52
56
|
}, {
|
|
53
57
|
files: ["scripts/*.ts"],
|
|
@@ -55,4 +59,4 @@ export function eslint() {
|
|
|
55
59
|
rules: { "no-console": "off" },
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvcmUvZXNsaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQseUNBQXlDO0FBQ3pDLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzNCLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLFNBQVM7SUFDVCxxQkFBcUI7SUFDckIsU0FBUztJQUNULGNBQWM7Q0FDZixDQUFDLENBQUM7QUFFSCw0Q0FBNEM7QUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFcEUsb0RBQW9EO0FBQ3BELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7S0FDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDeEMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQVUsQ0FBQyxDQUMzQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsTUFBTTtJQUNwQixPQUFPLFlBQVksQ0FDakIsT0FBTyxDQUFDLFdBQVcsRUFDbkIsYUFBYSxDQUNYLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFDdEMsb0NBQW9DLENBQ3JDLEVBQ0Q7UUFDRSxhQUFhLEVBQUU7WUFDYiw2QkFBNkIsRUFBRSxPQUFPO1lBQ3RDLHlCQUF5QixFQUFFLE9BQU87U0FDbkM7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUU7WUFDTCxHQUFHLFdBQVc7WUFDZCxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN4RCxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3RFO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUM7UUFDdEMsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixLQUFLLEVBQUU7WUFDTCxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsK0JBQStCLEVBQUU7Z0JBQy9CLE9BQU87Z0JBQ1AsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFBLFFBQVEsQ0FBQyxFQUFFO2FBQ2pDO1NBQ0Y7S0FDRixFQUNEO1FBQ0UsS0FBSyxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3ZCLElBQUksRUFBRSwyQkFBMkI7UUFDakMsS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTtLQUMvQixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGNvbmZpZ3MgfSBmcm9tIFwiQGVzbGludC9qc1wiO1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBnbG9iYWxJZ25vcmVzIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIFJ1bGVzIGV4Y2x1ZGVkIGZyb20gY3VzdG9tIGVycm9ycy4gKi9cbmNvbnN0IGN1c3RvbUlnbm9yZSA9IG5ldyBTZXQoW1xuICBcImNhcGl0YWxpemVkLWNvbW1lbnRzXCIsXG4gIFwiZnVuYy1zdHlsZVwiLFxuICBcIm5vLW1hZ2ljLW51bWJlcnNcIixcbiAgXCJuby10ZXJuYXJ5XCIsXG4gIFwibm8tdW51c2VkLXZhcnNcIixcbiAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiLFxuICBcIm5vLXZvaWRcIixcbiAgXCJuby13YXJuaW5nLWNvbW1lbnRzXCIsXG4gIFwib25lLXZhclwiLFxuICBcInNvcnQtaW1wb3J0c1wiLFxuXSk7XG5cbi8qKiBSdWxlcyBpbmNsdWRlZCBpbiBlc2xpbnQ6cmVjb21tZW5kZWQuICovXG5jb25zdCByZWNvbW1lbmRlZCA9IG5ldyBTZXQoT2JqZWN0LmtleXMoY29uZmlncy5yZWNvbW1lbmRlZC5ydWxlcykpO1xuXG4vKiogRXJyb3IgcnVsZXMgZXhjbHVkaW5nIGlnbm9yZWQgb3IgcmVjb21tZW5kZWQuICovXG5jb25zdCBjdXN0b21FcnJvciA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgT2JqZWN0LmtleXMoY29uZmlncy5hbGwucnVsZXMpXG4gICAgLmZpbHRlcigocnVsZSkgPT4gIWN1c3RvbUlnbm9yZS5oYXMocnVsZSkpXG4gICAgLmZpbHRlcigocnVsZSkgPT4gIXJlY29tbWVuZGVkLmhhcyhydWxlKSlcbiAgICAubWFwKChydWxlKSA9PiBbcnVsZSwgXCJlcnJvclwiXSBhcyBjb25zdCksXG4pO1xuXG4vKipcbiAqIEFzc2VtYmxlIGJhc2UgY29uZmlndXJhdGlvbiBjb21iaW5pbmcgdGhlIG9mZmljaWFsIGVzbGludC1qcyByZWNvbW1lbmRhdGlvbnMgd2l0aFxuICogcHJvamVjdC1zcGVjaWZpYyBvdmVycmlkZXMgYW5kIGxpbnRlciBvcHRpb25zLlxuICogQHJldHVybnMgQmFzZSBFU0xpbnQgY29uZmlnIGFycmF5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGJhc2UgPSBlc2xpbnQoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNsaW50KCk6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgY29uZmlncy5yZWNvbW1lbmRlZCxcbiAgICBnbG9iYWxJZ25vcmVzKFxuICAgICAgW1wiKiovZGlzdC8qKlwiLCBcImRvY3MvXCIsIFwiKiovY292ZXJhZ2VcIl0sXG4gICAgICBcIkBlc2xpbnQvanMvY3VzdG9tLWlnbm9yZS1kaXJlY3RvcnlcIixcbiAgICApLFxuICAgIHtcbiAgICAgIGxpbnRlck9wdGlvbnM6IHtcbiAgICAgICAgcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXM6IFwiZXJyb3JcIixcbiAgICAgICAgcmVwb3J0VW51c2VkSW5saW5lQ29uZmlnczogXCJlcnJvclwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IFwiQGVzbGludC9qcy9jdXN0b21cIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIC4uLmN1c3RvbUVycm9yLFxuICAgICAgICBcIm5ldy1jYXBcIjogW1wiZXJyb3JcIiwgeyBjYXBJc05ld0V4Y2VwdGlvblBhdHRlcm46IFwiXkBcIiB9XSxcbiAgICAgICAgXCJuby1kdXBsaWNhdGUtaW1wb3J0c1wiOiBbXCJlcnJvclwiLCB7IGFsbG93U2VwYXJhdGVUeXBlSW1wb3J0czogdHJ1ZSB9XSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogW1wiKiovKi5zcGVjLnRzXCIsIFwiKiovKi5lMmUudHNcIl0sXG4gICAgICBuYW1lOiBcIkBlc2xpbnQvanMvY3VzdG9tLXNwZWNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJvZmZcIixcbiAgICAgICAgXCJtYXgtbGluZXMtcGVyLWZ1bmN0aW9uXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidW5pY29ybi9wcmV2ZW50LWFiYnJldmlhdGlvbnNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IGlnbm9yZTogW1N0cmluZy5yYXdgXFwuZTJlJGBdIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcInNjcmlwdHMvKi50c1wiXSxcbiAgICAgIG5hbWU6IFwiQGVzbGludC9qcy9jdXN0b20tc2NyaXB0c1wiLFxuICAgICAgcnVsZXM6IHsgXCJuby1jb25zb2xlXCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICApO1xufVxuIl19
|
|
@@ -52,7 +52,7 @@ export async function typescript() {
|
|
|
52
52
|
"@typescript-eslint/prefer-readonly-parameter-types": "off",
|
|
53
53
|
},
|
|
54
54
|
}, {
|
|
55
|
-
files: ["**/*.spec.ts"],
|
|
55
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
56
56
|
name: "@typescript-eslint/custom-spec",
|
|
57
57
|
rules: {
|
|
58
58
|
"@typescript-eslint/init-declarations": "off",
|
|
@@ -60,4 +60,4 @@ export async function typescript() {
|
|
|
60
60
|
},
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9jb3JlL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qyx3Q0FBd0M7QUFDeEMsTUFBTSxHQUFHLEdBQUc7SUFDVixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLGlCQUFpQjtJQUNqQiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUVGLDBDQUEwQztBQUMxQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNsQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxLQUFLLENBQVUsQ0FBQyxDQUNsRSxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVTtJQUM5QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXhCLE9BQU8sWUFBWSxDQUNqQixHQUFHLEVBQ0g7UUFDRSxlQUFlLEVBQUU7WUFDZixhQUFhLEVBQUU7Z0JBQ2IsY0FBYyxFQUFFLElBQUk7YUFDckI7U0FDRjtLQUNGLEVBQ0Q7UUFDRSxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLEtBQUssRUFBRTtZQUNMLEdBQUcsU0FBUztZQUNaLCtDQUErQyxFQUFFO2dCQUMvQyxPQUFPO2dCQUNQO29CQUNFLGlCQUFpQixFQUFFLEtBQUs7b0JBQ3hCLG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLFdBQVcsRUFBRSxLQUFLO29CQUNsQixXQUFXLEVBQUUsS0FBSztpQkFDbkI7YUFDRjtZQUNELHVDQUF1QyxFQUFFO2dCQUN2QyxPQUFPO2dCQUNQLEVBQUUsZ0NBQWdDLEVBQUUsSUFBSSxFQUFFO2FBQzNDO1NBQ0Y7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxLQUFLLEVBQUU7WUFDTCxvREFBb0QsRUFBRSxLQUFLO1NBQzVEO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUM7UUFDdEMsSUFBSSxFQUFFLGdDQUFnQztRQUN0QyxLQUFLLEVBQUU7WUFDTCxzQ0FBc0MsRUFBRSxLQUFLO1lBQzdDLG1DQUFtQyxFQUFFLEtBQUs7U0FDM0M7S0FDRixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XHJcblxyXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xyXG5cclxuLyoqIFR5cGVTY3JpcHQgcnVsZSBuYW1lcyB0byBkaXNhYmxlLiAqL1xyXG5jb25zdCBvZmYgPSBbXHJcbiAgXCJuby1tYWdpYy1udW1iZXJzXCIsXHJcbiAgXCJuby10eXBlLWFsaWFzXCIsXHJcbiAgXCJzb3J0LXR5cGUtY29uc3RpdHVlbnRzXCIsXHJcbiAgXCJuYW1pbmctY29udmVudGlvblwiLFxyXG4gIFwibm8tdXNlLWJlZm9yZS1kZWZpbmVcIixcclxuICBcIm1lbWJlci1vcmRlcmluZ1wiLFxyXG4gIFwibm8tdW5zYWZlLXR5cGUtYXNzZXJ0aW9uXCIsXHJcbl07XHJcblxyXG4vKiogVHlwZVNjcmlwdCBydWxlcyBkaXNhYmxlZCBhcyBhIG1hcC4gKi9cclxuY29uc3QgY3VzdG9tT2ZmID0gT2JqZWN0LmZyb21FbnRyaWVzKFxyXG4gIG9mZi5tYXAoKHJ1bGUpID0+IFtgQHR5cGVzY3JpcHQtZXNsaW50LyR7cnVsZX1gLCBcIm9mZlwiXSBhcyBjb25zdCksXHJcbik7XHJcblxyXG4vKipcclxuICogQnVpbGQgYW5kIHJldHVybiBUeXBlU2NyaXB0LXNwZWNpZmljIEVTTGludCBjb25maWdzIGFuZCBydWxlIGFkanVzdG1lbnRzLlxyXG4gKiBAcmV0dXJucyBUaGUgVHlwZVNjcmlwdCBFU0xpbnQgY29uZmlnIGFycmF5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHR5cGVzY3JpcHRDb25maWdzID0gYXdhaXQgdHlwZXNjcmlwdCgpO1xyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0eXBlc2NyaXB0KCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XHJcbiAgY29uc3QgeyBjb25maWdzIH0gPSBhd2FpdCBpbXBvcnQoXCJ0eXBlc2NyaXB0LWVzbGludFwiKTtcclxuICBjb25zdCB7IGFsbCB9ID0gY29uZmlncztcclxuXHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcclxuICAgIGFsbCxcclxuICAgIHtcclxuICAgICAgbGFuZ3VhZ2VPcHRpb25zOiB7XHJcbiAgICAgICAgcGFyc2VyT3B0aW9uczoge1xyXG4gICAgICAgICAgcHJvamVjdFNlcnZpY2U6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2N1c3RvbVwiLFxyXG4gICAgICBydWxlczoge1xyXG4gICAgICAgIC4uLmN1c3RvbU9mZixcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zdHJpY3QtYm9vbGVhbi1leHByZXNzaW9uc1wiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGFsbG93TnVsbGFibGVFbnVtOiBmYWxzZSxcclxuICAgICAgICAgICAgYWxsb3dOdWxsYWJsZU9iamVjdDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFsbG93TnVtYmVyOiBmYWxzZSxcclxuICAgICAgICAgICAgYWxsb3dTdHJpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7IGlnbm9yZURpZmZlcmVudGx5TmFtZWRQYXJhbWV0ZXJzOiB0cnVlIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2N1c3RvbS1jb21wYXRcIixcclxuICAgICAgcnVsZXM6IHtcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHktcGFyYW1ldGVyLXR5cGVzXCI6IFwib2ZmXCIsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBmaWxlczogW1wiKiovKi5zcGVjLnRzXCIsIFwiKiovKi5lMmUudHNcIl0sXHJcbiAgICAgIG5hbWU6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2N1c3RvbS1zcGVjXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJvZmZcIixcclxuICAgICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcIm9mZlwiLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICApO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Linter } from "eslint";
|
|
2
|
+
/**
|
|
3
|
+
* Build the repo's final JSDoc configs from an upstream plugin shape.
|
|
4
|
+
* @param configs Upstream JSDoc config map.
|
|
5
|
+
* @param rules Upstream JSDoc rules map.
|
|
6
|
+
* @returns The final ESLint config array.
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* console.log(createJsdocConfigs({}, {}).length);
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
declare function createJsdocConfigs(configs: Record<string, unknown>, rules: Record<string, unknown> | undefined): Linter.Config[];
|
|
13
|
+
export { createJsdocConfigs };
|
|
14
|
+
//# sourceMappingURL=jsdoc-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsdoc-config.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/docs/jsdoc-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmIrC;;;;;;;;;GASG;AACH,iBAAS,kBAAkB,CACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,MAAM,CAAC,MAAM,EAAE,CAMjB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
];
|
|
10
|
+
/** Repo-owned JSDoc rules enabled when the plugin exposes them. */
|
|
11
|
+
const jsdocErrorRuleNames = [
|
|
12
|
+
"check-indentation",
|
|
13
|
+
"convert-to-jsdoc-comments",
|
|
14
|
+
"require-description",
|
|
15
|
+
"require-description-complete-sentence",
|
|
16
|
+
"require-template",
|
|
17
|
+
"require-throws",
|
|
18
|
+
"sort-tags",
|
|
19
|
+
];
|
|
20
|
+
/** AST contexts that must include JSDoc. */
|
|
21
|
+
const requireJsdocContexts = [
|
|
22
|
+
"Program > FunctionDeclaration",
|
|
23
|
+
"Program > ExportDefaultDeclaration > FunctionDeclaration",
|
|
24
|
+
"Program > ExportNamedDeclaration > FunctionDeclaration",
|
|
25
|
+
"Program > VariableDeclaration",
|
|
26
|
+
'Program > ExportNamedDeclaration[declaration.type="VariableDeclaration"]',
|
|
27
|
+
"TSInterfaceDeclaration",
|
|
28
|
+
"TSTypeAliasDeclaration",
|
|
29
|
+
"TSPropertySignature",
|
|
30
|
+
"TSMethodSignature",
|
|
31
|
+
"TSCallSignatureDeclaration",
|
|
32
|
+
"TSConstructSignatureDeclaration",
|
|
33
|
+
"TSIndexSignature",
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Build the custom jsdoc error rules based on available plugin rules.
|
|
37
|
+
* @param availableRules Set of available jsdoc rule names.
|
|
38
|
+
* @returns The rules record for ESLint.
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* console.log(buildCustomErrorRules(new Set(["require-throws"])));
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
function buildCustomErrorRules(availableRules) {
|
|
45
|
+
return Object.fromEntries(jsdocErrorRuleNames
|
|
46
|
+
.filter((rule) => availableRules.has(rule))
|
|
47
|
+
.map((rule) => [`jsdoc/${rule}`, "error"]));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Select only the upstream flat presets that are available in the current plugin version.
|
|
51
|
+
* @param configs Upstream JSDoc config map.
|
|
52
|
+
* @returns The available flat presets.
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* console.log(buildPresetConfigs({ "flat/recommended-typescript-error": {} as Linter.Config }).length);
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
function buildPresetConfigs(configs) {
|
|
59
|
+
return jsdocPresetNames.flatMap((configName) => {
|
|
60
|
+
const config = configs[configName];
|
|
61
|
+
if (config === void 0 ||
|
|
62
|
+
Array.isArray(config) ||
|
|
63
|
+
typeof config !== "object") {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
return [config];
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build the final repo-owned JSDoc configs on top of the upstream presets.
|
|
71
|
+
* @param customError Repo-owned JSDoc rule overrides.
|
|
72
|
+
* @returns The final ESLint config array.
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* console.log(buildRepoJsdocConfigs({}).length);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
function buildRepoJsdocConfigs(customError) {
|
|
79
|
+
return defineConfig({
|
|
80
|
+
name: "jsdoc/custom",
|
|
81
|
+
rules: {
|
|
82
|
+
...customError,
|
|
83
|
+
"jsdoc/convert-to-jsdoc-comments": [
|
|
84
|
+
"error",
|
|
85
|
+
{ enforceJsdocLineStyle: "single" },
|
|
86
|
+
],
|
|
87
|
+
"jsdoc/text-escaping": "off",
|
|
88
|
+
},
|
|
89
|
+
}, {
|
|
90
|
+
name: "jsdoc/require-jsdoc-alias",
|
|
91
|
+
rules: {
|
|
92
|
+
"jsdoc/require-description": [
|
|
93
|
+
"error",
|
|
94
|
+
{ contexts: requireJsdocContexts },
|
|
95
|
+
],
|
|
96
|
+
"jsdoc/require-jsdoc": ["error", { contexts: requireJsdocContexts }],
|
|
97
|
+
},
|
|
98
|
+
}, {
|
|
99
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
100
|
+
name: "jsdoc/custom-spec",
|
|
101
|
+
rules: {
|
|
102
|
+
"jsdoc/convert-to-jsdoc-comments": [
|
|
103
|
+
"error",
|
|
104
|
+
{ allowedPrefixes: ["Arrange", "Act", "Assert"] },
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build the repo's final JSDoc configs from an upstream plugin shape.
|
|
111
|
+
* @param configs Upstream JSDoc config map.
|
|
112
|
+
* @param rules Upstream JSDoc rules map.
|
|
113
|
+
* @returns The final ESLint config array.
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* console.log(createJsdocConfigs({}, {}).length);
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
function createJsdocConfigs(configs, rules) {
|
|
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
|
+
}
|
|
125
|
+
export { createJsdocConfigs };
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNkb2MtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2RvY3MvanNkb2MtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0MsZ0VBQWdFO0FBQ2hFLE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsbUNBQW1DO0lBQ25DLGdDQUFnQztJQUNoQywrQkFBK0I7SUFDL0Isb0NBQW9DO0lBQ3BDLGlDQUFpQztDQUN6QixDQUFDO0FBRVgsbUVBQW1FO0FBQ25FLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsdUNBQXVDO0lBQ3ZDLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsV0FBVztDQUNaLENBQUM7QUFFRiw0Q0FBNEM7QUFDNUMsTUFBTSxvQkFBb0IsR0FBRztJQUMzQiwrQkFBK0I7SUFDL0IsMERBQTBEO0lBQzFELHdEQUF3RDtJQUN4RCwrQkFBK0I7SUFDL0IsMEVBQTBFO0lBQzFFLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQiw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLGtCQUFrQjtDQUNuQixDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixjQUEyQjtJQUUzQixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLG1CQUFtQjtTQUNoQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFVLENBQUMsQ0FDdEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsa0JBQWtCLENBQUMsT0FBZ0M7SUFDMUQsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkMsSUFDRSxNQUFNLEtBQUssS0FBSyxDQUFDO1lBQ2pCLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFDMUIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUF1QixDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHFCQUFxQixDQUM1QixXQUErQjtJQUUvQixPQUFPLFlBQVksQ0FDakI7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixLQUFLLEVBQUU7WUFDTCxHQUFHLFdBQVc7WUFDZCxpQ0FBaUMsRUFBRTtnQkFDakMsT0FBTztnQkFDUCxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRTthQUNwQztZQUNELHFCQUFxQixFQUFFLEtBQUs7U0FDN0I7S0FDRixFQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxLQUFLLEVBQUU7WUFDTCwyQkFBMkIsRUFBRTtnQkFDM0IsT0FBTztnQkFDUCxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTthQUNuQztZQUNELHFCQUFxQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7U0FDckU7S0FDRixFQUNEO1FBQ0UsS0FBSyxFQUFFLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztRQUN0QyxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsZUFBZSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRTthQUNsRDtTQUNGO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsa0JBQWtCLENBQ3pCLE9BQWdDLEVBQ2hDLEtBQTBDO0lBRTFDLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxXQUFXLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUQsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEQsT0FBTyxZQUFZLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcclxuXHJcbi8qKiBVcHN0cmVhbSBKU0RvYyBmbGF0IHByZXNldCBuYW1lcyBjb25zdW1lZCBieSB0aGlzIGNvbmZpZy4gKi9cclxuY29uc3QganNkb2NQcmVzZXROYW1lcyA9IFtcclxuICBcImZsYXQvcmVjb21tZW5kZWQtdHlwZXNjcmlwdC1lcnJvclwiLFxyXG4gIFwiZmxhdC9jb250ZW50cy10eXBlc2NyaXB0LWVycm9yXCIsXHJcbiAgXCJmbGF0L2xvZ2ljYWwtdHlwZXNjcmlwdC1lcnJvclwiLFxyXG4gIFwiZmxhdC9yZXF1aXJlbWVudHMtdHlwZXNjcmlwdC1lcnJvclwiLFxyXG4gIFwiZmxhdC9zdHlsaXN0aWMtdHlwZXNjcmlwdC1lcnJvclwiLFxyXG5dIGFzIGNvbnN0O1xyXG5cclxuLyoqIFJlcG8tb3duZWQgSlNEb2MgcnVsZXMgZW5hYmxlZCB3aGVuIHRoZSBwbHVnaW4gZXhwb3NlcyB0aGVtLiAqL1xyXG5jb25zdCBqc2RvY0Vycm9yUnVsZU5hbWVzID0gW1xyXG4gIFwiY2hlY2staW5kZW50YXRpb25cIixcclxuICBcImNvbnZlcnQtdG8tanNkb2MtY29tbWVudHNcIixcclxuICBcInJlcXVpcmUtZGVzY3JpcHRpb25cIixcclxuICBcInJlcXVpcmUtZGVzY3JpcHRpb24tY29tcGxldGUtc2VudGVuY2VcIixcclxuICBcInJlcXVpcmUtdGVtcGxhdGVcIixcclxuICBcInJlcXVpcmUtdGhyb3dzXCIsXHJcbiAgXCJzb3J0LXRhZ3NcIixcclxuXTtcclxuXHJcbi8qKiBBU1QgY29udGV4dHMgdGhhdCBtdXN0IGluY2x1ZGUgSlNEb2MuICovXHJcbmNvbnN0IHJlcXVpcmVKc2RvY0NvbnRleHRzID0gW1xyXG4gIFwiUHJvZ3JhbSA+IEZ1bmN0aW9uRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24gPiBGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXHJcbiAgXCJQcm9ncmFtID4gRXhwb3J0TmFtZWREZWNsYXJhdGlvbiA+IEZ1bmN0aW9uRGVjbGFyYXRpb25cIixcclxuICBcIlByb2dyYW0gPiBWYXJpYWJsZURlY2xhcmF0aW9uXCIsXHJcbiAgJ1Byb2dyYW0gPiBFeHBvcnROYW1lZERlY2xhcmF0aW9uW2RlY2xhcmF0aW9uLnR5cGU9XCJWYXJpYWJsZURlY2xhcmF0aW9uXCJdJyxcclxuICBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIixcclxuICBcIlRTVHlwZUFsaWFzRGVjbGFyYXRpb25cIixcclxuICBcIlRTUHJvcGVydHlTaWduYXR1cmVcIixcclxuICBcIlRTTWV0aG9kU2lnbmF0dXJlXCIsXHJcbiAgXCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxyXG4gIFwiVFNJbmRleFNpZ25hdHVyZVwiLFxyXG5dO1xyXG5cclxuLyoqXHJcbiAqIEJ1aWxkIHRoZSBjdXN0b20ganNkb2MgZXJyb3IgcnVsZXMgYmFzZWQgb24gYXZhaWxhYmxlIHBsdWdpbiBydWxlcy5cclxuICogQHBhcmFtIGF2YWlsYWJsZVJ1bGVzIFNldCBvZiBhdmFpbGFibGUganNkb2MgcnVsZSBuYW1lcy5cclxuICogQHJldHVybnMgVGhlIHJ1bGVzIHJlY29yZCBmb3IgRVNMaW50LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqICBjb25zb2xlLmxvZyhidWlsZEN1c3RvbUVycm9yUnVsZXMobmV3IFNldChbXCJyZXF1aXJlLXRocm93c1wiXSkpKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZEN1c3RvbUVycm9yUnVsZXMoXHJcbiAgYXZhaWxhYmxlUnVsZXM6IFNldDxzdHJpbmc+LFxyXG4pOiBMaW50ZXIuUnVsZXNSZWNvcmQge1xyXG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcbiAgICBqc2RvY0Vycm9yUnVsZU5hbWVzXHJcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+IGF2YWlsYWJsZVJ1bGVzLmhhcyhydWxlKSlcclxuICAgICAgLm1hcCgocnVsZSkgPT4gW2Bqc2RvYy8ke3J1bGV9YCwgXCJlcnJvclwiXSBhcyBjb25zdCksXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlbGVjdCBvbmx5IHRoZSB1cHN0cmVhbSBmbGF0IHByZXNldHMgdGhhdCBhcmUgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IHBsdWdpbiB2ZXJzaW9uLlxyXG4gKiBAcGFyYW0gY29uZmlncyBVcHN0cmVhbSBKU0RvYyBjb25maWcgbWFwLlxyXG4gKiBAcmV0dXJucyBUaGUgYXZhaWxhYmxlIGZsYXQgcHJlc2V0cy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAgY29uc29sZS5sb2coYnVpbGRQcmVzZXRDb25maWdzKHsgXCJmbGF0L3JlY29tbWVuZGVkLXR5cGVzY3JpcHQtZXJyb3JcIjoge30gYXMgTGludGVyLkNvbmZpZyB9KS5sZW5ndGgpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUHJlc2V0Q29uZmlncyhjb25maWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IExpbnRlci5Db25maWdbXSB7XHJcbiAgcmV0dXJuIGpzZG9jUHJlc2V0TmFtZXMuZmxhdE1hcCgoY29uZmlnTmFtZSkgPT4ge1xyXG4gICAgY29uc3QgY29uZmlnID0gY29uZmlnc1tjb25maWdOYW1lXTtcclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbmZpZyA9PT0gdm9pZCAwIHx8XHJcbiAgICAgIEFycmF5LmlzQXJyYXkoY29uZmlnKSB8fFxyXG4gICAgICB0eXBlb2YgY29uZmlnICE9PSBcIm9iamVjdFwiXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbY29uZmlnIGFzIExpbnRlci5Db25maWddO1xyXG4gIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGQgdGhlIGZpbmFsIHJlcG8tb3duZWQgSlNEb2MgY29uZmlncyBvbiB0b3Agb2YgdGhlIHVwc3RyZWFtIHByZXNldHMuXHJcbiAqIEBwYXJhbSBjdXN0b21FcnJvciBSZXBvLW93bmVkIEpTRG9jIHJ1bGUgb3ZlcnJpZGVzLlxyXG4gKiBAcmV0dXJucyBUaGUgZmluYWwgRVNMaW50IGNvbmZpZyBhcnJheS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAgY29uc29sZS5sb2coYnVpbGRSZXBvSnNkb2NDb25maWdzKHt9KS5sZW5ndGgpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGJ1aWxkUmVwb0pzZG9jQ29uZmlncyhcclxuICBjdXN0b21FcnJvcjogTGludGVyLlJ1bGVzUmVjb3JkLFxyXG4pOiBMaW50ZXIuQ29uZmlnW10ge1xyXG4gIHJldHVybiBkZWZpbmVDb25maWcoXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwianNkb2MvY3VzdG9tXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgLi4uY3VzdG9tRXJyb3IsXHJcbiAgICAgICAgXCJqc2RvYy9jb252ZXJ0LXRvLWpzZG9jLWNvbW1lbnRzXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHsgZW5mb3JjZUpzZG9jTGluZVN0eWxlOiBcInNpbmdsZVwiIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgICBcImpzZG9jL3RleHQtZXNjYXBpbmdcIjogXCJvZmZcIixcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6IFwianNkb2MvcmVxdWlyZS1qc2RvYy1hbGlhc1wiLFxyXG4gICAgICBydWxlczoge1xyXG4gICAgICAgIFwianNkb2MvcmVxdWlyZS1kZXNjcmlwdGlvblwiOiBbXHJcbiAgICAgICAgICBcImVycm9yXCIsXHJcbiAgICAgICAgICB7IGNvbnRleHRzOiByZXF1aXJlSnNkb2NDb250ZXh0cyB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJqc2RvYy9yZXF1aXJlLWpzZG9jXCI6IFtcImVycm9yXCIsIHsgY29udGV4dHM6IHJlcXVpcmVKc2RvY0NvbnRleHRzIH1dLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgZmlsZXM6IFtcIioqLyouc3BlYy50c1wiLCBcIioqLyouZTJlLnRzXCJdLFxyXG4gICAgICBuYW1lOiBcImpzZG9jL2N1c3RvbS1zcGVjXCIsXHJcbiAgICAgIHJ1bGVzOiB7XHJcbiAgICAgICAgXCJqc2RvYy9jb252ZXJ0LXRvLWpzZG9jLWNvbW1lbnRzXCI6IFtcclxuICAgICAgICAgIFwiZXJyb3JcIixcclxuICAgICAgICAgIHsgYWxsb3dlZFByZWZpeGVzOiBbXCJBcnJhbmdlXCIsIFwiQWN0XCIsIFwiQXNzZXJ0XCJdIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkIHRoZSByZXBvJ3MgZmluYWwgSlNEb2MgY29uZmlncyBmcm9tIGFuIHVwc3RyZWFtIHBsdWdpbiBzaGFwZS5cclxuICogQHBhcmFtIGNvbmZpZ3MgVXBzdHJlYW0gSlNEb2MgY29uZmlnIG1hcC5cclxuICogQHBhcmFtIHJ1bGVzIFVwc3RyZWFtIEpTRG9jIHJ1bGVzIG1hcC5cclxuICogQHJldHVybnMgVGhlIGZpbmFsIEVTTGludCBjb25maWcgYXJyYXkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogIGNvbnNvbGUubG9nKGNyZWF0ZUpzZG9jQ29uZmlncyh7fSwge30pLmxlbmd0aCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlSnNkb2NDb25maWdzKFxyXG4gIGNvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxyXG4gIHJ1bGVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCxcclxuKTogTGludGVyLkNvbmZpZ1tdIHtcclxuICBjb25zdCBhdmFpbGFibGVSdWxlcyA9IG5ldyBTZXQoT2JqZWN0LmtleXMocnVsZXMgPz8ge30pKTtcclxuICBjb25zdCBjdXN0b21FcnJvciA9IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcyhhdmFpbGFibGVSdWxlcyk7XHJcbiAgY29uc3QgcHJlc2V0Q29uZmlncyA9IGJ1aWxkUHJlc2V0Q29uZmlncyhjb25maWdzKTtcclxuXHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyguLi5wcmVzZXRDb25maWdzLCAuLi5idWlsZFJlcG9Kc2RvY0NvbmZpZ3MoY3VzdG9tRXJyb3IpKTtcclxufVxyXG5cclxuZXhwb3J0IHsgY3JlYXRlSnNkb2NDb25maWdzIH07XHJcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsdoc.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/docs/jsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"jsdoc.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/docs/jsdoc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,iBAAe,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAI/C;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,110 +1,4 @@
|
|
|
1
|
-
import {
|
|
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
|
-
];
|
|
10
|
-
/**
|
|
11
|
-
* Build the custom jsdoc error rules based on available plugin rules.
|
|
12
|
-
* @param availableRules Set of available jsdoc rule names.
|
|
13
|
-
* @returns The rules record for ESLint.
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* console.log(buildCustomErrorRules(new Set(["require-throws"])));
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
const buildCustomErrorRules = (availableRules) => {
|
|
20
|
-
const ruleNames = [
|
|
21
|
-
"check-indentation",
|
|
22
|
-
"convert-to-jsdoc-comments",
|
|
23
|
-
"require-description",
|
|
24
|
-
"require-description-complete-sentence",
|
|
25
|
-
"require-template",
|
|
26
|
-
"require-throws",
|
|
27
|
-
"sort-tags",
|
|
28
|
-
];
|
|
29
|
-
return Object.fromEntries(ruleNames
|
|
30
|
-
.filter((rule) => availableRules.has(rule))
|
|
31
|
-
.map((rule) => [`jsdoc/${rule}`, "error"]));
|
|
32
|
-
};
|
|
33
|
-
/** AST contexts that must include JSDoc. */
|
|
34
|
-
const requireJsdocContexts = [
|
|
35
|
-
"Program > FunctionDeclaration",
|
|
36
|
-
"Program > ExportDefaultDeclaration > FunctionDeclaration",
|
|
37
|
-
"Program > ExportNamedDeclaration > FunctionDeclaration",
|
|
38
|
-
"Program > VariableDeclaration",
|
|
39
|
-
"Program > ExportNamedDeclaration > VariableDeclaration",
|
|
40
|
-
"TSInterfaceDeclaration",
|
|
41
|
-
"TSTypeAliasDeclaration",
|
|
42
|
-
"TSPropertySignature",
|
|
43
|
-
"TSMethodSignature",
|
|
44
|
-
"TSCallSignatureDeclaration",
|
|
45
|
-
"TSConstructSignatureDeclaration",
|
|
46
|
-
"TSIndexSignature",
|
|
47
|
-
];
|
|
48
|
-
/**
|
|
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.
|
|
52
|
-
* @example
|
|
53
|
-
* ```typescript
|
|
54
|
-
* console.log(buildPresetConfigs({ "flat/recommended-typescript-error": {} as Linter.Config }).length);
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
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({
|
|
79
|
-
name: "jsdoc/custom",
|
|
80
|
-
rules: {
|
|
81
|
-
...customError,
|
|
82
|
-
"jsdoc/convert-to-jsdoc-comments": [
|
|
83
|
-
"error",
|
|
84
|
-
{ enforceJsdocLineStyle: "single" },
|
|
85
|
-
],
|
|
86
|
-
"jsdoc/text-escaping": "off",
|
|
87
|
-
},
|
|
88
|
-
}, {
|
|
89
|
-
name: "jsdoc/require-jsdoc-alias",
|
|
90
|
-
rules: {
|
|
91
|
-
"jsdoc/require-description": [
|
|
92
|
-
"error",
|
|
93
|
-
{ contexts: requireJsdocContexts },
|
|
94
|
-
],
|
|
95
|
-
"jsdoc/require-jsdoc": ["error", { contexts: requireJsdocContexts }],
|
|
96
|
-
},
|
|
97
|
-
}, {
|
|
98
|
-
files: ["**/*.spec.ts"],
|
|
99
|
-
name: "jsdoc/custom-spec",
|
|
100
|
-
rules: {
|
|
101
|
-
"jsdoc/convert-to-jsdoc-comments": [
|
|
102
|
-
"error",
|
|
103
|
-
{ allowedPrefixes: ["Arrange", "Act"] },
|
|
104
|
-
],
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
}
|
|
1
|
+
import { createJsdocConfigs } from "./jsdoc-config.js";
|
|
108
2
|
/**
|
|
109
3
|
* Build the jsdoc plugin configuration and any overrides needed by this project.
|
|
110
4
|
* @returns Return value output.
|
|
@@ -114,13 +8,8 @@ function buildRepoJsdocConfigs(customError) {
|
|
|
114
8
|
* ```
|
|
115
9
|
*/
|
|
116
10
|
async function jsdoc() {
|
|
117
|
-
const
|
|
118
|
-
|
|
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));
|
|
11
|
+
const { default: jsdocPlugin } = await import("eslint-plugin-jsdoc");
|
|
12
|
+
return createJsdocConfigs(jsdocPlugin.configs, jsdocPlugin.rules);
|
|
124
13
|
}
|
|
125
14
|
export { jsdoc };
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNkb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvZG9jcy9qc2RvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRDs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLEtBQUs7SUFDbEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRXJFLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHsgY3JlYXRlSnNkb2NDb25maWdzIH0gZnJvbSBcIi4vanNkb2MtY29uZmlnXCI7XHJcblxyXG4vKipcclxuICogQnVpbGQgdGhlIGpzZG9jIHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBhbnkgb3ZlcnJpZGVzIG5lZWRlZCBieSB0aGlzIHByb2plY3QuXHJcbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogIGNvbnNvbGUubG9nKGF3YWl0IGpzZG9jKCkpO1xyXG4gKiBgYGBcclxuICovXHJcbmFzeW5jIGZ1bmN0aW9uIGpzZG9jKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XHJcbiAgY29uc3QgeyBkZWZhdWx0OiBqc2RvY1BsdWdpbiB9ID0gYXdhaXQgaW1wb3J0KFwiZXNsaW50LXBsdWdpbi1qc2RvY1wiKTtcclxuXHJcbiAgcmV0dXJuIGNyZWF0ZUpzZG9jQ29uZmlncyhqc2RvY1BsdWdpbi5jb25maWdzLCBqc2RvY1BsdWdpbi5ydWxlcyk7XHJcbn1cclxuXHJcbmV4cG9ydCB7IGpzZG9jIH07XHJcbiJdfQ==
|
|
@@ -17,11 +17,11 @@ export async function rxjsX() {
|
|
|
17
17
|
"rxjs-x/no-unbound-methods": "off",
|
|
18
18
|
},
|
|
19
19
|
}, {
|
|
20
|
-
files: ["**/*.spec.ts"],
|
|
20
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
21
21
|
name: "rxjs-x/custom-spec",
|
|
22
22
|
rules: {
|
|
23
23
|
"rxjs-x/no-ignored-error": "off",
|
|
24
24
|
},
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy14LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL3J4anMteC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLEtBQUs7SUFDekIsTUFBTSxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUUxRCxPQUFPLFlBQVksQ0FDakIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBdUIsRUFDcEQ7UUFDRSxJQUFJLEVBQUUsZUFBZTtRQUNyQixLQUFLLEVBQUU7WUFDTCxpQ0FBaUMsRUFBRSxLQUFLO1lBQ3hDLG9CQUFvQixFQUFFLEtBQUs7WUFDM0IsMkJBQTJCLEVBQUUsS0FBSztTQUNuQztLQUNGLEVBQ0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1FBQ3RDLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsS0FBSyxFQUFFO1lBQ0wseUJBQXlCLEVBQUUsS0FBSztTQUNqQztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBhbmQgcmV0dXJuIHJ4anMteCBwbHVnaW4gY29uZmlndXJhdGlvbnMgd2l0aCBwYWNrYWdlLWxldmVsIGFkanVzdG1lbnRzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCByeGpzWCgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByeGpzWCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCBwbHVnaW5Nb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLXJ4anMteFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIHBsdWdpbk1vZHVsZS5kZWZhdWx0LmNvbmZpZ3Muc3RyaWN0IGFzIExpbnRlci5Db25maWcsXG4gICAge1xuICAgICAgbmFtZTogXCJyeGpzLXgvY3VzdG9tXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcInJ4anMteC9uby1pZ25vcmVkLWRlZmF1bHQtdmFsdWVcIjogXCJvZmZcIixcbiAgICAgICAgXCJyeGpzLXgvbm8tc3ViY2xhc3NcIjogXCJvZmZcIixcbiAgICAgICAgXCJyeGpzLXgvbm8tdW5ib3VuZC1tZXRob2RzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcIioqLyouc3BlYy50c1wiLCBcIioqLyouZTJlLnRzXCJdLFxuICAgICAgbmFtZTogXCJyeGpzLXgvY3VzdG9tLXNwZWNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwicnhqcy14L25vLWlnbm9yZWQtZXJyb3JcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jasmine.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/testing/jasmine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"jasmine.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/testing/jasmine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAkBxD"}
|
|
@@ -8,7 +8,6 @@ import { defineConfig } from "eslint/config";
|
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
10
|
export async function jasmine() {
|
|
11
|
-
// eslint-disable-next-line boundaries/no-unknown -- External package resolution is outside the repository topology.
|
|
12
11
|
const jasmineModule = await import("eslint-plugin-jasmine");
|
|
13
12
|
const globalsModule = await import("globals");
|
|
14
13
|
const { configs, rules } = jasmineModule;
|
|
@@ -16,11 +15,11 @@ export async function jasmine() {
|
|
|
16
15
|
const customError = Object.fromEntries(Object.keys(rules).map((rule) => [`jasmine/${rule}`, "error"]));
|
|
17
16
|
return defineConfig({
|
|
18
17
|
extends: [configs.recommended],
|
|
19
|
-
files: ["**/*.spec.ts"],
|
|
18
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
20
19
|
languageOptions: { globals },
|
|
21
20
|
name: "jasmine/custom",
|
|
22
21
|
plugins: { jasmine: { rules } },
|
|
23
22
|
rules: customError,
|
|
24
23
|
});
|
|
25
24
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS90ZXN0aW5nL2phc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPO0lBQzNCLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDNUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDekMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQVUsQ0FBQyxDQUN4RSxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7UUFDbEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM5QixLQUFLLEVBQUUsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1FBQ3RDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRTtRQUM1QixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQy9CLEtBQUssRUFBRSxXQUFXO0tBQ25CLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBSZXR1cm4gSmFzbWluZS1zcGVjaWZpYyBFU0xpbnQgY29uZmlndXJhdGlvbnMgd2hlbiB0aGUgcGx1Z2luIGlzIGluc3RhbGxlZC5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgamFzbWluZSgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBqYXNtaW5lKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IGphc21pbmVNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLWphc21pbmVcIik7XG4gIGNvbnN0IGdsb2JhbHNNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJnbG9iYWxzXCIpO1xuICBjb25zdCB7IGNvbmZpZ3MsIHJ1bGVzIH0gPSBqYXNtaW5lTW9kdWxlO1xuICBjb25zdCB7IGphc21pbmU6IGdsb2JhbHMgfSA9IGdsb2JhbHNNb2R1bGU7XG5cbiAgY29uc3QgY3VzdG9tRXJyb3IgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmtleXMocnVsZXMpLm1hcCgocnVsZSkgPT4gW2BqYXNtaW5lLyR7cnVsZX1gLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcbiAgKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBleHRlbmRzOiBbY29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgZmlsZXM6IFtcIioqLyouc3BlYy50c1wiLCBcIioqLyouZTJlLnRzXCJdLFxuICAgIGxhbmd1YWdlT3B0aW9uczogeyBnbG9iYWxzIH0sXG4gICAgbmFtZTogXCJqYXNtaW5lL2N1c3RvbVwiLFxuICAgIHBsdWdpbnM6IHsgamFzbWluZTogeyBydWxlcyB9IH0sXG4gICAgcnVsZXM6IGN1c3RvbUVycm9yLFxuICB9KTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codeperfect/eslint-config",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "A shareable flat ESLint config for TypeScript repositories",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -41,12 +41,8 @@
|
|
|
41
41
|
"build": "npm run clean && npm run compile && npm run resolve-paths",
|
|
42
42
|
"clean": "npx --yes rimraf dist",
|
|
43
43
|
"compile": "tsc --build --force ./tsconfig.build.json",
|
|
44
|
-
"resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
|
|
45
44
|
"pack": "npm pack --pack-destination dist",
|
|
46
|
-
"
|
|
47
|
-
"docs": "npm run docs:clean && npm run docs:api",
|
|
48
|
-
"docs:api": "npx --yes typedoc --options typedoc.json",
|
|
49
|
-
"docs:clean": "npx --yes rimraf docs/api",
|
|
45
|
+
"resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
|
|
50
46
|
"\n# --------------- LINTING --------------- #": "",
|
|
51
47
|
"\t• --------------- checking --------------- •": "",
|
|
52
48
|
"eslint": "npx --yes eslint --max-warnings=0",
|
|
@@ -66,41 +62,47 @@
|
|
|
66
62
|
"typecheck:spec": "tsc --project tsconfig.spec.json --noEmit",
|
|
67
63
|
"validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
|
|
68
64
|
"\n\t• --------------- unit --------------- •": "",
|
|
69
|
-
"
|
|
65
|
+
"e2e": "npx --yes vitest run --config vitest.config.e2e.ts --coverage.enabled=false",
|
|
70
66
|
"tdd:notify": "npm run tdd -- --notify",
|
|
71
|
-
"
|
|
67
|
+
"tdd": "npx --yes vitest run --watch --silent=true --coverage.enabled=false",
|
|
68
|
+
"test": "npm run unit && npm run e2e",
|
|
69
|
+
"unit": "npx --yes vitest run",
|
|
70
|
+
"\n# --------------- DOCS --------------- #": "",
|
|
71
|
+
"docs:api": "npx --yes typedoc --options typedoc.json",
|
|
72
|
+
"docs:clean": "npx --yes rimraf docs/api",
|
|
73
|
+
"docs": "npm run docs:clean && npm run docs:api"
|
|
72
74
|
},
|
|
73
75
|
"dependencies": {
|
|
74
|
-
"minimatch": "^10.2.
|
|
76
|
+
"minimatch": "^10.2.5"
|
|
75
77
|
},
|
|
76
78
|
"peerDependencies": {
|
|
77
|
-
"@eslint/js": "^10.0.
|
|
78
|
-
"eslint": "^10.1
|
|
79
|
-
"jiti": "^2.6.
|
|
80
|
-
"typescript": "^
|
|
81
|
-
"typescript-eslint": "^8.
|
|
79
|
+
"@eslint/js": "^10.0.1",
|
|
80
|
+
"eslint": "^10.2.1",
|
|
81
|
+
"jiti": "^2.6.1",
|
|
82
|
+
"typescript": "^6.0.3",
|
|
83
|
+
"typescript-eslint": "^8.58.2"
|
|
82
84
|
},
|
|
83
85
|
"optionalDependencies": {
|
|
84
86
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
85
87
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
86
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
88
|
+
"@vitest/eslint-plugin": "^1.6.16",
|
|
87
89
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
88
|
-
"eslint-plugin-boundaries": "^6.0.
|
|
90
|
+
"eslint-plugin-boundaries": "^6.0.2",
|
|
89
91
|
"eslint-plugin-import-x": "^4.16.2",
|
|
90
92
|
"eslint-plugin-jasmine": "^4.2.2",
|
|
91
|
-
"eslint-plugin-jest": "^29.15.
|
|
92
|
-
"eslint-plugin-jsdoc": "^62.
|
|
93
|
-
"eslint-plugin-perfectionist": "^5.
|
|
93
|
+
"eslint-plugin-jest": "^29.15.2",
|
|
94
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
95
|
+
"eslint-plugin-perfectionist": "^5.9.0",
|
|
94
96
|
"eslint-plugin-prettier": "^5.5.5",
|
|
95
|
-
"eslint-plugin-rxjs-x": "^1.0.
|
|
97
|
+
"eslint-plugin-rxjs-x": "^1.0.2",
|
|
96
98
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
97
|
-
"globals": "^17.
|
|
99
|
+
"globals": "^17.5.0"
|
|
98
100
|
},
|
|
99
101
|
"devDependencies": {
|
|
100
|
-
"@codeperfect/eslint-plugin": "^
|
|
102
|
+
"@codeperfect/eslint-plugin": "^2.0.0",
|
|
101
103
|
"@commitlint/cli": "^20.5.0",
|
|
102
104
|
"@commitlint/config-conventional": "^20.5.0",
|
|
103
|
-
"@commitlint/cz-commitlint": "^20.5.
|
|
105
|
+
"@commitlint/cz-commitlint": "^20.5.1",
|
|
104
106
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
105
107
|
"@eslint/js": "^10.0.1",
|
|
106
108
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
@@ -109,33 +111,35 @@
|
|
|
109
111
|
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
110
112
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
111
113
|
"@types/lodash-es": "^4.17.12",
|
|
112
|
-
"@types/node": "^25.
|
|
113
|
-
"@vitest/coverage-v8": "^4.1.
|
|
114
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
114
|
+
"@types/node": "^25.6.0",
|
|
115
|
+
"@vitest/coverage-v8": "^4.1.4",
|
|
116
|
+
"@vitest/eslint-plugin": "^1.6.16",
|
|
115
117
|
"chalk": "^5.6.2",
|
|
116
118
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
117
|
-
"eslint": "^10.1
|
|
119
|
+
"eslint": "^10.2.1",
|
|
118
120
|
"eslint-config-prettier": "^10.1.8",
|
|
119
121
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
120
|
-
"eslint-plugin-boundaries": "^6.0.
|
|
122
|
+
"eslint-plugin-boundaries": "^6.0.2",
|
|
121
123
|
"eslint-plugin-import-x": "^4.16.2",
|
|
122
|
-
"eslint-plugin-jsdoc": "^62.
|
|
123
|
-
"eslint-plugin-perfectionist": "^5.
|
|
124
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
125
|
+
"eslint-plugin-perfectionist": "^5.9.0",
|
|
124
126
|
"eslint-plugin-playwright": "^2.10.1",
|
|
125
127
|
"eslint-plugin-prettier": "^5.5.5",
|
|
126
128
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
127
|
-
"globals": "^17.
|
|
129
|
+
"globals": "^17.5.0",
|
|
128
130
|
"husky": "^9.1.7",
|
|
129
131
|
"jiti": "^2.6.1",
|
|
130
132
|
"lint-staged": "^16.4.0",
|
|
131
|
-
"lodash-es": "^4.
|
|
133
|
+
"lodash-es": "^4.18.1",
|
|
132
134
|
"rimraf": "^6.1.3",
|
|
133
135
|
"semantic-release": "^25.0.3",
|
|
134
136
|
"tsc-alias": "^1.8.16",
|
|
135
|
-
"typedoc": "^0.28.
|
|
137
|
+
"typedoc": "^0.28.19",
|
|
136
138
|
"typedoc-plugin-markdown": "^4.11.0",
|
|
137
|
-
"typescript": "^
|
|
138
|
-
"
|
|
139
|
+
"typescript": "^6.0.3",
|
|
140
|
+
"typescript-eslint": "^8.58.2",
|
|
141
|
+
"vite-tsconfig-paths": "^6.1.1",
|
|
142
|
+
"vitest": "^4.1.4"
|
|
139
143
|
},
|
|
140
144
|
"engines": {
|
|
141
145
|
"node": ">=24.0.0"
|