@codeperfect/eslint-config 1.2.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/README.md +21 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
- package/dist/domain/config-composition.d.ts +8 -0
- package/dist/domain/config-composition.d.ts.map +1 -0
- package/dist/domain/config-composition.js +55 -0
- package/dist/domain/index.d.ts +3 -1
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -2
- package/dist/{module-taxonomy.d.ts → domain/module-taxonomy.d.ts} +3 -3
- package/dist/domain/module-taxonomy.d.ts.map +1 -0
- package/dist/domain/module-taxonomy.js +22 -0
- package/dist/{types.d.ts → domain/types.d.ts} +31 -6
- package/dist/domain/types.d.ts.map +1 -0
- package/dist/domain/types.js +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/infrastructure/architecture/boundaries.d.ts +22 -0
- package/dist/infrastructure/architecture/boundaries.d.ts.map +1 -0
- package/dist/infrastructure/architecture/boundaries.js +175 -0
- package/dist/infrastructure/architecture/import-x.d.ts.map +1 -0
- package/dist/infrastructure/architecture/import-x.js +79 -0
- package/dist/infrastructure/architecture/index.d.ts +3 -0
- package/dist/infrastructure/architecture/index.d.ts.map +1 -0
- package/dist/infrastructure/architecture/index.js +3 -0
- package/dist/{config-factory.d.ts → infrastructure/config-factory.d.ts} +1 -1
- package/dist/infrastructure/config-factory.d.ts.map +1 -0
- package/dist/infrastructure/config-factory.js +44 -0
- package/dist/infrastructure/configs/index.d.ts +7 -0
- package/dist/infrastructure/configs/index.d.ts.map +1 -0
- package/dist/infrastructure/configs/index.js +7 -0
- package/dist/infrastructure/core/codeperfect.d.ts.map +1 -0
- package/dist/infrastructure/core/codeperfect.js +14 -0
- package/dist/infrastructure/core/eslint.d.ts.map +1 -0
- package/dist/infrastructure/core/eslint.js +62 -0
- package/dist/infrastructure/core/index.d.ts +5 -0
- package/dist/infrastructure/core/index.d.ts.map +1 -0
- package/dist/infrastructure/core/index.js +5 -0
- package/dist/infrastructure/core/resolver.d.ts.map +1 -0
- package/dist/infrastructure/core/resolver.js +27 -0
- package/dist/infrastructure/core/typescript.d.ts.map +1 -0
- package/dist/infrastructure/core/typescript.js +63 -0
- package/dist/{diagnostics.d.ts → infrastructure/diagnostics.d.ts} +13 -3
- package/dist/infrastructure/diagnostics.d.ts.map +1 -0
- package/dist/infrastructure/diagnostics.js +90 -0
- package/dist/infrastructure/docs/comments.d.ts.map +1 -0
- package/dist/infrastructure/docs/comments.js +30 -0
- package/dist/infrastructure/docs/index.d.ts +3 -0
- package/dist/infrastructure/docs/index.d.ts.map +1 -0
- package/dist/infrastructure/docs/index.js +3 -0
- 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 -0
- package/dist/infrastructure/docs/jsdoc.js +15 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +4 -0
- package/dist/{plugin-loaders.d.ts → infrastructure/plugin-loaders.d.ts} +2 -2
- package/dist/infrastructure/plugin-loaders.d.ts.map +1 -0
- package/dist/infrastructure/plugin-loaders.js +115 -0
- package/dist/infrastructure/plugin-state.d.ts +26 -0
- package/dist/infrastructure/plugin-state.d.ts.map +1 -0
- package/dist/infrastructure/plugin-state.js +54 -0
- package/dist/infrastructure/rxjs-x.d.ts.map +1 -0
- package/dist/infrastructure/rxjs-x.js +27 -0
- package/dist/infrastructure/style/index.d.ts +5 -0
- package/dist/infrastructure/style/index.d.ts.map +1 -0
- package/dist/infrastructure/style/index.js +5 -0
- package/dist/infrastructure/style/perfectionist.d.ts.map +1 -0
- package/dist/infrastructure/style/perfectionist.js +31 -0
- package/dist/infrastructure/style/prettier.d.ts.map +1 -0
- package/dist/infrastructure/style/prettier.js +15 -0
- package/dist/infrastructure/style/stylistic.d.ts.map +1 -0
- package/dist/infrastructure/style/stylistic.js +17 -0
- package/dist/infrastructure/style/unicorn.d.ts.map +1 -0
- package/dist/infrastructure/style/unicorn.js +15 -0
- package/dist/infrastructure/testing/index.d.ts +5 -0
- package/dist/infrastructure/testing/index.d.ts.map +1 -0
- package/dist/infrastructure/testing/index.js +5 -0
- package/dist/infrastructure/testing/jasmine.d.ts.map +1 -0
- package/dist/infrastructure/testing/jasmine.js +25 -0
- package/dist/infrastructure/testing/jest.d.ts.map +1 -0
- package/dist/infrastructure/testing/jest.js +27 -0
- package/dist/infrastructure/testing/playwright.d.ts.map +1 -0
- package/dist/infrastructure/testing/playwright.js +29 -0
- package/dist/infrastructure/testing/vitest.d.ts.map +1 -0
- package/dist/infrastructure/testing/vitest.js +33 -0
- package/dist/{utilities.d.ts → infrastructure/utilities.d.ts} +2 -13
- package/dist/infrastructure/utilities.d.ts.map +1 -0
- package/dist/infrastructure/utilities.js +112 -0
- package/package.json +43 -37
- package/dist/architecture/boundaries.d.ts +0 -17
- package/dist/architecture/boundaries.d.ts.map +0 -1
- package/dist/architecture/boundaries.js +0 -69
- package/dist/architecture/import-x.d.ts.map +0 -1
- package/dist/architecture/import-x.js +0 -80
- package/dist/architecture/index.d.ts +0 -3
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/index.js +0 -3
- package/dist/config-composition.d.ts +0 -6
- package/dist/config-composition.d.ts.map +0 -1
- package/dist/config-composition.js +0 -39
- package/dist/config-factory.d.ts.map +0 -1
- package/dist/config-factory.js +0 -42
- package/dist/configs/index.d.ts +0 -7
- package/dist/configs/index.d.ts.map +0 -1
- package/dist/configs/index.js +0 -7
- package/dist/core/codeperfect.d.ts.map +0 -1
- package/dist/core/codeperfect.js +0 -14
- package/dist/core/eslint.d.ts.map +0 -1
- package/dist/core/eslint.js +0 -58
- package/dist/core/index.d.ts +0 -5
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -5
- package/dist/core/resolver.d.ts.map +0 -1
- package/dist/core/resolver.js +0 -27
- package/dist/core/typescript.d.ts.map +0 -1
- package/dist/core/typescript.js +0 -63
- package/dist/diagnostics.d.ts.map +0 -1
- package/dist/diagnostics.js +0 -74
- package/dist/docs/comments.d.ts.map +0 -1
- package/dist/docs/comments.js +0 -30
- package/dist/docs/index.d.ts +0 -3
- package/dist/docs/index.d.ts.map +0 -1
- package/dist/docs/index.js +0 -3
- package/dist/docs/jsdoc.d.ts.map +0 -1
- package/dist/docs/jsdoc.js +0 -126
- package/dist/domain/rxjs-x.d.ts.map +0 -1
- package/dist/domain/rxjs-x.js +0 -27
- package/dist/module-taxonomy.d.ts.map +0 -1
- package/dist/module-taxonomy.js +0 -22
- package/dist/plugin-loaders.d.ts.map +0 -1
- package/dist/plugin-loaders.js +0 -115
- package/dist/style/index.d.ts +0 -5
- package/dist/style/index.d.ts.map +0 -1
- package/dist/style/index.js +0 -5
- package/dist/style/perfectionist.d.ts.map +0 -1
- package/dist/style/perfectionist.js +0 -31
- package/dist/style/prettier.d.ts.map +0 -1
- package/dist/style/prettier.js +0 -15
- package/dist/style/stylistic.d.ts.map +0 -1
- package/dist/style/stylistic.js +0 -17
- package/dist/style/unicorn.d.ts.map +0 -1
- package/dist/style/unicorn.js +0 -15
- package/dist/testing/index.d.ts +0 -5
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -5
- package/dist/testing/jasmine.d.ts.map +0 -1
- package/dist/testing/jasmine.js +0 -25
- package/dist/testing/jest.d.ts.map +0 -1
- package/dist/testing/jest.js +0 -27
- package/dist/testing/playwright.d.ts.map +0 -1
- package/dist/testing/playwright.js +0 -29
- package/dist/testing/vitest.d.ts.map +0 -1
- package/dist/testing/vitest.js +0 -33
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/utilities.d.ts.map +0 -1
- package/dist/utilities.js +0 -125
- /package/dist/{architecture → infrastructure/architecture}/import-x.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/codeperfect.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/eslint.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/resolver.d.ts +0 -0
- /package/dist/{core → infrastructure/core}/typescript.d.ts +0 -0
- /package/dist/{docs → infrastructure/docs}/comments.d.ts +0 -0
- /package/dist/{docs → infrastructure/docs}/jsdoc.d.ts +0 -0
- /package/dist/{domain → infrastructure}/rxjs-x.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/perfectionist.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/prettier.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/stylistic.d.ts +0 -0
- /package/dist/{style → infrastructure/style}/unicorn.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/jasmine.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/jest.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/playwright.d.ts +0 -0
- /package/dist/{testing → infrastructure/testing}/vitest.d.ts +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
/**
|
|
3
|
+
* Return Jasmine-specific ESLint configurations when the plugin is installed.
|
|
4
|
+
* @returns Return value output.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* await jasmine();
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export async function jasmine() {
|
|
11
|
+
const jasmineModule = await import("eslint-plugin-jasmine");
|
|
12
|
+
const globalsModule = await import("globals");
|
|
13
|
+
const { configs, rules } = jasmineModule;
|
|
14
|
+
const { jasmine: globals } = globalsModule;
|
|
15
|
+
const customError = Object.fromEntries(Object.keys(rules).map((rule) => [`jasmine/${rule}`, "error"]));
|
|
16
|
+
return defineConfig({
|
|
17
|
+
extends: [configs.recommended],
|
|
18
|
+
files: ["**/*.spec.ts", "**/*.e2e.ts"],
|
|
19
|
+
languageOptions: { globals },
|
|
20
|
+
name: "jasmine/custom",
|
|
21
|
+
plugins: { jasmine: { rules } },
|
|
22
|
+
rules: customError,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS90ZXN0aW5nL2phc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPO0lBQzNCLE1BQU0sYUFBYSxHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDNUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFDekMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUM7SUFFM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQVUsQ0FBQyxDQUN4RSxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7UUFDbEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM5QixLQUFLLEVBQUUsQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDO1FBQ3RDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRTtRQUM1QixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQy9CLEtBQUssRUFBRSxXQUFXO0tBQ25CLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBSZXR1cm4gSmFzbWluZS1zcGVjaWZpYyBFU0xpbnQgY29uZmlndXJhdGlvbnMgd2hlbiB0aGUgcGx1Z2luIGlzIGluc3RhbGxlZC5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgamFzbWluZSgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBqYXNtaW5lKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IGphc21pbmVNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLWphc21pbmVcIik7XG4gIGNvbnN0IGdsb2JhbHNNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJnbG9iYWxzXCIpO1xuICBjb25zdCB7IGNvbmZpZ3MsIHJ1bGVzIH0gPSBqYXNtaW5lTW9kdWxlO1xuICBjb25zdCB7IGphc21pbmU6IGdsb2JhbHMgfSA9IGdsb2JhbHNNb2R1bGU7XG5cbiAgY29uc3QgY3VzdG9tRXJyb3IgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmtleXMocnVsZXMpLm1hcCgocnVsZSkgPT4gW2BqYXNtaW5lLyR7cnVsZX1gLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcbiAgKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBleHRlbmRzOiBbY29uZmlncy5yZWNvbW1lbmRlZF0sXG4gICAgZmlsZXM6IFtcIioqLyouc3BlYy50c1wiLCBcIioqLyouZTJlLnRzXCJdLFxuICAgIGxhbmd1YWdlT3B0aW9uczogeyBnbG9iYWxzIH0sXG4gICAgbmFtZTogXCJqYXNtaW5lL2N1c3RvbVwiLFxuICAgIHBsdWdpbnM6IHsgamFzbWluZTogeyBydWxlcyB9IH0sXG4gICAgcnVsZXM6IGN1c3RvbUVycm9yLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/testing/jest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAoBrD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
/**
|
|
3
|
+
* Load Jest plugin configuration when available.
|
|
4
|
+
* @returns Return value output.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* await jest();
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export async function jest() {
|
|
11
|
+
const { configs } = await import("eslint-plugin-jest");
|
|
12
|
+
return defineConfig({
|
|
13
|
+
extends: [configs["flat/all"]],
|
|
14
|
+
files: ["**/integration/jest/**/*.spec.ts"],
|
|
15
|
+
name: "jest/custom",
|
|
16
|
+
rules: {
|
|
17
|
+
"jest/prefer-expect-assertions": "off",
|
|
18
|
+
},
|
|
19
|
+
}, {
|
|
20
|
+
files: ["**/integration/jest-global/**/*.spec.ts"],
|
|
21
|
+
name: "jest/custom-global-overrides",
|
|
22
|
+
rules: {
|
|
23
|
+
"jest/prefer-importing-jest-globals": "off",
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS90ZXN0aW5nL2plc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJO0lBQ3hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXZELE9BQU8sWUFBWSxDQUNqQjtRQUNFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QixLQUFLLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztRQUMzQyxJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUU7WUFDTCwrQkFBK0IsRUFBRSxLQUFLO1NBQ3ZDO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlDQUF5QyxDQUFDO1FBQ2xELElBQUksRUFBRSw4QkFBOEI7UUFDcEMsS0FBSyxFQUFFO1lBQ0wsb0NBQW9DLEVBQUUsS0FBSztTQUM1QztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBMb2FkIEplc3QgcGx1Z2luIGNvbmZpZ3VyYXRpb24gd2hlbiBhdmFpbGFibGUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGplc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gamVzdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGNvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4tamVzdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIHtcbiAgICAgIGV4dGVuZHM6IFtjb25maWdzW1wiZmxhdC9hbGxcIl1dLFxuICAgICAgZmlsZXM6IFtcIioqL2ludGVncmF0aW9uL2plc3QvKiovKi5zcGVjLnRzXCJdLFxuICAgICAgbmFtZTogXCJqZXN0L2N1c3RvbVwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJqZXN0L3ByZWZlci1leHBlY3QtYXNzZXJ0aW9uc1wiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbXCIqKi9pbnRlZ3JhdGlvbi9qZXN0LWdsb2JhbC8qKi8qLnNwZWMudHNcIl0sXG4gICAgICBuYW1lOiBcImplc3QvY3VzdG9tLWdsb2JhbC1vdmVycmlkZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiamVzdC9wcmVmZXItaW1wb3J0aW5nLWplc3QtZ2xvYmFsc1wiOiBcIm9mZlwiLFxuICAgICAgfSxcbiAgICB9LFxuICApO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/testing/playwright.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,iBAAe,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAuBpD;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
/**
|
|
3
|
+
* Build and return Playwright-specific ESLint configs and rule adjustments.
|
|
4
|
+
* @returns Return value output.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* await playwright();
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
async function playwright() {
|
|
11
|
+
const playwrightModule = await import("eslint-plugin-playwright");
|
|
12
|
+
const { configs, rules } = playwrightModule.default;
|
|
13
|
+
const customIgnore = new Set([""]);
|
|
14
|
+
const { rules: recommendedRules = {} } = configs["flat/recommended"];
|
|
15
|
+
const allConfigs = new Set(Object.keys({ ...recommendedRules }));
|
|
16
|
+
const customError = Object.fromEntries(Object.keys(rules)
|
|
17
|
+
.filter((rule) => !customIgnore.has(rule))
|
|
18
|
+
.map((rule) => `playwright/${rule}`)
|
|
19
|
+
.filter((rule) => !allConfigs.has(rule))
|
|
20
|
+
.map((rule) => [rule, "error"]));
|
|
21
|
+
return defineConfig({
|
|
22
|
+
extends: [configs["flat/recommended"]],
|
|
23
|
+
files: ["e2e/**/*.{spec,test}.{ts,js}"],
|
|
24
|
+
name: "playwright/custom-error",
|
|
25
|
+
rules: customError,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
export { playwright };
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheXdyaWdodC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS90ZXN0aW5nL3BsYXl3cmlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3Qzs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLFVBQVU7SUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBRXBELE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVuQyxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ2YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQ25DLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFVLENBQUMsQ0FDM0MsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUFDO1FBQ2xCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RDLEtBQUssRUFBRSxDQUFDLDhCQUE4QixDQUFDO1FBQ3ZDLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsS0FBSyxFQUFFLFdBQVc7S0FDbkIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGFuZCByZXR1cm4gUGxheXdyaWdodC1zcGVjaWZpYyBFU0xpbnQgY29uZmlncyBhbmQgcnVsZSBhZGp1c3RtZW50cy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgcGxheXdyaWdodCgpO1xuICogYGBgXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHBsYXl3cmlnaHQoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgcGxheXdyaWdodE1vZHVsZSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4tcGxheXdyaWdodFwiKTtcbiAgY29uc3QgeyBjb25maWdzLCBydWxlcyB9ID0gcGxheXdyaWdodE1vZHVsZS5kZWZhdWx0O1xuXG4gIGNvbnN0IGN1c3RvbUlnbm9yZSA9IG5ldyBTZXQoW1wiXCJdKTtcblxuICBjb25zdCB7IHJ1bGVzOiByZWNvbW1lbmRlZFJ1bGVzID0ge30gfSA9IGNvbmZpZ3NbXCJmbGF0L3JlY29tbWVuZGVkXCJdO1xuICBjb25zdCBhbGxDb25maWdzID0gbmV3IFNldChPYmplY3Qua2V5cyh7IC4uLnJlY29tbWVuZGVkUnVsZXMgfSkpO1xuXG4gIGNvbnN0IGN1c3RvbUVycm9yID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIE9iamVjdC5rZXlzKHJ1bGVzKVxuICAgICAgLmZpbHRlcigocnVsZSkgPT4gIWN1c3RvbUlnbm9yZS5oYXMocnVsZSkpXG4gICAgICAubWFwKChydWxlKSA9PiBgcGxheXdyaWdodC8ke3J1bGV9YClcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+ICFhbGxDb25maWdzLmhhcyhydWxlKSlcbiAgICAgIC5tYXAoKHJ1bGUpID0+IFtydWxlLCBcImVycm9yXCJdIGFzIGNvbnN0KSxcbiAgKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBleHRlbmRzOiBbY29uZmlnc1tcImZsYXQvcmVjb21tZW5kZWRcIl1dLFxuICAgIGZpbGVzOiBbXCJlMmUvKiovKi57c3BlYyx0ZXN0fS57dHMsanN9XCJdLFxuICAgIG5hbWU6IFwicGxheXdyaWdodC9jdXN0b20tZXJyb3JcIixcbiAgICBydWxlczogY3VzdG9tRXJyb3IsXG4gIH0pO1xufVxuXG5leHBvcnQgeyBwbGF5d3JpZ2h0IH07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
/**
|
|
3
|
+
* Load Vitest plugin configuration when available.
|
|
4
|
+
* @returns Return value output.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* await vitest();
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
export async function vitest() {
|
|
11
|
+
const vitestModule = await import("@vitest/eslint-plugin");
|
|
12
|
+
const plugin = vitestModule.default;
|
|
13
|
+
const allConfig = plugin?.configs?.all;
|
|
14
|
+
if (allConfig === void 0) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
return defineConfig({ settings: { vitest: { typecheck: true } } }, {
|
|
18
|
+
extends: [allConfig],
|
|
19
|
+
files: ["**/*.{spec,test}.ts"],
|
|
20
|
+
name: "vitest/custom",
|
|
21
|
+
rules: {
|
|
22
|
+
"vitest/consistent-test-filename": [
|
|
23
|
+
"error",
|
|
24
|
+
{ pattern: String.raw `.*\.spec\.[tj]sx?$` },
|
|
25
|
+
],
|
|
26
|
+
"vitest/no-hooks": "off",
|
|
27
|
+
"vitest/prefer-expect-assertions": "off",
|
|
28
|
+
"vitest/require-mock-type-parameters": "off",
|
|
29
|
+
"vitest/unbound-method": "off",
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL3Rlc3Rpbmcvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTTtJQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUNWLFlBVUQsQ0FBQyxPQUFPLENBQUM7SUFDVixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sWUFBWSxDQUNqQixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQzdDO1FBQ0UsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUEsb0JBQW9CLEVBQUU7YUFDNUM7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMscUNBQXFDLEVBQUUsS0FBSztZQUM1Qyx1QkFBdUIsRUFBRSxLQUFLO1NBQy9CO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIExvYWQgVml0ZXN0IHBsdWdpbiBjb25maWd1cmF0aW9uIHdoZW4gYXZhaWxhYmxlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCB2aXRlc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdml0ZXN0KCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHZpdGVzdE1vZHVsZSA9IGF3YWl0IGltcG9ydChcIkB2aXRlc3QvZXNsaW50LXBsdWdpblwiKTtcbiAgY29uc3QgcGx1Z2luID0gKFxuICAgIHZpdGVzdE1vZHVsZSBhcyB7XG4gICAgICAvKiogRGVmYXVsdCBoZWxwZXIgdmFsdWUuICovXG4gICAgICBkZWZhdWx0Pzoge1xuICAgICAgICAvKiogQ29uZmlncyBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgIGNvbmZpZ3M/OiB7XG4gICAgICAgICAgLyoqIEFsbCBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgICAgYWxsPzogTGludGVyLkNvbmZpZztcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfVxuICApLmRlZmF1bHQ7XG4gIGNvbnN0IGFsbENvbmZpZyA9IHBsdWdpbj8uY29uZmlncz8uYWxsO1xuXG4gIGlmIChhbGxDb25maWcgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgeyBzZXR0aW5nczogeyB2aXRlc3Q6IHsgdHlwZWNoZWNrOiB0cnVlIH0gfSB9LFxuICAgIHtcbiAgICAgIGV4dGVuZHM6IFthbGxDb25maWddLFxuICAgICAgZmlsZXM6IFtcIioqLyoue3NwZWMsdGVzdH0udHNcIl0sXG4gICAgICBuYW1lOiBcInZpdGVzdC9jdXN0b21cIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwidml0ZXN0L2NvbnNpc3RlbnQtdGVzdC1maWxlbmFtZVwiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgcGF0dGVybjogU3RyaW5nLnJhd2AuKlxcLnNwZWNcXC5bdGpdc3g/JGAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJ2aXRlc3Qvbm8taG9va3NcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvcHJlZmVyLWV4cGVjdC1hc3NlcnRpb25zXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidml0ZXN0L3JlcXVpcmUtbW9jay10eXBlLXBhcmFtZXRlcnNcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvdW5ib3VuZC1tZXRob2RcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Linter } from "eslint";
|
|
2
|
-
import type { PluginName } from "
|
|
2
|
+
import type { PluginName } from "../domain/index.js";
|
|
3
3
|
/** Runtime loading modes for plugin config loaders. */
|
|
4
4
|
type LoadMode = "optional" | "required";
|
|
5
5
|
/**
|
|
@@ -24,17 +24,6 @@ declare function applyRuleOverrides(config: Linter.Config[], ruleOverrides?: Lin
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
declare function collectAvailablePlugins(configs: Linter.Config[]): ReadonlySet<string>;
|
|
27
|
-
/**
|
|
28
|
-
* Checks if a plugin is disabled in the options.
|
|
29
|
-
* @param pluginName Input pluginName value.
|
|
30
|
-
* @param disabledPlugins Input disabledPlugins value.
|
|
31
|
-
* @returns Return value output.
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* isPluginDisabled();
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
declare function isPluginDisabled(pluginName: PluginName, disabledPlugins?: readonly PluginName[]): boolean;
|
|
38
27
|
/**
|
|
39
28
|
* Loads a plugin config with a helpful, colorful error message on failure.
|
|
40
29
|
* @param pluginName Input pluginName value.
|
|
@@ -47,6 +36,6 @@ declare function isPluginDisabled(pluginName: PluginName, disabledPlugins?: read
|
|
|
47
36
|
* ```
|
|
48
37
|
*/
|
|
49
38
|
declare function loadPluginConfig(pluginName: PluginName, loader: () => Linter.Config[] | Promise<Linter.Config[]>, mode?: LoadMode): Promise<Linter.Config[]>;
|
|
50
|
-
export { applyRuleOverrides, collectAvailablePlugins,
|
|
39
|
+
export { applyRuleOverrides, collectAvailablePlugins, loadPluginConfig };
|
|
51
40
|
export type { LoadMode };
|
|
52
41
|
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/infrastructure/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,uDAAuD;AACvD,KAAK,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAExC;;;;;;;;;;GAUG;AACH,iBAAS,kBAAkB,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACvB,aAAa,CAAC,EAAE,MAAM,CAAC,WAAW,EAClC,gBAAgB,GAAE,WAAW,CAAC,MAAM,CAAa,GAChD,MAAM,CAAC,MAAM,EAAE,CAcjB;AAED;;;;;;;;GAQG;AACH,iBAAS,uBAAuB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GACvB,WAAW,CAAC,MAAM,CAAC,CAYrB;AA+BD;;;;;;;;;;GAUG;AACH,iBAAe,gBAAgB,CAC7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EACxD,IAAI,GAAE,QAAqB,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAY1B;AA4BD,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,CAAC;AAEzE,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { reportPluginLoadIssue, reportRuleOverrideSkip } from "./diagnostics.js";
|
|
2
|
+
/**
|
|
3
|
+
* Applies rule overrides to a configuration array.
|
|
4
|
+
* @param config Input config value.
|
|
5
|
+
* @param ruleOverrides Input ruleOverrides value.
|
|
6
|
+
* @param availablePlugins Input availablePlugins value.
|
|
7
|
+
* @returns Return value output.
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* applyRuleOverrides([], { "no-console": "off" });
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
function applyRuleOverrides(config, ruleOverrides, availablePlugins = new Set()) {
|
|
14
|
+
const filteredRules = filterRuleOverrides(ruleOverrides, availablePlugins);
|
|
15
|
+
if (filteredRules === void 0) {
|
|
16
|
+
return config;
|
|
17
|
+
}
|
|
18
|
+
return [
|
|
19
|
+
...config,
|
|
20
|
+
{
|
|
21
|
+
name: "custom/rule-overrides",
|
|
22
|
+
rules: filteredRules,
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Collects plugin names from config entries.
|
|
28
|
+
* @param configs Input configs value.
|
|
29
|
+
* @returns Return value output.
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* collectAvailablePlugins();
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
function collectAvailablePlugins(configs) {
|
|
36
|
+
const plugins = new Set();
|
|
37
|
+
for (const config of configs) {
|
|
38
|
+
if (config.plugins !== void 0) {
|
|
39
|
+
for (const pluginName of Object.keys(config.plugins)) {
|
|
40
|
+
plugins.add(pluginName);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return plugins;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Filters rule overrides to those that can be applied.
|
|
48
|
+
* @param ruleOverrides Input ruleOverrides value.
|
|
49
|
+
* @param availablePlugins Input availablePlugins value.
|
|
50
|
+
* @returns Return value output.
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* filterRuleOverrides();
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
function filterRuleOverrides(ruleOverrides, availablePlugins) {
|
|
57
|
+
if (ruleOverrides === void 0 || Object.keys(ruleOverrides).length === 0) {
|
|
58
|
+
return void 0;
|
|
59
|
+
}
|
|
60
|
+
const filteredRules = {};
|
|
61
|
+
for (const [ruleName, ruleValue] of Object.entries(ruleOverrides)) {
|
|
62
|
+
if (!shouldSkipRuleOverride(ruleName, availablePlugins)) {
|
|
63
|
+
filteredRules[ruleName] = ruleValue;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return Object.keys(filteredRules).length === 0 ? void 0 : filteredRules;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Loads a plugin config with a helpful, colorful error message on failure.
|
|
70
|
+
* @param pluginName Input pluginName value.
|
|
71
|
+
* @param loader Input loader value.
|
|
72
|
+
* @param mode Specifies whether loader failures are fatal or skippable.
|
|
73
|
+
* @returns Return value output.
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* loadPluginConfig();
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
async function loadPluginConfig(pluginName, loader, mode = "optional") {
|
|
80
|
+
try {
|
|
81
|
+
return await loader();
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
reportPluginLoadIssue(pluginName, error, mode);
|
|
85
|
+
if (mode === "required") {
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Determines whether a rule override should be skipped.
|
|
93
|
+
* @param ruleName Input ruleName value.
|
|
94
|
+
* @param availablePlugins Input availablePlugins value.
|
|
95
|
+
* @returns Return value output.
|
|
96
|
+
* @example
|
|
97
|
+
* ```typescript
|
|
98
|
+
* shouldSkipRuleOverride();
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
function shouldSkipRuleOverride(ruleName, availablePlugins) {
|
|
102
|
+
const [pluginName = ""] = ruleName.split("/");
|
|
103
|
+
const isPluginRule = ruleName.includes("/");
|
|
104
|
+
const hasPlugin = availablePlugins.has(pluginName);
|
|
105
|
+
if (isPluginRule && !hasPlugin) {
|
|
106
|
+
reportRuleOverrideSkip(ruleName, pluginName);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
export { applyRuleOverrides, collectAvailablePlugins, loadPluginConfig };
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL3V0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLOUU7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQVMsa0JBQWtCLENBQ3pCLE1BQXVCLEVBQ3ZCLGFBQWtDLEVBQ2xDLG1CQUF3QyxJQUFJLEdBQUcsRUFBRTtJQUVqRCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUUzRSxJQUFJLGFBQWEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1Q7WUFDRSxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxhQUFhO1NBQ0o7S0FDbkIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQzlCLE9BQXdCO0lBRXhCLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7SUFFbEMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsbUJBQW1CLENBQzFCLGFBQTZDLEVBQzdDLGdCQUFxQztJQUVyQyxJQUFJLGFBQWEsS0FBSyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4RSxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBdUIsRUFBRSxDQUFDO0lBRTdDLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDbEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDeEQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQzFFLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsS0FBSyxVQUFVLGdCQUFnQixDQUM3QixVQUFzQixFQUN0QixNQUF3RCxFQUN4RCxPQUFpQixVQUFVO0lBRTNCLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxNQUFNLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0MsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDeEIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLFFBQWdCLEVBQ2hCLGdCQUFxQztJQUVyQyxNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbkQsSUFBSSxZQUFZLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5OYW1lIH0gZnJvbSBcIi4uL2RvbWFpblwiO1xuXG5pbXBvcnQgeyByZXBvcnRQbHVnaW5Mb2FkSXNzdWUsIHJlcG9ydFJ1bGVPdmVycmlkZVNraXAgfSBmcm9tIFwiLi9kaWFnbm9zdGljc1wiO1xuXG4vKiogUnVudGltZSBsb2FkaW5nIG1vZGVzIGZvciBwbHVnaW4gY29uZmlnIGxvYWRlcnMuICovXG50eXBlIExvYWRNb2RlID0gXCJvcHRpb25hbFwiIHwgXCJyZXF1aXJlZFwiO1xuXG4vKipcbiAqIEFwcGxpZXMgcnVsZSBvdmVycmlkZXMgdG8gYSBjb25maWd1cmF0aW9uIGFycmF5LlxuICogQHBhcmFtIGNvbmZpZyBJbnB1dCBjb25maWcgdmFsdWUuXG4gKiBAcGFyYW0gcnVsZU92ZXJyaWRlcyBJbnB1dCBydWxlT3ZlcnJpZGVzIHZhbHVlLlxuICogQHBhcmFtIGF2YWlsYWJsZVBsdWdpbnMgSW5wdXQgYXZhaWxhYmxlUGx1Z2lucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXBwbHlSdWxlT3ZlcnJpZGVzKFtdLCB7IFwibm8tY29uc29sZVwiOiBcIm9mZlwiIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFwcGx5UnVsZU92ZXJyaWRlcyhcbiAgY29uZmlnOiBMaW50ZXIuQ29uZmlnW10sXG4gIHJ1bGVPdmVycmlkZXM/OiBMaW50ZXIuUnVsZXNSZWNvcmQsXG4gIGF2YWlsYWJsZVBsdWdpbnM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KCksXG4pOiBMaW50ZXIuQ29uZmlnW10ge1xuICBjb25zdCBmaWx0ZXJlZFJ1bGVzID0gZmlsdGVyUnVsZU92ZXJyaWRlcyhydWxlT3ZlcnJpZGVzLCBhdmFpbGFibGVQbHVnaW5zKTtcblxuICBpZiAoZmlsdGVyZWRSdWxlcyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgLi4uY29uZmlnLFxuICAgIHtcbiAgICAgIG5hbWU6IFwiY3VzdG9tL3J1bGUtb3ZlcnJpZGVzXCIsXG4gICAgICBydWxlczogZmlsdGVyZWRSdWxlcyxcbiAgICB9IGFzIExpbnRlci5Db25maWcsXG4gIF07XG59XG5cbi8qKlxuICogQ29sbGVjdHMgcGx1Z2luIG5hbWVzIGZyb20gY29uZmlnIGVudHJpZXMuXG4gKiBAcGFyYW0gY29uZmlncyBJbnB1dCBjb25maWdzIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb2xsZWN0QXZhaWxhYmxlUGx1Z2lucygpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RBdmFpbGFibGVQbHVnaW5zKFxuICBjb25maWdzOiBMaW50ZXIuQ29uZmlnW10sXG4pOiBSZWFkb25seVNldDxzdHJpbmc+IHtcbiAgY29uc3QgcGx1Z2lucyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAoY29uc3QgY29uZmlnIG9mIGNvbmZpZ3MpIHtcbiAgICBpZiAoY29uZmlnLnBsdWdpbnMgIT09IHZvaWQgMCkge1xuICAgICAgZm9yIChjb25zdCBwbHVnaW5OYW1lIG9mIE9iamVjdC5rZXlzKGNvbmZpZy5wbHVnaW5zKSkge1xuICAgICAgICBwbHVnaW5zLmFkZChwbHVnaW5OYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGx1Z2lucztcbn1cblxuLyoqXG4gKiBGaWx0ZXJzIHJ1bGUgb3ZlcnJpZGVzIHRvIHRob3NlIHRoYXQgY2FuIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gcnVsZU92ZXJyaWRlcyBJbnB1dCBydWxlT3ZlcnJpZGVzIHZhbHVlLlxuICogQHBhcmFtIGF2YWlsYWJsZVBsdWdpbnMgSW5wdXQgYXZhaWxhYmxlUGx1Z2lucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZmlsdGVyUnVsZU92ZXJyaWRlcygpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGZpbHRlclJ1bGVPdmVycmlkZXMoXG4gIHJ1bGVPdmVycmlkZXM6IExpbnRlci5SdWxlc1JlY29yZCB8IHVuZGVmaW5lZCxcbiAgYXZhaWxhYmxlUGx1Z2luczogUmVhZG9ubHlTZXQ8c3RyaW5nPixcbik6IExpbnRlci5SdWxlc1JlY29yZCB8IHVuZGVmaW5lZCB7XG4gIGlmIChydWxlT3ZlcnJpZGVzID09PSB2b2lkIDAgfHwgT2JqZWN0LmtleXMocnVsZU92ZXJyaWRlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmVkUnVsZXM6IExpbnRlci5SdWxlc1JlY29yZCA9IHt9O1xuXG4gIGZvciAoY29uc3QgW3J1bGVOYW1lLCBydWxlVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJ1bGVPdmVycmlkZXMpKSB7XG4gICAgaWYgKCFzaG91bGRTa2lwUnVsZU92ZXJyaWRlKHJ1bGVOYW1lLCBhdmFpbGFibGVQbHVnaW5zKSkge1xuICAgICAgZmlsdGVyZWRSdWxlc1tydWxlTmFtZV0gPSBydWxlVmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbHRlcmVkUnVsZXMpLmxlbmd0aCA9PT0gMCA/IHZvaWQgMCA6IGZpbHRlcmVkUnVsZXM7XG59XG5cbi8qKlxuICogTG9hZHMgYSBwbHVnaW4gY29uZmlnIHdpdGggYSBoZWxwZnVsLCBjb2xvcmZ1bCBlcnJvciBtZXNzYWdlIG9uIGZhaWx1cmUuXG4gKiBAcGFyYW0gcGx1Z2luTmFtZSBJbnB1dCBwbHVnaW5OYW1lIHZhbHVlLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcGFyYW0gbW9kZSBTcGVjaWZpZXMgd2hldGhlciBsb2FkZXIgZmFpbHVyZXMgYXJlIGZhdGFsIG9yIHNraXBwYWJsZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbG9hZFBsdWdpbkNvbmZpZygpO1xuICogYGBgXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRQbHVnaW5Db25maWcoXG4gIHBsdWdpbk5hbWU6IFBsdWdpbk5hbWUsXG4gIGxvYWRlcjogKCkgPT4gTGludGVyLkNvbmZpZ1tdIHwgUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+LFxuICBtb2RlOiBMb2FkTW9kZSA9IFwib3B0aW9uYWxcIixcbik6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGxvYWRlcigpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJlcG9ydFBsdWdpbkxvYWRJc3N1ZShwbHVnaW5OYW1lLCBlcnJvciwgbW9kZSk7XG5cbiAgICBpZiAobW9kZSA9PT0gXCJyZXF1aXJlZFwiKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBydWxlIG92ZXJyaWRlIHNob3VsZCBiZSBza2lwcGVkLlxuICogQHBhcmFtIHJ1bGVOYW1lIElucHV0IHJ1bGVOYW1lIHZhbHVlLlxuICogQHBhcmFtIGF2YWlsYWJsZVBsdWdpbnMgSW5wdXQgYXZhaWxhYmxlUGx1Z2lucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogc2hvdWxkU2tpcFJ1bGVPdmVycmlkZSgpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHNob3VsZFNraXBSdWxlT3ZlcnJpZGUoXG4gIHJ1bGVOYW1lOiBzdHJpbmcsXG4gIGF2YWlsYWJsZVBsdWdpbnM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXG4pOiBib29sZWFuIHtcbiAgY29uc3QgW3BsdWdpbk5hbWUgPSBcIlwiXSA9IHJ1bGVOYW1lLnNwbGl0KFwiL1wiKTtcbiAgY29uc3QgaXNQbHVnaW5SdWxlID0gcnVsZU5hbWUuaW5jbHVkZXMoXCIvXCIpO1xuICBjb25zdCBoYXNQbHVnaW4gPSBhdmFpbGFibGVQbHVnaW5zLmhhcyhwbHVnaW5OYW1lKTtcblxuICBpZiAoaXNQbHVnaW5SdWxlICYmICFoYXNQbHVnaW4pIHtcbiAgICByZXBvcnRSdWxlT3ZlcnJpZGVTa2lwKHJ1bGVOYW1lLCBwbHVnaW5OYW1lKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IHsgYXBwbHlSdWxlT3ZlcnJpZGVzLCBjb2xsZWN0QXZhaWxhYmxlUGx1Z2lucywgbG9hZFBsdWdpbkNvbmZpZyB9O1xuXG5leHBvcnQgdHlwZSB7IExvYWRNb2RlIH07XG4iXX0=
|
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",
|
|
@@ -38,14 +38,11 @@
|
|
|
38
38
|
"commit": "npx --yes git-cz",
|
|
39
39
|
"prepare": "husky",
|
|
40
40
|
"\n# --------------- BUILDING --------------- #": "",
|
|
41
|
-
"build": "npm run clean && npm run compile",
|
|
41
|
+
"build": "npm run clean && npm run compile && npm run resolve-paths",
|
|
42
42
|
"clean": "npx --yes rimraf dist",
|
|
43
|
-
"compile": "tsc
|
|
43
|
+
"compile": "tsc --build --force ./tsconfig.build.json",
|
|
44
44
|
"pack": "npm pack --pack-destination dist",
|
|
45
|
-
"
|
|
46
|
-
"docs": "npm run docs:clean && npm run docs:api",
|
|
47
|
-
"docs:api": "npx --yes typedoc --options typedoc.json",
|
|
48
|
-
"docs:clean": "npx --yes rimraf docs/api",
|
|
45
|
+
"resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
|
|
49
46
|
"\n# --------------- LINTING --------------- #": "",
|
|
50
47
|
"\t• --------------- checking --------------- •": "",
|
|
51
48
|
"eslint": "npx --yes eslint --max-warnings=0",
|
|
@@ -62,44 +59,50 @@
|
|
|
62
59
|
"eslint:inspect": "npx --yes @eslint/config-inspector",
|
|
63
60
|
"\n# --------------- TESTING --------------- #": "",
|
|
64
61
|
"typecheck": "tsc --noEmit",
|
|
65
|
-
"typecheck:spec": "tsc
|
|
62
|
+
"typecheck:spec": "tsc --project tsconfig.spec.json --noEmit",
|
|
66
63
|
"validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
|
|
67
64
|
"\n\t• --------------- unit --------------- •": "",
|
|
68
|
-
"
|
|
65
|
+
"e2e": "npx --yes vitest run --config vitest.config.e2e.ts --coverage.enabled=false",
|
|
69
66
|
"tdd:notify": "npm run tdd -- --notify",
|
|
70
|
-
"
|
|
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"
|
|
71
74
|
},
|
|
72
75
|
"dependencies": {
|
|
73
|
-
"minimatch": "^10.2.
|
|
76
|
+
"minimatch": "^10.2.5"
|
|
74
77
|
},
|
|
75
78
|
"peerDependencies": {
|
|
76
|
-
"@eslint/js": "^10.0.
|
|
77
|
-
"eslint": "^10.1
|
|
78
|
-
"jiti": "^2.6.
|
|
79
|
-
"typescript": "^
|
|
80
|
-
"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"
|
|
81
84
|
},
|
|
82
85
|
"optionalDependencies": {
|
|
83
86
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
84
87
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
85
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
88
|
+
"@vitest/eslint-plugin": "^1.6.16",
|
|
86
89
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
87
|
-
"eslint-plugin-boundaries": "^6.0.
|
|
90
|
+
"eslint-plugin-boundaries": "^6.0.2",
|
|
88
91
|
"eslint-plugin-import-x": "^4.16.2",
|
|
89
92
|
"eslint-plugin-jasmine": "^4.2.2",
|
|
90
|
-
"eslint-plugin-jest": "^29.15.
|
|
91
|
-
"eslint-plugin-jsdoc": "^62.
|
|
92
|
-
"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",
|
|
93
96
|
"eslint-plugin-prettier": "^5.5.5",
|
|
94
|
-
"eslint-plugin-rxjs-x": "^1.0.
|
|
97
|
+
"eslint-plugin-rxjs-x": "^1.0.2",
|
|
95
98
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
96
|
-
"globals": "^17.
|
|
99
|
+
"globals": "^17.5.0"
|
|
97
100
|
},
|
|
98
101
|
"devDependencies": {
|
|
99
|
-
"@codeperfect/eslint-plugin": "^
|
|
102
|
+
"@codeperfect/eslint-plugin": "^2.0.0",
|
|
100
103
|
"@commitlint/cli": "^20.5.0",
|
|
101
104
|
"@commitlint/config-conventional": "^20.5.0",
|
|
102
|
-
"@commitlint/cz-commitlint": "^20.5.
|
|
105
|
+
"@commitlint/cz-commitlint": "^20.5.1",
|
|
103
106
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
|
|
104
107
|
"@eslint/js": "^10.0.1",
|
|
105
108
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
@@ -108,32 +111,35 @@
|
|
|
108
111
|
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
109
112
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
110
113
|
"@types/lodash-es": "^4.17.12",
|
|
111
|
-
"@types/node": "^25.
|
|
112
|
-
"@vitest/coverage-v8": "^4.1.
|
|
113
|
-
"@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",
|
|
114
117
|
"chalk": "^5.6.2",
|
|
115
118
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
116
|
-
"eslint": "^10.1
|
|
119
|
+
"eslint": "^10.2.1",
|
|
117
120
|
"eslint-config-prettier": "^10.1.8",
|
|
118
121
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
119
|
-
"eslint-plugin-boundaries": "^6.0.
|
|
122
|
+
"eslint-plugin-boundaries": "^6.0.2",
|
|
120
123
|
"eslint-plugin-import-x": "^4.16.2",
|
|
121
|
-
"eslint-plugin-jsdoc": "^62.
|
|
122
|
-
"eslint-plugin-perfectionist": "^5.
|
|
124
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
125
|
+
"eslint-plugin-perfectionist": "^5.9.0",
|
|
123
126
|
"eslint-plugin-playwright": "^2.10.1",
|
|
124
127
|
"eslint-plugin-prettier": "^5.5.5",
|
|
125
128
|
"eslint-plugin-unicorn": "^64.0.0",
|
|
126
|
-
"globals": "^17.
|
|
129
|
+
"globals": "^17.5.0",
|
|
127
130
|
"husky": "^9.1.7",
|
|
128
131
|
"jiti": "^2.6.1",
|
|
129
132
|
"lint-staged": "^16.4.0",
|
|
130
|
-
"lodash-es": "^4.
|
|
133
|
+
"lodash-es": "^4.18.1",
|
|
131
134
|
"rimraf": "^6.1.3",
|
|
132
135
|
"semantic-release": "^25.0.3",
|
|
133
|
-
"
|
|
136
|
+
"tsc-alias": "^1.8.16",
|
|
137
|
+
"typedoc": "^0.28.19",
|
|
134
138
|
"typedoc-plugin-markdown": "^4.11.0",
|
|
135
|
-
"typescript": "^
|
|
136
|
-
"
|
|
139
|
+
"typescript": "^6.0.3",
|
|
140
|
+
"typescript-eslint": "^8.58.2",
|
|
141
|
+
"vite-tsconfig-paths": "^6.1.1",
|
|
142
|
+
"vitest": "^4.1.4"
|
|
137
143
|
},
|
|
138
144
|
"engines": {
|
|
139
145
|
"node": ">=24.0.0"
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Linter } from "eslint";
|
|
2
|
-
import type { BoundariesConfig } from "../types";
|
|
3
|
-
/**
|
|
4
|
-
* Load boundaries plugin configuration when explicitly configured.
|
|
5
|
-
* @param config Input config value.
|
|
6
|
-
* @returns Return value output.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const configs = boundaries({
|
|
10
|
-
* elements: [{ type: "shared", pattern: "src/shared" }],
|
|
11
|
-
* elementTypes: ["error", { default: "disallow", rules: [] }],
|
|
12
|
-
* });
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
declare function boundaries(config?: BoundariesConfig): Linter.Config[];
|
|
16
|
-
export { boundaries };
|
|
17
|
-
//# sourceMappingURL=boundaries.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../src/architecture/boundaries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD;;;;;;;;;;;GAWG;AACH,iBAAS,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,CA0B9D;AA+CD,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { createConfig, strict } from "eslint-plugin-boundaries/config";
|
|
2
|
-
import { defineConfig } from "eslint/config";
|
|
3
|
-
import { reportMissingBoundariesConfig } from "../diagnostics";
|
|
4
|
-
/**
|
|
5
|
-
* Load boundaries plugin configuration when explicitly configured.
|
|
6
|
-
* @param config Input config value.
|
|
7
|
-
* @returns Return value output.
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* const configs = boundaries({
|
|
11
|
-
* elements: [{ type: "shared", pattern: "src/shared" }],
|
|
12
|
-
* elementTypes: ["error", { default: "disallow", rules: [] }],
|
|
13
|
-
* });
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
function boundaries(config) {
|
|
17
|
-
if (!hasBoundariesConfig(config)) {
|
|
18
|
-
warnMissingConfig();
|
|
19
|
-
return [];
|
|
20
|
-
}
|
|
21
|
-
const { elements, elementTypes, files, ignores } = config;
|
|
22
|
-
const settings = {
|
|
23
|
-
...strict.settings,
|
|
24
|
-
"boundaries/elements": elements,
|
|
25
|
-
};
|
|
26
|
-
const rules = {
|
|
27
|
-
...strict.rules,
|
|
28
|
-
"boundaries/element-types": elementTypes,
|
|
29
|
-
};
|
|
30
|
-
const configObject = createConfig({
|
|
31
|
-
files: [...files],
|
|
32
|
-
...(ignores === void 0 ? {} : { ignores: [...ignores] }),
|
|
33
|
-
rules,
|
|
34
|
-
settings,
|
|
35
|
-
});
|
|
36
|
-
return defineConfig(configObject);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Checks if the boundaries configuration is present.
|
|
40
|
-
* @param config Input config value.
|
|
41
|
-
* @returns Return value output.
|
|
42
|
-
* @example
|
|
43
|
-
* ```typescript
|
|
44
|
-
* const ok = hasBoundariesConfig({
|
|
45
|
-
* files: ["src"],
|
|
46
|
-
* elements: [],
|
|
47
|
-
* elementTypes: ["error", { default: "disallow", rules: [] }],
|
|
48
|
-
* });
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
function hasBoundariesConfig(config) {
|
|
52
|
-
if (config === void 0) {
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
const { elements, elementTypes, files } = config;
|
|
56
|
-
return files !== void 0 && elements !== void 0 && elementTypes !== void 0;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Warns when boundaries configuration is missing.
|
|
60
|
-
* @example
|
|
61
|
-
* ```typescript
|
|
62
|
-
* warnMissingConfig();
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
function warnMissingConfig() {
|
|
66
|
-
reportMissingBoundariesConfig();
|
|
67
|
-
}
|
|
68
|
-
export { boundaries };
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXRlY3R1cmUvYm91bmRhcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0Q7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFTLFVBQVUsQ0FBQyxNQUF5QjtJQUMzQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNqQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFMUQsTUFBTSxRQUFRLEdBQWE7UUFDekIsR0FBRyxNQUFNLENBQUMsUUFBUTtRQUNsQixxQkFBcUIsRUFBRSxRQUFRO0tBQ2hDLENBQUM7SUFFRixNQUFNLEtBQUssR0FBVTtRQUNuQixHQUFHLE1BQU0sQ0FBQyxLQUFLO1FBQ2YsMEJBQTBCLEVBQUUsWUFBWTtLQUN6QyxDQUFDO0lBRUYsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2hDLEtBQUssRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDeEQsS0FBSztRQUNMLFFBQVE7S0FDVCxDQUFpQixDQUFDO0lBRW5CLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxTQUFTLG1CQUFtQixDQUMxQixNQUFvQztJQUVwQyxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BU3pDLENBQUM7SUFFRixPQUFPLEtBQUssS0FBSyxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUksWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQzVFLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLGlCQUFpQjtJQUN4Qiw2QkFBNkIsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZ09iamVjdCB9IGZyb20gXCJAZXNsaW50L2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgeyBSdWxlcywgU2V0dGluZ3MgfSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbmZpZywgc3RyaWN0IH0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHsgQm91bmRhcmllc0NvbmZpZyB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5pbXBvcnQgeyByZXBvcnRNaXNzaW5nQm91bmRhcmllc0NvbmZpZyB9IGZyb20gXCIuLi9kaWFnbm9zdGljc1wiO1xuXG4vKipcbiAqIExvYWQgYm91bmRhcmllcyBwbHVnaW4gY29uZmlndXJhdGlvbiB3aGVuIGV4cGxpY2l0bHkgY29uZmlndXJlZC5cbiAqIEBwYXJhbSBjb25maWcgSW5wdXQgY29uZmlnIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb25maWdzID0gYm91bmRhcmllcyh7XG4gKiBlbGVtZW50czogW3sgdHlwZTogXCJzaGFyZWRcIiwgcGF0dGVybjogXCJzcmMvc2hhcmVkXCIgfV0sXG4gKiBlbGVtZW50VHlwZXM6IFtcImVycm9yXCIsIHsgZGVmYXVsdDogXCJkaXNhbGxvd1wiLCBydWxlczogW10gfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBib3VuZGFyaWVzKGNvbmZpZz86IEJvdW5kYXJpZXNDb25maWcpOiBMaW50ZXIuQ29uZmlnW10ge1xuICBpZiAoIWhhc0JvdW5kYXJpZXNDb25maWcoY29uZmlnKSkge1xuICAgIHdhcm5NaXNzaW5nQ29uZmlnKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgeyBlbGVtZW50cywgZWxlbWVudFR5cGVzLCBmaWxlcywgaWdub3JlcyB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5ncyA9IHtcbiAgICAuLi5zdHJpY3Quc2V0dGluZ3MsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnRzXCI6IGVsZW1lbnRzLFxuICB9O1xuXG4gIGNvbnN0IHJ1bGVzOiBSdWxlcyA9IHtcbiAgICAuLi5zdHJpY3QucnVsZXMsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnQtdHlwZXNcIjogZWxlbWVudFR5cGVzLFxuICB9O1xuXG4gIGNvbnN0IGNvbmZpZ09iamVjdCA9IGNyZWF0ZUNvbmZpZyh7XG4gICAgZmlsZXM6IFsuLi5maWxlc10sXG4gICAgLi4uKGlnbm9yZXMgPT09IHZvaWQgMCA/IHt9IDogeyBpZ25vcmVzOiBbLi4uaWdub3Jlc10gfSksXG4gICAgcnVsZXMsXG4gICAgc2V0dGluZ3MsXG4gIH0pIGFzIENvbmZpZ09iamVjdDtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ09iamVjdCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBib3VuZGFyaWVzIGNvbmZpZ3VyYXRpb24gaXMgcHJlc2VudC5cbiAqIEBwYXJhbSBjb25maWcgSW5wdXQgY29uZmlnIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGhhc0JvdW5kYXJpZXNDb25maWcoe1xuICogICBmaWxlczogW1wic3JjXCJdLFxuICogICBlbGVtZW50czogW10sXG4gKiAgIGVsZW1lbnRUeXBlczogW1wiZXJyb3JcIiwgeyBkZWZhdWx0OiBcImRpc2FsbG93XCIsIHJ1bGVzOiBbXSB9XSxcbiAqIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc0JvdW5kYXJpZXNDb25maWcoXG4gIGNvbmZpZzogQm91bmRhcmllc0NvbmZpZyB8IHVuZGVmaW5lZCxcbik6IGNvbmZpZyBpcyBCb3VuZGFyaWVzQ29uZmlnIHtcbiAgaWYgKGNvbmZpZyA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgeyBlbGVtZW50cywgZWxlbWVudFR5cGVzLCBmaWxlcyB9ID0gY29uZmlnIGFzIHtcbiAgICAvKiogRWxlbWVudHMgaGVscGVyIHZhbHVlLiAqL1xuICAgIGVsZW1lbnRzPzogdW5rbm93bjtcblxuICAgIC8qKiBFbGVtZW50VHlwZXMgaGVscGVyIHZhbHVlLiAqL1xuICAgIGVsZW1lbnRUeXBlcz86IHVua25vd247XG5cbiAgICAvKiogRmlsZXMgaGVscGVyIHZhbHVlLiAqL1xuICAgIGZpbGVzPzogdW5rbm93bjtcbiAgfTtcblxuICByZXR1cm4gZmlsZXMgIT09IHZvaWQgMCAmJiBlbGVtZW50cyAhPT0gdm9pZCAwICYmIGVsZW1lbnRUeXBlcyAhPT0gdm9pZCAwO1xufVxuXG4vKipcbiAqIFdhcm5zIHdoZW4gYm91bmRhcmllcyBjb25maWd1cmF0aW9uIGlzIG1pc3NpbmcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogd2Fybk1pc3NpbmdDb25maWcoKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB3YXJuTWlzc2luZ0NvbmZpZygpOiB2b2lkIHtcbiAgcmVwb3J0TWlzc2luZ0JvdW5kYXJpZXNDb25maWcoKTtcbn1cblxuZXhwb3J0IHsgYm91bmRhcmllcyB9O1xuIl19
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|