@isentinel/eslint-config 6.0.0-beta.21 → 6.0.0-beta.23

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.mjs CHANGED
@@ -705,6 +705,34 @@ function isRecord(value) {
705
705
  }
706
706
  createRequire(import.meta.url);
707
707
  /**
708
+ * Resolves the workspace root directory.
709
+ *
710
+ * The root is the directory containing `pnpm-workspace.yaml`. When no workspace
711
+ * file exists anywhere up the tree the project is standalone, so the cwd is its
712
+ * own root.
713
+ *
714
+ * @param cwd - The directory to resolve from, defaulting to the current
715
+ * working directory.
716
+ * @returns The absolute path of the workspace root directory.
717
+ */
718
+ async function findWorkspaceRoot(cwd = process.cwd()) {
719
+ const workspaceFile = await findUp("pnpm-workspace.yaml", { cwd });
720
+ return workspaceFile === void 0 ? cwd : path.dirname(workspaceFile);
721
+ }
722
+ /**
723
+ * Synchronous {@link findWorkspaceRoot}, for the oxlint factory.
724
+ *
725
+ * The oxlint factory is synchronous, so it cannot await the async variant.
726
+ *
727
+ * @param cwd - The directory to resolve from, defaulting to the current
728
+ * working directory.
729
+ * @returns The absolute path of the workspace root directory.
730
+ */
731
+ function findWorkspaceRootSync(cwd = process.cwd()) {
732
+ const workspaceFile = findUpSync("pnpm-workspace.yaml", { cwd });
733
+ return workspaceFile === void 0 ? cwd : path.dirname(workspaceFile);
734
+ }
735
+ /**
708
736
  * Whether the environment signals a CI run. Treats an unset, empty, `"false"`
709
737
  * or `"0"` `CI` value as not-CI, so a deliberately falsy `CI=false` is honoured
710
738
  * rather than read as truthy.
@@ -1211,13 +1239,36 @@ async function comments({ prettierOptions = {}, stylistic = true } = {}) {
1211
1239
  }
1212
1240
  //#endregion
1213
1241
  //#region src/eslint/configs/disables.ts
1214
- function disables({ root }) {
1242
+ /**
1243
+ * Rule relaxations keyed on where a file lives.
1244
+ *
1245
+ * Blocks whose `files` patterns anchor on an ancestor directory name pin
1246
+ * `basePath` to the workspace root. Without it they are silently dead in every
1247
+ * project that has its own `eslint.config.*`: ESLint 10 resolves the config
1248
+ * nearest each linted file and matches `files` against that config's directory,
1249
+ * so `**\/scripts/` never appears in the path being tested. Pinning can only
1250
+ * widen what these blocks match, and they contain nothing but `"off"`, so it
1251
+ * cannot introduce a new error.
1252
+ *
1253
+ * `disables/root` is deliberately left unpinned — its patterns are relative by
1254
+ * design, so under a nested config they resolve to that project's own top-level
1255
+ * files, which is exactly the intent.
1256
+ *
1257
+ * @param options - The resolved factory options.
1258
+ * @param options.root - Globs identifying root-level files.
1259
+ * @param options.workspaceRoot - Absolute workspace root, used as the base path
1260
+ * for ancestor-anchored blocks.
1261
+ * @returns The disables configs.
1262
+ */
1263
+ function disables({ root, workspaceRoot }) {
1215
1264
  return [
1216
1265
  {
1217
1266
  name: "isentinel/disables/scripts",
1267
+ basePath: workspaceRoot,
1218
1268
  files: [`**/scripts/${GLOB_SRC}`],
1219
1269
  rules: {
1220
1270
  "antfu/no-top-level-await": "off",
1271
+ "max-lines": "off",
1221
1272
  "no-console": "off",
1222
1273
  "small-rules/require-async-suffix": "off",
1223
1274
  "ts/explicit-function-return-type": "off"
@@ -1225,6 +1276,7 @@ function disables({ root }) {
1225
1276
  },
1226
1277
  {
1227
1278
  name: "isentinel/disables/cli",
1279
+ basePath: workspaceRoot,
1228
1280
  files: [`**/cli/${GLOB_SRC}`, `**/cli.${GLOB_SRC_EXT}`],
1229
1281
  rules: {
1230
1282
  "antfu/no-top-level-await": "off",
@@ -1233,6 +1285,7 @@ function disables({ root }) {
1233
1285
  },
1234
1286
  {
1235
1287
  name: "isentinel/disables/build-tools",
1288
+ basePath: workspaceRoot,
1236
1289
  files: GLOB_BUILD_TOOLS,
1237
1290
  rules: {
1238
1291
  "antfu/no-top-level-await": "off",
@@ -1243,6 +1296,7 @@ function disables({ root }) {
1243
1296
  },
1244
1297
  {
1245
1298
  name: "isentinel/disables/bin",
1299
+ basePath: workspaceRoot,
1246
1300
  files: GLOB_BIN,
1247
1301
  rules: {
1248
1302
  "antfu/no-import-dist": "off",
@@ -1268,6 +1322,7 @@ function disables({ root }) {
1268
1322
  },
1269
1323
  {
1270
1324
  name: "isentinel/disables/test",
1325
+ basePath: workspaceRoot,
1271
1326
  files: [...GLOB_TESTS],
1272
1327
  rules: {
1273
1328
  "antfu/no-top-level-await": "off",
@@ -1541,7 +1596,7 @@ async function flawless(options = {}, prettierOptions = {}) {
1541
1596
  ];
1542
1597
  }
1543
1598
  //#endregion
1544
- //#region node_modules/.pnpm/@eslint+compat@2.1.0_eslint@10.7.0_jiti@2.7.0_supports-color@10.2.2_/node_modules/@eslint/compat/dist/esm/index.js
1599
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@eslint/compat/2.1.0/b781043dbe4db6d501df442031a61cb3b4cc6aca6bc33271bed3c8c8e1ad757d/node_modules/@eslint/compat/dist/esm/index.js
1545
1600
  /**
1546
1601
  * @fileoverview Ignore file utilities for the compat package.
1547
1602
  * @author Nicholas C. Zakas
@@ -1570,7 +1625,7 @@ function convertIgnorePatternToMinimatch(pattern) {
1570
1625
  }
1571
1626
  var init_esm$1 = __esmMin((() => {}));
1572
1627
  //#endregion
1573
- //#region node_modules/.pnpm/eslint-config-flat-gitignore@2.3.0_patch_hash=c0af6384f070a0837fdab77e0920cd119c0824908_67b201ee205edc87e48c7cb9d2ca95fe/node_modules/eslint-config-flat-gitignore/dist/index.mjs
1628
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eslint-config-flat-gitignore/2.3.0/1320bd07004d149fd5c550ffda02aec5ecff7717d8f1602b7e9e51dffe8368d5/node_modules/eslint-config-flat-gitignore/dist/index.mjs
1574
1629
  var dist_exports = /* @__PURE__ */ __exportAll$2({ default: () => ignore });
1575
1630
  function toArray(array) {
1576
1631
  array = array ?? [];
@@ -3070,21 +3125,6 @@ async function packageJson({ roblox = true, stylistic = true, type = "game" } =
3070
3125
  }
3071
3126
  ];
3072
3127
  }
3073
- /**
3074
- * Resolves the workspace root directory.
3075
- *
3076
- * The root is the directory containing `pnpm-workspace.yaml`. When no workspace
3077
- * file exists anywhere up the tree the project is standalone, so the cwd is its
3078
- * own root.
3079
- *
3080
- * @param cwd - The directory to resolve from, defaulting to the current
3081
- * working directory.
3082
- * @returns The absolute path of the workspace root directory.
3083
- */
3084
- async function findWorkspaceRoot(cwd = process.cwd()) {
3085
- const workspaceFile = await findUp("pnpm-workspace.yaml", { cwd });
3086
- return workspaceFile === void 0 ? cwd : path.dirname(workspaceFile);
3087
- }
3088
3128
  //#endregion
3089
3129
  //#region src/rules/perfectionist.ts
3090
3130
  const constructorGroup = {
@@ -3338,6 +3378,7 @@ async function pnpm(options) {
3338
3378
  trustPolicy: "no-downgrade",
3339
3379
  trustPolicyIgnoreAfter: 10080
3340
3380
  } }],
3381
+ "pnpm/yaml-no-anonymous-catalog": ["error"],
3341
3382
  "pnpm/yaml-no-duplicate-catalog-item": "error",
3342
3383
  "pnpm/yaml-no-unused-catalog-item": "error"
3343
3384
  }
@@ -4337,6 +4378,7 @@ function sortPnpmWorkspace() {
4337
4378
  "dedupePeerDependents",
4338
4379
  "dedupePeers",
4339
4380
  "deployAllFiles",
4381
+ "enableGlobalVirtualStore",
4340
4382
  "enablePrePostScripts",
4341
4383
  "engineStrict",
4342
4384
  "extendNodePath",
@@ -4808,7 +4850,7 @@ async function stylistic(options = {}) {
4808
4850
  //#endregion
4809
4851
  //#region src/rules/test.ts
4810
4852
  /**
4811
- * Rules that make no sense in a type test (`*.test-d.ts`): these files assert
4853
+ * Rules that make no sense in a type test (`*.spec-d.ts`): these files assert
4812
4854
  * with `expectTypeOf`/`assertType` at compile time, run no expectations, and
4813
4855
  * name their blocks after the types under test.
4814
4856
  *
@@ -4817,6 +4859,13 @@ async function stylistic(options = {}) {
4817
4859
  */
4818
4860
  function typeTestRules(prefix) {
4819
4861
  return {
4862
+ ...prefix === "vitest" ? {
4863
+ "flawless/prefer-ending-with-an-expect": "off",
4864
+ "vitest/consistent-test-filename": ["error", {
4865
+ allTestPattern: ".*\\.(test|spec)-d\\.[tj]sx?$",
4866
+ pattern: ".*\\.spec-d\\.[tj]sx?$"
4867
+ }]
4868
+ } : {},
4820
4869
  [`${prefix}/expect-expect`]: "off",
4821
4870
  [`${prefix}/prefer-expect-assertions`]: "off",
4822
4871
  [`${prefix}/prefer-lowercase-title`]: "off"
@@ -4849,6 +4898,7 @@ function jestExtendedRules() {
4849
4898
  */
4850
4899
  function jestRules({ extended = false, isInEditor = false, roblox: isRoblox = true, stylistic = true } = {}) {
4851
4900
  return {
4901
+ "flawless/prefer-expect-assertions-count": "error",
4852
4902
  "jest/consistent-test-it": "error",
4853
4903
  "jest/expect-expect": "warn",
4854
4904
  "jest/max-expects": "error",
@@ -4900,7 +4950,7 @@ function jestRules({ extended = false, isInEditor = false, roblox: isRoblox = tr
4900
4950
  "jest/valid-describe-callback": "error",
4901
4951
  "jest/valid-expect": isRoblox ? "off" : "error",
4902
4952
  "jest/valid-expect-in-promise": "error",
4903
- "jest/valid-expect-with-promise": "error",
4953
+ "jest/valid-expect-with-promise": ["error", { checkThenables: true }],
4904
4954
  "jest/valid-title": ["error", {
4905
4955
  ignoreTypeOfDescribeName: true,
4906
4956
  mustMatch: { it: ["^should", "Test title must start with \"should\""] }
@@ -4925,6 +4975,13 @@ function jestRules({ extended = false, isInEditor = false, roblox: isRoblox = tr
4925
4975
  */
4926
4976
  function vitestRules({ extended = false, isInEditor = false, stylistic = true } = {}) {
4927
4977
  return {
4978
+ "flawless/no-conditional-in-test": ["error", { allowOptionalChaining: false }],
4979
+ "flawless/prefer-ending-with-an-expect": ["warn", { assertFunctionNames: [
4980
+ "expect",
4981
+ "expectTypeOf",
4982
+ "assertType"
4983
+ ] }],
4984
+ "flawless/prefer-expect-assertions-count": "warn",
4928
4985
  "vitest/consistent-each-for": ["error", {
4929
4986
  describe: "for",
4930
4987
  it: "for",
@@ -4944,7 +5001,6 @@ function vitestRules({ extended = false, isInEditor = false, stylistic = true }
4944
5001
  "vitest/no-alias-methods": "error",
4945
5002
  "vitest/no-commented-out-tests": "warn",
4946
5003
  "vitest/no-conditional-expect": "error",
4947
- "vitest/no-conditional-in-test": "error",
4948
5004
  "vitest/no-conditional-tests": "error",
4949
5005
  "vitest/no-disabled-tests": isInEditor ? "off" : "error",
4950
5006
  "vitest/no-duplicate-hooks": "error",
@@ -5650,7 +5706,7 @@ async function unicorn({ complementIgnores, nameReplacements, roblox = true, roo
5650
5706
  ];
5651
5707
  }
5652
5708
  //#endregion
5653
- //#region node_modules/.pnpm/eslint-plugin-yml@3.5.0_patch_hash=a0c23f5bc2638aedacbb693b99b4bc77d33a7f52fd066d636cf2_7f9f38089c307d2ca17ad6086a5d151c/node_modules/eslint-plugin-yml/lib/chunk-CfYAbeIz.mjs
5709
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eslint-plugin-yml/3.5.0/286798c5ceb234dddb418d7e51fa7c87c58efb51bf8e94fcfd0ad11404fe81c8/node_modules/eslint-plugin-yml/lib/chunk-CfYAbeIz.mjs
5654
5710
  var __defProp$1, __exportAll$1;
5655
5711
  var init_chunk_CfYAbeIz = __esmMin((() => {
5656
5712
  __defProp$1 = Object.defineProperty;
@@ -5665,7 +5721,7 @@ var init_chunk_CfYAbeIz = __esmMin((() => {
5665
5721
  };
5666
5722
  }));
5667
5723
  //#endregion
5668
- //#region node_modules/.pnpm/natural-compare@1.4.0/node_modules/natural-compare/index.js
5724
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/natural-compare/1.4.0/6f74653d376a1579562d1432e595a9dfb215e6e155c2d7e1408676c55f9909c9/node_modules/natural-compare/index.js
5669
5725
  var require_natural_compare = /* @__PURE__ */ __commonJSMin(((exports, module) => {
5670
5726
  /*
5671
5727
  * @version 1.4.0
@@ -5703,7 +5759,7 @@ var require_natural_compare = /* @__PURE__ */ __commonJSMin(((exports, module) =
5703
5759
  }
5704
5760
  }));
5705
5761
  //#endregion
5706
- //#region node_modules/.pnpm/diff-sequences@29.6.3/node_modules/diff-sequences/build/index.js
5762
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/diff-sequences/29.6.3/4a942b76b6bfb9eef3998ddfbc6d73459e39fb92ed3e053ccd26f097a1642816/node_modules/diff-sequences/build/index.js
5707
5763
  var require_build = /* @__PURE__ */ __commonJSMin(((exports) => {
5708
5764
  Object.defineProperty(exports, "__esModule", { value: true });
5709
5765
  exports.default = diffSequence;
@@ -5997,14 +6053,14 @@ var require_build = /* @__PURE__ */ __commonJSMin(((exports) => {
5997
6053
  }
5998
6054
  }));
5999
6055
  //#endregion
6000
- //#region node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
6056
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/escape-string-regexp/5.0.0/975308e2f12ad393ccebb3882840c3c1e975368995bfe20e83579ff1c006e7af/node_modules/escape-string-regexp/index.js
6001
6057
  function escapeStringRegexp(string) {
6002
6058
  if (typeof string !== "string") throw new TypeError("Expected a string");
6003
6059
  return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
6004
6060
  }
6005
6061
  var init_escape_string_regexp = __esmMin((() => {}));
6006
6062
  //#endregion
6007
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/Func.js
6063
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/Func.js
6008
6064
  var require_Func = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6009
6065
  var apply;
6010
6066
  var curry;
@@ -6073,7 +6129,7 @@ var require_Func = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6073
6129
  }
6074
6130
  }));
6075
6131
  //#endregion
6076
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/List.js
6132
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/List.js
6077
6133
  var require_List = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6078
6134
  var each;
6079
6135
  var map;
@@ -6732,7 +6788,7 @@ var require_List = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6732
6788
  }
6733
6789
  }));
6734
6790
  //#endregion
6735
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/Obj.js
6791
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/Obj.js
6736
6792
  var require_Obj = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6737
6793
  var values = function(object) {
6738
6794
  var i$, x, results$ = [];
@@ -6865,7 +6921,7 @@ var require_Obj = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6865
6921
  }
6866
6922
  }));
6867
6923
  //#endregion
6868
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/Str.js
6924
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/Str.js
6869
6925
  var require_Str = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6870
6926
  var split = curry$(function(sep, str) {
6871
6927
  return str.split(sep);
@@ -6944,7 +7000,7 @@ var require_Str = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6944
7000
  }
6945
7001
  }));
6946
7002
  //#endregion
6947
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/Num.js
7003
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/Num.js
6948
7004
  var require_Num = /* @__PURE__ */ __commonJSMin(((exports, module) => {
6949
7005
  var max = curry$(function(x$, y$) {
6950
7006
  return x$ > y$ ? x$ : y$;
@@ -7068,7 +7124,7 @@ var require_Num = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7068
7124
  }
7069
7125
  }));
7070
7126
  //#endregion
7071
- //#region node_modules/.pnpm/prelude-ls@1.2.1/node_modules/prelude-ls/lib/index.js
7127
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/prelude-ls/1.2.1/1409d54146066ccb544333dd18eefdf4ce36c68e81019770c18196064b0e0bbe/node_modules/prelude-ls/lib/index.js
7072
7128
  var require_lib$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7073
7129
  var Func;
7074
7130
  var List;
@@ -7253,7 +7309,7 @@ var require_lib$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7253
7309
  }
7254
7310
  }));
7255
7311
  //#endregion
7256
- //#region node_modules/.pnpm/levn@0.4.1/node_modules/levn/lib/parse-string.js
7312
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/levn/0.4.1/f168a0286e54a0cf215bb6612888da21393520e4fe50f9f8f791e95cac217970/node_modules/levn/lib/parse-string.js
7257
7313
  var require_parse_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7258
7314
  (function() {
7259
7315
  var reject = require_lib$2().reject, special, tokenRegex;
@@ -7336,7 +7392,7 @@ var require_parse_string = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7336
7392
  }).call(exports);
7337
7393
  }));
7338
7394
  //#endregion
7339
- //#region node_modules/.pnpm/type-check@0.4.0/node_modules/type-check/lib/parse-type.js
7395
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/type-check/0.4.0/adc2d7fb198c8e752bc1eac5f0bcd57ac0b6f22d608ee216c322b0b2905c5461/node_modules/type-check/lib/parse-type.js
7340
7396
  var require_parse_type = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7341
7397
  (function() {
7342
7398
  var identifierRegex = /[\$\w]+/, tokenRegex;
@@ -7479,7 +7535,7 @@ var require_parse_type = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7479
7535
  }).call(exports);
7480
7536
  }));
7481
7537
  //#endregion
7482
- //#region node_modules/.pnpm/type-check@0.4.0/node_modules/type-check/lib/check.js
7538
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/type-check/0.4.0/adc2d7fb198c8e752bc1eac5f0bcd57ac0b6f22d608ee216c322b0b2905c5461/node_modules/type-check/lib/check.js
7483
7539
  var require_check = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7484
7540
  (function() {
7485
7541
  var ref$, any, all, isItNaN, types, defaultType, toString$ = {}.toString;
@@ -7582,7 +7638,7 @@ var require_check = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7582
7638
  }).call(exports);
7583
7639
  }));
7584
7640
  //#endregion
7585
- //#region node_modules/.pnpm/type-check@0.4.0/node_modules/type-check/lib/index.js
7641
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/type-check/0.4.0/adc2d7fb198c8e752bc1eac5f0bcd57ac0b6f22d608ee216c322b0b2905c5461/node_modules/type-check/lib/index.js
7586
7642
  var require_lib$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7587
7643
  (function() {
7588
7644
  var VERSION = "0.4.0", parseType = require_parse_type(), parsedTypeCheck = require_check(), typeCheck = function(type, input, options) {
@@ -7597,7 +7653,7 @@ var require_lib$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7597
7653
  }).call(exports);
7598
7654
  }));
7599
7655
  //#endregion
7600
- //#region node_modules/.pnpm/levn@0.4.1/node_modules/levn/lib/cast.js
7656
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/levn/0.4.1/f168a0286e54a0cf215bb6612888da21393520e4fe50f9f8f791e95cac217970/node_modules/levn/lib/cast.js
7601
7657
  var require_cast = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7602
7658
  (function() {
7603
7659
  var parsedTypeCheck, types, toString$ = {}.toString;
@@ -7814,7 +7870,7 @@ var require_cast = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7814
7870
  }).call(exports);
7815
7871
  }));
7816
7872
  //#endregion
7817
- //#region node_modules/.pnpm/levn@0.4.1/node_modules/levn/lib/index.js
7873
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/levn/0.4.1/f168a0286e54a0cf215bb6612888da21393520e4fe50f9f8f791e95cac217970/node_modules/levn/lib/index.js
7818
7874
  var require_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7819
7875
  (function() {
7820
7876
  var parseString = require_parse_string(), cast = require_cast(), parseType = require_lib$1().parseType, VERSION = "0.4.1", parsedTypeParse = function(parsedType, string, options) {
@@ -7833,7 +7889,7 @@ var require_lib = /* @__PURE__ */ __commonJSMin(((exports, module) => {
7833
7889
  }).call(exports);
7834
7890
  }));
7835
7891
  //#endregion
7836
- //#region node_modules/.pnpm/@eslint+plugin-kit@0.7.2/node_modules/@eslint/plugin-kit/dist/esm/index.js
7892
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@eslint/plugin-kit/0.7.2/4e4b0559a5d42dd8048330a12364645145ecf5d9f1920e7a8060ddeaa1004faa/node_modules/@eslint/plugin-kit/dist/esm/index.js
7837
7893
  /**
7838
7894
  * Determines if the severity in the rule configuration is valid.
7839
7895
  * @param {RuleConfig} ruleConfig A rule's configuration.
@@ -8383,7 +8439,7 @@ var init_esm = __esmMin((() => {
8383
8439
  };
8384
8440
  }));
8385
8441
  //#endregion
8386
- //#region node_modules/.pnpm/@ota-meshi+ast-token-store@0.3.0/node_modules/@ota-meshi/ast-token-store/lib/index.mjs
8442
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@ota-meshi/ast-token-store/0.3.0/0f473599756b190ad105f63ca656de569e95284e03241957d3c0d92fb2e137b5/node_modules/@ota-meshi/ast-token-store/lib/index.mjs
8387
8443
  /**
8388
8444
  * Binary search for the index of the first token that is after the given location.
8389
8445
  */
@@ -8833,7 +8889,7 @@ var init_lib$1 = __esmMin((() => {
8833
8889
  ({ ...meta_exports$1 });
8834
8890
  }));
8835
8891
  //#endregion
8836
- //#region node_modules/.pnpm/eslint-plugin-yml@3.5.0_patch_hash=a0c23f5bc2638aedacbb693b99b4bc77d33a7f52fd066d636cf2_7f9f38089c307d2ca17ad6086a5d151c/node_modules/eslint-plugin-yml/lib/index.mjs
8892
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/eslint-plugin-yml/3.5.0/286798c5ceb234dddb418d7e51fa7c87c58efb51bf8e94fcfd0ad11404fe81c8/node_modules/eslint-plugin-yml/lib/index.mjs
8837
8893
  var lib_exports = /* @__PURE__ */ __exportAll$2({
8838
8894
  configs: () => configs,
8839
8895
  default: () => src_default,
@@ -15319,11 +15375,14 @@ const oxlintRuleMapping = {
15319
15375
  "flawless/jsx-shorthand-boolean": "js-plugin",
15320
15376
  "flawless/jsx-shorthand-fragment": "js-plugin",
15321
15377
  "flawless/max-lines-per-function": "js-plugin",
15378
+ "flawless/no-conditional-in-test": "js-plugin",
15322
15379
  "flawless/no-export-default-arrow": "js-plugin",
15323
15380
  "flawless/no-unnecessary-use-callback": "js-plugin",
15324
15381
  "flawless/no-unnecessary-use-memo": "js-plugin",
15325
15382
  "flawless/padding-after-expect-assertions": "js-plugin",
15326
15383
  "flawless/prefer-destructuring-assignment": "js-plugin",
15384
+ "flawless/prefer-ending-with-an-expect": "js-plugin",
15385
+ "flawless/prefer-expect-assertions-count": "js-plugin",
15327
15386
  "flawless/prefer-parameter-destructuring": "js-plugin",
15328
15387
  "flawless/purity": "js-plugin",
15329
15388
  "react/error-boundaries": "js-plugin",
@@ -15443,7 +15502,6 @@ const oxlintRuleMapping = {
15443
15502
  "vitest/no-alias-methods": "native",
15444
15503
  "vitest/no-commented-out-tests": "native",
15445
15504
  "vitest/no-conditional-expect": "native",
15446
- "vitest/no-conditional-in-test": "native",
15447
15505
  "vitest/no-conditional-tests": "native",
15448
15506
  "vitest/no-disabled-tests": "native",
15449
15507
  "vitest/no-duplicate-hooks": "native",
@@ -16124,7 +16182,10 @@ async function isentinel(options, ...userConfigs) {
16124
16182
  name: "isentinel/oxlint-marker",
16125
16183
  settings: { "isentinel/oxlint": true }
16126
16184
  }]);
16127
- configs.push(disables({ root: rootGlobs }));
16185
+ configs.push(disables({
16186
+ root: rootGlobs,
16187
+ workspaceRoot: findWorkspaceRootSync()
16188
+ }));
16128
16189
  if (stylisticOptions !== false) configs.push(oxfmt({
16129
16190
  componentExts: componentExtensions,
16130
16191
  formatters: typeAwareOnly || formatters === false ? {
package/dist/lint-cli.mjs CHANGED
@@ -36,7 +36,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  }) : target, mod));
37
37
  //#endregion
38
38
  //#region package.json
39
- var version = "6.0.0-beta.21";
39
+ var version = "6.0.0-beta.23";
40
40
  //#endregion
41
41
  //#region src/lint-cli/lib/cli/types.ts
42
42
  /**
@@ -1423,7 +1423,7 @@ function stableStringify(value) {
1423
1423
  return JSON.stringify(value);
1424
1424
  }
1425
1425
  //#endregion
1426
- //#region node_modules/.pnpm/picomatch@4.0.5/node_modules/picomatch/lib/constants.js
1426
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/constants.js
1427
1427
  var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1428
1428
  const WIN_SLASH = "\\\\/";
1429
1429
  const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
@@ -1592,7 +1592,7 @@ var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1592
1592
  };
1593
1593
  }));
1594
1594
  //#endregion
1595
- //#region node_modules/.pnpm/picomatch@4.0.5/node_modules/picomatch/lib/utils.js
1595
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/utils.js
1596
1596
  var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
1597
1597
  const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants();
1598
1598
  exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
@@ -1640,7 +1640,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
1640
1640
  };
1641
1641
  }));
1642
1642
  //#endregion
1643
- //#region node_modules/.pnpm/picomatch@4.0.5/node_modules/picomatch/lib/scan.js
1643
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/scan.js
1644
1644
  var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1645
1645
  const utils = require_utils();
1646
1646
  const { CHAR_ASTERISK, CHAR_AT, CHAR_BACKWARD_SLASH, CHAR_COMMA, CHAR_DOT, CHAR_EXCLAMATION_MARK, CHAR_FORWARD_SLASH, CHAR_LEFT_CURLY_BRACE, CHAR_LEFT_PARENTHESES, CHAR_LEFT_SQUARE_BRACKET, CHAR_PLUS, CHAR_QUESTION_MARK, CHAR_RIGHT_CURLY_BRACE, CHAR_RIGHT_PARENTHESES, CHAR_RIGHT_SQUARE_BRACKET } = require_constants();
@@ -1927,7 +1927,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1927
1927
  module.exports = scan;
1928
1928
  }));
1929
1929
  //#endregion
1930
- //#region node_modules/.pnpm/picomatch@4.0.5/node_modules/picomatch/lib/parse.js
1930
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/parse.js
1931
1931
  var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1932
1932
  const constants = require_constants();
1933
1933
  const utils = require_utils();
@@ -3001,7 +3001,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3001
3001
  module.exports = parse;
3002
3002
  }));
3003
3003
  //#endregion
3004
- //#region node_modules/.pnpm/picomatch@4.0.5/node_modules/picomatch/lib/picomatch.js
3004
+ //#region ../../../setup-pnpm/node_modules/.bin/store/v11/links/@/picomatch/4.0.5/b8dea5617f0d4573a84f4dd7127438bc2998da20025ab7c9668f49b248d777a8/node_modules/picomatch/lib/picomatch.js
3005
3005
  var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3006
3006
  const scan = require_scan();
3007
3007
  const parse = require_parse();