@codeperfect/eslint-config 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +3 -2
  2. package/dist/bootstrap/config.d.ts +23 -0
  3. package/dist/bootstrap/config.d.ts.map +1 -0
  4. package/dist/bootstrap/config.js +110 -0
  5. package/dist/bootstrap/index.d.ts +1 -2
  6. package/dist/bootstrap/index.d.ts.map +1 -1
  7. package/dist/bootstrap/index.js +2 -2
  8. package/dist/{infrastructure → bootstrap}/plugin-loaders.d.ts +2 -2
  9. package/dist/bootstrap/plugin-loaders.d.ts.map +1 -0
  10. package/dist/bootstrap/plugin-loaders.js +59 -0
  11. package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
  12. package/dist/domain/index.d.ts +1 -1
  13. package/dist/domain/index.d.ts.map +1 -1
  14. package/dist/domain/index.js +1 -1
  15. package/dist/domain/types.d.ts +1 -8
  16. package/dist/domain/types.d.ts.map +1 -1
  17. package/dist/domain/types.js +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/infrastructure/architecture/boundaries.d.ts.map +1 -1
  22. package/dist/infrastructure/architecture/boundaries.js +19 -4
  23. package/dist/infrastructure/architecture/import-x.d.ts.map +1 -1
  24. package/dist/infrastructure/architecture/import-x.js +3 -1
  25. package/dist/infrastructure/index.d.ts +6 -5
  26. package/dist/infrastructure/index.d.ts.map +1 -1
  27. package/dist/infrastructure/index.js +7 -5
  28. package/dist/infrastructure/style/prettier.d.ts.map +1 -1
  29. package/dist/infrastructure/style/prettier.js +3 -3
  30. package/dist/infrastructure/style/stylistic.d.ts.map +1 -1
  31. package/dist/infrastructure/style/stylistic.js +5 -2
  32. package/package.json +23 -24
  33. package/dist/infrastructure/config-factory.d.ts +0 -14
  34. package/dist/infrastructure/config-factory.d.ts.map +0 -1
  35. package/dist/infrastructure/config-factory.js +0 -111
  36. package/dist/infrastructure/plugin-loaders.d.ts.map +0 -1
  37. package/dist/infrastructure/plugin-loaders.js +0 -65
package/README.md CHANGED
@@ -117,8 +117,9 @@ This order is intentional and validated in tests.
117
117
 
118
118
  ## Internal layout
119
119
 
120
- - `src/configs/` is the internal entrypoint for config-module builders used during composition.
121
- - domain folders such as `src/architecture/`, `src/core/`, `src/docs/`, `src/testing/`, `src/domain/`, and `src/style/` own the concrete module implementations.
120
+ - `src/bootstrap/` owns the public `config()` composition and module registry.
121
+ - `src/infrastructure/` owns the concrete ESLint module configs and runtime loading helpers.
122
+ - `src/domain/` owns the public options and module taxonomy.
122
123
 
123
124
  ## Documentation
124
125
 
@@ -0,0 +1,23 @@
1
+ import type { Linter } from "eslint";
2
+ import type { PluginStateOverrides as DomainPluginStateOverrides, ScopedPluginConfig } from "../domain/index.js";
3
+ /** Configuration options accepted by the public config factory. */
4
+ export interface ConfigOptions {
5
+ /** Explicit plugin state overrides keyed by public plugin name. */
6
+ plugins?: PluginStateOverrides;
7
+ /** Package-scoped plugin profiles for monorepo configuration. */
8
+ scopedPlugins?: readonly ScopedPluginConfig[];
9
+ }
10
+ /** Plugin state overrides accepted by the public configuration factory. */
11
+ export type PluginStateOverrides = DomainPluginStateOverrides;
12
+ /**
13
+ * Creates the ESLint configuration with optional plugin customization.
14
+ * @param options Input options value.
15
+ * @returns Return value output.
16
+ * @example
17
+ * ```typescript
18
+ * config();
19
+ * ```
20
+ */
21
+ declare function config(options?: ConfigOptions): Promise<Linter.Config[]>;
22
+ export { config };
23
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/bootstrap/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EACV,oBAAoB,IAAI,0BAA0B,EAClD,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAMnB,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAE/B,iEAAiE;IACjE,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/C;AAED,2EAA2E;AAC3E,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AA+E9D;;;;;;;;GAQG;AACH,iBAAe,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAU3E;AA6CD,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { defineConfig } from "eslint/config";
2
+ import { moduleTaxonomy } from "../domain/index.js";
3
+ import { isPluginEnabled, loadPluginConfig } from "../infrastructure/index.js";
4
+ import { pluginLoaders } from "./plugin-loaders.js";
5
+ /**
6
+ * Scopes config entries to a package base directory.
7
+ * @param configs Config entries to scope.
8
+ * @param basePath Package base directory.
9
+ * @returns Config entries scoped to the package.
10
+ * @example
11
+ * ```typescript
12
+ * applyBasePath([{ name: "custom-eslint" }], "packages/api");
13
+ * ```
14
+ */
15
+ function applyBasePath(configs, basePath) {
16
+ return configs.map((config) => ({ ...config, basePath }));
17
+ }
18
+ /**
19
+ * Builds the list of plugin config loaders.
20
+ * @param options Input options value.
21
+ * @returns Return value output.
22
+ * @example
23
+ * ```typescript
24
+ * buildPluginConfigLoaders({});
25
+ * ```
26
+ */
27
+ function buildPluginConfigLoaders(options) {
28
+ const loaders = [];
29
+ for (const { pluginName } of moduleTaxonomy) {
30
+ const loaderEntry = pluginLoaders[pluginName];
31
+ const loadConfig = loaderEntry.loader(options);
32
+ const isEnabled = isPluginEnabled(pluginName, options.plugins);
33
+ if (isEnabled) {
34
+ loaders.push(loadPluginConfig(pluginName, loadConfig, loaderEntry.mode));
35
+ }
36
+ }
37
+ return loaders;
38
+ }
39
+ /**
40
+ * Builds plugin config loaders selected for one package-scoped profile.
41
+ * @param options Input options value.
42
+ * @param scopedPluginConfig Package-scoped plugin profile.
43
+ * @returns Config loaders for the profile's explicitly selected plugins.
44
+ * @example
45
+ * ```typescript
46
+ * buildScopedPluginConfigLoaders({}, {
47
+ * basePath: "packages/api",
48
+ * plugins: ["eslint"],
49
+ * });
50
+ * ```
51
+ */
52
+ function buildScopedPluginConfigLoaders(options, scopedPluginConfig) {
53
+ const loaders = [];
54
+ for (const { pluginName } of moduleTaxonomy) {
55
+ if (!scopedPluginConfig.plugins.includes(pluginName)) {
56
+ continue;
57
+ }
58
+ const loaderEntry = pluginLoaders[pluginName];
59
+ const loadConfig = loaderEntry.loader(options);
60
+ loaders.push(loadPluginConfig(pluginName, loadConfig, loaderEntry.mode));
61
+ }
62
+ return loaders;
63
+ }
64
+ /**
65
+ * Creates the ESLint configuration with optional plugin customization.
66
+ * @param options Input options value.
67
+ * @returns Return value output.
68
+ * @example
69
+ * ```typescript
70
+ * config();
71
+ * ```
72
+ */
73
+ async function config(options = {}) {
74
+ const pluginConfigs = await loadGlobalPluginConfigs(options);
75
+ const scopedPluginConfigs = await Promise.all(options.scopedPlugins?.map((scopedPluginConfig) => loadScopedPluginConfigs(options, scopedPluginConfig)) ?? []);
76
+ const configs = [...pluginConfigs, ...scopedPluginConfigs.flat()];
77
+ return configs.length === 0 ? [] : defineConfig(...configs);
78
+ }
79
+ /**
80
+ * Loads configuration selected through global plugin state overrides.
81
+ * @param options Input options value.
82
+ * @returns Config entries selected for global composition.
83
+ * @example
84
+ * ```typescript
85
+ * await loadGlobalPluginConfigs({ plugins: { "vitest-e2e": true } });
86
+ * ```
87
+ */
88
+ async function loadGlobalPluginConfigs(options) {
89
+ const pluginConfigResults = await Promise.all(buildPluginConfigLoaders(options));
90
+ return pluginConfigResults.flat();
91
+ }
92
+ /**
93
+ * Loads and scopes configuration for one package plugin profile.
94
+ * @param options Input options value.
95
+ * @param scopedPluginConfig Package-scoped plugin profile.
96
+ * @returns Return value output.
97
+ * @example
98
+ * ```typescript
99
+ * await loadScopedPluginConfigs({}, {
100
+ * basePath: "packages/api",
101
+ * plugins: ["eslint"],
102
+ * });
103
+ * ```
104
+ */
105
+ async function loadScopedPluginConfigs(options, scopedPluginConfig) {
106
+ const pluginConfigResults = await Promise.all(buildScopedPluginConfigLoaders(options, scopedPluginConfig));
107
+ return applyBasePath(pluginConfigResults.flat(), scopedPluginConfig.basePath);
108
+ }
109
+ export { config };
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jvb3RzdHJhcC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU83QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFjakQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxhQUFhLENBQ3BCLE9BQXdCLEVBQ3hCLFFBQWdCO0lBRWhCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixPQUFzQjtJQUV0QixNQUFNLE9BQU8sR0FBK0IsRUFBRSxDQUFDO0lBRS9DLEtBQUssTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9ELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBUyw4QkFBOEIsQ0FDckMsT0FBc0IsRUFDdEIsa0JBQXNDO0lBRXRDLE1BQU0sT0FBTyxHQUErQixFQUFFLENBQUM7SUFFL0MsS0FBSyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksY0FBYyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLE1BQU0sQ0FBQyxVQUF5QixFQUFFO0lBQy9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzNDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUNoRCx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsQ0FDckQsSUFBSSxFQUFFLENBQ1IsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLE9BQU8sT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxVQUFVLHVCQUF1QixDQUNwQyxPQUFzQjtJQUV0QixNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0Msd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQ2xDLENBQUM7SUFFRixPQUFPLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxLQUFLLFVBQVUsdUJBQXVCLENBQ3BDLE9BQXNCLEVBQ3RCLGtCQUFzQztJQUV0QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0MsOEJBQThCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQzVELENBQUM7SUFFRixPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgUGx1Z2luU3RhdGVPdmVycmlkZXMgYXMgRG9tYWluUGx1Z2luU3RhdGVPdmVycmlkZXMsXG4gIFNjb3BlZFBsdWdpbkNvbmZpZyxcbn0gZnJvbSBcIi4uL2RvbWFpblwiO1xuXG5pbXBvcnQgeyBtb2R1bGVUYXhvbm9teSB9IGZyb20gXCIuLi9kb21haW5cIjtcbmltcG9ydCB7IGlzUGx1Z2luRW5hYmxlZCwgbG9hZFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuLi9pbmZyYXN0cnVjdHVyZVwiO1xuaW1wb3J0IHsgcGx1Z2luTG9hZGVycyB9IGZyb20gXCIuL3BsdWdpbi1sb2FkZXJzXCI7XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgYWNjZXB0ZWQgYnkgdGhlIHB1YmxpYyBjb25maWcgZmFjdG9yeS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBFeHBsaWNpdCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzIGtleWVkIGJ5IHB1YmxpYyBwbHVnaW4gbmFtZS4gKi9cbiAgcGx1Z2lucz86IFBsdWdpblN0YXRlT3ZlcnJpZGVzO1xuXG4gIC8qKiBQYWNrYWdlLXNjb3BlZCBwbHVnaW4gcHJvZmlsZXMgZm9yIG1vbm9yZXBvIGNvbmZpZ3VyYXRpb24uICovXG4gIHNjb3BlZFBsdWdpbnM/OiByZWFkb25seSBTY29wZWRQbHVnaW5Db25maWdbXTtcbn1cblxuLyoqIFBsdWdpbiBzdGF0ZSBvdmVycmlkZXMgYWNjZXB0ZWQgYnkgdGhlIHB1YmxpYyBjb25maWd1cmF0aW9uIGZhY3RvcnkuICovXG5leHBvcnQgdHlwZSBQbHVnaW5TdGF0ZU92ZXJyaWRlcyA9IERvbWFpblBsdWdpblN0YXRlT3ZlcnJpZGVzO1xuXG4vKipcbiAqIFNjb3BlcyBjb25maWcgZW50cmllcyB0byBhIHBhY2thZ2UgYmFzZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gY29uZmlncyBDb25maWcgZW50cmllcyB0byBzY29wZS5cbiAqIEBwYXJhbSBiYXNlUGF0aCBQYWNrYWdlIGJhc2UgZGlyZWN0b3J5LlxuICogQHJldHVybnMgQ29uZmlnIGVudHJpZXMgc2NvcGVkIHRvIHRoZSBwYWNrYWdlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFwcGx5QmFzZVBhdGgoW3sgbmFtZTogXCJjdXN0b20tZXNsaW50XCIgfV0sIFwicGFja2FnZXMvYXBpXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFwcGx5QmFzZVBhdGgoXG4gIGNvbmZpZ3M6IExpbnRlci5Db25maWdbXSxcbiAgYmFzZVBhdGg6IHN0cmluZyxcbik6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBjb25maWdzLm1hcCgoY29uZmlnKSA9PiAoeyAuLi5jb25maWcsIGJhc2VQYXRoIH0pKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGxpc3Qgb2YgcGx1Z2luIGNvbmZpZyBsb2FkZXJzLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKHt9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZFBsdWdpbkNvbmZpZ0xvYWRlcnMoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSB7XG4gIGNvbnN0IGxvYWRlcnM6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPltdID0gW107XG5cbiAgZm9yIChjb25zdCB7IHBsdWdpbk5hbWUgfSBvZiBtb2R1bGVUYXhvbm9teSkge1xuICAgIGNvbnN0IGxvYWRlckVudHJ5ID0gcGx1Z2luTG9hZGVyc1twbHVnaW5OYW1lXTtcbiAgICBjb25zdCBsb2FkQ29uZmlnID0gbG9hZGVyRW50cnkubG9hZGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IGlzUGx1Z2luRW5hYmxlZChwbHVnaW5OYW1lLCBvcHRpb25zLnBsdWdpbnMpO1xuXG4gICAgaWYgKGlzRW5hYmxlZCkge1xuICAgICAgbG9hZGVycy5wdXNoKGxvYWRQbHVnaW5Db25maWcocGx1Z2luTmFtZSwgbG9hZENvbmZpZywgbG9hZGVyRW50cnkubW9kZSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2FkZXJzO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBwbHVnaW4gY29uZmlnIGxvYWRlcnMgc2VsZWN0ZWQgZm9yIG9uZSBwYWNrYWdlLXNjb3BlZCBwcm9maWxlLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEBwYXJhbSBzY29wZWRQbHVnaW5Db25maWcgUGFja2FnZS1zY29wZWQgcGx1Z2luIHByb2ZpbGUuXG4gKiBAcmV0dXJucyBDb25maWcgbG9hZGVycyBmb3IgdGhlIHByb2ZpbGUncyBleHBsaWNpdGx5IHNlbGVjdGVkIHBsdWdpbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYnVpbGRTY29wZWRQbHVnaW5Db25maWdMb2FkZXJzKHt9LCB7XG4gKiAgIGJhc2VQYXRoOiBcInBhY2thZ2VzL2FwaVwiLFxuICogICBwbHVnaW5zOiBbXCJlc2xpbnRcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZFNjb3BlZFBsdWdpbkNvbmZpZ0xvYWRlcnMoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4gIHNjb3BlZFBsdWdpbkNvbmZpZzogU2NvcGVkUGx1Z2luQ29uZmlnLFxuKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+W10ge1xuICBjb25zdCBsb2FkZXJzOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgeyBwbHVnaW5OYW1lIH0gb2YgbW9kdWxlVGF4b25vbXkpIHtcbiAgICBpZiAoIXNjb3BlZFBsdWdpbkNvbmZpZy5wbHVnaW5zLmluY2x1ZGVzKHBsdWdpbk5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkZXJFbnRyeSA9IHBsdWdpbkxvYWRlcnNbcGx1Z2luTmFtZV07XG4gICAgY29uc3QgbG9hZENvbmZpZyA9IGxvYWRlckVudHJ5LmxvYWRlcihvcHRpb25zKTtcblxuICAgIGxvYWRlcnMucHVzaChsb2FkUGx1Z2luQ29uZmlnKHBsdWdpbk5hbWUsIGxvYWRDb25maWcsIGxvYWRlckVudHJ5Lm1vZGUpKTtcbiAgfVxuXG4gIHJldHVybiBsb2FkZXJzO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggb3B0aW9uYWwgcGx1Z2luIGN1c3RvbWl6YXRpb24uXG4gKiBAcGFyYW0gb3B0aW9ucyBJbnB1dCBvcHRpb25zIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25maWcoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBjb25maWcob3B0aW9uczogQ29uZmlnT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgcGx1Z2luQ29uZmlncyA9IGF3YWl0IGxvYWRHbG9iYWxQbHVnaW5Db25maWdzKG9wdGlvbnMpO1xuICBjb25zdCBzY29wZWRQbHVnaW5Db25maWdzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgb3B0aW9ucy5zY29wZWRQbHVnaW5zPy5tYXAoKHNjb3BlZFBsdWdpbkNvbmZpZykgPT5cbiAgICAgIGxvYWRTY29wZWRQbHVnaW5Db25maWdzKG9wdGlvbnMsIHNjb3BlZFBsdWdpbkNvbmZpZyksXG4gICAgKSA/PyBbXSxcbiAgKTtcbiAgY29uc3QgY29uZmlncyA9IFsuLi5wbHVnaW5Db25maWdzLCAuLi5zY29wZWRQbHVnaW5Db25maWdzLmZsYXQoKV07XG5cbiAgcmV0dXJuIGNvbmZpZ3MubGVuZ3RoID09PSAwID8gW10gOiBkZWZpbmVDb25maWcoLi4uY29uZmlncyk7XG59XG5cbi8qKlxuICogTG9hZHMgY29uZmlndXJhdGlvbiBzZWxlY3RlZCB0aHJvdWdoIGdsb2JhbCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEByZXR1cm5zIENvbmZpZyBlbnRyaWVzIHNlbGVjdGVkIGZvciBnbG9iYWwgY29tcG9zaXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgbG9hZEdsb2JhbFBsdWdpbkNvbmZpZ3MoeyBwbHVnaW5zOiB7IFwidml0ZXN0LWUyZVwiOiB0cnVlIH0gfSk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9hZEdsb2JhbFBsdWdpbkNvbmZpZ3MoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCBwbHVnaW5Db25maWdSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMpLFxuICApO1xuXG4gIHJldHVybiBwbHVnaW5Db25maWdSZXN1bHRzLmZsYXQoKTtcbn1cblxuLyoqXG4gKiBMb2FkcyBhbmQgc2NvcGVzIGNvbmZpZ3VyYXRpb24gZm9yIG9uZSBwYWNrYWdlIHBsdWdpbiBwcm9maWxlLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEBwYXJhbSBzY29wZWRQbHVnaW5Db25maWcgUGFja2FnZS1zY29wZWQgcGx1Z2luIHByb2ZpbGUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGxvYWRTY29wZWRQbHVnaW5Db25maWdzKHt9LCB7XG4gKiAgIGJhc2VQYXRoOiBcInBhY2thZ2VzL2FwaVwiLFxuICogICBwbHVnaW5zOiBbXCJlc2xpbnRcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkU2NvcGVkUGx1Z2luQ29uZmlncyhcbiAgb3B0aW9uczogQ29uZmlnT3B0aW9ucyxcbiAgc2NvcGVkUGx1Z2luQ29uZmlnOiBTY29wZWRQbHVnaW5Db25maWcsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCBwbHVnaW5Db25maWdSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgYnVpbGRTY29wZWRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMsIHNjb3BlZFBsdWdpbkNvbmZpZyksXG4gICk7XG5cbiAgcmV0dXJuIGFwcGx5QmFzZVBhdGgocGx1Z2luQ29uZmlnUmVzdWx0cy5mbGF0KCksIHNjb3BlZFBsdWdpbkNvbmZpZy5iYXNlUGF0aCk7XG59XG5cbmV4cG9ydCB7IGNvbmZpZyB9O1xuIl19
@@ -1,3 +1,2 @@
1
- export { config } from "../infrastructure/index.js";
2
- export type { ConfigOptions, PluginStateOverrides, ScopedPluginConfig, } from "../infrastructure/index.js";
1
+ export { config, type ConfigOptions, type PluginStateOverrides, } from "./config.js";
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bootstrap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAC"}
@@ -1,2 +1,2 @@
1
- export { config } from "../infrastructure/index.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuLi9pbmZyYXN0cnVjdHVyZVwiO1xuZXhwb3J0IHR5cGUge1xuICBDb25maWdPcHRpb25zLFxuICBQbHVnaW5TdGF0ZU92ZXJyaWRlcyxcbiAgU2NvcGVkUGx1Z2luQ29uZmlnLFxufSBmcm9tIFwiLi4vaW5mcmFzdHJ1Y3R1cmVcIjtcbiJdfQ==
1
+ export { config, } from "./config.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEdBR1AsTUFBTSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBjb25maWcsXG4gIHR5cGUgQ29uZmlnT3B0aW9ucyxcbiAgdHlwZSBQbHVnaW5TdGF0ZU92ZXJyaWRlcyxcbn0gZnJvbSBcIi4vY29uZmlnXCI7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import type { Linter } from "eslint";
2
- import type { ConfigOptions } from "../domain/index.js";
3
- import { boundaries } from "./architecture/index.js";
2
+ import type { ConfigOptions } from "./config.js";
3
+ import { boundaries } from "../infrastructure/index.js";
4
4
  /** Loader function for a single config module. */
5
5
  type ConfigLoader = () => Linter.Config[] | Promise<Linter.Config[]>;
6
6
  /** Factory for a config loader that may depend on user options. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-loaders.d.ts","sourceRoot":"","sources":["../../src/bootstrap/plugin-loaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAEL,UAAU,EAmBX,MAAM,mBAAmB,CAAC;AAE3B,kDAAkD;AAClD,KAAK,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAErE,mEAAmE;AACnE,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;AAepE,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C6B,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { angularEslint, boundaries, codeperfect, comments, eslint, importX, jsdoc, json, markdown, packageJson, perfectionist, playwright, prettier, resolver, rxjsX, stylistic, typescript, unicorn, vitest, vitestE2e, } from "../infrastructure/index.js";
2
+ /**
3
+ * Creates a loader factory for modules that do not depend on config options.
4
+ * @param loader Input loader value.
5
+ * @returns Return value output.
6
+ * @example
7
+ * ```typescript
8
+ * const factory = createStaticLoaderFactory(eslint);
9
+ * ```
10
+ */
11
+ function createStaticLoaderFactory(loader) {
12
+ return () => loader;
13
+ }
14
+ /** Documented config loader registry keyed by public module name. */
15
+ const pluginLoaders = {
16
+ "angular-eslint": {
17
+ loader: createStaticLoaderFactory(angularEslint),
18
+ mode: "optional",
19
+ },
20
+ boundaries: { loader: () => boundaries, mode: "optional" },
21
+ codeperfect: {
22
+ loader: createStaticLoaderFactory(codeperfect),
23
+ mode: "required",
24
+ },
25
+ comments: { loader: createStaticLoaderFactory(comments), mode: "optional" },
26
+ eslint: { loader: createStaticLoaderFactory(eslint), mode: "required" },
27
+ "import-x": { loader: createStaticLoaderFactory(importX), mode: "optional" },
28
+ jsdoc: { loader: createStaticLoaderFactory(jsdoc), mode: "optional" },
29
+ json: { loader: createStaticLoaderFactory(json), mode: "required" },
30
+ markdown: { loader: createStaticLoaderFactory(markdown), mode: "required" },
31
+ "package-json": {
32
+ loader: createStaticLoaderFactory(packageJson),
33
+ mode: "optional",
34
+ },
35
+ perfectionist: {
36
+ loader: createStaticLoaderFactory(perfectionist),
37
+ mode: "optional",
38
+ },
39
+ playwright: {
40
+ loader: createStaticLoaderFactory(playwright),
41
+ mode: "optional",
42
+ },
43
+ prettier: { loader: createStaticLoaderFactory(prettier), mode: "optional" },
44
+ resolver: { loader: createStaticLoaderFactory(resolver), mode: "optional" },
45
+ "rxjs-x": { loader: createStaticLoaderFactory(rxjsX), mode: "optional" },
46
+ stylistic: { loader: createStaticLoaderFactory(stylistic), mode: "optional" },
47
+ typescript: {
48
+ loader: createStaticLoaderFactory(typescript),
49
+ mode: "required",
50
+ },
51
+ unicorn: { loader: createStaticLoaderFactory(unicorn), mode: "optional" },
52
+ vitest: { loader: createStaticLoaderFactory(vitest), mode: "optional" },
53
+ "vitest-e2e": {
54
+ loader: createStaticLoaderFactory(vitestE2e),
55
+ mode: "optional",
56
+ },
57
+ };
58
+ export { pluginLoaders };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYm9vdHN0cmFwL3BsdWdpbi1sb2FkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsRUFDUixXQUFXLEVBQ1gsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sbUJBQW1CLENBQUM7QUFRM0I7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHlCQUF5QixDQUFDLE1BQW9CO0lBQ3JELE9BQU8sR0FBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNwQyxDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRCxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDMUQsV0FBVyxFQUFFO1FBQ1gsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNELFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzNFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3ZFLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzVFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3JFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ25FLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzNFLGNBQWMsRUFBRTtRQUNkLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxXQUFXLENBQUM7UUFDOUMsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRCxhQUFhLEVBQUU7UUFDYixNQUFNLEVBQUUseUJBQXlCLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNELFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzNFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzNFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3hFLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQzdFLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRCxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtJQUN6RSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtJQUN2RSxZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksRUFBRSxVQUFVO0tBQ2pCO0NBQzZDLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTmFtZSB9IGZyb20gXCIuLi9kb21haW5cIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnT3B0aW9ucyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuXG5pbXBvcnQge1xuICBhbmd1bGFyRXNsaW50LFxuICBib3VuZGFyaWVzLFxuICBjb2RlcGVyZmVjdCxcbiAgY29tbWVudHMsXG4gIGVzbGludCxcbiAgaW1wb3J0WCxcbiAganNkb2MsXG4gIGpzb24sXG4gIG1hcmtkb3duLFxuICBwYWNrYWdlSnNvbixcbiAgcGVyZmVjdGlvbmlzdCxcbiAgcGxheXdyaWdodCxcbiAgcHJldHRpZXIsXG4gIHJlc29sdmVyLFxuICByeGpzWCxcbiAgc3R5bGlzdGljLFxuICB0eXBlc2NyaXB0LFxuICB1bmljb3JuLFxuICB2aXRlc3QsXG4gIHZpdGVzdEUyZSxcbn0gZnJvbSBcIi4uL2luZnJhc3RydWN0dXJlXCI7XG5cbi8qKiBMb2FkZXIgZnVuY3Rpb24gZm9yIGEgc2luZ2xlIGNvbmZpZyBtb2R1bGUuICovXG50eXBlIENvbmZpZ0xvYWRlciA9ICgpID0+IExpbnRlci5Db25maWdbXSB8IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPjtcblxuLyoqIEZhY3RvcnkgZm9yIGEgY29uZmlnIGxvYWRlciB0aGF0IG1heSBkZXBlbmQgb24gdXNlciBvcHRpb25zLiAqL1xudHlwZSBQbHVnaW5Mb2FkZXJGYWN0b3J5ID0gKG9wdGlvbnM6IENvbmZpZ09wdGlvbnMpID0+IENvbmZpZ0xvYWRlcjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShsb2FkZXI6IENvbmZpZ0xvYWRlcik6IFBsdWdpbkxvYWRlckZhY3Rvcnkge1xuICByZXR1cm4gKCk6IENvbmZpZ0xvYWRlciA9PiBsb2FkZXI7XG59XG5cbi8qKiBEb2N1bWVudGVkIGNvbmZpZyBsb2FkZXIgcmVnaXN0cnkga2V5ZWQgYnkgcHVibGljIG1vZHVsZSBuYW1lLiAqL1xuY29uc3QgcGx1Z2luTG9hZGVycyA9IHtcbiAgXCJhbmd1bGFyLWVzbGludFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGFuZ3VsYXJFc2xpbnQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbiAgYm91bmRhcmllczogeyBsb2FkZXI6ICgpID0+IGJvdW5kYXJpZXMsIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBjb2RlcGVyZmVjdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShjb2RlcGVyZmVjdCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICB9LFxuICBjb21tZW50czogeyBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoY29tbWVudHMpLCBtb2RlOiBcIm9wdGlvbmFsXCIgfSxcbiAgZXNsaW50OiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShlc2xpbnQpLCBtb2RlOiBcInJlcXVpcmVkXCIgfSxcbiAgXCJpbXBvcnQteFwiOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShpbXBvcnRYKSwgbW9kZTogXCJvcHRpb25hbFwiIH0sXG4gIGpzZG9jOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqc2RvYyksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBqc29uOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqc29uKSwgbW9kZTogXCJyZXF1aXJlZFwiIH0sXG4gIG1hcmtkb3duOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShtYXJrZG93biksIG1vZGU6IFwicmVxdWlyZWRcIiB9LFxuICBcInBhY2thZ2UtanNvblwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBhY2thZ2VKc29uKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gIH0sXG4gIHBlcmZlY3Rpb25pc3Q6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocGVyZmVjdGlvbmlzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICB9LFxuICBwbGF5d3JpZ2h0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBsYXl3cmlnaHQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbiAgcHJldHRpZXI6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHByZXR0aWVyKSwgbW9kZTogXCJvcHRpb25hbFwiIH0sXG4gIHJlc29sdmVyOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyZXNvbHZlciksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBcInJ4anMteFwiOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyeGpzWCksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBzdHlsaXN0aWM6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHN0eWxpc3RpYyksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICB0eXBlc2NyaXB0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHR5cGVzY3JpcHQpLFxuICAgIG1vZGU6IFwicmVxdWlyZWRcIixcbiAgfSxcbiAgdW5pY29ybjogeyBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkodW5pY29ybiksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICB2aXRlc3Q6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHZpdGVzdCksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBcInZpdGVzdC1lMmVcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh2aXRlc3RFMmUpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxQbHVnaW5OYW1lLCB1bmtub3duPjtcblxuZXhwb3J0IHsgcGx1Z2luTG9hZGVycyB9O1xuIl19
@@ -1,3 +1,3 @@
1
1
  export { moduleTaxonomy } from "./module-taxonomy.js";
2
- export type { BoundariesElementTypesRuleEntry, ConfigOptions, DefaultDisabledPluginName, PluginName, PluginStateOverrides, ScopedPluginConfig, } from "./types.js";
2
+ export type { BoundariesElementTypesRuleEntry, DefaultDisabledPluginName, PluginName, PluginStateOverrides, ScopedPluginConfig, } from "./types.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,+BAA+B,EAC/B,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EACV,+BAA+B,EAC/B,yBAAyB,EACzB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { moduleTaxonomy } from "./module-taxonomy.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG1vZHVsZVRheG9ub215IH0gZnJvbSBcIi4vbW9kdWxlLXRheG9ub215XCI7XG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIENvbmZpZ09wdGlvbnMsXG4gIERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWUsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxuICBTY29wZWRQbHVnaW5Db25maWcsXG59IGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IG1vZHVsZVRheG9ub215IH0gZnJvbSBcIi4vbW9kdWxlLXRheG9ub215XCI7XG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWUsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxuICBTY29wZWRQbHVnaW5Db25maWcsXG59IGZyb20gXCIuL3R5cGVzXCI7XG4iXX0=
@@ -10,13 +10,6 @@ type BoundariesElementTypesRuleEntry = [
10
10
  BoundariesElementTypesOptions
11
11
  ];
12
12
  /** Type definition for rule data. */
13
- interface ConfigOptions {
14
- /** Explicit plugin state overrides keyed by public plugin name. */
15
- plugins?: PluginStateOverrides;
16
- /** Package-scoped plugin profiles for monorepo configuration. */
17
- scopedPlugins?: readonly ScopedPluginConfig[];
18
- }
19
- /** Type definition for rule data. */
20
13
  type CorePluginName = "codeperfect" | "eslint" | "json" | "resolver" | "typescript";
21
14
  /** Plugins that are disabled by default and can only be explicitly enabled. */
22
15
  type DefaultDisabledPluginName = "angular-eslint" | "vitest-e2e";
@@ -43,5 +36,5 @@ interface ScopedPluginConfig {
43
36
  type StylePluginName = "package-json" | "perfectionist" | "prettier" | "stylistic" | "unicorn";
44
37
  /** Type definition for rule data. */
45
38
  type TestingPluginName = "playwright" | "vitest" | "vitest-e2e";
46
- export type { BoundariesElementTypesRuleEntry, ConfigOptions, DefaultDisabledPluginName, PluginName, PluginStateOverrides, ScopedPluginConfig, };
39
+ export type { BoundariesElementTypesRuleEntry, DefaultDisabledPluginName, PluginName, PluginStateOverrides, ScopedPluginConfig, };
47
40
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,oEAAoE;AACpE,KAAK,6BAA6B,GAAG,uBAAuB,CAAC;AAE7D,8EAA8E;AAC9E,KAAK,+BAA+B,GAAG;IACrC,MAAM,CAAC,YAAY;IACnB,6BAA6B;CAC9B,CAAC;AAEF,qCAAqC;AACrC,UAAU,aAAa;IACrB,mEAAmE;IACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAE/B,iEAAiE;IACjE,aAAa,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC/C;AAED,qCAAqC;AACrC,KAAK,cAAc,GACjB,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,+EAA+E;AAC/E,KAAK,yBAAyB,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEjE,+EAA+E;AAC/E,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;AAE/E,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjE,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,2DAA2D;AAC3D,KAAK,oBAAoB,GAAG,OAAO,CACjC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,GACrC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAC1C,CAAC;AAEF,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,4DAA4D;AAC5D,UAAU,kBAAkB;IAC1B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC;AACD,qCAAqC;AACrC,KAAK,eAAe,GAClB,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEhE,YAAY,EACV,+BAA+B,EAC/B,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,oEAAoE;AACpE,KAAK,6BAA6B,GAAG,uBAAuB,CAAC;AAE7D,8EAA8E;AAC9E,KAAK,+BAA+B,GAAG;IACrC,MAAM,CAAC,YAAY;IACnB,6BAA6B;CAC9B,CAAC;AAEF,qCAAqC;AACrC,KAAK,cAAc,GACjB,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhE,+EAA+E;AAC/E,KAAK,yBAAyB,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAEjE,+EAA+E;AAC/E,KAAK,wBAAwB,GAAG,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;AAE/E,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjE,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,iBAAiB,CAAC;AAEtB,2DAA2D;AAC3D,KAAK,oBAAoB,GAAG,OAAO,CACjC,MAAM,CAAC,yBAAyB,EAAE,IAAI,CAAC,GACrC,MAAM,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAC1C,CAAC;AAEF,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,gBAAgB,CAAC;AAC1C,4DAA4D;AAC5D,UAAU,kBAAkB;IAC1B,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IAEjB,mDAAmD;IACnD,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;CAChC;AACD,qCAAqC;AACrC,KAAK,eAAe,GAClB,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEhE,YAAY,EACV,+BAA+B,EAC/B,yBAAyB,EACzB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,CAAC"}
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHsgRGVwZW5kZW5jaWVzUnVsZU9wdGlvbnMgfSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogRGVwZW5kZW5jeSBydWxlIG9wdGlvbnMgb2JqZWN0IHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xudHlwZSBCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucyA9IERlcGVuZGVuY2llc1J1bGVPcHRpb25zO1xuXG4vKiogUnVsZSBlbnRyeSBzaGFwZSB1c2VkIGZvciByZXBvc2l0b3J5LW93bmVkIGJvdW5kYXJpZXMgZGVwZW5kZW5jeSBydWxlcy4gKi9cbnR5cGUgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgTGludGVyLlJ1bGVTZXZlcml0eSxcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG5dO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBFeHBsaWNpdCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzIGtleWVkIGJ5IHB1YmxpYyBwbHVnaW4gbmFtZS4gKi9cbiAgcGx1Z2lucz86IFBsdWdpblN0YXRlT3ZlcnJpZGVzO1xuXG4gIC8qKiBQYWNrYWdlLXNjb3BlZCBwbHVnaW4gcHJvZmlsZXMgZm9yIG1vbm9yZXBvIGNvbmZpZ3VyYXRpb24uICovXG4gIHNjb3BlZFBsdWdpbnM/OiByZWFkb25seSBTY29wZWRQbHVnaW5Db25maWdbXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBDb3JlUGx1Z2luTmFtZSA9XG4gIFwiY29kZXBlcmZlY3RcIiB8IFwiZXNsaW50XCIgfCBcImpzb25cIiB8IFwicmVzb2x2ZXJcIiB8IFwidHlwZXNjcmlwdFwiO1xuXG4vKiogUGx1Z2lucyB0aGF0IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IGFuZCBjYW4gb25seSBiZSBleHBsaWNpdGx5IGVuYWJsZWQuICovXG50eXBlIERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWUgPSBcImFuZ3VsYXItZXNsaW50XCIgfCBcInZpdGVzdC1lMmVcIjtcblxuLyoqIFBsdWdpbnMgdGhhdCBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IGFuZCBjYW4gb25seSBiZSBleHBsaWNpdGx5IGRpc2FibGVkLiAqL1xudHlwZSBEZWZhdWx0RW5hYmxlZFBsdWdpbk5hbWUgPSBFeGNsdWRlPFBsdWdpbk5hbWUsIERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWU+O1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvY3VtZW50YXRpb25QbHVnaW5OYW1lID0gXCJjb21tZW50c1wiIHwgXCJqc2RvY1wiIHwgXCJtYXJrZG93blwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvbWFpblBsdWdpbk5hbWUgPSBcInJ4anMteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFBsdWdpbk5hbWUgPVxuICB8IEFyY2hpdGVjdHVyZVBsdWdpbk5hbWVcbiAgfCBDb3JlUGx1Z2luTmFtZVxuICB8IERvY3VtZW50YXRpb25QbHVnaW5OYW1lXG4gIHwgRG9tYWluUGx1Z2luTmFtZVxuICB8IFJ1bnRpbWVQbHVnaW5OYW1lXG4gIHwgU3R5bGVQbHVnaW5OYW1lXG4gIHwgVGVzdGluZ1BsdWdpbk5hbWU7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIGV4cGxpY2l0IHBsdWdpbiBzdGF0ZSBvdmVycmlkZXMuICovXG50eXBlIFBsdWdpblN0YXRlT3ZlcnJpZGVzID0gUGFydGlhbDxcbiAgUmVjb3JkPERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWUsIHRydWU+ICZcbiAgICBSZWNvcmQ8RGVmYXVsdEVuYWJsZWRQbHVnaW5OYW1lLCBmYWxzZT5cbj47XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUnVudGltZVBsdWdpbk5hbWUgPSBcImFuZ3VsYXItZXNsaW50XCI7XG4vKiogRXhwbGljaXQgcGx1Z2luIHNlbGVjdGlvbiBzY29wZWQgdG8gb25lIHBhY2thZ2Ugcm9vdC4gKi9cbmludGVyZmFjZSBTY29wZWRQbHVnaW5Db25maWcge1xuICAvKiogQmFzZSBkaXJlY3RvcnkgdG8gd2hpY2ggdGhlIHNlbGVjdGVkIGZsYXQgY29uZmlncyBhcHBseS4gKi9cbiAgYmFzZVBhdGg6IHN0cmluZztcblxuICAvKiogUGx1Z2lucyBleHBsaWNpdGx5IGluY2x1ZGVkIGZvciB0aGUgcGFja2FnZS4gKi9cbiAgcGx1Z2luczogcmVhZG9ubHkgUGx1Z2luTmFtZVtdO1xufVxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBTdHlsZVBsdWdpbk5hbWUgPVxuICBcInBhY2thZ2UtanNvblwiIHwgXCJwZXJmZWN0aW9uaXN0XCIgfCBcInByZXR0aWVyXCIgfCBcInN0eWxpc3RpY1wiIHwgXCJ1bmljb3JuXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgVGVzdGluZ1BsdWdpbk5hbWUgPSBcInBsYXl3cmlnaHRcIiB8IFwidml0ZXN0XCIgfCBcInZpdGVzdC1lMmVcIjtcblxuZXhwb3J0IHR5cGUge1xuICBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5LFxuICBDb25maWdPcHRpb25zLFxuICBEZWZhdWx0RGlzYWJsZWRQbHVnaW5OYW1lLFxuICBQbHVnaW5OYW1lLFxuICBQbHVnaW5TdGF0ZU92ZXJyaWRlcyxcbiAgU2NvcGVkUGx1Z2luQ29uZmlnLFxufTtcbiJdfQ==
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHsgRGVwZW5kZW5jaWVzUnVsZU9wdGlvbnMgfSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogRGVwZW5kZW5jeSBydWxlIG9wdGlvbnMgb2JqZWN0IHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xudHlwZSBCb3VuZGFyaWVzRWxlbWVudFR5cGVzT3B0aW9ucyA9IERlcGVuZGVuY2llc1J1bGVPcHRpb25zO1xuXG4vKiogUnVsZSBlbnRyeSBzaGFwZSB1c2VkIGZvciByZXBvc2l0b3J5LW93bmVkIGJvdW5kYXJpZXMgZGVwZW5kZW5jeSBydWxlcy4gKi9cbnR5cGUgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgTGludGVyLlJ1bGVTZXZlcml0eSxcbiAgQm91bmRhcmllc0VsZW1lbnRUeXBlc09wdGlvbnMsXG5dO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvcmVQbHVnaW5OYW1lID1cbiAgXCJjb2RlcGVyZmVjdFwiIHwgXCJlc2xpbnRcIiB8IFwianNvblwiIHwgXCJyZXNvbHZlclwiIHwgXCJ0eXBlc2NyaXB0XCI7XG5cbi8qKiBQbHVnaW5zIHRoYXQgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBvbmx5IGJlIGV4cGxpY2l0bHkgZW5hYmxlZC4gKi9cbnR5cGUgRGVmYXVsdERpc2FibGVkUGx1Z2luTmFtZSA9IFwiYW5ndWxhci1lc2xpbnRcIiB8IFwidml0ZXN0LWUyZVwiO1xuXG4vKiogUGx1Z2lucyB0aGF0IGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBvbmx5IGJlIGV4cGxpY2l0bHkgZGlzYWJsZWQuICovXG50eXBlIERlZmF1bHRFbmFibGVkUGx1Z2luTmFtZSA9IEV4Y2x1ZGU8UGx1Z2luTmFtZSwgRGVmYXVsdERpc2FibGVkUGx1Z2luTmFtZT47XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWUgPSBcImNvbW1lbnRzXCIgfCBcImpzZG9jXCIgfCBcIm1hcmtkb3duXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9tYWluUGx1Z2luTmFtZSA9IFwicnhqcy14XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUGx1Z2luTmFtZSA9XG4gIHwgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZVxuICB8IENvcmVQbHVnaW5OYW1lXG4gIHwgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWVcbiAgfCBEb21haW5QbHVnaW5OYW1lXG4gIHwgUnVudGltZVBsdWdpbk5hbWVcbiAgfCBTdHlsZVBsdWdpbk5hbWVcbiAgfCBUZXN0aW5nUGx1Z2luTmFtZTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgZXhwbGljaXQgcGx1Z2luIHN0YXRlIG92ZXJyaWRlcy4gKi9cbnR5cGUgUGx1Z2luU3RhdGVPdmVycmlkZXMgPSBQYXJ0aWFsPFxuICBSZWNvcmQ8RGVmYXVsdERpc2FibGVkUGx1Z2luTmFtZSwgdHJ1ZT4gJlxuICAgIFJlY29yZDxEZWZhdWx0RW5hYmxlZFBsdWdpbk5hbWUsIGZhbHNlPlxuPjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBSdW50aW1lUGx1Z2luTmFtZSA9IFwiYW5ndWxhci1lc2xpbnRcIjtcbi8qKiBFeHBsaWNpdCBwbHVnaW4gc2VsZWN0aW9uIHNjb3BlZCB0byBvbmUgcGFja2FnZSByb290LiAqL1xuaW50ZXJmYWNlIFNjb3BlZFBsdWdpbkNvbmZpZyB7XG4gIC8qKiBCYXNlIGRpcmVjdG9yeSB0byB3aGljaCB0aGUgc2VsZWN0ZWQgZmxhdCBjb25maWdzIGFwcGx5LiAqL1xuICBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIC8qKiBQbHVnaW5zIGV4cGxpY2l0bHkgaW5jbHVkZWQgZm9yIHRoZSBwYWNrYWdlLiAqL1xuICBwbHVnaW5zOiByZWFkb25seSBQbHVnaW5OYW1lW107XG59XG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFN0eWxlUGx1Z2luTmFtZSA9XG4gIFwicGFja2FnZS1qc29uXCIgfCBcInBlcmZlY3Rpb25pc3RcIiB8IFwicHJldHRpZXJcIiB8IFwic3R5bGlzdGljXCIgfCBcInVuaWNvcm5cIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBUZXN0aW5nUGx1Z2luTmFtZSA9IFwicGxheXdyaWdodFwiIHwgXCJ2aXRlc3RcIiB8IFwidml0ZXN0LWUyZVwiO1xuXG5leHBvcnQgdHlwZSB7XG4gIEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnksXG4gIERlZmF1bHREaXNhYmxlZFBsdWdpbk5hbWUsXG4gIFBsdWdpbk5hbWUsXG4gIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxuICBTY29wZWRQbHVnaW5Db25maWcsXG59O1xuIl19
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { config, type ConfigOptions, type PluginStateOverrides, type ScopedPluginConfig, } from "./bootstrap/index.js";
1
+ export { config, type ConfigOptions, type PluginStateOverrides, } from "./bootstrap/index.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export { config, } from "./bootstrap/index.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sR0FJUCxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGNvbmZpZyxcbiAgdHlwZSBDb25maWdPcHRpb25zLFxuICB0eXBlIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxuICB0eXBlIFNjb3BlZFBsdWdpbkNvbmZpZyxcbn0gZnJvbSBcIi4vYm9vdHN0cmFwXCI7XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sR0FHUCxNQUFNLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGNvbmZpZyxcbiAgdHlwZSBDb25maWdPcHRpb25zLFxuICB0eXBlIFBsdWdpblN0YXRlT3ZlcnJpZGVzLFxufSBmcm9tIFwiLi9ib290c3RyYXBcIjtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/boundaries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAmFrC;;;;;;;GAOG;AACH,iBAAS,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAoBrC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"boundaries.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/boundaries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA+FrC;;;;;;;GAOG;AACH,iBAAS,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAuBrC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -2,7 +2,6 @@ import { createConfig, strict } from "eslint-plugin-boundaries/config";
2
2
  import { defineConfig } from "eslint/config";
3
3
  /** Default repository element descriptors used by the boundaries plugin. */
4
4
  const elements = [
5
- { partialMatch: false, pattern: "**/src", type: "entrypoint" },
6
5
  { basePattern: "**/src", pattern: "bootstrap", type: "bootstrap" },
7
6
  { basePattern: "**/src", pattern: "presentation", type: "presentation" },
8
7
  { basePattern: "**/src", pattern: "infrastructure", type: "infrastructure" },
@@ -17,8 +16,21 @@ const elementTypes = [
17
16
  default: "disallow",
18
17
  policies: [
19
18
  {
20
- allow: { to: { element: { type: ["bootstrap"] } } },
21
- from: { element: { type: "entrypoint" } },
19
+ allow: {
20
+ to: {
21
+ element: {
22
+ type: [
23
+ "bootstrap",
24
+ "presentation",
25
+ "infrastructure",
26
+ "application",
27
+ "domain",
28
+ "shared",
29
+ ],
30
+ },
31
+ },
32
+ },
33
+ from: { file: { categories: "entrypoint" } },
22
34
  },
23
35
  {
24
36
  allow: {
@@ -79,6 +91,9 @@ function boundaries() {
79
91
  const settings = {
80
92
  ...strict.settings,
81
93
  "boundaries/elements": elements,
94
+ "boundaries/files": [
95
+ { category: "entrypoint", pattern: "**/src/index.ts" },
96
+ ],
82
97
  };
83
98
  const rules = {
84
99
  ...strict.rules,
@@ -94,4 +109,4 @@ function boundaries() {
94
109
  return defineConfig(configObject);
95
110
  }
96
111
  export { boundaries };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9hcmNoaXRlY3R1cmUvYm91bmRhcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsNEVBQTRFO0FBQzVFLE1BQU0sUUFBUSxHQUF1QjtJQUNuQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO0lBQzlELEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7SUFDbEUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRTtJQUN4RSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtJQUM1RSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ3RFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7SUFDNUQsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtDQUM3RCxDQUFDO0FBRUYseUVBQXlFO0FBQ3pFLE1BQU0sWUFBWSxHQUFvQztJQUNwRCxPQUFPO0lBQ1A7UUFDRSxPQUFPLEVBQUUsVUFBVTtRQUNuQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxLQUFLLEVBQUUsRUFBRSxFQUFF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bSBcIkBlc2xpbnQvY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7XG4gIEVsZW1lbnREZXNjcmlwdG9ycyxcbiAgUnVsZXMsXG4gIFNldHRpbmdzLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZUNvbmZpZywgc3RyaWN0IH0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllcy9jb25maWdcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbmltcG9ydCB0eXBlIHsgQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSB9IGZyb20gXCIuLi8uLi9kb21haW5cIjtcblxuLyoqIERlZmF1bHQgcmVwb3NpdG9yeSBlbGVtZW50IGRlc2NyaXB0b3JzIHVzZWQgYnkgdGhlIGJvdW5kYXJpZXMgcGx1Z2luLiAqL1xuY29uc3QgZWxlbWVudHM6IEVsZW1lbnREZXNjcmlwdG9ycyA9IFtcbiAgeyBwYXJ0aWFsTWF0Y2g6IGZhbHNlLCBwYXR0ZXJuOiBcIioqL3NyY1wiLCB0eXBlOiBcImVudHJ5cG9pbnRcIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcIioqL3NyY1wiLCBwYXR0ZXJuOiBcImJvb3RzdHJhcFwiLCB0eXBlOiBcImJvb3RzdHJhcFwiIH0sXG4gIHsgYmFzZVBhdHRlcm46IFwiKiovc3JjXCIsIHBhdHRlcm46IFwicHJlc2VudGF0aW9uXCIsIHR5cGU6IFwicHJlc2VudGF0aW9uXCIgfSxcbiAgeyBiYXNlUGF0dGVybjogXCIqKi9zcmNcIiwgcGF0dGVybjogXCJpbmZyYXN0cnVjdHVyZVwiLCB0eXBlOiBcImluZnJhc3RydWN0dXJlXCIgfSxcbiAgeyBiYXNlUGF0dGVybjogXCIqKi9zcmNcIiwgcGF0dGVybjogXCJhcHBsaWNhdGlvblwiLCB0eXBlOiBcImFwcGxpY2F0aW9uXCIgfSxcbiAgeyBiYXNlUGF0dGVybjogXCIqKi9zcmNcIiwgcGF0dGVybjogXCJkb21haW5cIiwgdHlwZTogXCJkb21haW5cIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcIioqL3NyY1wiLCBwYXR0ZXJuOiBcInNoYXJlZFwiLCB0eXBlOiBcInNoYXJlZFwiIH0sXG5dO1xuXG4vKiogRGVmYXVsdCByZXBvc2l0b3J5IGRlcGVuZGVuY3kgcnVsZXMgdXNlZCBieSB0aGUgYm91bmRhcmllcyBwbHVnaW4uICovXG5jb25zdCBlbGVtZW50VHlwZXM6IEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnkgPSBbXG4gIFwiZXJyb3JcIixcbiAge1xuICAgIGRlZmF1bHQ6IFwiZGlzYWxsb3dcIixcbiAgICBwb2xpY2llczogW1xuICAgICAge1xuICAgICAgICBhbGxvdzogeyB0bzogeyBlbGVtZW50OiB7IHR5cGU6IFtcImJvb3RzdHJhcFwiXSB9IH0gfSxcbiAgICAgICAgZnJvbTogeyBlbGVtZW50OiB7IHR5cGU6IFwiZW50cnlwb2ludFwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogW1xuICAgICAgICAgICAgICAgIFwicHJlc2VudGF0aW9uXCIsXG4gICAgICAgICAgICAgICAgXCJpbmZyYXN0cnVjdHVyZVwiLFxuICAgICAgICAgICAgICAgIFwiYXBwbGljYXRpb25cIixcbiAgICAgICAgICAgICAgICBcImRvbWFpblwiLFxuICAgICAgICAgICAgICAgIFwic2hhcmVkXCIsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImJvb3RzdHJhcFwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJhcHBsaWNhdGlvblwiLCBcImRvbWFpblwiLCBcInNoYXJlZFwiXSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcInByZXNlbnRhdGlvblwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJhcHBsaWNhdGlvblwiLCBcImRvbWFpblwiLCBcInNoYXJlZFwiXSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImluZnJhc3RydWN0dXJlXCIgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IHsgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJkb21haW5cIiwgXCJzaGFyZWRcIl0gfSB9IH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImFwcGxpY2F0aW9uXCIgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IHsgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJzaGFyZWRcIl0gfSB9IH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImRvbWFpblwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IGVsZW1lbnQ6IHsgdHlwZTogW1wic2hhcmVkXCJdIH0gfSB9LFxuICAgICAgICBmcm9tOiB7IGVsZW1lbnQ6IHsgdHlwZTogXCJzaGFyZWRcIiB9IH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dO1xuXG4vKiogRGVmYXVsdCBzb3VyY2UgZmlsZSBnbG9icyBpbmNsdWRlZCBpbiByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgZmlsZXMgPSBbXCIqKi9zcmMvKiovKi50c1wiXTtcblxuLyoqIERlZmF1bHQgc291cmNlIGZpbGUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgaWdub3JlcyA9IFtcIioqLyoue3NwZWMsdGVzdCxlMmV9LnRzXCIsIFwiKiovX190ZXN0c19fLyoqXCJdO1xuXG4vKipcbiAqIExvYWQgYm91bmRhcmllcyBwbHVnaW4gY29uZmlndXJhdGlvbiB1c2luZyB0aGUgcGFja2FnZS1vd25lZCBmaXhlZCB0b3BvbG9neS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlncyA9IGJvdW5kYXJpZXMoKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBib3VuZGFyaWVzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5ncyA9IHtcbiAgICAuLi5zdHJpY3Quc2V0dGluZ3MsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnRzXCI6IGVsZW1lbnRzLFxuICB9O1xuXG4gIGNvbnN0IHJ1bGVzOiBSdWxlcyA9IHtcbiAgICAuLi5zdHJpY3QucnVsZXMsXG4gICAgXCJib3VuZGFyaWVzL2RlcGVuZGVuY2llc1wiOiBlbGVtZW50VHlwZXMsXG4gIH07XG5cbiAgY29uc3QgY29uZmlnT2JqZWN0ID0gY3JlYXRlQ29uZmlnKHtcbiAgICBmaWxlcyxcbiAgICBpZ25vcmVzLFxuICAgIG5hbWU6IFwiYm91bmRhcmllc1wiLFxuICAgIHJ1bGVzLFxuICAgIHNldHRpbmdzLFxuICB9KSBhcyBDb25maWdPYmplY3Q7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhjb25maWdPYmplY3QpO1xufVxuXG5leHBvcnQgeyBib3VuZGFyaWVzIH07XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm91bmRhcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9hcmNoaXRlY3R1cmUvYm91bmRhcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0MsNEVBQTRFO0FBQzVFLE1BQU0sUUFBUSxHQUF1QjtJQUNuQyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0lBQ2xFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUU7SUFDeEUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7SUFDNUUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtJQUN0RSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO0lBQzVELEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Q0FDN0QsQ0FBQztBQUVGLHlFQUF5RTtBQUN6RSxNQUFNLFlBQVksR0FBb0M7SUFDcEQsT0FBTztJQUNQO1FBQ0UsT0FBTyxFQUFFLFVBQVU7UUFDbkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFO29CQUNMLEVBQUUsRUFBRTt3QkFDRixPQUFPLEVBQUU7NEJBQ1AsSUFBSSxFQUFFO2dDQUNKLFdBQVc7Z0NBQ1gsY0FBYztnQ0FDZCxnQkFB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QUUsVUFBVSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZ09iamVjdCB9IGZyb20gXCJAZXNsaW50L2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBFbGVtZW50RGVzY3JpcHRvcnMsXG4gIFJ1bGVzLFxuICBTZXR0aW5ncyxcbn0gZnJvbSBcImVzbGludC1wbHVnaW4tYm91bmRhcmllc1wiO1xuXG5pbXBvcnQgeyBjcmVhdGVDb25maWcsIHN0cmljdCB9IGZyb20gXCJlc2xpbnQtcGx1Z2luLWJvdW5kYXJpZXMvY29uZmlnXCI7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG5pbXBvcnQgdHlwZSB7IEJvdW5kYXJpZXNFbGVtZW50VHlwZXNSdWxlRW50cnkgfSBmcm9tIFwiLi4vLi4vZG9tYWluXCI7XG5cbi8qKiBEZWZhdWx0IHJlcG9zaXRvcnkgZWxlbWVudCBkZXNjcmlwdG9ycyB1c2VkIGJ5IHRoZSBib3VuZGFyaWVzIHBsdWdpbi4gKi9cbmNvbnN0IGVsZW1lbnRzOiBFbGVtZW50RGVzY3JpcHRvcnMgPSBbXG4gIHsgYmFzZVBhdHRlcm46IFwiKiovc3JjXCIsIHBhdHRlcm46IFwiYm9vdHN0cmFwXCIsIHR5cGU6IFwiYm9vdHN0cmFwXCIgfSxcbiAgeyBiYXNlUGF0dGVybjogXCIqKi9zcmNcIiwgcGF0dGVybjogXCJwcmVzZW50YXRpb25cIiwgdHlwZTogXCJwcmVzZW50YXRpb25cIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcIioqL3NyY1wiLCBwYXR0ZXJuOiBcImluZnJhc3RydWN0dXJlXCIsIHR5cGU6IFwiaW5mcmFzdHJ1Y3R1cmVcIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcIioqL3NyY1wiLCBwYXR0ZXJuOiBcImFwcGxpY2F0aW9uXCIsIHR5cGU6IFwiYXBwbGljYXRpb25cIiB9LFxuICB7IGJhc2VQYXR0ZXJuOiBcIioqL3NyY1wiLCBwYXR0ZXJuOiBcImRvbWFpblwiLCB0eXBlOiBcImRvbWFpblwiIH0sXG4gIHsgYmFzZVBhdHRlcm46IFwiKiovc3JjXCIsIHBhdHRlcm46IFwic2hhcmVkXCIsIHR5cGU6IFwic2hhcmVkXCIgfSxcbl07XG5cbi8qKiBEZWZhdWx0IHJlcG9zaXRvcnkgZGVwZW5kZW5jeSBydWxlcyB1c2VkIGJ5IHRoZSBib3VuZGFyaWVzIHBsdWdpbi4gKi9cbmNvbnN0IGVsZW1lbnRUeXBlczogQm91bmRhcmllc0VsZW1lbnRUeXBlc1J1bGVFbnRyeSA9IFtcbiAgXCJlcnJvclwiLFxuICB7XG4gICAgZGVmYXVsdDogXCJkaXNhbGxvd1wiLFxuICAgIHBvbGljaWVzOiBbXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogW1xuICAgICAgICAgICAgICAgIFwiYm9vdHN0cmFwXCIsXG4gICAgICAgICAgICAgICAgXCJwcmVzZW50YXRpb25cIixcbiAgICAgICAgICAgICAgICBcImluZnJhc3RydWN0dXJlXCIsXG4gICAgICAgICAgICAgICAgXCJhcHBsaWNhdGlvblwiLFxuICAgICAgICAgICAgICAgIFwiZG9tYWluXCIsXG4gICAgICAgICAgICAgICAgXCJzaGFyZWRcIixcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZnJvbTogeyBmaWxlOiB7IGNhdGVnb3JpZXM6IFwiZW50cnlwb2ludFwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHtcbiAgICAgICAgICAgIGVsZW1lbnQ6IHtcbiAgICAgICAgICAgICAgdHlwZTogW1xuICAgICAgICAgICAgICAgIFwicHJlc2VudGF0aW9uXCIsXG4gICAgICAgICAgICAgICAgXCJpbmZyYXN0cnVjdHVyZVwiLFxuICAgICAgICAgICAgICAgIFwiYXBwbGljYXRpb25cIixcbiAgICAgICAgICAgICAgICBcImRvbWFpblwiLFxuICAgICAgICAgICAgICAgIFwic2hhcmVkXCIsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImJvb3RzdHJhcFwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJhcHBsaWNhdGlvblwiLCBcImRvbWFpblwiLCBcInNoYXJlZFwiXSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcInByZXNlbnRhdGlvblwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7XG4gICAgICAgICAgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJhcHBsaWNhdGlvblwiLCBcImRvbWFpblwiLCBcInNoYXJlZFwiXSB9IH0sXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImluZnJhc3RydWN0dXJlXCIgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IHsgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJkb21haW5cIiwgXCJzaGFyZWRcIl0gfSB9IH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImFwcGxpY2F0aW9uXCIgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IHsgdG86IHsgZWxlbWVudDogeyB0eXBlOiBbXCJzaGFyZWRcIl0gfSB9IH0sXG4gICAgICAgIGZyb206IHsgZWxlbWVudDogeyB0eXBlOiBcImRvbWFpblwiIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFsbG93OiB7IHRvOiB7IGVsZW1lbnQ6IHsgdHlwZTogW1wic2hhcmVkXCJdIH0gfSB9LFxuICAgICAgICBmcm9tOiB7IGVsZW1lbnQ6IHsgdHlwZTogXCJzaGFyZWRcIiB9IH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5dO1xuXG4vKiogRGVmYXVsdCBzb3VyY2UgZmlsZSBnbG9icyBpbmNsdWRlZCBpbiByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgZmlsZXMgPSBbXCIqKi9zcmMvKiovKi50c1wiXTtcblxuLyoqIERlZmF1bHQgc291cmNlIGZpbGUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5IGJvdW5kYXJpZXMgY2hlY2tzLiAqL1xuY29uc3QgaWdub3JlcyA9IFtcIioqLyoue3NwZWMsdGVzdCxlMmV9LnRzXCIsIFwiKiovX190ZXN0c19fLyoqXCJdO1xuXG4vKipcbiAqIExvYWQgYm91bmRhcmllcyBwbHVnaW4gY29uZmlndXJhdGlvbiB1c2luZyB0aGUgcGFja2FnZS1vd25lZCBmaXhlZCB0b3BvbG9neS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgY29uZmlncyA9IGJvdW5kYXJpZXMoKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBib3VuZGFyaWVzKCk6IExpbnRlci5Db25maWdbXSB7XG4gIGNvbnN0IHNldHRpbmdzOiBTZXR0aW5ncyA9IHtcbiAgICAuLi5zdHJpY3Quc2V0dGluZ3MsXG4gICAgXCJib3VuZGFyaWVzL2VsZW1lbnRzXCI6IGVsZW1lbnRzLFxuICAgIFwiYm91bmRhcmllcy9maWxlc1wiOiBbXG4gICAgICB7IGNhdGVnb3J5OiBcImVudHJ5cG9pbnRcIiwgcGF0dGVybjogXCIqKi9zcmMvaW5kZXgudHNcIiB9LFxuICAgIF0sXG4gIH07XG5cbiAgY29uc3QgcnVsZXM6IFJ1bGVzID0ge1xuICAgIC4uLnN0cmljdC5ydWxlcyxcbiAgICBcImJvdW5kYXJpZXMvZGVwZW5kZW5jaWVzXCI6IGVsZW1lbnRUeXBlcyxcbiAgfTtcblxuICBjb25zdCBjb25maWdPYmplY3QgPSBjcmVhdGVDb25maWcoe1xuICAgIGZpbGVzLFxuICAgIGlnbm9yZXMsXG4gICAgbmFtZTogXCJib3VuZGFyaWVzXCIsXG4gICAgcnVsZXMsXG4gICAgc2V0dGluZ3MsXG4gIH0pIGFzIENvbmZpZ09iamVjdDtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ09iamVjdCk7XG59XG5cbmV4cG9ydCB7IGJvdW5kYXJpZXMgfTtcbiJdfQ==
@@ -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;AAsCrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqBjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"import-x.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/architecture/import-x.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAwCrC;;;;;;;GAOG;AACH,iBAAe,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqBjD;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -22,7 +22,9 @@ async function buildCustomErrorRules() {
22
22
  {
23
23
  name: "import-x/custom-error-rules",
24
24
  rules: {
25
+ "import-x/avoid-re-export-all": "error",
25
26
  "import-x/first": "error",
27
+ "import-x/no-cycle": "error",
26
28
  "import-x/no-internal-modules": [
27
29
  "error",
28
30
  { allow: ["**/node_modules/**"] },
@@ -57,4 +59,4 @@ async function importX() {
57
59
  });
58
60
  }
59
61
  export { importX };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUUxRCxPQUFPO1FBQ0wsUUFBUTtRQUNSLFdBQVc7UUFDWCxVQUFVO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEtBQUssRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRTtTQUN2QztRQUNEO1lBQ0UsSUFBSSxFQUFFLDZCQUE2QjtZQUNuQyxLQUFLLEVBQUU7Z0JBQ0wsZ0JBQWdCLEVBQUUsT0FBTztnQkFDekIsOEJBQThCLEVBQUU7b0JBQzlCLE9BQU87b0JBQ1AsRUFBRSxLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2lCQUNsQzthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxLQUFLLFVBQVUsT0FBTztJQUNwQixPQUFPLFlBQVksQ0FDakIsR0FBRyxDQUFDLE1BQU0scUJBQXFCLEVBQUUsQ0FBQyxFQUNsQztRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFO1lBQ0wscUNBQXFDLEVBQUUsS0FBSztZQUM1QyxzQkFBc0IsRUFBRSxLQUFLO1NBQzlCO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7S0FDL0MsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ2xDLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO0tBQy9DLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBjdXN0b20gZXJyb3IgcnVsZXMgZm9yIGltcG9ydC14IHBsdWdpbiBieSBleGNsdWRpbmcgY2VydGFpbiBydWxlc1xuICogYW5kIGVuc3VyaW5nIG5vIG92ZXJsYXAgd2l0aCBleGlzdGluZyBjb25maWd1cmF0aW9ucy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZmxhdENvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICByZXR1cm4gW1xuICAgIHdhcm5pbmdzLFxuICAgIHJlY29tbWVuZGVkLFxuICAgIHR5cGVzY3JpcHQsXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uYW1lc3BhY2VcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tZXJyb3ItcnVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvZmlyc3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcImltcG9ydC14L25vLWludGVybmFsLW1vZHVsZXNcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IGFsbG93OiBbXCIqKi9ub2RlX21vZHVsZXMvKipcIl0gfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbn1cblxuLyoqXG4gKiBMb2FkcyB0aGUgaW1wb3J0LXggcGx1Z2luIGNvbmZpZ3VyYXRpb24uXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGltcG9ydFgoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRYKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgLi4uKGF3YWl0IGJ1aWxkQ3VzdG9tRXJyb3JSdWxlcygpKSxcbiAgICB7XG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS10eXBlc2NyaXB0XCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcImltcG9ydC14L25vLXJlbGF0aXZlLXBhcmVudC1pbXBvcnRzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiaW1wb3J0LXgvdW5hbWJpZ3VvdXNcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogW1wiKlwiLCBcInBhY2thZ2VzLyovKlwiXSxcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXJvb3QtY29uZmlnLWZpbGVzXCIsXG4gICAgICBydWxlczogeyBcImltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0XCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVzOiBbXCIqKi8qLntzcGVjLHRlc3QsZTJlfS50c1wiXSxcbiAgICAgIG5hbWU6IFwiaW1wb3J0LXgvY3VzdG9tLXRlc3QtZmlsZXNcIixcbiAgICAgIHJ1bGVzOiB7IFwiaW1wb3J0LXgvbm8tbm9kZWpzLW1vZHVsZXNcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICk7XG59XG5cbmV4cG9ydCB7IGltcG9ydFggfTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvYXJjaGl0ZWN0dXJlL2ltcG9ydC14LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFVBQVUscUJBQXFCO0lBQ2xDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUUxRCxPQUFPO1FBQ0wsUUFBUTtRQUNSLFdBQVc7UUFDWCxVQUFVO1FBQ1Y7WUFDRSxJQUFJLEVBQUUsNEJBQTRCO1lBQ2xDLEtBQUssRUFBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRTtTQUN2QztRQUNEO1lBQ0UsSUFBSSxFQUFFLDZCQUE2QjtZQUNuQyxLQUFLLEVBQUU7Z0JBQ0wsOEJBQThCLEVBQUUsT0FBTztnQkFDdkMsZ0JBQWdCLEVBQUUsT0FBTztnQkFDekIsbUJBQW1CLEVBQUUsT0FBTztnQkFDNUIsOEJBQThCLEVBQUU7b0JBQzlCLE9BQU87b0JBQ1AsRUFBRSxLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO2lCQUNsQzthQUNGO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxLQUFLLFVBQVUsT0FBTztJQUNwQixPQUFPLFlBQVksQ0FDakIsR0FBRyxDQUFDLE1BQU0scUJBQXFCLEVBQUUsQ0FBQyxFQUNsQztRQUNFLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFO1lBQ0wscUNBQXFDLEVBQUUsS0FBSztZQUM1QyxzQkFBc0IsRUFBRSxLQUFLO1NBQzlCO0tBQ0YsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUM7UUFDNUIsSUFBSSxFQUFFLG1DQUFtQztRQUN6QyxLQUFLLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUU7S0FDL0MsRUFDRDtRQUNFLEtBQUssRUFBRSxDQUFDLHlCQUF5QixDQUFDO1FBQ2xDLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsS0FBSyxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFO0tBQy9DLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBCdWlsZCBjdXN0b20gZXJyb3IgcnVsZXMgZm9yIGltcG9ydC14IHBsdWdpbiBieSBleGNsdWRpbmcgY2VydGFpbiBydWxlc1xuICogYW5kIGVuc3VyaW5nIG5vIG92ZXJsYXAgd2l0aCBleGlzdGluZyBjb25maWd1cmF0aW9ucy5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYnVpbGRDdXN0b21FcnJvclJ1bGVzKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZmxhdENvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4taW1wb3J0LXhcIik7XG4gIGNvbnN0IHsgcmVjb21tZW5kZWQsIHR5cGVzY3JpcHQsIHdhcm5pbmdzIH0gPSBmbGF0Q29uZmlncztcblxuICByZXR1cm4gW1xuICAgIHdhcm5pbmdzLFxuICAgIHJlY29tbWVuZGVkLFxuICAgIHR5cGVzY3JpcHQsXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uYW1lc3BhY2VcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tZXJyb3ItcnVsZXNcIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwiaW1wb3J0LXgvYXZvaWQtcmUtZXhwb3J0LWFsbFwiOiBcImVycm9yXCIsXG4gICAgICAgIFwiaW1wb3J0LXgvZmlyc3RcIjogXCJlcnJvclwiLFxuICAgICAgICBcImltcG9ydC14L25vLWN5Y2xlXCI6IFwiZXJyb3JcIixcbiAgICAgICAgXCJpbXBvcnQteC9uby1pbnRlcm5hbC1tb2R1bGVzXCI6IFtcbiAgICAgICAgICBcImVycm9yXCIsXG4gICAgICAgICAgeyBhbGxvdzogW1wiKiovbm9kZV9tb2R1bGVzLyoqXCJdIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0sXG4gIF07XG59XG5cbi8qKlxuICogTG9hZHMgdGhlIGltcG9ydC14IHBsdWdpbiBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBpbXBvcnRYKCk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW1wb3J0WCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIC4uLihhd2FpdCBidWlsZEN1c3RvbUVycm9yUnVsZXMoKSksXG4gICAge1xuICAgICAgbmFtZTogXCJpbXBvcnQteC9jdXN0b20tdHlwZXNjcmlwdFwiLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgXCJpbXBvcnQteC9uby1yZWxhdGl2ZS1wYXJlbnQtaW1wb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgICBcImltcG9ydC14L3VuYW1iaWd1b3VzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IFtcIipcIiwgXCJwYWNrYWdlcy8qLypcIl0sXG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS1yb290LWNvbmZpZy1maWxlc1wiLFxuICAgICAgcnVsZXM6IHsgXCJpbXBvcnQteC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcIm9mZlwiIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlczogW1wiKiovKi57c3BlYyx0ZXN0LGUyZX0udHNcIl0sXG4gICAgICBuYW1lOiBcImltcG9ydC14L2N1c3RvbS10ZXN0LWZpbGVzXCIsXG4gICAgICBydWxlczogeyBcImltcG9ydC14L25vLW5vZGVqcy1tb2R1bGVzXCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgeyBpbXBvcnRYIH07XG4iXX0=
@@ -1,9 +1,10 @@
1
- export type { BoundariesElementTypesRuleEntry, ConfigOptions, PluginName, PluginStateOverrides, ScopedPluginConfig, } from "../domain/index.js";
2
1
  export { boundaries, importX } from "./architecture/index.js";
3
- export { config } from "./config-factory.js";
4
- export { codeperfect, eslint, resolver, typescript } from "./core/index.js";
5
- export { comments, jsdoc } from "./docs/index.js";
2
+ export { codeperfect, eslint, json, resolver, typescript } from "./core/index.js";
3
+ export { comments, jsdoc, markdown } from "./docs/index.js";
4
+ export { isPluginEnabled } from "./plugin-state.js";
5
+ export { angularEslint } from "./runtime/index.js";
6
6
  export { rxjsX } from "./rxjs-x.js";
7
- export { perfectionist, prettier, stylistic, unicorn } from "./style/index.js";
7
+ export { packageJson, perfectionist, prettier, stylistic, unicorn, } from "./style/index.js";
8
8
  export { playwright, vitest, vitestE2e } from "./testing/index.js";
9
+ export { loadPluginConfig } from "./utilities.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,+BAA+B,EAC/B,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,GACR,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,8 +1,10 @@
1
1
  export { boundaries, importX } from "./architecture/index.js";
2
- export { config } from "./config-factory.js";
3
- export { codeperfect, eslint, resolver, typescript } from "./core/index.js";
4
- export { comments, jsdoc } from "./docs/index.js";
2
+ export { codeperfect, eslint, json, resolver, typescript } from "./core/index.js";
3
+ export { comments, jsdoc, markdown } from "./docs/index.js";
4
+ export { isPluginEnabled } from "./plugin-state.js";
5
+ export { angularEslint } from "./runtime/index.js";
5
6
  export { rxjsX } from "./rxjs-x.js";
6
- export { perfectionist, prettier, stylistic, unicorn } from "./style/index.js";
7
+ export { packageJson, perfectionist, prettier, stylistic, unicorn, } from "./style/index.js";
7
8
  export { playwright, vitest, vitestE2e } from "./testing/index.js";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUge1xuICBCb3VuZGFyaWVzRWxlbWVudFR5cGVzUnVsZUVudHJ5LFxuICBDb25maWdPcHRpb25zLFxuICBQbHVnaW5OYW1lLFxuICBQbHVnaW5TdGF0ZU92ZXJyaWRlcyxcbiAgU2NvcGVkUGx1Z2luQ29uZmlnLFxufSBmcm9tIFwiLi4vZG9tYWluXCI7XG5leHBvcnQgeyBib3VuZGFyaWVzLCBpbXBvcnRYIH0gZnJvbSBcIi4vYXJjaGl0ZWN0dXJlXCI7XG5leHBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWctZmFjdG9yeVwiO1xuZXhwb3J0IHsgY29kZXBlcmZlY3QsIGVzbGludCwgcmVzb2x2ZXIsIHR5cGVzY3JpcHQgfSBmcm9tIFwiLi9jb3JlXCI7XG5leHBvcnQgeyBjb21tZW50cywganNkb2MgfSBmcm9tIFwiLi9kb2NzXCI7XG5leHBvcnQgeyByeGpzWCB9IGZyb20gXCIuL3J4anMteFwiO1xuZXhwb3J0IHsgcGVyZmVjdGlvbmlzdCwgcHJldHRpZXIsIHN0eWxpc3RpYywgdW5pY29ybiB9IGZyb20gXCIuL3N0eWxlXCI7XG5leHBvcnQgeyBwbGF5d3JpZ2h0LCB2aXRlc3QsIHZpdGVzdEUyZSB9IGZyb20gXCIuL3Rlc3RpbmdcIjtcbiJdfQ==
9
+ export { loadPluginConfig } from "./utilities.js";
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sR0FDUixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgYm91bmRhcmllcywgaW1wb3J0WCB9IGZyb20gXCIuL2FyY2hpdGVjdHVyZVwiO1xuZXhwb3J0IHsgY29kZXBlcmZlY3QsIGVzbGludCwganNvbiwgcmVzb2x2ZXIsIHR5cGVzY3JpcHQgfSBmcm9tIFwiLi9jb3JlXCI7XG5leHBvcnQgeyBjb21tZW50cywganNkb2MsIG1hcmtkb3duIH0gZnJvbSBcIi4vZG9jc1wiO1xuZXhwb3J0IHsgaXNQbHVnaW5FbmFibGVkIH0gZnJvbSBcIi4vcGx1Z2luLXN0YXRlXCI7XG5leHBvcnQgeyBhbmd1bGFyRXNsaW50IH0gZnJvbSBcIi4vcnVudGltZVwiO1xuZXhwb3J0IHsgcnhqc1ggfSBmcm9tIFwiLi9yeGpzLXhcIjtcbmV4cG9ydCB7XG4gIHBhY2thZ2VKc29uLFxuICBwZXJmZWN0aW9uaXN0LFxuICBwcmV0dGllcixcbiAgc3R5bGlzdGljLFxuICB1bmljb3JuLFxufSBmcm9tIFwiLi9zdHlsZVwiO1xuZXhwb3J0IHsgcGxheXdyaWdodCwgdml0ZXN0LCB2aXRlc3RFMmUgfSBmcm9tIFwiLi90ZXN0aW5nXCI7XG5leHBvcnQgeyBsb2FkUGx1Z2luQ29uZmlnIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"prettier.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/style/prettier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC;;;;;;;GAOG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAKzD"}
1
+ {"version":3,"file":"prettier.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/style/prettier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC;;;;;;;GAOG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAIzD"}
@@ -10,7 +10,7 @@ const prettierFileGlobs = ["**/*.ts"];
10
10
  * ```
11
11
  */
12
12
  export async function prettier() {
13
- const { default: eslintConfigPrettier } = await import("eslint-config-prettier/flat");
14
- return defineConfig({ ...eslintConfigPrettier, files: prettierFileGlobs });
13
+ const { default: config } = await import("eslint-config-prettier/flat");
14
+ return defineConfig({ ...config, files: prettierFileGlobs });
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvc3R5bGUvcHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxtREFBbUQ7QUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXRDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUNyQyxNQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRTlDLE9BQU8sWUFBWSxDQUFDLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIEZpbGUgZ2xvYnMgdGhhdCBQcmV0dGllciBsaW50aW5nIGFwcGxpZXMgdG8uICovXG5jb25zdCBwcmV0dGllckZpbGVHbG9icyA9IFtcIioqLyoudHNcIl07XG5cbi8qKlxuICogUmV0dXJuIFByZXR0aWVyIGNvbXBhdGliaWxpdHkgcnVsZXMgZm9yIEVTTGludCB3aGVuIHRoZSBjb25maWcgaXMgYXZhaWxhYmxlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBwcmV0dGllcigpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmV0dGllcigpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGRlZmF1bHQ6IGVzbGludENvbmZpZ1ByZXR0aWVyIH0gPVxuICAgIGF3YWl0IGltcG9ydChcImVzbGludC1jb25maWctcHJldHRpZXIvZmxhdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHsgLi4uZXNsaW50Q29uZmlnUHJldHRpZXIsIGZpbGVzOiBwcmV0dGllckZpbGVHbG9icyB9KTtcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvc3R5bGUvcHJldHRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxtREFBbUQ7QUFDbkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXRDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVE7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sWUFBWSxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJlc2xpbnQvY29uZmlnXCI7XG5cbi8qKiBGaWxlIGdsb2JzIHRoYXQgUHJldHRpZXIgbGludGluZyBhcHBsaWVzIHRvLiAqL1xuY29uc3QgcHJldHRpZXJGaWxlR2xvYnMgPSBbXCIqKi8qLnRzXCJdO1xuXG4vKipcbiAqIFJldHVybiBQcmV0dGllciBjb21wYXRpYmlsaXR5IHJ1bGVzIGZvciBFU0xpbnQgd2hlbiB0aGUgY29uZmlnIGlzIGF2YWlsYWJsZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgcHJldHRpZXIoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJldHRpZXIoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBkZWZhdWx0OiBjb25maWcgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1jb25maWctcHJldHRpZXIvZmxhdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHsgLi4uY29uZmlnLCBmaWxlczogcHJldHRpZXJGaWxlR2xvYnMgfSk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAW1D"}
1
+ {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAc1D"}
@@ -14,7 +14,10 @@ export async function stylistic() {
14
14
  return defineConfig({ ...plugin.configs.recommended, files: stylisticFileGlobs }, {
15
15
  files: stylisticFileGlobs,
16
16
  name: "stylistic/custom",
17
- rules: { "@stylistic/multiline-comment-style": "off" },
17
+ rules: {
18
+ "@stylistic/list-style": "off",
19
+ "@stylistic/multiline-comment-style": "off",
20
+ },
18
21
  });
19
22
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLG9EQUFvRDtBQUNwRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdkM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUztJQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFckUsT0FBTyxZQUFZLENBQ2pCLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsRUFDNUQ7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLEVBQUUsb0NBQW9DLEVBQUUsS0FBSyxFQUFFO0tBQ3ZELENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIEZpbGUgZ2xvYnMgdGhhdCBTdHlsaXN0aWMgbGludGluZyBhcHBsaWVzIHRvLiAqL1xuY29uc3Qgc3R5bGlzdGljRmlsZUdsb2JzID0gW1wiKiovKi50c1wiXTtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHN0eWxpc3RpYyBwbHVnaW4gY29uZmlndXJhdGlvbiBhbmQgaXRzIHJlY29tbWVuZGVkIHNldHRpbmdzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBzdHlsaXN0aWMoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3R5bGlzdGljKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHsgZGVmYXVsdDogcGx1Z2luIH0gPSBhd2FpdCBpbXBvcnQoXCJAc3R5bGlzdGljL2VzbGludC1wbHVnaW5cIik7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICB7IC4uLnBsdWdpbi5jb25maWdzLnJlY29tbWVuZGVkLCBmaWxlczogc3R5bGlzdGljRmlsZUdsb2JzIH0sXG4gICAge1xuICAgICAgZmlsZXM6IHN0eWxpc3RpY0ZpbGVHbG9icyxcbiAgICAgIG5hbWU6IFwic3R5bGlzdGljL2N1c3RvbVwiLFxuICAgICAgcnVsZXM6IHsgXCJAc3R5bGlzdGljL211bHRpbGluZS1jb21tZW50LXN0eWxlXCI6IFwib2ZmXCIgfSxcbiAgICB9LFxuICApO1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDLG9EQUFvRDtBQUNwRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdkM7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUztJQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFFckUsT0FBTyxZQUFZLENBQ2pCLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsRUFDNUQ7UUFDRSxLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFO1lBQ0wsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixvQ0FBb0MsRUFBRSxLQUFLO1NBQzVDO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKiogRmlsZSBnbG9icyB0aGF0IFN0eWxpc3RpYyBsaW50aW5nIGFwcGxpZXMgdG8uICovXG5jb25zdCBzdHlsaXN0aWNGaWxlR2xvYnMgPSBbXCIqKi8qLnRzXCJdO1xuXG4vKipcbiAqIFJldHVybiB0aGUgc3R5bGlzdGljIHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBpdHMgcmVjb21tZW5kZWQgc2V0dGluZ3MuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHN0eWxpc3RpYygpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdHlsaXN0aWMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBkZWZhdWx0OiBwbHVnaW4gfSA9IGF3YWl0IGltcG9ydChcIkBzdHlsaXN0aWMvZXNsaW50LXBsdWdpblwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIHsgLi4ucGx1Z2luLmNvbmZpZ3MucmVjb21tZW5kZWQsIGZpbGVzOiBzdHlsaXN0aWNGaWxlR2xvYnMgfSxcbiAgICB7XG4gICAgICBmaWxlczogc3R5bGlzdGljRmlsZUdsb2JzLFxuICAgICAgbmFtZTogXCJzdHlsaXN0aWMvY3VzdG9tXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcIkBzdHlsaXN0aWMvbGlzdC1zdHlsZVwiOiBcIm9mZlwiLFxuICAgICAgICBcIkBzdHlsaXN0aWMvbXVsdGlsaW5lLWNvbW1lbnQtc3R5bGVcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-config",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "A shareable flat ESLint config for TypeScript repositories",
5
5
  "license": "MIT",
6
6
  "repository": "github:parloti/eslint-config",
@@ -25,6 +25,7 @@
25
25
  "scripts": {
26
26
  "\n# ---------------- GENERAL ---------------- #": "",
27
27
  "prepare": "patch-package && husky",
28
+ "nuke": "npx --yes tsx scripts/nuke.ts",
28
29
  "\n# ------------------ SCM ------------------ #": "",
29
30
  "commit": "npx --yes git-cz",
30
31
  "\n# ---------------- BUILDING ---------------- #": "",
@@ -60,8 +61,7 @@
60
61
  "\n# ------------------ DOCS ------------------ #": "",
61
62
  "docs": "npm run docs:clean && npm run docs:api",
62
63
  "docs:api": "npx --yes typedoc --options typedoc.json",
63
- "docs:clean": "npx --yes rimraf docs/api",
64
- "nuke": "npx --yes tsx scripts/nuke.ts"
64
+ "docs:clean": "npx --yes rimraf docs/api"
65
65
  },
66
66
  "files": [
67
67
  "dist"
@@ -77,8 +77,8 @@
77
77
  ],
78
78
  "devDependencies": {
79
79
  "@codeperfect/commitlint-config-emoji": "^1.1.0",
80
- "@codeperfect/eslint-plugin": "^3.3.0",
81
- "@codeperfect/task-runner": "^1.2.0",
80
+ "@codeperfect/eslint-plugin": "^3.8.0",
81
+ "@codeperfect/task-runner": "^1.6.0",
82
82
  "@commitlint/config-conventional": "^21.2.4",
83
83
  "@commitlint/cz-commitlint": "^21.2.4",
84
84
  "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1",
@@ -86,7 +86,7 @@
86
86
  "@eslint/json": "^2.1.1",
87
87
  "@eslint/markdown": "^8.0.3",
88
88
  "@semantic-release/commit-analyzer": "^13.0.1",
89
- "@semantic-release/github": "^12.0.10",
89
+ "@semantic-release/github": "^12.0.11",
90
90
  "@semantic-release/npm": "^13.2.0",
91
91
  "@semantic-release/release-notes-generator": "^14.1.1",
92
92
  "@stryker-mutator/core": "^10.1.1",
@@ -95,40 +95,39 @@
95
95
  "@stylistic/eslint-plugin": "^5.10.0",
96
96
  "@types/lodash-es": "^4.17.12",
97
97
  "@types/node": "^26.6.6",
98
- "@vitest/coverage-v8": "^5.0.5",
98
+ "@vitest/coverage-v8": "^5.1.0",
99
99
  "@vitest/eslint-plugin": "^1.6.28",
100
100
  "angular-eslint": "^22.6.0",
101
101
  "chalk": "^6.0.1",
102
- "concurrently": "^10.0.6",
103
102
  "conventional-changelog-conventionalcommits": "^10.4.1",
104
- "eslint": "^10.14.0",
103
+ "eslint": "^10.15.0",
105
104
  "eslint-config-prettier": "^10.1.8",
106
105
  "eslint-import-resolver-typescript": "^4.4.5",
107
106
  "eslint-package-json": "^3.0.0",
108
- "eslint-plugin-boundaries": "^7.4.0",
109
- "eslint-plugin-import-x": "^4.17.1",
110
- "eslint-plugin-jsdoc": "^65.4.2",
111
- "eslint-plugin-package-json": "^1.12.0",
107
+ "eslint-plugin-boundaries": "^7.4.3",
108
+ "eslint-plugin-import-x": "^4.18.1",
109
+ "eslint-plugin-jsdoc": "^65.4.7",
110
+ "eslint-plugin-package-json": "^1.14.0",
112
111
  "eslint-plugin-perfectionist": "^5.13.0",
113
- "eslint-plugin-playwright": "^2.12.1",
112
+ "eslint-plugin-playwright": "^2.12.2",
113
+ "eslint-plugin-prettier": "^5.5.7",
114
114
  "eslint-plugin-rxjs-x": "^1.0.6",
115
115
  "eslint-plugin-unicorn": "^79.0.0",
116
116
  "globals": "^17.14.0",
117
117
  "husky": "^9.1.7",
118
118
  "jiti": "^2.7.0",
119
119
  "lint-staged": "^17.6.0",
120
- "listr2": "^11.4.0",
121
120
  "lodash-es": "^4.18.1",
122
121
  "patch-package": "^8.0.1",
123
- "prettier": "^3.9.10",
124
- "rimraf": "^6.1.3",
122
+ "prettier": "^3.10.1",
123
+ "rimraf": "^6.1.4",
125
124
  "semantic-release": "^25.0.9",
126
125
  "tsc-alias": "^1.9.10",
127
126
  "typedoc": "^0.28.20",
128
127
  "typedoc-plugin-markdown": "^4.14.1",
129
128
  "typescript": "^6.0.3",
130
- "typescript-eslint": "^8.72.1",
131
- "vitest": "^5.0.5"
129
+ "typescript-eslint": "^8.72.2",
130
+ "vitest": "^5.1.0"
132
131
  },
133
132
  "peerDependencies": {
134
133
  "@eslint-community/eslint-plugin-eslint-comments": "^4.8.1",
@@ -138,20 +137,20 @@
138
137
  "@stylistic/eslint-plugin": "^5.10.0",
139
138
  "@vitest/eslint-plugin": "^1.6.28",
140
139
  "angular-eslint": "^22.6.0",
141
- "eslint": "^10.14.0",
140
+ "eslint": "^10.15.0",
142
141
  "eslint-config-prettier": "^10.1.8",
143
142
  "eslint-import-resolver-typescript": "^4.4.5",
144
143
  "eslint-package-json": "^3.0.0",
145
- "eslint-plugin-boundaries": "^7.4.0",
146
- "eslint-plugin-import-x": "^4.17.1",
147
- "eslint-plugin-jsdoc": "^65.4.2",
144
+ "eslint-plugin-boundaries": "^7.4.3",
145
+ "eslint-plugin-import-x": "^4.18.1",
146
+ "eslint-plugin-jsdoc": "^65.4.7",
148
147
  "eslint-plugin-perfectionist": "^5.13.0",
149
148
  "eslint-plugin-rxjs-x": "^1.0.6",
150
149
  "eslint-plugin-unicorn": "^79.0.0",
151
150
  "globals": "^17.14.0",
152
151
  "jiti": "^2.7.0",
153
152
  "typescript": "^6.0.3",
154
- "typescript-eslint": "^8.72.1"
153
+ "typescript-eslint": "^8.72.2"
155
154
  },
156
155
  "peerDependenciesMeta": {
157
156
  "angular-eslint": {
@@ -1,14 +0,0 @@
1
- import type { Linter } from "eslint";
2
- import type { ConfigOptions } from "../domain/index.js";
3
- /**
4
- * Creates the ESLint configuration with optional plugin customization.
5
- * @param options Input options value.
6
- * @returns Return value output.
7
- * @example
8
- * ```typescript
9
- * config();
10
- * ```
11
- */
12
- declare function config(options?: ConfigOptions): Promise<Linter.Config[]>;
13
- export { config };
14
- //# sourceMappingURL=config-factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-factory.d.ts","sourceRoot":"","sources":["../../src/infrastructure/config-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,WAAW,CAAC;AAoFnE;;;;;;;;GAQG;AACH,iBAAe,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAU3E;AA6CD,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,111 +0,0 @@
1
- import { defineConfig } from "eslint/config";
2
- import { moduleTaxonomy } from "../domain/index.js";
3
- import { pluginLoaders } from "./plugin-loaders.js";
4
- import { isPluginEnabled } from "./plugin-state.js";
5
- import { loadPluginConfig } from "./utilities.js";
6
- /**
7
- * Scopes config entries to a package base directory.
8
- * @param configs Config entries to scope.
9
- * @param basePath Package base directory.
10
- * @returns Config entries scoped to the package.
11
- * @example
12
- * ```typescript
13
- * applyBasePath([{ name: "custom-eslint" }], "packages/api");
14
- * ```
15
- */
16
- function applyBasePath(configs, basePath) {
17
- return configs.map((config) => ({ ...config, basePath }));
18
- }
19
- /**
20
- * Builds the list of plugin config loaders.
21
- * @param options Input options value.
22
- * @returns Return value output.
23
- * @example
24
- * ```typescript
25
- * buildPluginConfigLoaders({});
26
- * ```
27
- */
28
- function buildPluginConfigLoaders(options) {
29
- const loaders = [];
30
- for (const { pluginName } of moduleTaxonomy) {
31
- const loaderEntry = pluginLoaders[pluginName];
32
- const loadConfig = loaderEntry.loader(options);
33
- const isEnabled = isPluginEnabled(pluginName, options.plugins);
34
- if (isEnabled) {
35
- loaders.push(loadPluginConfig(pluginName, loadConfig, loaderEntry.mode));
36
- }
37
- }
38
- return loaders;
39
- }
40
- /**
41
- * Builds plugin config loaders selected for one package-scoped profile.
42
- * @param options Input options value.
43
- * @param scopedPluginConfig Package-scoped plugin profile.
44
- * @returns Config loaders for the profile's explicitly selected plugins.
45
- * @example
46
- * ```typescript
47
- * buildScopedPluginConfigLoaders({}, {
48
- * basePath: "packages/api",
49
- * plugins: ["eslint"],
50
- * });
51
- * ```
52
- */
53
- function buildScopedPluginConfigLoaders(options, scopedPluginConfig) {
54
- const loaders = [];
55
- for (const { pluginName } of moduleTaxonomy) {
56
- if (!scopedPluginConfig.plugins.includes(pluginName)) {
57
- continue;
58
- }
59
- const loaderEntry = pluginLoaders[pluginName];
60
- const loadConfig = loaderEntry.loader(options);
61
- loaders.push(loadPluginConfig(pluginName, loadConfig, loaderEntry.mode));
62
- }
63
- return loaders;
64
- }
65
- /**
66
- * Creates the ESLint configuration with optional plugin customization.
67
- * @param options Input options value.
68
- * @returns Return value output.
69
- * @example
70
- * ```typescript
71
- * config();
72
- * ```
73
- */
74
- async function config(options = {}) {
75
- const pluginConfigs = await loadGlobalPluginConfigs(options);
76
- const scopedPluginConfigs = await Promise.all(options.scopedPlugins?.map((scopedPluginConfig) => loadScopedPluginConfigs(options, scopedPluginConfig)) ?? []);
77
- const configs = [...pluginConfigs, ...scopedPluginConfigs.flat()];
78
- return configs.length === 0 ? [] : defineConfig(...configs);
79
- }
80
- /**
81
- * Loads configuration selected through global plugin state overrides.
82
- * @param options Input options value.
83
- * @returns Config entries selected for global composition.
84
- * @example
85
- * ```typescript
86
- * await loadGlobalPluginConfigs({ plugins: { "vitest-e2e": true } });
87
- * ```
88
- */
89
- async function loadGlobalPluginConfigs(options) {
90
- const pluginConfigResults = await Promise.all(buildPluginConfigLoaders(options));
91
- return pluginConfigResults.flat();
92
- }
93
- /**
94
- * Loads and scopes configuration for one package plugin profile.
95
- * @param options Input options value.
96
- * @param scopedPluginConfig Package-scoped plugin profile.
97
- * @returns Return value output.
98
- * @example
99
- * ```typescript
100
- * await loadScopedPluginConfigs({}, {
101
- * basePath: "packages/api",
102
- * plugins: ["eslint"],
103
- * });
104
- * ```
105
- */
106
- async function loadScopedPluginConfigs(options, scopedPluginConfig) {
107
- const pluginConfigResults = await Promise.all(buildScopedPluginConfigLoaders(options, scopedPluginConfig));
108
- return applyBasePath(pluginConfigResults.flat(), scopedPluginConfig.basePath);
109
- }
110
- export { config };
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvY29uZmlnLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRS9DOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsYUFBYSxDQUNwQixPQUF3QixFQUN4QixRQUFnQjtJQUVoQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx3QkFBd0IsQ0FDL0IsT0FBc0I7SUFFdEIsTUFBTSxPQUFPLEdBQStCLEVBQUUsQ0FBQztJQUUvQyxLQUFLLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILFNBQVMsOEJBQThCLENBQ3JDLE9BQXNCLEVBQ3RCLGtCQUFzQztJQUV0QyxNQUFNLE9BQU8sR0FBK0IsRUFBRSxDQUFDO0lBRS9DLEtBQUssTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckQsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILEtBQUssVUFBVSxNQUFNLENBQUMsVUFBeUIsRUFBRTtJQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMzQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FDaEQsdUJBQXVCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQ3JELElBQUksRUFBRSxDQUNSLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsYUFBYSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVsRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILEtBQUssVUFBVSx1QkFBdUIsQ0FDcEMsT0FBc0I7SUFFdEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzNDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUNsQyxDQUFDO0lBRUYsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsS0FBSyxVQUFVLHVCQUF1QixDQUNwQyxPQUFzQixFQUN0QixrQkFBc0M7SUFFdEMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzNDLDhCQUE4QixDQUFDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUM1RCxDQUFDO0lBRUYsT0FBTyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG5pbXBvcnQgdHlwZSB7IENvbmZpZ09wdGlvbnMsIFNjb3BlZFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuLi9kb21haW5cIjtcblxuaW1wb3J0IHsgbW9kdWxlVGF4b25vbXkgfSBmcm9tIFwiLi4vZG9tYWluXCI7XG5pbXBvcnQgeyBwbHVnaW5Mb2FkZXJzIH0gZnJvbSBcIi4vcGx1Z2luLWxvYWRlcnNcIjtcbmltcG9ydCB7IGlzUGx1Z2luRW5hYmxlZCB9IGZyb20gXCIuL3BsdWdpbi1zdGF0ZVwiO1xuaW1wb3J0IHsgbG9hZFBsdWdpbkNvbmZpZyB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG4vKipcbiAqIFNjb3BlcyBjb25maWcgZW50cmllcyB0byBhIHBhY2thZ2UgYmFzZSBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gY29uZmlncyBDb25maWcgZW50cmllcyB0byBzY29wZS5cbiAqIEBwYXJhbSBiYXNlUGF0aCBQYWNrYWdlIGJhc2UgZGlyZWN0b3J5LlxuICogQHJldHVybnMgQ29uZmlnIGVudHJpZXMgc2NvcGVkIHRvIHRoZSBwYWNrYWdlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGFwcGx5QmFzZVBhdGgoW3sgbmFtZTogXCJjdXN0b20tZXNsaW50XCIgfV0sIFwicGFja2FnZXMvYXBpXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFwcGx5QmFzZVBhdGgoXG4gIGNvbmZpZ3M6IExpbnRlci5Db25maWdbXSxcbiAgYmFzZVBhdGg6IHN0cmluZyxcbik6IExpbnRlci5Db25maWdbXSB7XG4gIHJldHVybiBjb25maWdzLm1hcCgoY29uZmlnKSA9PiAoeyAuLi5jb25maWcsIGJhc2VQYXRoIH0pKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGxpc3Qgb2YgcGx1Z2luIGNvbmZpZyBsb2FkZXJzLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKHt9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZFBsdWdpbkNvbmZpZ0xvYWRlcnMoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSB7XG4gIGNvbnN0IGxvYWRlcnM6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPltdID0gW107XG5cbiAgZm9yIChjb25zdCB7IHBsdWdpbk5hbWUgfSBvZiBtb2R1bGVUYXhvbm9teSkge1xuICAgIGNvbnN0IGxvYWRlckVudHJ5ID0gcGx1Z2luTG9hZGVyc1twbHVnaW5OYW1lXTtcbiAgICBjb25zdCBsb2FkQ29uZmlnID0gbG9hZGVyRW50cnkubG9hZGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IGlzRW5hYmxlZCA9IGlzUGx1Z2luRW5hYmxlZChwbHVnaW5OYW1lLCBvcHRpb25zLnBsdWdpbnMpO1xuXG4gICAgaWYgKGlzRW5hYmxlZCkge1xuICAgICAgbG9hZGVycy5wdXNoKGxvYWRQbHVnaW5Db25maWcocGx1Z2luTmFtZSwgbG9hZENvbmZpZywgbG9hZGVyRW50cnkubW9kZSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsb2FkZXJzO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBwbHVnaW4gY29uZmlnIGxvYWRlcnMgc2VsZWN0ZWQgZm9yIG9uZSBwYWNrYWdlLXNjb3BlZCBwcm9maWxlLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEBwYXJhbSBzY29wZWRQbHVnaW5Db25maWcgUGFja2FnZS1zY29wZWQgcGx1Z2luIHByb2ZpbGUuXG4gKiBAcmV0dXJucyBDb25maWcgbG9hZGVycyBmb3IgdGhlIHByb2ZpbGUncyBleHBsaWNpdGx5IHNlbGVjdGVkIHBsdWdpbnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYnVpbGRTY29wZWRQbHVnaW5Db25maWdMb2FkZXJzKHt9LCB7XG4gKiAgIGJhc2VQYXRoOiBcInBhY2thZ2VzL2FwaVwiLFxuICogICBwbHVnaW5zOiBbXCJlc2xpbnRcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZFNjb3BlZFBsdWdpbkNvbmZpZ0xvYWRlcnMoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4gIHNjb3BlZFBsdWdpbkNvbmZpZzogU2NvcGVkUGx1Z2luQ29uZmlnLFxuKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+W10ge1xuICBjb25zdCBsb2FkZXJzOiBQcm9taXNlPExpbnRlci5Db25maWdbXT5bXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgeyBwbHVnaW5OYW1lIH0gb2YgbW9kdWxlVGF4b25vbXkpIHtcbiAgICBpZiAoIXNjb3BlZFBsdWdpbkNvbmZpZy5wbHVnaW5zLmluY2x1ZGVzKHBsdWdpbk5hbWUpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2FkZXJFbnRyeSA9IHBsdWdpbkxvYWRlcnNbcGx1Z2luTmFtZV07XG4gICAgY29uc3QgbG9hZENvbmZpZyA9IGxvYWRlckVudHJ5LmxvYWRlcihvcHRpb25zKTtcblxuICAgIGxvYWRlcnMucHVzaChsb2FkUGx1Z2luQ29uZmlnKHBsdWdpbk5hbWUsIGxvYWRDb25maWcsIGxvYWRlckVudHJ5Lm1vZGUpKTtcbiAgfVxuXG4gIHJldHVybiBsb2FkZXJzO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgdGhlIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggb3B0aW9uYWwgcGx1Z2luIGN1c3RvbWl6YXRpb24uXG4gKiBAcGFyYW0gb3B0aW9ucyBJbnB1dCBvcHRpb25zIHZhbHVlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25maWcoKTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBjb25maWcob3B0aW9uczogQ29uZmlnT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgcGx1Z2luQ29uZmlncyA9IGF3YWl0IGxvYWRHbG9iYWxQbHVnaW5Db25maWdzKG9wdGlvbnMpO1xuICBjb25zdCBzY29wZWRQbHVnaW5Db25maWdzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgb3B0aW9ucy5zY29wZWRQbHVnaW5zPy5tYXAoKHNjb3BlZFBsdWdpbkNvbmZpZykgPT5cbiAgICAgIGxvYWRTY29wZWRQbHVnaW5Db25maWdzKG9wdGlvbnMsIHNjb3BlZFBsdWdpbkNvbmZpZyksXG4gICAgKSA/PyBbXSxcbiAgKTtcbiAgY29uc3QgY29uZmlncyA9IFsuLi5wbHVnaW5Db25maWdzLCAuLi5zY29wZWRQbHVnaW5Db25maWdzLmZsYXQoKV07XG5cbiAgcmV0dXJuIGNvbmZpZ3MubGVuZ3RoID09PSAwID8gW10gOiBkZWZpbmVDb25maWcoLi4uY29uZmlncyk7XG59XG5cbi8qKlxuICogTG9hZHMgY29uZmlndXJhdGlvbiBzZWxlY3RlZCB0aHJvdWdoIGdsb2JhbCBwbHVnaW4gc3RhdGUgb3ZlcnJpZGVzLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEByZXR1cm5zIENvbmZpZyBlbnRyaWVzIHNlbGVjdGVkIGZvciBnbG9iYWwgY29tcG9zaXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgbG9hZEdsb2JhbFBsdWdpbkNvbmZpZ3MoeyBwbHVnaW5zOiB7IFwidml0ZXN0LWUyZVwiOiB0cnVlIH0gfSk7XG4gKiBgYGBcbiAqL1xuYXN5bmMgZnVuY3Rpb24gbG9hZEdsb2JhbFBsdWdpbkNvbmZpZ3MoXG4gIG9wdGlvbnM6IENvbmZpZ09wdGlvbnMsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCBwbHVnaW5Db25maWdSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgYnVpbGRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMpLFxuICApO1xuXG4gIHJldHVybiBwbHVnaW5Db25maWdSZXN1bHRzLmZsYXQoKTtcbn1cblxuLyoqXG4gKiBMb2FkcyBhbmQgc2NvcGVzIGNvbmZpZ3VyYXRpb24gZm9yIG9uZSBwYWNrYWdlIHBsdWdpbiBwcm9maWxlLlxuICogQHBhcmFtIG9wdGlvbnMgSW5wdXQgb3B0aW9ucyB2YWx1ZS5cbiAqIEBwYXJhbSBzY29wZWRQbHVnaW5Db25maWcgUGFja2FnZS1zY29wZWQgcGx1Z2luIHByb2ZpbGUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IGxvYWRTY29wZWRQbHVnaW5Db25maWdzKHt9LCB7XG4gKiAgIGJhc2VQYXRoOiBcInBhY2thZ2VzL2FwaVwiLFxuICogICBwbHVnaW5zOiBbXCJlc2xpbnRcIl0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkU2NvcGVkUGx1Z2luQ29uZmlncyhcbiAgb3B0aW9uczogQ29uZmlnT3B0aW9ucyxcbiAgc2NvcGVkUGx1Z2luQ29uZmlnOiBTY29wZWRQbHVnaW5Db25maWcsXG4pOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCBwbHVnaW5Db25maWdSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgYnVpbGRTY29wZWRQbHVnaW5Db25maWdMb2FkZXJzKG9wdGlvbnMsIHNjb3BlZFBsdWdpbkNvbmZpZyksXG4gICk7XG5cbiAgcmV0dXJuIGFwcGx5QmFzZVBhdGgocGx1Z2luQ29uZmlnUmVzdWx0cy5mbGF0KCksIHNjb3BlZFBsdWdpbkNvbmZpZy5iYXNlUGF0aCk7XG59XG5cbmV4cG9ydCB7IGNvbmZpZyB9O1xuIl19
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-loaders.d.ts","sourceRoot":"","sources":["../../src/infrastructure/plugin-loaders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAW,MAAM,gBAAgB,CAAC;AAcrD,kDAAkD;AAClD,KAAK,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAErE,mEAAmE;AACnE,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,YAAY,CAAC;AAepE,qEAAqE;AACrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C6B,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,65 +0,0 @@
1
- import { boundaries, importX } from "./architecture/index.js";
2
- import { codeperfect, eslint, json, resolver, typescript } from "./core/index.js";
3
- import { comments, jsdoc, markdown } from "./docs/index.js";
4
- import { angularEslint } from "./runtime/index.js";
5
- import { rxjsX } from "./rxjs-x.js";
6
- import { packageJson, perfectionist, prettier, stylistic, unicorn, } from "./style/index.js";
7
- import { playwright, vitest, vitestE2e } from "./testing/index.js";
8
- /**
9
- * Creates a loader factory for modules that do not depend on config options.
10
- * @param loader Input loader value.
11
- * @returns Return value output.
12
- * @example
13
- * ```typescript
14
- * const factory = createStaticLoaderFactory(eslint);
15
- * ```
16
- */
17
- function createStaticLoaderFactory(loader) {
18
- return () => loader;
19
- }
20
- /** Documented config loader registry keyed by public module name. */
21
- const pluginLoaders = {
22
- "angular-eslint": {
23
- loader: createStaticLoaderFactory(angularEslint),
24
- mode: "optional",
25
- },
26
- boundaries: { loader: () => boundaries, mode: "optional" },
27
- codeperfect: {
28
- loader: createStaticLoaderFactory(codeperfect),
29
- mode: "required",
30
- },
31
- comments: { loader: createStaticLoaderFactory(comments), mode: "optional" },
32
- eslint: { loader: createStaticLoaderFactory(eslint), mode: "required" },
33
- "import-x": { loader: createStaticLoaderFactory(importX), mode: "optional" },
34
- jsdoc: { loader: createStaticLoaderFactory(jsdoc), mode: "optional" },
35
- json: { loader: createStaticLoaderFactory(json), mode: "required" },
36
- markdown: { loader: createStaticLoaderFactory(markdown), mode: "required" },
37
- "package-json": {
38
- loader: createStaticLoaderFactory(packageJson),
39
- mode: "optional",
40
- },
41
- perfectionist: {
42
- loader: createStaticLoaderFactory(perfectionist),
43
- mode: "optional",
44
- },
45
- playwright: {
46
- loader: createStaticLoaderFactory(playwright),
47
- mode: "optional",
48
- },
49
- prettier: { loader: createStaticLoaderFactory(prettier), mode: "optional" },
50
- resolver: { loader: createStaticLoaderFactory(resolver), mode: "optional" },
51
- "rxjs-x": { loader: createStaticLoaderFactory(rxjsX), mode: "optional" },
52
- stylistic: { loader: createStaticLoaderFactory(stylistic), mode: "optional" },
53
- typescript: {
54
- loader: createStaticLoaderFactory(typescript),
55
- mode: "required",
56
- },
57
- unicorn: { loader: createStaticLoaderFactory(unicorn), mode: "optional" },
58
- vitest: { loader: createStaticLoaderFactory(vitest), mode: "optional" },
59
- "vitest-e2e": {
60
- loader: createStaticLoaderFactory(vitestE2e),
61
- mode: "optional",
62
- },
63
- };
64
- export { pluginLoaders };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvcGx1Z2luLWxvYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxHQUNSLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVExRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMseUJBQXlCLENBQUMsTUFBb0I7SUFDckQsT0FBTyxHQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxxRUFBcUU7QUFDckUsTUFBTSxhQUFhLEdBQUc7SUFDcEIsZ0JBQWdCLEVBQUU7UUFDaEIsTUFBTSxFQUFFLHlCQUF5QixDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNELFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtJQUMxRCxXQUFXLEVBQUU7UUFDWCxNQUFNLEVBQUUseUJBQXlCLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDM0UsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDdkUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDNUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDckUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDbkUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDM0UsY0FBYyxFQUFFO1FBQ2QsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxFQUFFLFVBQVU7S0FDakI7SUFDRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUseUJBQXlCLENBQUMsVUFBVSxDQUFDO1FBQzdDLElBQUksRUFBRSxVQUFVO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDM0UsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDM0UsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDeEUsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7SUFDN0UsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEVBQUUsVUFBVTtLQUNqQjtJQUNELE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3pFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO0lBQ3ZFLFlBQVksRUFBRTtRQUNaLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUM7UUFDNUMsSUFBSSxFQUFFLFVBQVU7S0FDakI7Q0FDNkMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBDb25maWdPcHRpb25zLCBQbHVnaW5OYW1lIH0gZnJvbSBcIi4uL2RvbWFpblwiO1xuXG5pbXBvcnQgeyBib3VuZGFyaWVzLCBpbXBvcnRYIH0gZnJvbSBcIi4vYXJjaGl0ZWN0dXJlXCI7XG5pbXBvcnQgeyBjb2RlcGVyZmVjdCwgZXNsaW50LCBqc29uLCByZXNvbHZlciwgdHlwZXNjcmlwdCB9IGZyb20gXCIuL2NvcmVcIjtcbmltcG9ydCB7IGNvbW1lbnRzLCBqc2RvYywgbWFya2Rvd24gfSBmcm9tIFwiLi9kb2NzXCI7XG5pbXBvcnQgeyBhbmd1bGFyRXNsaW50IH0gZnJvbSBcIi4vcnVudGltZVwiO1xuaW1wb3J0IHsgcnhqc1ggfSBmcm9tIFwiLi9yeGpzLXhcIjtcbmltcG9ydCB7XG4gIHBhY2thZ2VKc29uLFxuICBwZXJmZWN0aW9uaXN0LFxuICBwcmV0dGllcixcbiAgc3R5bGlzdGljLFxuICB1bmljb3JuLFxufSBmcm9tIFwiLi9zdHlsZVwiO1xuaW1wb3J0IHsgcGxheXdyaWdodCwgdml0ZXN0LCB2aXRlc3RFMmUgfSBmcm9tIFwiLi90ZXN0aW5nXCI7XG5cbi8qKiBMb2FkZXIgZnVuY3Rpb24gZm9yIGEgc2luZ2xlIGNvbmZpZyBtb2R1bGUuICovXG50eXBlIENvbmZpZ0xvYWRlciA9ICgpID0+IExpbnRlci5Db25maWdbXSB8IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPjtcblxuLyoqIEZhY3RvcnkgZm9yIGEgY29uZmlnIGxvYWRlciB0aGF0IG1heSBkZXBlbmQgb24gdXNlciBvcHRpb25zLiAqL1xudHlwZSBQbHVnaW5Mb2FkZXJGYWN0b3J5ID0gKG9wdGlvbnM6IENvbmZpZ09wdGlvbnMpID0+IENvbmZpZ0xvYWRlcjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShsb2FkZXI6IENvbmZpZ0xvYWRlcik6IFBsdWdpbkxvYWRlckZhY3Rvcnkge1xuICByZXR1cm4gKCk6IENvbmZpZ0xvYWRlciA9PiBsb2FkZXI7XG59XG5cbi8qKiBEb2N1bWVudGVkIGNvbmZpZyBsb2FkZXIgcmVnaXN0cnkga2V5ZWQgYnkgcHVibGljIG1vZHVsZSBuYW1lLiAqL1xuY29uc3QgcGx1Z2luTG9hZGVycyA9IHtcbiAgXCJhbmd1bGFyLWVzbGludFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGFuZ3VsYXJFc2xpbnQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbiAgYm91bmRhcmllczogeyBsb2FkZXI6ICgpID0+IGJvdW5kYXJpZXMsIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBjb2RlcGVyZmVjdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShjb2RlcGVyZmVjdCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICB9LFxuICBjb21tZW50czogeyBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoY29tbWVudHMpLCBtb2RlOiBcIm9wdGlvbmFsXCIgfSxcbiAgZXNsaW50OiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShlc2xpbnQpLCBtb2RlOiBcInJlcXVpcmVkXCIgfSxcbiAgXCJpbXBvcnQteFwiOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShpbXBvcnRYKSwgbW9kZTogXCJvcHRpb25hbFwiIH0sXG4gIGpzZG9jOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqc2RvYyksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBqc29uOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqc29uKSwgbW9kZTogXCJyZXF1aXJlZFwiIH0sXG4gIG1hcmtkb3duOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShtYXJrZG93biksIG1vZGU6IFwicmVxdWlyZWRcIiB9LFxuICBcInBhY2thZ2UtanNvblwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBhY2thZ2VKc29uKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gIH0sXG4gIHBlcmZlY3Rpb25pc3Q6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocGVyZmVjdGlvbmlzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICB9LFxuICBwbGF5d3JpZ2h0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBsYXl3cmlnaHQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbiAgcHJldHRpZXI6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHByZXR0aWVyKSwgbW9kZTogXCJvcHRpb25hbFwiIH0sXG4gIHJlc29sdmVyOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyZXNvbHZlciksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBcInJ4anMteFwiOiB7IGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyeGpzWCksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBzdHlsaXN0aWM6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHN0eWxpc3RpYyksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICB0eXBlc2NyaXB0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHR5cGVzY3JpcHQpLFxuICAgIG1vZGU6IFwicmVxdWlyZWRcIixcbiAgfSxcbiAgdW5pY29ybjogeyBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkodW5pY29ybiksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICB2aXRlc3Q6IHsgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHZpdGVzdCksIG1vZGU6IFwib3B0aW9uYWxcIiB9LFxuICBcInZpdGVzdC1lMmVcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh2aXRlc3RFMmUpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgfSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxQbHVnaW5OYW1lLCB1bmtub3duPjtcblxuZXhwb3J0IHsgcGx1Z2luTG9hZGVycyB9O1xuIl19