@dimensional-innovations/tool-config 5.0.1 → 5.0.2

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/dist/astro-6WHBKQFX.js +43 -0
  2. package/dist/astro-6WHBKQFX.js.map +1 -0
  3. package/dist/chunk-HUYPX7RZ.js +125 -0
  4. package/dist/chunk-HUYPX7RZ.js.map +1 -0
  5. package/dist/chunk-ITGUBGO6.js +625 -0
  6. package/dist/chunk-ITGUBGO6.js.map +1 -0
  7. package/dist/chunk-L7IN57ZC.js +167 -0
  8. package/dist/chunk-L7IN57ZC.js.map +1 -0
  9. package/dist/chunk-LRQFF2N5.js +141 -0
  10. package/dist/chunk-LRQFF2N5.js.map +1 -0
  11. package/dist/chunk-OMQFJOZZ.js +48 -0
  12. package/dist/chunk-OMQFJOZZ.js.map +1 -0
  13. package/dist/chunk-SY42COTI.js +363 -0
  14. package/dist/chunk-SY42COTI.js.map +1 -0
  15. package/dist/chunk-SZOB6JY7.js +446 -0
  16. package/dist/chunk-SZOB6JY7.js.map +1 -0
  17. package/dist/eslint-YWWMMZDP.js +5 -0
  18. package/dist/eslint-YWWMMZDP.js.map +1 -0
  19. package/dist/index.js +14 -2589
  20. package/dist/index.js.map +1 -1
  21. package/dist/prettier-EYWEBRIS.js +4 -0
  22. package/dist/prettier-EYWEBRIS.js.map +1 -0
  23. package/dist/react-YIKJI3VA.js +91 -0
  24. package/dist/react-YIKJI3VA.js.map +1 -0
  25. package/dist/semantic-release-7XCPBEKO.js +4 -0
  26. package/dist/semantic-release-7XCPBEKO.js.map +1 -0
  27. package/dist/solid-F44BEBBP.js +54 -0
  28. package/dist/solid-F44BEBBP.js.map +1 -0
  29. package/dist/stylelint-ENTCYNXG.js +5 -0
  30. package/dist/stylelint-ENTCYNXG.js.map +1 -0
  31. package/dist/svelte-XEOX6WAQ.js +56 -0
  32. package/dist/svelte-XEOX6WAQ.js.map +1 -0
  33. package/dist/typescript-ZJ7LECQN.js +4 -0
  34. package/dist/typescript-ZJ7LECQN.js.map +1 -0
  35. package/dist/vue-DP7MCMOU.js +144 -0
  36. package/dist/vue-DP7MCMOU.js.map +1 -0
  37. package/package.json +1 -1
@@ -0,0 +1,625 @@
1
+ import { getEslintIgnores } from './chunk-OMQFJOZZ.js';
2
+ import { autoDetect } from './chunk-L7IN57ZC.js';
3
+ import js from '@eslint/js';
4
+ import tseslint from 'typescript-eslint';
5
+ import globals3 from 'globals';
6
+ import prettierConfig from 'eslint-config-prettier';
7
+ import { fixupPluginRules } from '@eslint/compat';
8
+ import importPlugin from 'eslint-plugin-import';
9
+
10
+ // src/tools/eslint/presets/base.ts
11
+ var basePreset = {
12
+ rules: {
13
+ // ============================================================
14
+ // MODERN JAVASCRIPT RULES
15
+ // Best practices for ES2015+ code
16
+ // Documentation: https://eslint.org/docs/rules/
17
+ // ============================================================
18
+ // Console and debugging
19
+ "no-console": ["warn", { allow: ["warn", "error"] }],
20
+ // Warn on console.log but allow console.warn/error for logging
21
+ "no-debugger": "warn",
22
+ // Warn on debugger statements (should be removed before commit)
23
+ "no-alert": "error",
24
+ // Disallow alert/confirm/prompt (use proper UI)
25
+ // Modern syntax preferences
26
+ "prefer-const": "error",
27
+ // Use const for variables that are never reassigned
28
+ "no-var": "error",
29
+ // Use let/const instead of var
30
+ "prefer-arrow-callback": "error",
31
+ // Use arrow functions for callbacks
32
+ "prefer-template": "error",
33
+ // Use template literals instead of string concatenation
34
+ "prefer-destructuring": [
35
+ "error",
36
+ {
37
+ array: true,
38
+ object: true
39
+ },
40
+ {
41
+ enforceForRenamedProperties: false
42
+ }
43
+ ],
44
+ // Use destructuring where possible
45
+ "prefer-rest-params": "error",
46
+ // Use rest parameters instead of arguments object
47
+ "prefer-spread": "error",
48
+ // Use spread operator instead of .apply()
49
+ "object-shorthand": "error",
50
+ // Use object shorthand syntax {x} instead of {x: x}
51
+ // Note: arrow-body-style is a formatting rule disabled by eslint-config-prettier
52
+ // Code quality
53
+ eqeqeq: ["error", "always"],
54
+ // Always use === and !== instead of == and !=
55
+ "no-duplicate-imports": "off",
56
+ // Handled by import/no-duplicates (better type + value import support)
57
+ "no-useless-computed-key": "error",
58
+ // Disallow unnecessary computed property keys
59
+ "no-useless-constructor": "error",
60
+ // Disallow unnecessary constructors
61
+ "no-useless-rename": "error",
62
+ // Disallow renaming import/export/destructured assignments to same name
63
+ "no-nested-ternary": "error",
64
+ // Disallow nested ternary expressions (hard to read)
65
+ "no-unneeded-ternary": "error",
66
+ // Disallow ternary operators when simpler alternatives exist
67
+ "prefer-object-spread": "error",
68
+ // Use object spread instead of Object.assign
69
+ // Async/Promise best practices
70
+ "no-return-await": "error",
71
+ // Disallow unnecessary return await
72
+ "require-await": "warn",
73
+ // Warn on async functions without await (allow for plugin patterns)
74
+ "no-promise-executor-return": "error",
75
+ // Disallow returning values from Promise executor functions
76
+ // ============================================================
77
+ // CODE QUALITY & COMPLEXITY
78
+ // Maintainability and readability rules
79
+ // Documentation: https://eslint.org/docs/rules/
80
+ // ============================================================
81
+ // Complexity (warnings to identify areas needing refactoring)
82
+ complexity: ["warn", 15],
83
+ // Warn on high cyclomatic complexity
84
+ "max-depth": ["warn", 4],
85
+ // Warn on deeply nested blocks
86
+ "max-lines": ["warn", 500],
87
+ // Warn on files exceeding 500 lines
88
+ "max-lines-per-function": [
89
+ "warn",
90
+ {
91
+ max: 100,
92
+ skipBlankLines: true,
93
+ skipComments: true
94
+ }
95
+ ],
96
+ // Warn on functions exceeding 100 lines
97
+ "max-params": ["warn", 4]
98
+ // Warn on functions with more than 4 parameters
99
+ // Note: spaced-comment is a formatting rule disabled by eslint-config-prettier
100
+ }
101
+ };
102
+ var base_default = basePreset;
103
+ var browserEnv = {
104
+ languageOptions: {
105
+ ecmaVersion: 2025,
106
+ sourceType: "module",
107
+ globals: {
108
+ ...globals3.browser
109
+ }
110
+ }
111
+ };
112
+ var browser_default = browserEnv;
113
+ var nodeEnv = {
114
+ languageOptions: {
115
+ ecmaVersion: 2025,
116
+ sourceType: "module",
117
+ globals: {
118
+ ...globals3.node
119
+ }
120
+ },
121
+ rules: {
122
+ // Node.js-specific rule adjustments
123
+ "no-console": "off",
124
+ // Console is normal in Node.js
125
+ "@typescript-eslint/no-var-requires": "off"
126
+ // Allow require() in .js files
127
+ }
128
+ };
129
+ var node_default = nodeEnv;
130
+ var universalEnv = {
131
+ languageOptions: {
132
+ ecmaVersion: 2025,
133
+ sourceType: "module",
134
+ globals: {
135
+ ...globals3.browser,
136
+ ...globals3.node
137
+ }
138
+ }
139
+ };
140
+ var universal_default = universalEnv;
141
+ function createAngularPreset() {
142
+ return [
143
+ {
144
+ files: ["**/*.ts"],
145
+ rules: {
146
+ // ============================================================
147
+ // ANGULAR-FRIENDLY TYPESCRIPT RULES
148
+ // Basic rules that work well with Angular patterns
149
+ // ============================================================
150
+ // Angular uses decorators extensively
151
+ "@typescript-eslint/no-extraneous-class": "off",
152
+ // Angular components often have empty constructors for DI
153
+ "@typescript-eslint/no-empty-function": [
154
+ "error",
155
+ {
156
+ allow: ["constructors"]
157
+ }
158
+ ],
159
+ // Angular uses ! for definite assignment (properties set by Angular)
160
+ "@typescript-eslint/no-non-null-assertion": "warn",
161
+ // Angular services and components use 'any' in some cases
162
+ "@typescript-eslint/no-explicit-any": "warn",
163
+ // Parameter properties are common in Angular (constructor(private foo: Foo))
164
+ "@typescript-eslint/parameter-properties": "off",
165
+ "@typescript-eslint/explicit-member-accessibility": "off",
166
+ // Angular uses both interfaces and types
167
+ "@typescript-eslint/consistent-type-definitions": "off",
168
+ // Naming conventions for Angular
169
+ "@typescript-eslint/naming-convention": [
170
+ "error",
171
+ {
172
+ selector: "default",
173
+ format: ["camelCase"],
174
+ leadingUnderscore: "allow",
175
+ trailingUnderscore: "allow"
176
+ },
177
+ {
178
+ selector: "variable",
179
+ format: ["camelCase", "UPPER_CASE", "PascalCase"],
180
+ leadingUnderscore: "allow"
181
+ },
182
+ {
183
+ selector: "typeLike",
184
+ format: ["PascalCase"]
185
+ },
186
+ {
187
+ selector: "enumMember",
188
+ format: ["PascalCase", "UPPER_CASE"]
189
+ },
190
+ {
191
+ selector: "property",
192
+ format: null
193
+ // Allow any format for properties (Angular templates use various patterns)
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ // Disable all formatting rules that conflict with Prettier
199
+ // This must be last to override any formatting rules from above
200
+ prettierConfig
201
+ ];
202
+ }
203
+ function createNodePreset() {
204
+ return [
205
+ {
206
+ files: ["**/*.js", "**/*.ts", "**/*.mjs"],
207
+ rules: {
208
+ // ============================================================
209
+ // NODE.JS BACKEND RULES
210
+ // Best practices for server-side JavaScript/TypeScript
211
+ // ============================================================
212
+ // Console usage is normal in Node.js
213
+ "no-console": "off",
214
+ // Process and __dirname are standard in Node
215
+ "no-process-env": "off",
216
+ "no-process-exit": "warn",
217
+ // Async patterns
218
+ "no-async-promise-executor": "error",
219
+ "require-atomic-updates": "error",
220
+ // Error handling
221
+ "no-throw-literal": "error",
222
+ "prefer-promise-reject-errors": "error",
223
+ // Node.js specific
224
+ "callback-return": "off",
225
+ // Modern Node uses async/await
226
+ "handle-callback-err": "off",
227
+ // Modern Node uses async/await
228
+ "no-mixed-requires": "off",
229
+ // ES modules don't have this issue
230
+ "no-new-require": "error",
231
+ "no-path-concat": "error",
232
+ // Use path.join() instead
233
+ // Security
234
+ "no-eval": "error",
235
+ "no-implied-eval": "error",
236
+ "no-new-func": "error",
237
+ // Best practices for backend
238
+ "no-unused-vars": [
239
+ "error",
240
+ {
241
+ args: "after-used",
242
+ argsIgnorePattern: "^_",
243
+ varsIgnorePattern: "^_"
244
+ }
245
+ ],
246
+ // Allow both require and import
247
+ "@typescript-eslint/no-var-requires": "off"
248
+ }
249
+ },
250
+ // Disable all formatting rules that conflict with Prettier
251
+ // This must be last to override any formatting rules from above
252
+ prettierConfig
253
+ ];
254
+ }
255
+ function createVanillaPreset() {
256
+ return [
257
+ {
258
+ files: ["**/*.js", "**/*.ts", "**/*.tsx"],
259
+ rules: {
260
+ // No framework-specific rules
261
+ // All rules come from base.js and typescript.js presets
262
+ }
263
+ },
264
+ // Disable all formatting rules that conflict with Prettier
265
+ // This must be last to override any formatting rules from above
266
+ prettierConfig
267
+ ];
268
+ }
269
+ var importsPreset = {
270
+ plugins: {
271
+ import: fixupPluginRules(importPlugin)
272
+ },
273
+ rules: {
274
+ // ============================================================
275
+ // IMPORT/MODULE RULES
276
+ // Module import/export best practices
277
+ // Documentation: https://github.com/import-js/eslint-plugin-import
278
+ // ============================================================
279
+ "import/order": [
280
+ "error",
281
+ {
282
+ groups: ["builtin", "external", "internal", "parent", "sibling", "index"],
283
+ "newlines-between": "always",
284
+ alphabetize: {
285
+ order: "asc",
286
+ caseInsensitive: true
287
+ }
288
+ }
289
+ ],
290
+ // Enforce consistent import order with alphabetization
291
+ "import/no-duplicates": [
292
+ "error",
293
+ {
294
+ "prefer-inline": true,
295
+ considerQueryString: false
296
+ }
297
+ ],
298
+ // Prevent duplicate imports (allows type + value imports from same module)
299
+ "import/no-unresolved": "off",
300
+ // TypeScript handles this better
301
+ "import/named": "off",
302
+ // TypeScript handles this better
303
+ "import/namespace": "off",
304
+ // TypeScript handles this better
305
+ "import/default": "off",
306
+ // TypeScript handles this better
307
+ "import/no-named-as-default": "warn",
308
+ // Warn on potentially confusing imports
309
+ "import/no-named-as-default-member": "warn",
310
+ // Warn on confusing member access
311
+ "import/newline-after-import": "error",
312
+ // Require blank line after imports
313
+ "import/no-webpack-loader-syntax": "error",
314
+ // No webpack loader syntax in imports
315
+ "import/first": "error"
316
+ // Imports must be at the top of the file
317
+ }
318
+ };
319
+ var imports_default = importsPreset;
320
+
321
+ // src/tools/eslint/presets/typescript.ts
322
+ var typescriptPreset = {
323
+ rules: {
324
+ // ============================================================
325
+ // TYPESCRIPT RULES
326
+ // TypeScript-specific linting and type safety
327
+ // Documentation: https://typescript-eslint.io/rules/
328
+ // ============================================================
329
+ // Type safety
330
+ "@typescript-eslint/no-explicit-any": "warn",
331
+ // Warn on any usage (allow when necessary)
332
+ // Note: Type-checked rules (no-unsafe-*) require TypeScript project configuration
333
+ // They are disabled here but available in recommended-type-checked preset
334
+ // Type annotations
335
+ "@typescript-eslint/explicit-function-return-type": "off",
336
+ // Too strict - TS can infer return types
337
+ "@typescript-eslint/explicit-module-boundary-types": "off",
338
+ // Too strict - TS can infer exports
339
+ "@typescript-eslint/typedef": [
340
+ "error",
341
+ {
342
+ arrayDestructuring: false,
343
+ arrowParameter: false,
344
+ memberVariableDeclaration: false,
345
+ objectDestructuring: false,
346
+ parameter: false,
347
+ propertyDeclaration: true,
348
+ // Require type annotations on class properties
349
+ variableDeclaration: false,
350
+ variableDeclarationIgnoreFunction: true
351
+ }
352
+ ],
353
+ // Require type annotations in specific places
354
+ // Best practices
355
+ "@typescript-eslint/no-unused-vars": [
356
+ "error",
357
+ {
358
+ argsIgnorePattern: "^_",
359
+ // Allow unused args prefixed with _
360
+ varsIgnorePattern: "^_"
361
+ // Allow unused vars prefixed with _
362
+ }
363
+ ],
364
+ "@typescript-eslint/prefer-for-of": "error",
365
+ // Prefer for-of over standard for loop with index
366
+ "@typescript-eslint/no-non-null-assertion": "warn",
367
+ // Warn on non-null assertions (! operator)
368
+ // Consistency
369
+ "@typescript-eslint/consistent-type-definitions": ["error", "interface"],
370
+ // Prefer interface over type alias
371
+ "@typescript-eslint/consistent-type-imports": [
372
+ "error",
373
+ {
374
+ prefer: "type-imports",
375
+ // Use import type for type-only imports
376
+ disallowTypeAnnotations: false
377
+ }
378
+ ],
379
+ // ============================================================
380
+ // NAMING CONVENTIONS
381
+ // Enforce consistent naming patterns across the codebase
382
+ // Documentation: https://typescript-eslint.io/rules/naming-convention/
383
+ //
384
+ // Patterns enforced:
385
+ // - camelCase: variables, functions, methods, parameters
386
+ // - PascalCase: classes, interfaces, types, enums
387
+ // - UPPER_CASE: constants and enum members
388
+ // - underscore prefix: private members, unused parameters
389
+ // ============================================================
390
+ "@typescript-eslint/naming-convention": [
391
+ "error",
392
+ // Default: camelCase for most identifiers
393
+ {
394
+ selector: "default",
395
+ format: ["camelCase"],
396
+ leadingUnderscore: "allow",
397
+ trailingUnderscore: "forbid"
398
+ },
399
+ // Variables: camelCase or UPPER_CASE for constants
400
+ {
401
+ selector: "variable",
402
+ format: ["camelCase", "UPPER_CASE", "PascalCase"],
403
+ // PascalCase for components
404
+ leadingUnderscore: "allow"
405
+ },
406
+ // Functions and methods: camelCase
407
+ {
408
+ selector: ["function", "method"],
409
+ format: ["camelCase"]
410
+ },
411
+ // Classes, interfaces, types, enums: PascalCase
412
+ {
413
+ selector: "typeLike",
414
+ format: ["PascalCase"]
415
+ },
416
+ // Type parameters: PascalCase with T prefix
417
+ {
418
+ selector: "typeParameter",
419
+ format: ["PascalCase"],
420
+ prefix: ["T"]
421
+ },
422
+ // Enum members: PascalCase or UPPER_CASE
423
+ {
424
+ selector: "enumMember",
425
+ format: ["PascalCase", "UPPER_CASE"]
426
+ },
427
+ // Object properties: allow camelCase, PascalCase, or UPPER_CASE (for API responses, component props, env vars)
428
+ {
429
+ selector: "property",
430
+ format: ["camelCase", "PascalCase", "UPPER_CASE"],
431
+ leadingUnderscore: "allow",
432
+ filter: {
433
+ // Allow properties with special characters (ESLint rule names, path aliases, env vars)
434
+ regex: "^(@|no-|prefer-|max-|vue/|import/|spaced-|react/|[A-Z_]+).*$",
435
+ match: false
436
+ }
437
+ },
438
+ // Object literal properties: allow any format (path aliases like @renderer, @main, @preload)
439
+ {
440
+ selector: "objectLiteralProperty",
441
+ format: null
442
+ },
443
+ // Imports: allow camelCase or PascalCase (Vue component imports)
444
+ {
445
+ selector: "import",
446
+ format: ["camelCase", "PascalCase"],
447
+ leadingUnderscore: "allow"
448
+ },
449
+ // Private class members: require underscore prefix
450
+ {
451
+ selector: "memberLike",
452
+ modifiers: ["private"],
453
+ format: ["camelCase"],
454
+ leadingUnderscore: "require"
455
+ },
456
+ // Unused parameters: require underscore prefix
457
+ {
458
+ selector: "parameter",
459
+ modifiers: ["unused"],
460
+ format: ["camelCase"],
461
+ leadingUnderscore: "require"
462
+ }
463
+ ]
464
+ }
465
+ };
466
+ var typescript_default = typescriptPreset;
467
+
468
+ // src/tools/eslint/index.ts
469
+ var SOURCE_FILES = [
470
+ "**/*.js",
471
+ "**/*.ts",
472
+ "**/*.tsx",
473
+ "**/*.vue",
474
+ "**/*.jsx",
475
+ "**/*.svelte",
476
+ "**/*.astro"
477
+ ];
478
+ async function addFrameworkConfig(config, framework) {
479
+ switch (framework) {
480
+ case "react": {
481
+ const { default: createReactPreset } = await import('./react-YIKJI3VA.js');
482
+ config.push(...createReactPreset());
483
+ break;
484
+ }
485
+ case "vue": {
486
+ const { default: createVuePreset } = await import('./vue-DP7MCMOU.js');
487
+ config.push(...createVuePreset());
488
+ break;
489
+ }
490
+ case "svelte": {
491
+ const { default: createSveltePreset } = await import('./svelte-XEOX6WAQ.js');
492
+ config.push(...createSveltePreset());
493
+ break;
494
+ }
495
+ case "solid": {
496
+ const { default: createSolidPreset } = await import('./solid-F44BEBBP.js');
497
+ config.push(...createSolidPreset());
498
+ break;
499
+ }
500
+ case "astro": {
501
+ const { default: createAstroPreset } = await import('./astro-6WHBKQFX.js');
502
+ config.push(...createAstroPreset());
503
+ break;
504
+ }
505
+ case "vanilla":
506
+ config.push(...createVanillaPreset());
507
+ break;
508
+ case "node":
509
+ config.push(...createNodePreset());
510
+ break;
511
+ case "angular":
512
+ config.push(...createAngularPreset());
513
+ break;
514
+ default:
515
+ console.warn(`\u26A0\uFE0F Unknown framework "${framework}", defaulting to vanilla JavaScript`);
516
+ config.push(...createVanillaPreset());
517
+ break;
518
+ }
519
+ }
520
+ function getEnvironmentConfig(environment) {
521
+ switch (environment) {
522
+ case "node":
523
+ return node_default;
524
+ case "universal":
525
+ return universal_default;
526
+ case "browser":
527
+ default:
528
+ return browser_default;
529
+ }
530
+ }
531
+ function addTypeScriptConfig(config) {
532
+ config.push(...tseslint.configs.recommended);
533
+ config.push({
534
+ files: SOURCE_FILES,
535
+ ...typescript_default
536
+ });
537
+ config.push({
538
+ files: ["**/*.d.ts"],
539
+ rules: {
540
+ "@typescript-eslint/no-explicit-any": "off"
541
+ }
542
+ });
543
+ config.push({
544
+ files: ["**/*.js"],
545
+ rules: {
546
+ "@typescript-eslint/no-var-requires": "off"
547
+ }
548
+ });
549
+ }
550
+ function addOverrides(config, options) {
551
+ config.push({
552
+ files: ["tests/**/*.{js,ts,jsx,tsx,vue,svelte,astro}"],
553
+ rules: {
554
+ "no-console": "off",
555
+ "max-lines-per-function": "off",
556
+ complexity: "off",
557
+ "max-statements": "off",
558
+ "max-nested-callbacks": "off",
559
+ "no-magic-numbers": "off",
560
+ "@typescript-eslint/no-explicit-any": "off"
561
+ }
562
+ });
563
+ config.push({
564
+ files: ["**/bin/**/*.js", "**/scripts/**/*.js"],
565
+ languageOptions: {
566
+ globals: {
567
+ ...node_default.languageOptions?.globals
568
+ }
569
+ },
570
+ rules: {
571
+ "no-console": "off",
572
+ "max-lines-per-function": "off"
573
+ }
574
+ });
575
+ if (options.rules && Object.keys(options.rules).length > 0) {
576
+ config.push({
577
+ files: SOURCE_FILES,
578
+ rules: options.rules
579
+ });
580
+ }
581
+ }
582
+ async function createEslintConfig(options = {}) {
583
+ const cwd = options.cwd || process.cwd();
584
+ const detected = autoDetect(cwd);
585
+ const framework = options.framework === "auto" || !options.framework ? detected.framework : options.framework;
586
+ const environment = options.environment === "auto" || !options.environment ? detected.environment : options.environment;
587
+ const typescript = options.typescript === "auto" || options.typescript === void 0 ? detected.typescript : options.typescript;
588
+ console.log(
589
+ `\u{1F4E6} ESLint Config: ${framework} | ${environment} | TypeScript: ${typescript ? "Yes" : "No"}`
590
+ );
591
+ if (framework === "angular") {
592
+ console.warn(
593
+ "\n\u26A0\uFE0F Angular detected. This package provides basic TypeScript linting.\n For Angular-specific rules, install: @angular-eslint/eslint-plugin\n See: https://github.com/angular-eslint/angular-eslint\n"
594
+ );
595
+ }
596
+ const defaultIgnorePaths = getEslintIgnores();
597
+ const allIgnorePaths = [...defaultIgnorePaths, ...options.ignorePaths || []];
598
+ const config = [];
599
+ config.push({ ignores: allIgnorePaths });
600
+ config.push(js.configs.recommended);
601
+ if (typescript) {
602
+ addTypeScriptConfig(config);
603
+ }
604
+ const envConfig = getEnvironmentConfig(environment);
605
+ config.push({
606
+ files: SOURCE_FILES,
607
+ ...envConfig
608
+ });
609
+ config.push({
610
+ files: SOURCE_FILES,
611
+ ...base_default
612
+ });
613
+ config.push({
614
+ files: SOURCE_FILES,
615
+ ...imports_default
616
+ });
617
+ await addFrameworkConfig(config, framework);
618
+ addOverrides(config, options);
619
+ return config;
620
+ }
621
+ var eslint_default = createEslintConfig;
622
+
623
+ export { createEslintConfig, eslint_default };
624
+ //# sourceMappingURL=chunk-ITGUBGO6.js.map
625
+ //# sourceMappingURL=chunk-ITGUBGO6.js.map