eslint-config-un 0.4.1 → 0.4.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.
package/dist/index.cjs CHANGED
@@ -33,19 +33,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
33
33
  ));
34
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
35
 
36
- // node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js
36
+ // node_modules/.pnpm/tsup@8.3.6_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js
37
37
  var init_cjs_shims = __esm({
38
- "node_modules/.pnpm/tsup@8.3.5_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js"() {
38
+ "node_modules/.pnpm/tsup@8.3.6_jiti@2.0.0_postcss@8.4.47_tsx@4.16.2_typescript@5.7.3_yaml@2.4.5/node_modules/tsup/assets/cjs_shims.js"() {
39
39
  "use strict";
40
40
  }
41
41
  });
42
42
 
43
- // node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json
43
+ // node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/package.json
44
44
  var require_package = __commonJS({
45
- "node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/package.json"(exports2, module2) {
45
+ "node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/package.json"(exports2, module2) {
46
46
  module2.exports = {
47
47
  name: "@eslint/js",
48
- version: "9.18.0",
48
+ version: "9.20.0",
49
49
  description: "ESLint JavaScript language implementation",
50
50
  main: "./src/index.js",
51
51
  types: "./types/index.d.ts",
@@ -81,9 +81,9 @@ var require_package = __commonJS({
81
81
  }
82
82
  });
83
83
 
84
- // node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js
84
+ // node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/configs/eslint-all.js
85
85
  var require_eslint_all = __commonJS({
86
- "node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports2, module2) {
86
+ "node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/configs/eslint-all.js"(exports2, module2) {
87
87
  "use strict";
88
88
  init_cjs_shims();
89
89
  module2.exports = Object.freeze({
@@ -290,9 +290,9 @@ var require_eslint_all = __commonJS({
290
290
  }
291
291
  });
292
292
 
293
- // node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
293
+ // node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/configs/eslint-recommended.js
294
294
  var require_eslint_recommended = __commonJS({
295
- "node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports2, module2) {
295
+ "node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/configs/eslint-recommended.js"(exports2, module2) {
296
296
  "use strict";
297
297
  init_cjs_shims();
298
298
  module2.exports = Object.freeze({
@@ -363,9 +363,9 @@ var require_eslint_recommended = __commonJS({
363
363
  }
364
364
  });
365
365
 
366
- // node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js
366
+ // node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/index.js
367
367
  var require_src = __commonJS({
368
- "node_modules/.pnpm/@eslint+js@9.18.0/node_modules/@eslint/js/src/index.js"(exports2, module2) {
368
+ "node_modules/.pnpm/@eslint+js@9.20.0/node_modules/@eslint/js/src/index.js"(exports2, module2) {
369
369
  "use strict";
370
370
  init_cjs_shims();
371
371
  var { name, version } = require_package();
@@ -589,6 +589,24 @@ var eslintCommentsEslintConfig = (options = {}, internalOptions = {}) => {
589
589
  return builder.getAllConfigs();
590
590
  };
591
591
 
592
+ // src/configs/extra/cli.ts
593
+ init_cjs_shims();
594
+ var DEFAULT_CLI_DIRS = ["bin", "scripts", "cli"];
595
+ var cliEslintConfig = (options = {}, internalOptions = {}) => {
596
+ const { onlyTopLevelDirs } = options;
597
+ const builder = new ConfigEntryBuilder(options, internalOptions);
598
+ builder.addConfig([
599
+ "cli",
600
+ {
601
+ includeDefaultFilesAndIgnores: true,
602
+ filesFallback: DEFAULT_CLI_DIRS.map(
603
+ (dir) => `${onlyTopLevelDirs ? "" : "**/"}${dir}/**/*.${GLOB_JS_TS_X_EXTENSION}`
604
+ )
605
+ }
606
+ ]).addRule("node/no-process-exit", OFF).addRule("unicorn/no-process-exit", OFF).addRule("no-console", OFF);
607
+ return builder.getAllConfigs();
608
+ };
609
+
592
610
  // src/configs/import.ts
593
611
  init_cjs_shims();
594
612
  var import_eslint_import_resolver_typescript = require("eslint-import-resolver-typescript");
@@ -670,11 +688,15 @@ var import_local_pkg = require("local-pkg");
670
688
  var generateDefaultTestFiles = (extensions) => [
671
689
  `**/*.spec.${extensions}`,
672
690
  // GitHub: 2.3M .ts files as of 2024-12-08 (https://github.com/search?q=path%3A**%2F*.spec.ts&type=code&query=path%3A%2F**%2F__tests__%2F**%2F*.ts)
691
+ `**/-spec.${extensions}`,
692
+ // 165k
693
+ `**/_spec.${extensions}`,
694
+ // 40k
673
695
  `**/*.test.${extensions}`,
674
696
  // 1.9M
675
- `__tests__/**/*.${extensions}`,
697
+ `**/__tests__/**/*.${extensions}`,
676
698
  // 155k
677
- `__test__/**/*.${extensions}`
699
+ `**/__test__/**/*.${extensions}`
678
700
  // 14k
679
701
  ];
680
702
  var jestEslintConfig = (options = {}, internalOptions = {}) => {
@@ -1030,8 +1052,8 @@ var markdownEslintConfig = (options = {}, internalOptions = {}) => {
1030
1052
  } = options;
1031
1053
  const defaultDialect = typeof language === "string" ? language : "commonmark";
1032
1054
  const defaultConfigLanguage = `markdown/${defaultDialect}`;
1033
- const recommendedConfigs = arraify(import_markdown.default.configs?.recommended);
1034
- const processorConfigs = arraify(import_markdown.default.configs?.processor);
1055
+ const recommendedConfigs = arraify(import_markdown.default.configs.recommended);
1056
+ const processorConfigs = arraify(import_markdown.default.configs.processor);
1035
1057
  const allowedFencedCodeBlocksLanguages = Array.isArray(codeBlocksAllowedLanguages) && codeBlocksAllowedLanguages.length > 0 && codeBlocksAllowedLanguages;
1036
1058
  builder.addConfig(["markdown/setup", { doNotIgnoreMarkdown: true }], {
1037
1059
  plugins: {
@@ -1091,7 +1113,6 @@ var markdownEslintConfig = (options = {}, internalOptions = {}) => {
1091
1113
  }
1092
1114
  }
1093
1115
  const processorAllowingLintingBothMarkdownAndCodeBlocks = (0, import_eslint_merge_processors.mergeProcessors)([
1094
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1095
1116
  import_markdown.default.processors.markdown,
1096
1117
  import_eslint_merge_processors.processorPassThrough
1097
1118
  ]);
@@ -1275,6 +1296,7 @@ var securityEslintConfig = (options = {}, internalOptions = {}) => {
1275
1296
  const builder = new ConfigEntryBuilder(options, internalOptions);
1276
1297
  builder.addConfig(["security", { includeDefaultFilesAndIgnores: true }], {
1277
1298
  plugins: {
1299
+ // @ts-expect-error types mismatch
1278
1300
  security: import_eslint_plugin_security.default
1279
1301
  }
1280
1302
  }).addBulkRules(import_eslint_plugin_security.default.configs.recommended.rules).addRule("security/detect-bidi-characters", ERROR).addRule("security/detect-buffer-noassert", ERROR).addRule("security/detect-child-process", WARNING).addRule("security/detect-disable-mustache-escape", ERROR).addRule("security/detect-eval-with-expression", ERROR).addRule("security/detect-new-buffer", ERROR).addRule("security/detect-no-csrf-before-method-override", WARNING).addRule("security/detect-non-literal-fs-filename", OFF).addRule("security/detect-non-literal-regexp", OFF).addRule("security/detect-non-literal-require", OFF).addRule("security/detect-object-injection", OFF).addRule("security/detect-possible-timing-attacks", OFF).addRule("security/detect-pseudoRandomBytes", WARNING).addRule("security/detect-unsafe-regex", WARNING).addOverrides();
@@ -1294,7 +1316,7 @@ var sonarEslintConfig = (options = {}, internalOptions = {}) => {
1294
1316
  sonarjs: import_eslint_plugin_sonarjs.default
1295
1317
  }
1296
1318
  });
1297
- builder.addConfig(["sonar", { includeDefaultFilesAndIgnores: true }]).addBulkRules(import_eslint_plugin_sonarjs.default.configs.recommended.rules).addRule("sonarjs/argument-type", OFF).addRule("sonarjs/array-callback-without-return", OFF).addRule("sonarjs/assertions-in-tests", testsRulesSeverity).addRule("sonarjs/aws-apigateway-public-api", awsRulesSeverity).addRule("sonarjs/aws-ec2-rds-dms-public", awsRulesSeverity).addRule("sonarjs/aws-ec2-unencrypted-ebs-volume", awsRulesSeverity).addRule("sonarjs/aws-efs-unencrypted", awsRulesSeverity).addRule("sonarjs/aws-iam-all-privileges", awsRulesSeverity).addRule("sonarjs/aws-iam-all-resources-accessible", OFF).addRule("sonarjs/aws-iam-privilege-escalation", awsRulesSeverity).addRule("sonarjs/aws-iam-public-access", awsRulesSeverity).addRule("sonarjs/aws-opensearchservice-domain", awsRulesSeverity).addRule("sonarjs/aws-rds-unencrypted-databases", awsRulesSeverity).addRule("sonarjs/aws-restricted-ip-admin-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-granted-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-insecure-http", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-public-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-server-encryption", OFF).addRule("sonarjs/aws-s3-bucket-versioning", awsRulesSeverity).addRule("sonarjs/aws-sagemaker-unencrypted-notebook", awsRulesSeverity).addRule("sonarjs/aws-sns-unencrypted-topics", awsRulesSeverity).addRule("sonarjs/aws-sqs-unencrypted-queue", awsRulesSeverity).addRule("sonarjs/block-scoped-var", OFF).addRule("sonarjs/call-argument-line", OFF).addRule("sonarjs/chai-determinate-assertion", testsRulesSeverity).addRule("sonarjs/class-name", OFF).addRule("sonarjs/code-eval", OFF).addRule("sonarjs/cognitive-complexity", OFF).addRule("sonarjs/concise-regex", OFF).addRule("sonarjs/conditional-indentation", OFF).addRule("sonarjs/constructor-for-side-effects", OFF).addRule("sonarjs/deprecation", OFF).addRule("sonarjs/different-types-comparison", OFF).addRule("sonarjs/disabled-timeout", testsRulesSeverity).addRule("sonarjs/duplicates-in-character-class", OFF).addRule("sonarjs/empty-string-repetition", OFF).addRule("sonarjs/fixme-tag", OFF).addRule("sonarjs/function-inside-loop", OFF).addRule("sonarjs/function-return-type", OFF).addRule("sonarjs/generator-without-yield", OFF).addRule("sonarjs/in-operator-type-error", OFF).addRule("sonarjs/inverted-assertion-arguments", testsRulesSeverity).addRule("sonarjs/label-position", OFF).addRule("sonarjs/max-switch-cases", OFF).addRule("sonarjs/misplaced-loop-counter", WARNING).addRule("sonarjs/new-operator-misuse", OFF).addRule("sonarjs/no-alphabetical-sort", OFF).addRule("sonarjs/no-array-delete", OFF).addRule("sonarjs/no-associative-arrays", OFF).addRule("sonarjs/no-async-constructor", OFF).addRule("sonarjs/no-code-after-done", testsRulesSeverity).addRule("sonarjs/no-commented-code", OFF).addRule("sonarjs/no-control-regex", OFF).addRule("sonarjs/no-dead-store", OFF).addRule("sonarjs/no-duplicate-in-composite", OFF).addRule("sonarjs/no-empty-alternatives", OFF).addRule("sonarjs/no-empty-character-class", OFF).addRule("sonarjs/no-empty-group", OFF).addRule("sonarjs/no-empty-test-file", OFF).addRule("sonarjs/no-exclusive-tests", OFF).addRule("sonarjs/no-fallthrough", OFF).addRule("sonarjs/no-for-in-iterable", ERROR).addRule("sonarjs/no-hardcoded-ip", WARNING).addRule("sonarjs/no-identical-conditions", OFF).addRule("sonarjs/no-implicit-dependencies", OFF).addRule("sonarjs/no-incomplete-assertions", testsRulesSeverity).addRule("sonarjs/no-invalid-await", OFF).addRule("sonarjs/no-invalid-regexp", OFF).addRule("sonarjs/no-labels", OFF).addRule("sonarjs/no-misleading-character-class", OFF).addRule("sonarjs/no-nested-assignment", OFF).addRule("sonarjs/no-nested-conditional", OFF).addRule("sonarjs/no-nested-functions", OFF).addRule("sonarjs/no-nested-template-literals", OFF).addRule("sonarjs/no-one-iteration-loop", OFF).addRule("sonarjs/no-primitive-wrappers", OFF).addRule("sonarjs/no-regex-spaces", OFF).addRule("sonarjs/no-same-argument-assert", testsRulesSeverity).addRule("sonarjs/no-same-line-conditional", OFF).addRule("sonarjs/no-selector-parameter", OFF).addRule("sonarjs/no-skipped-tests", OFF).addRule("sonarjs/no-try-promise", OFF).addRule("sonarjs/no-unenclosed-multiline-block", OFF).addRule("sonarjs/no-unthrown-error", OFF).addRule("sonarjs/no-unused-vars", OFF).addRule("sonarjs/no-useless-catch", OFF).addRule("sonarjs/no-useless-intersection", OFF).addRule("sonarjs/no-vue-bypass-sanitization", OFF).addRule("sonarjs/null-dereference", OFF).addRule("sonarjs/prefer-default-last", OFF).addRule("sonarjs/prefer-object-literal", ERROR).addRule("sonarjs/prefer-read-only-props", OFF).addRule("sonarjs/prefer-regexp-exec", OFF).addRule("sonarjs/production-debug", ERROR).addRule("sonarjs/pseudo-random", OFF).addRule("sonarjs/redundant-type-aliases", OFF).addRule("sonarjs/regex-complexity", WARNING, [{ threshold: 40 }]).addRule("sonarjs/single-char-in-character-classes", OFF).addRule("sonarjs/single-character-alternation", OFF).addRule("sonarjs/slow-regex", OFF).addRule("sonarjs/stable-tests", testsRulesSeverity).addRule("sonarjs/strings-comparison", WARNING).addRule("sonarjs/super-invocation", OFF).addRule("sonarjs/table-header", WARNING).addRule("sonarjs/table-header-reference", WARNING).addRule("sonarjs/todo-tag", OFF).addRule("sonarjs/unused-import", OFF).addRule("sonarjs/unverified-hostname", ERROR).addRule("sonarjs/updated-const-var", OFF).addRule("sonarjs/updated-loop-counter", WARNING).addRule("sonarjs/use-type-alias", WARNING).addRule("sonarjs/void-use", OFF).addOverrides();
1319
+ builder.addConfig(["sonar", { includeDefaultFilesAndIgnores: true }]).addBulkRules(import_eslint_plugin_sonarjs.default.configs.recommended.rules).addRule("sonarjs/argument-type", OFF).addRule("sonarjs/array-callback-without-return", OFF).addRule("sonarjs/assertions-in-tests", testsRulesSeverity).addRule("sonarjs/aws-apigateway-public-api", awsRulesSeverity).addRule("sonarjs/aws-ec2-rds-dms-public", awsRulesSeverity).addRule("sonarjs/aws-ec2-unencrypted-ebs-volume", awsRulesSeverity).addRule("sonarjs/aws-efs-unencrypted", awsRulesSeverity).addRule("sonarjs/aws-iam-all-privileges", awsRulesSeverity).addRule("sonarjs/aws-iam-all-resources-accessible", OFF).addRule("sonarjs/aws-iam-privilege-escalation", awsRulesSeverity).addRule("sonarjs/aws-iam-public-access", awsRulesSeverity).addRule("sonarjs/aws-opensearchservice-domain", awsRulesSeverity).addRule("sonarjs/aws-rds-unencrypted-databases", awsRulesSeverity).addRule("sonarjs/aws-restricted-ip-admin-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-granted-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-insecure-http", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-public-access", awsRulesSeverity).addRule("sonarjs/aws-s3-bucket-server-encryption", OFF).addRule("sonarjs/aws-s3-bucket-versioning", awsRulesSeverity).addRule("sonarjs/aws-sagemaker-unencrypted-notebook", awsRulesSeverity).addRule("sonarjs/aws-sns-unencrypted-topics", awsRulesSeverity).addRule("sonarjs/aws-sqs-unencrypted-queue", awsRulesSeverity).addRule("sonarjs/block-scoped-var", OFF).addRule("sonarjs/call-argument-line", OFF).addRule("sonarjs/chai-determinate-assertion", testsRulesSeverity).addRule("sonarjs/class-name", OFF).addRule("sonarjs/code-eval", OFF).addRule("sonarjs/cognitive-complexity", OFF).addRule("sonarjs/concise-regex", OFF).addRule("sonarjs/conditional-indentation", OFF).addRule("sonarjs/constructor-for-side-effects", OFF).addRule("sonarjs/deprecation", OFF).addRule("sonarjs/different-types-comparison", OFF).addRule("sonarjs/disabled-timeout", testsRulesSeverity).addRule("sonarjs/duplicates-in-character-class", OFF).addRule("sonarjs/empty-string-repetition", OFF).addRule("sonarjs/fixme-tag", OFF).addRule("sonarjs/function-inside-loop", OFF).addRule("sonarjs/function-return-type", OFF).addRule("sonarjs/generator-without-yield", OFF).addRule("sonarjs/in-operator-type-error", OFF).addRule("sonarjs/inverted-assertion-arguments", testsRulesSeverity).addRule("sonarjs/label-position", OFF).addRule("sonarjs/max-switch-cases", OFF).addRule("sonarjs/misplaced-loop-counter", WARNING).addRule("sonarjs/new-operator-misuse", OFF).addRule("sonarjs/no-alphabetical-sort", OFF).addRule("sonarjs/no-array-delete", OFF).addRule("sonarjs/no-associative-arrays", OFF).addRule("sonarjs/no-async-constructor", OFF).addRule("sonarjs/no-code-after-done", testsRulesSeverity).addRule("sonarjs/no-commented-code", OFF).addRule("sonarjs/no-control-regex", OFF).addRule("sonarjs/no-dead-store", OFF).addRule("sonarjs/no-duplicate-in-composite", OFF).addRule("sonarjs/no-empty-alternatives", OFF).addRule("sonarjs/no-empty-character-class", OFF).addRule("sonarjs/no-empty-group", OFF).addRule("sonarjs/no-empty-test-file", OFF).addRule("sonarjs/no-exclusive-tests", OFF).addRule("sonarjs/no-fallthrough", OFF).addRule("sonarjs/no-for-in-iterable", ERROR).addRule("sonarjs/no-hardcoded-ip", WARNING).addRule("sonarjs/no-identical-conditions", OFF).addRule("sonarjs/no-implicit-dependencies", OFF).addRule("sonarjs/no-incomplete-assertions", testsRulesSeverity).addRule("sonarjs/no-invalid-await", OFF).addRule("sonarjs/no-invalid-regexp", OFF).addRule("sonarjs/no-labels", OFF).addRule("sonarjs/no-misleading-character-class", OFF).addRule("sonarjs/no-nested-assignment", OFF).addRule("sonarjs/no-nested-conditional", OFF).addRule("sonarjs/no-nested-functions", OFF).addRule("sonarjs/no-nested-template-literals", OFF).addRule("sonarjs/no-one-iteration-loop", OFF).addRule("sonarjs/no-primitive-wrappers", OFF).addRule("sonarjs/no-regex-spaces", OFF).addRule("sonarjs/no-same-argument-assert", testsRulesSeverity).addRule("sonarjs/no-same-line-conditional", OFF).addRule("sonarjs/no-selector-parameter", OFF).addRule("sonarjs/no-skipped-tests", OFF).addRule("sonarjs/no-try-promise", OFF).addRule("sonarjs/no-unenclosed-multiline-block", OFF).addRule("sonarjs/no-unthrown-error", OFF).addRule("sonarjs/no-unused-vars", OFF).addRule("sonarjs/no-useless-catch", OFF).addRule("sonarjs/no-useless-intersection", OFF).addRule("sonarjs/no-vue-bypass-sanitization", OFF).addRule("sonarjs/null-dereference", OFF).addRule("sonarjs/prefer-default-last", OFF).addRule("sonarjs/prefer-object-literal", ERROR).addRule("sonarjs/prefer-read-only-props", OFF).addRule("sonarjs/prefer-regexp-exec", OFF).addRule("sonarjs/prefer-single-boolean-return", WARNING).addRule("sonarjs/production-debug", ERROR).addRule("sonarjs/pseudo-random", OFF).addRule("sonarjs/redundant-type-aliases", OFF).addRule("sonarjs/regex-complexity", WARNING, [{ threshold: 40 }]).addRule("sonarjs/single-char-in-character-classes", OFF).addRule("sonarjs/single-character-alternation", OFF).addRule("sonarjs/slow-regex", OFF).addRule("sonarjs/stable-tests", testsRulesSeverity).addRule("sonarjs/strings-comparison", WARNING).addRule("sonarjs/super-invocation", OFF).addRule("sonarjs/table-header", WARNING).addRule("sonarjs/table-header-reference", WARNING).addRule("sonarjs/todo-tag", OFF).addRule("sonarjs/unused-import", OFF).addRule("sonarjs/unverified-hostname", ERROR).addRule("sonarjs/updated-const-var", OFF).addRule("sonarjs/updated-loop-counter", WARNING).addRule("sonarjs/use-type-alias", WARNING).addRule("sonarjs/void-use", OFF).addOverrides();
1298
1320
  return builder.getAllConfigs();
1299
1321
  };
1300
1322
 
@@ -1312,6 +1334,7 @@ var tailwindEslintConfig = (options = {}, internalOptions = {}) => {
1312
1334
  const builder = new ConfigEntryBuilder(options, internalOptions);
1313
1335
  builder.addConfig(["tailwind", { includeDefaultFilesAndIgnores: true }], {
1314
1336
  plugins: {
1337
+ // @ts-expect-error types mismatch
1315
1338
  tailwindcss: import_eslint_plugin_tailwindcss.default
1316
1339
  },
1317
1340
  ...settings && {
@@ -1514,7 +1537,7 @@ var tsEslintConfig = (options = {}, internalOptions = {}) => {
1514
1537
  ERROR,
1515
1538
  [
1516
1539
  {
1517
- allowConstantLoopConditions: true,
1540
+ allowConstantLoopConditions: "only-allowed-literals",
1518
1541
  checkTypePredicates: true
1519
1542
  // >=8.8.0
1520
1543
  }
@@ -1636,7 +1659,7 @@ var vitestEslintConfig = (options = {}, internalOptions = {}) => {
1636
1659
  restrictedMatchers || {}
1637
1660
  ]).addRule("vitest/no-restricted-vi-methods", hasRestrictedMethods ? ERROR : OFF, [
1638
1661
  restrictedMethods || {}
1639
- ]).addRule("vitest/no-standalone-expect", ERROR).addRule("vitest/no-test-prefixes", ERROR).addRule("vitest/no-test-return-statement", ERROR).addRule("vitest/prefer-comparison-matcher", ERROR).addRule("vitest/prefer-each", WARNING).addRule("vitest/prefer-equality-matcher", ERROR).addRule("vitest/prefer-expect-resolves", ERROR).addRule("vitest/prefer-hooks-in-order", ERROR).addRule("vitest/prefer-hooks-on-top", ERROR).addRule("vitest/prefer-lowercase-title", ERROR).addRule("vitest/prefer-mock-promise-shorthand", ERROR).addRule("vitest/prefer-spy-on", ERROR).addRule("vitest/prefer-strict-equal", WARNING).addRule("vitest/prefer-to-be", ERROR).addRule("vitest/prefer-to-be-falsy", ERROR).addRule("vitest/prefer-to-be-object", ERROR).addRule("vitest/prefer-to-be-truthy", ERROR).addRule("vitest/prefer-to-contain", ERROR).addRule("vitest/prefer-to-have-length", ERROR).addRule("vitest/prefer-todo", WARNING).addRule("vitest/require-hook", WARNING).addRule("vitest/require-to-throw-message", OFF).addRule("vitest/require-top-level-describe", OFF).addRule("vitest/valid-expect", ERROR, [
1662
+ ]).addRule("vitest/no-standalone-expect", ERROR).addRule("vitest/no-test-prefixes", ERROR).addRule("vitest/no-test-return-statement", ERROR).addRule("vitest/prefer-comparison-matcher", ERROR).addRule("vitest/prefer-each", WARNING).addRule("vitest/prefer-equality-matcher", ERROR).addRule("vitest/prefer-expect-resolves", ERROR).addRule("vitest/prefer-hooks-in-order", ERROR).addRule("vitest/prefer-hooks-on-top", ERROR).addRule("vitest/prefer-lowercase-title", ERROR).addRule("vitest/prefer-mock-promise-shorthand", ERROR).addRule("vitest/prefer-spy-on", ERROR).addRule("vitest/prefer-strict-equal", WARNING).addRule("vitest/prefer-to-be", ERROR).addRule("vitest/prefer-to-be-falsy", ERROR).addRule("vitest/prefer-to-be-object", ERROR).addRule("vitest/prefer-to-be-truthy", ERROR).addRule("vitest/prefer-to-contain", ERROR).addRule("vitest/prefer-to-have-length", ERROR).addRule("vitest/prefer-todo", WARNING).addRule("vitest/require-hook", WARNING).addRule("vitest/require-mock-type-parameters", WARNING).addRule("vitest/require-to-throw-message", OFF).addRule("vitest/require-top-level-describe", OFF).addRule("vitest/valid-expect", ERROR, [
1640
1663
  {
1641
1664
  alwaysAwait: true,
1642
1665
  // Default: false
@@ -2100,6 +2123,10 @@ var eslintConfig = (options = {}) => {
2100
2123
  const perfectionistOptions = {
2101
2124
  ...assignOptions(configsOptions, "perfectionist")
2102
2125
  };
2126
+ const isCliEnabled = Boolean(configsOptions.cli ?? true);
2127
+ const cliOptions = {
2128
+ ...assignOptions(configsOptions, "cli")
2129
+ };
2103
2130
  const internalOptions = {
2104
2131
  globalOptions: options,
2105
2132
  isTypescriptEnabled,
@@ -2186,6 +2213,7 @@ var eslintConfig = (options = {}) => {
2186
2213
  "import/no-default-export": OFF
2187
2214
  }
2188
2215
  },
2216
+ isCliEnabled && cliEslintConfig(cliOptions, internalOptions),
2189
2217
  ...options.extraConfigs || [],
2190
2218
  // MUST be last
2191
2219
  !options.disablePrettierIncompatibleRules && {