@jsse/eslint-config 0.0.10 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.cjs CHANGED
@@ -616,7 +616,7 @@ var CAC = class extends import_events.EventEmitter {
616
616
  var cac = (name = "") => new CAC(name);
617
617
 
618
618
  // package.json
619
- var version = "0.0.10";
619
+ var version = "0.1.0";
620
620
 
621
621
  // src/cli.ts
622
622
  var cli = cac("jsselint");
package/dist/cli.d.cts CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- export { }
2
+ export { }
package/dist/cli.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
 
2
- export { }
2
+ export { }
package/dist/cli.js CHANGED
@@ -592,7 +592,7 @@ var CAC = class extends EventEmitter {
592
592
  var cac = (name = "") => new CAC(name);
593
593
 
594
594
  // package.json
595
- var version = "0.0.10";
595
+ var version = "0.1.0";
596
596
 
597
597
  // src/cli.ts
598
598
  var cli = cac("jsselint");
package/dist/index.cjs CHANGED
@@ -340,9 +340,9 @@ var require_eslint_plugin_sort_keys = __commonJS({
340
340
  }
341
341
  });
342
342
 
343
- // node_modules/.pnpm/globals@13.23.0/node_modules/globals/globals.json
343
+ // node_modules/.pnpm/globals@13.24.0/node_modules/globals/globals.json
344
344
  var require_globals = __commonJS({
345
- "node_modules/.pnpm/globals@13.23.0/node_modules/globals/globals.json"(exports, module2) {
345
+ "node_modules/.pnpm/globals@13.24.0/node_modules/globals/globals.json"(exports, module2) {
346
346
  module2.exports = {
347
347
  builtin: {
348
348
  AggregateError: false,
@@ -1444,6 +1444,30 @@ var require_globals = __commonJS({
1444
1444
  XPathEvaluator: false,
1445
1445
  XPathExpression: false,
1446
1446
  XPathResult: false,
1447
+ XRAnchor: false,
1448
+ XRBoundedReferenceSpace: false,
1449
+ XRCPUDepthInformation: false,
1450
+ XRDepthInformation: false,
1451
+ XRFrame: false,
1452
+ XRInputSource: false,
1453
+ XRInputSourceArray: false,
1454
+ XRInputSourceEvent: false,
1455
+ XRInputSourcesChangeEvent: false,
1456
+ XRPose: false,
1457
+ XRReferenceSpace: false,
1458
+ XRReferenceSpaceEvent: false,
1459
+ XRRenderState: false,
1460
+ XRRigidTransform: false,
1461
+ XRSession: false,
1462
+ XRSessionEvent: false,
1463
+ XRSpace: false,
1464
+ XRSystem: false,
1465
+ XRView: false,
1466
+ XRViewerPose: false,
1467
+ XRViewport: false,
1468
+ XRWebGLBinding: false,
1469
+ XRWebGLDepthInformation: false,
1470
+ XRWebGLLayer: false,
1447
1471
  XSLTProcessor: false
1448
1472
  },
1449
1473
  worker: {
@@ -2320,9 +2344,9 @@ var require_globals = __commonJS({
2320
2344
  }
2321
2345
  });
2322
2346
 
2323
- // node_modules/.pnpm/globals@13.23.0/node_modules/globals/index.js
2347
+ // node_modules/.pnpm/globals@13.24.0/node_modules/globals/index.js
2324
2348
  var require_globals2 = __commonJS({
2325
- "node_modules/.pnpm/globals@13.23.0/node_modules/globals/index.js"(exports, module2) {
2349
+ "node_modules/.pnpm/globals@13.24.0/node_modules/globals/index.js"(exports, module2) {
2326
2350
  "use strict";
2327
2351
  module2.exports = require_globals();
2328
2352
  }
@@ -2368,6 +2392,7 @@ __export(src_exports, {
2368
2392
  node: () => node,
2369
2393
  parserJsonc: () => import_jsonc_eslint_parser.default,
2370
2394
  parserTs: () => parserTs,
2395
+ perfectionist: () => perfectionist,
2371
2396
  pluginEslintComments: () => import_eslint_plugin_eslint_comments.default,
2372
2397
  pluginImport: () => pluginImport,
2373
2398
  pluginJsdoc: () => import_eslint_plugin_jsdoc.default,
@@ -2375,6 +2400,7 @@ __export(src_exports, {
2375
2400
  pluginMarkdown: () => import_eslint_plugin_markdown.default,
2376
2401
  pluginNoOnlyTests: () => import_eslint_plugin_no_only_tests.default,
2377
2402
  pluginNode: () => import_eslint_plugin_n.default,
2403
+ pluginPerfectionist: () => import_eslint_plugin_perfectionist.default,
2378
2404
  pluginReact: () => import_eslint_plugin_react.default,
2379
2405
  pluginReactHooks: () => import_eslint_plugin_react_hooks.default,
2380
2406
  pluginReactRefresh: () => pluginReactRefresh,
@@ -2418,6 +2444,7 @@ var import_eslint_plugin_tailwindcss = __toESM(require("eslint-plugin-tailwindcs
2418
2444
  var import_eslint_plugin_vitest = __toESM(require("eslint-plugin-vitest"), 1);
2419
2445
  var import_jsonc_eslint_parser = __toESM(require("jsonc-eslint-parser"), 1);
2420
2446
  var import_eslint_plugin_markdown = __toESM(require("eslint-plugin-markdown"), 1);
2447
+ var import_eslint_plugin_perfectionist = __toESM(require("eslint-plugin-perfectionist"), 1);
2421
2448
 
2422
2449
  // src/configs/comments.ts
2423
2450
  function comments() {
@@ -2473,35 +2500,37 @@ var GLOB_ALL_SRC = [
2473
2500
  GLOB_HTML
2474
2501
  ];
2475
2502
  var GLOB_EXCLUDE = [
2476
- "**/node_modules",
2477
- "**/dist",
2478
- "**/package-lock.json",
2479
- "**/yarn.lock",
2480
- "**/pnpm-lock.yaml",
2481
- "**/bun.lockb",
2482
- "**/output",
2483
- "**/out",
2484
- "**/coverage",
2485
- "**/temp",
2486
- "**/.vitepress/cache",
2487
- "**/.nuxt",
2488
- "**/.next",
2489
- "**/.vercel",
2503
+ "**/__snapshots__",
2504
+ "**/.cache",
2490
2505
  "**/.changeset",
2506
+ "**/.history",
2491
2507
  "**/.idea",
2492
- "**/.cache",
2508
+ "**/.next",
2509
+ "**/.nuxt",
2493
2510
  "**/.output",
2511
+ "**/.temp",
2512
+ "**/.tmp",
2513
+ "**/.vercel",
2494
2514
  "**/.vite-inspect",
2495
- "**/CHANGELOG*.md",
2515
+ "**/.vitepress/cache",
2516
+ "**/*.bak",
2496
2517
  "**/*.min.*",
2497
- "**/LICENSE*",
2498
- "**/__snapshots__",
2499
2518
  "**/auto-import?(s).d.ts",
2519
+ "**/bun.lockb",
2520
+ "**/CHANGELOG*.md",
2500
2521
  "**/components.d.ts",
2501
- "**/*.bak",
2522
+ "**/coverage",
2523
+ "**/dist",
2524
+ "**/LICENSE*",
2525
+ "**/node_modules",
2526
+ "**/out",
2527
+ "**/output",
2528
+ "**/package-lock.json",
2529
+ "**/pnpm-lock.yaml",
2502
2530
  "**/scratch",
2531
+ "**/temp",
2503
2532
  "**/tmp",
2504
- "**/temp"
2533
+ "**/yarn.lock"
2505
2534
  ];
2506
2535
 
2507
2536
  // src/configs/ignores.ts
@@ -2836,7 +2865,7 @@ function jsdoc(options = {}) {
2836
2865
 
2837
2866
  // src/configs/jsonc.ts
2838
2867
  function jsonc(options = {}) {
2839
- const { stylistic: stylistic2 = true, overrides = {} } = options;
2868
+ const { overrides = {}, stylistic: stylistic2 = true } = options;
2840
2869
  const { indent = 2 } = typeof stylistic2 === "boolean" ? {} : stylistic2;
2841
2870
  return [
2842
2871
  {
@@ -3059,25 +3088,25 @@ function prettier() {
3059
3088
  var import_node_process = __toESM(require("process"), 1);
3060
3089
  function typescriptLanguageOptions(options) {
3061
3090
  const {
3062
- parserOptions = {},
3063
- tsconfig,
3091
+ componentExts = [],
3064
3092
  react: react2,
3065
- componentExts = []
3093
+ // parserOptionsOverride = {},
3094
+ tsconfig
3066
3095
  } = options || {};
3067
3096
  const tsOptions = tsconfig ? {
3068
3097
  project: Array.isArray(tsconfig) ? tsconfig : [tsconfig],
3069
3098
  tsconfigRootDir: import_node_process.default.cwd()
3070
3099
  } : {};
3100
+ const parserOptions = {
3101
+ ecmaFeatures: react2 ? { jsx: true, modules: true } : void 0,
3102
+ extraFileExtensions: componentExts.map((ext) => `.${ext}`),
3103
+ sourceType: "module",
3104
+ ...tsOptions,
3105
+ jsxPragma: react2 ? "React" : void 0
3106
+ };
3071
3107
  return {
3072
3108
  parser: parserTs,
3073
- parserOptions: {
3074
- ecmaFeatures: react2 ? { jsx: true, modules: true } : void 0,
3075
- extraFileExtensions: componentExts.map((ext) => `.${ext}`),
3076
- sourceType: "module",
3077
- ...tsOptions,
3078
- ...parserOptions,
3079
- jsxPragma: react2 ? "React" : void 0
3080
- }
3109
+ parserOptions
3081
3110
  };
3082
3111
  }
3083
3112
 
@@ -3314,11 +3343,11 @@ function reactRecomendedRules() {
3314
3343
  }
3315
3344
  function react(options) {
3316
3345
  const {
3346
+ componentExts,
3317
3347
  parserOptions = {},
3318
- tsconfig,
3319
3348
  react: react2,
3320
3349
  reactRefresh,
3321
- componentExts
3350
+ tsconfig
3322
3351
  } = options ?? {};
3323
3352
  const config = [
3324
3353
  {
@@ -3652,6 +3681,7 @@ function typescriptRulesTypeAware() {
3652
3681
  "@typescript-eslint/no-unnecessary-qualifier": "error",
3653
3682
  "@typescript-eslint/no-unnecessary-type-arguments": "off",
3654
3683
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
3684
+ "@typescript-eslint/no-useless-template-literals": "error",
3655
3685
  "no-throw-literal": "off",
3656
3686
  "@typescript-eslint/no-throw-literal": "error",
3657
3687
  "@typescript-eslint/no-unsafe-argument": "error",
@@ -4061,10 +4091,10 @@ function typescript(options) {
4061
4091
  componentExts = [],
4062
4092
  overrides = {},
4063
4093
  parserOptions = {},
4064
- tsconfig: tsconfigPath,
4065
- typeAware,
4094
+ prefix,
4066
4095
  react: react2,
4067
- prefix
4096
+ tsconfig: tsconfigPath,
4097
+ typeAware
4068
4098
  } = options ?? {};
4069
4099
  const tsPrefix = prefix?.from ?? "@typescript-eslint";
4070
4100
  const tsPrefixTo = prefix?.to ?? "@typescript-eslint";
@@ -4090,19 +4120,19 @@ function typescript(options) {
4090
4120
  }
4091
4121
  },
4092
4122
  {
4093
- name: "jsse:typescript:parser",
4094
4123
  // use ts parser for js files as well!
4095
4124
  files: [GLOB_SRC, ...componentExts.map((ext) => `**/*.${ext}`)],
4096
4125
  languageOptions: typescriptLanguageOptions({
4097
4126
  parserOptions,
4098
4127
  react: react2,
4099
4128
  tsconfig: tsconfigPath
4100
- })
4129
+ }),
4130
+ name: "jsse:typescript:parser"
4101
4131
  },
4102
4132
  {
4103
- name: "jsse:typescript:rules",
4104
4133
  // only apply ts rules to ts files!
4105
4134
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
4135
+ name: "jsse:typescript:rules",
4106
4136
  rules: renameRules(tsrules, tsPrefix, tsPrefixTo)
4107
4137
  },
4108
4138
  {
@@ -4233,6 +4263,18 @@ function unicorn() {
4233
4263
  ];
4234
4264
  }
4235
4265
 
4266
+ // src/configs/perfectionist.ts
4267
+ function perfectionist() {
4268
+ return [
4269
+ {
4270
+ name: "jsse:perfectionist",
4271
+ plugins: {
4272
+ perfectionist: import_eslint_plugin_perfectionist.default
4273
+ }
4274
+ }
4275
+ ];
4276
+ }
4277
+
4236
4278
  // src/factory.ts
4237
4279
  var import_node_fs3 = __toESM(require("fs"), 1);
4238
4280
  var import_eslint_config_flat_gitignore = __toESM(require("eslint-config-flat-gitignore"), 1);
@@ -4243,10 +4285,10 @@ var import_node_fs2 = __toESM(require("fs"), 1);
4243
4285
  var import_promises = __toESM(require("fs/promises"), 1);
4244
4286
  var import_node_process4 = __toESM(require("process"), 1);
4245
4287
 
4246
- // node_modules/.pnpm/acorn@8.10.0/node_modules/acorn/dist/acorn.mjs
4288
+ // node_modules/.pnpm/acorn@8.11.3/node_modules/acorn/dist/acorn.mjs
4247
4289
  var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
4248
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191];
4249
- var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F";
4290
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
4291
+ var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
4250
4292
  var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
4251
4293
  var reservedWords = {
4252
4294
  3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
@@ -4473,8 +4515,9 @@ var hasOwn = Object.hasOwn || function(obj, propName) {
4473
4515
  var isArray = Array.isArray || function(obj) {
4474
4516
  return toString.call(obj) === "[object Array]";
4475
4517
  };
4518
+ var regexpCache = /* @__PURE__ */ Object.create(null);
4476
4519
  function wordsRegexp(words) {
4477
- return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$");
4520
+ return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"));
4478
4521
  }
4479
4522
  function codePointToString(code) {
4480
4523
  if (code <= 65535) {
@@ -4520,11 +4563,11 @@ var defaultOptions = {
4520
4563
  // Can be either `"script"` or `"module"`. This influences global
4521
4564
  // strict mode and parsing of `import` and `export` declarations.
4522
4565
  sourceType: "script",
4523
- // `onInsertedSemicolon` can be a callback that will be called
4524
- // when a semicolon is automatically inserted. It will be passed
4525
- // the position of the comma as an offset, and if `locations` is
4526
- // enabled, it is given the location as a `{line, column}` object
4527
- // as second argument.
4566
+ // `onInsertedSemicolon` can be a callback that will be called when
4567
+ // a semicolon is automatically inserted. It will be passed the
4568
+ // position of the inserted semicolon as an offset, and if
4569
+ // `locations` is enabled, it is given the location as a `{line,
4570
+ // column}` object as second argument.
4528
4571
  onInsertedSemicolon: null,
4529
4572
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
4530
4573
  // trailing commas.
@@ -4577,6 +4620,8 @@ var defaultOptions = {
4577
4620
  // passed, the full `{line, column}` locations of the start and
4578
4621
  // end of the comments. Note that you are not allowed to call the
4579
4622
  // parser from the callback—that will corrupt its internal state.
4623
+ // When this option has an array as value, objects representing the
4624
+ // comments are pushed to it.
4580
4625
  onComment: null,
4581
4626
  // Nodes have their start and end characters offsets recorded in
4582
4627
  // `start` and `end` properties (directly on the node, rather than
@@ -5802,8 +5847,6 @@ pp$8.checkPatternExport = function(exports, pat) {
5802
5847
  this.checkPatternExport(exports, pat.left);
5803
5848
  } else if (type === "RestElement") {
5804
5849
  this.checkPatternExport(exports, pat.argument);
5805
- } else if (type === "ParenthesizedExpression") {
5806
- this.checkPatternExport(exports, pat.expression);
5807
5850
  }
5808
5851
  };
5809
5852
  pp$8.checkVariableExport = function(exports, decls) {
@@ -6280,6 +6323,12 @@ types$1._function.updateContext = types$1._class.updateContext = function(prevTy
6280
6323
  }
6281
6324
  this.exprAllowed = false;
6282
6325
  };
6326
+ types$1.colon.updateContext = function() {
6327
+ if (this.curContext().token === "function") {
6328
+ this.context.pop();
6329
+ }
6330
+ this.exprAllowed = true;
6331
+ };
6283
6332
  types$1.backQuote.updateContext = function() {
6284
6333
  if (this.curContext() === types.q_tmpl) {
6285
6334
  this.context.pop();
@@ -6769,11 +6818,13 @@ pp$5.parseExprImport = function(forNew) {
6769
6818
  if (this.containsEsc) {
6770
6819
  this.raiseRecoverable(this.start, "Escape sequence in keyword import");
6771
6820
  }
6772
- var meta = this.parseIdent(true);
6821
+ this.next();
6773
6822
  if (this.type === types$1.parenL && !forNew) {
6774
6823
  return this.parseDynamicImport(node2);
6775
6824
  } else if (this.type === types$1.dot) {
6776
- node2.meta = meta;
6825
+ var meta = this.startNodeAt(node2.start, node2.loc && node2.loc.start);
6826
+ meta.name = "import";
6827
+ node2.meta = this.finishNode(meta, "Identifier");
6777
6828
  return this.parseImportMeta(node2);
6778
6829
  } else {
6779
6830
  this.unexpected();
@@ -6902,9 +6953,12 @@ pp$5.parseNew = function() {
6902
6953
  this.raiseRecoverable(this.start, "Escape sequence in keyword new");
6903
6954
  }
6904
6955
  var node2 = this.startNode();
6905
- var meta = this.parseIdent(true);
6906
- if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
6907
- node2.meta = meta;
6956
+ this.next();
6957
+ if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
6958
+ var meta = this.startNodeAt(node2.start, node2.loc && node2.loc.start);
6959
+ meta.name = "new";
6960
+ node2.meta = this.finishNode(meta, "Identifier");
6961
+ this.next();
6908
6962
  var containsEsc = this.containsEsc;
6909
6963
  node2.property = this.parseIdent(true);
6910
6964
  if (node2.property.name !== "target") {
@@ -7280,6 +7334,7 @@ pp$5.parseIdentNode = function() {
7280
7334
  if ((node2.name === "class" || node2.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
7281
7335
  this.context.pop();
7282
7336
  }
7337
+ this.type = types$1.name;
7283
7338
  } else {
7284
7339
  this.unexpected();
7285
7340
  }
@@ -9552,7 +9607,7 @@ pp.readWord = function() {
9552
9607
  }
9553
9608
  return this.finishToken(type, word);
9554
9609
  };
9555
- var version = "8.10.0";
9610
+ var version = "8.11.3";
9556
9611
  Parser.acorn = {
9557
9612
  Parser,
9558
9613
  version,
@@ -9580,24 +9635,34 @@ var import_node_module = require("module");
9580
9635
  var import_node_fs = __toESM(require("fs"), 1);
9581
9636
  var import_node_url = require("url");
9582
9637
 
9583
- // node_modules/.pnpm/ufo@1.3.1/node_modules/ufo/dist/index.mjs
9638
+ // node_modules/.pnpm/ufo@1.3.2/node_modules/ufo/dist/index.mjs
9584
9639
  var r = String.fromCharCode;
9585
- var TRAILING_SLASH_RE = /\/$|\/\?/;
9586
- function hasTrailingSlash(input = "", queryParameters = false) {
9587
- if (!queryParameters) {
9640
+ var TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
9641
+ function hasTrailingSlash(input = "", respectQueryAndFragment) {
9642
+ if (!respectQueryAndFragment) {
9588
9643
  return input.endsWith("/");
9589
9644
  }
9590
9645
  return TRAILING_SLASH_RE.test(input);
9591
9646
  }
9592
- function withTrailingSlash(input = "", queryParameters = false) {
9593
- if (!queryParameters) {
9647
+ function withTrailingSlash(input = "", respectQueryAndFragment) {
9648
+ if (!respectQueryAndFragment) {
9594
9649
  return input.endsWith("/") ? input : input + "/";
9595
9650
  }
9596
9651
  if (hasTrailingSlash(input, true)) {
9597
9652
  return input || "/";
9598
9653
  }
9599
- const [s0, ...s] = input.split("?");
9600
- return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "");
9654
+ let path4 = input;
9655
+ let fragment = "";
9656
+ const fragmentIndex = input.indexOf("#");
9657
+ if (fragmentIndex >= 0) {
9658
+ path4 = input.slice(0, fragmentIndex);
9659
+ fragment = input.slice(fragmentIndex);
9660
+ if (!path4) {
9661
+ return fragment;
9662
+ }
9663
+ }
9664
+ const [s0, ...s] = path4.split("?");
9665
+ return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
9601
9666
  }
9602
9667
  function isNonEmptyURL(url) {
9603
9668
  return url && url !== "/";
@@ -9616,7 +9681,7 @@ function joinURL(base, ...input) {
9616
9681
  return url;
9617
9682
  }
9618
9683
 
9619
- // node_modules/.pnpm/pathe@1.1.1/node_modules/pathe/dist/shared/pathe.92c04245.mjs
9684
+ // node_modules/.pnpm/pathe@1.1.2/node_modules/pathe/dist/shared/pathe.ff20891b.mjs
9620
9685
  var _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
9621
9686
  var isAbsolute = function(p) {
9622
9687
  return _IS_ABSOLUTE_RE.test(p);
@@ -11078,7 +11143,7 @@ function jsxStylistic({
11078
11143
  };
11079
11144
  }
11080
11145
  function stylistic(options = {}) {
11081
- const { indent = 2, quotes = "double", jsx = true } = options;
11146
+ const { indent = 2, jsx = true, quotes = "double" } = options;
11082
11147
  return [
11083
11148
  {
11084
11149
  name: "jsse:stylistic",
@@ -11162,19 +11227,19 @@ function normalizeOptions(options = {}) {
11162
11227
  function jsse(options = {}, ...userConfigs) {
11163
11228
  const normalizedOptions = normalizeOptions(options);
11164
11229
  const {
11165
- isInEditor: isInEditor2,
11166
- overrides = {},
11167
11230
  componentExts,
11168
- reportUnusedDisableDirectives,
11169
- tsPrefix,
11170
- typeAware,
11171
- off,
11172
11231
  debug,
11173
- typescript: enableTypeScript,
11174
11232
  gitignore: enableGitignore,
11233
+ isInEditor: isInEditor2,
11234
+ off,
11235
+ overrides = {},
11236
+ prettier: enablePrettier,
11175
11237
  react: enableReact,
11238
+ reportUnusedDisableDirectives,
11176
11239
  stylistic: stylisticOptions,
11177
- prettier: enablePrettier
11240
+ tsPrefix,
11241
+ typeAware,
11242
+ typescript: enableTypeScript
11178
11243
  } = normalizedOptions;
11179
11244
  if (debug) {
11180
11245
  console.log("@jsse/eslint-config debug=true");
@@ -11200,7 +11265,8 @@ function jsse(options = {}, ...userConfigs) {
11200
11265
  imports({
11201
11266
  stylistic: stylisticOptions
11202
11267
  }),
11203
- unicorn()
11268
+ unicorn(),
11269
+ perfectionist()
11204
11270
  );
11205
11271
  if (enableTypeScript) {
11206
11272
  configs.push(
@@ -11327,6 +11393,7 @@ function jsseReact() {
11327
11393
  node,
11328
11394
  parserJsonc,
11329
11395
  parserTs,
11396
+ perfectionist,
11330
11397
  pluginEslintComments,
11331
11398
  pluginImport,
11332
11399
  pluginJsdoc,
@@ -11334,6 +11401,7 @@ function jsseReact() {
11334
11401
  pluginMarkdown,
11335
11402
  pluginNoOnlyTests,
11336
11403
  pluginNode,
11404
+ pluginPerfectionist,
11337
11405
  pluginReact,
11338
11406
  pluginReactHooks,
11339
11407
  pluginReactRefresh,
package/dist/index.d.cts CHANGED
@@ -25,6 +25,7 @@ export { default as pluginTailwind } from 'eslint-plugin-tailwindcss';
25
25
  export { default as pluginVitest } from 'eslint-plugin-vitest';
26
26
  export { default as parserJsonc } from 'jsonc-eslint-parser';
27
27
  export { default as pluginMarkdown } from 'eslint-plugin-markdown';
28
+ export { default as pluginPerfectionist } from 'eslint-plugin-perfectionist';
28
29
 
29
30
  type Rules = MergeIntersection<RenamePrefix<TypeScriptRules, "@typescript-eslint/", "ts/"> & RenamePrefix<VitestRules, "vitest/", "test/"> & RenamePrefix<YmlRules, "yml/", "yaml/"> & RenamePrefix<NRules, "n/", "node/"> & ImportRules & EslintRules & JsoncRules & VueRules & UnicornRules & EslintCommentsRules & {
30
31
  "test/no-only-tests": RuleConfig;
@@ -359,6 +360,13 @@ declare function typescript(options?: OptionsComponentExts & OptionsOverrides &
359
360
 
360
361
  declare function unicorn(): ConfigItem[];
361
362
 
363
+ /**
364
+ * Optional perfectionist plugin for props and items sorting.
365
+ *
366
+ * @see https://github.com/azat-io/eslint-plugin-perfectionist
367
+ */
368
+ declare function perfectionist(): ConfigItem[];
369
+
362
370
  /**
363
371
  * Construct an array of ESLint flat config items.
364
372
  */
@@ -396,4 +404,4 @@ declare function isInEditor(): boolean;
396
404
  declare function jssestd(): ConfigItem[];
397
405
  declare function jsseReact(): ConfigItem[];
398
406
 
399
- export { ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_YAML, OptionsCommon, OptionsComponentExts, OptionsConfig, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsPrefix, OptionsReact, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, Rules, StylisticConfig, combine, comments, jsse as default, eslintConfigPrettierRules, ignores, imports, isCI, isInEditor, javascript, jsdoc, jsonc, jsse, jsseReact, jssestd, node, prettier, react, reactHooks, reactRules, renameRules, sortPackageJson, sortTsconfig, test, typescript, unicorn };
407
+ export { type ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_YAML, type OptionsCommon, type OptionsComponentExts, type OptionsConfig, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsPrefix, type OptionsReact, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type Rules, type StylisticConfig, combine, comments, jsse as default, eslintConfigPrettierRules, ignores, imports, isCI, isInEditor, javascript, jsdoc, jsonc, jsse, jsseReact, jssestd, node, perfectionist, prettier, react, reactHooks, reactRules, renameRules, sortPackageJson, sortTsconfig, test, typescript, unicorn };
package/dist/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export { default as pluginTailwind } from 'eslint-plugin-tailwindcss';
25
25
  export { default as pluginVitest } from 'eslint-plugin-vitest';
26
26
  export { default as parserJsonc } from 'jsonc-eslint-parser';
27
27
  export { default as pluginMarkdown } from 'eslint-plugin-markdown';
28
+ export { default as pluginPerfectionist } from 'eslint-plugin-perfectionist';
28
29
 
29
30
  type Rules = MergeIntersection<RenamePrefix<TypeScriptRules, "@typescript-eslint/", "ts/"> & RenamePrefix<VitestRules, "vitest/", "test/"> & RenamePrefix<YmlRules, "yml/", "yaml/"> & RenamePrefix<NRules, "n/", "node/"> & ImportRules & EslintRules & JsoncRules & VueRules & UnicornRules & EslintCommentsRules & {
30
31
  "test/no-only-tests": RuleConfig;
@@ -359,6 +360,13 @@ declare function typescript(options?: OptionsComponentExts & OptionsOverrides &
359
360
 
360
361
  declare function unicorn(): ConfigItem[];
361
362
 
363
+ /**
364
+ * Optional perfectionist plugin for props and items sorting.
365
+ *
366
+ * @see https://github.com/azat-io/eslint-plugin-perfectionist
367
+ */
368
+ declare function perfectionist(): ConfigItem[];
369
+
362
370
  /**
363
371
  * Construct an array of ESLint flat config items.
364
372
  */
@@ -396,4 +404,4 @@ declare function isInEditor(): boolean;
396
404
  declare function jssestd(): ConfigItem[];
397
405
  declare function jsseReact(): ConfigItem[];
398
406
 
399
- export { ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_YAML, OptionsCommon, OptionsComponentExts, OptionsConfig, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsPrefix, OptionsReact, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, Rules, StylisticConfig, combine, comments, jsse as default, eslintConfigPrettierRules, ignores, imports, isCI, isInEditor, javascript, jsdoc, jsonc, jsse, jsseReact, jssestd, node, prettier, react, reactHooks, reactRules, renameRules, sortPackageJson, sortTsconfig, test, typescript, unicorn };
407
+ export { type ConfigItem, GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TS, GLOB_TSX, GLOB_YAML, type OptionsCommon, type OptionsComponentExts, type OptionsConfig, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsPrefix, type OptionsReact, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type Rules, type StylisticConfig, combine, comments, jsse as default, eslintConfigPrettierRules, ignores, imports, isCI, isInEditor, javascript, jsdoc, jsonc, jsse, jsseReact, jssestd, node, perfectionist, prettier, react, reactHooks, reactRules, renameRules, sortPackageJson, sortTsconfig, test, typescript, unicorn };
package/dist/index.js CHANGED
@@ -334,9 +334,9 @@ var require_eslint_plugin_sort_keys = __commonJS({
334
334
  }
335
335
  });
336
336
 
337
- // node_modules/.pnpm/globals@13.23.0/node_modules/globals/globals.json
337
+ // node_modules/.pnpm/globals@13.24.0/node_modules/globals/globals.json
338
338
  var require_globals = __commonJS({
339
- "node_modules/.pnpm/globals@13.23.0/node_modules/globals/globals.json"(exports, module) {
339
+ "node_modules/.pnpm/globals@13.24.0/node_modules/globals/globals.json"(exports, module) {
340
340
  module.exports = {
341
341
  builtin: {
342
342
  AggregateError: false,
@@ -1438,6 +1438,30 @@ var require_globals = __commonJS({
1438
1438
  XPathEvaluator: false,
1439
1439
  XPathExpression: false,
1440
1440
  XPathResult: false,
1441
+ XRAnchor: false,
1442
+ XRBoundedReferenceSpace: false,
1443
+ XRCPUDepthInformation: false,
1444
+ XRDepthInformation: false,
1445
+ XRFrame: false,
1446
+ XRInputSource: false,
1447
+ XRInputSourceArray: false,
1448
+ XRInputSourceEvent: false,
1449
+ XRInputSourcesChangeEvent: false,
1450
+ XRPose: false,
1451
+ XRReferenceSpace: false,
1452
+ XRReferenceSpaceEvent: false,
1453
+ XRRenderState: false,
1454
+ XRRigidTransform: false,
1455
+ XRSession: false,
1456
+ XRSessionEvent: false,
1457
+ XRSpace: false,
1458
+ XRSystem: false,
1459
+ XRView: false,
1460
+ XRViewerPose: false,
1461
+ XRViewport: false,
1462
+ XRWebGLBinding: false,
1463
+ XRWebGLDepthInformation: false,
1464
+ XRWebGLLayer: false,
1441
1465
  XSLTProcessor: false
1442
1466
  },
1443
1467
  worker: {
@@ -2314,9 +2338,9 @@ var require_globals = __commonJS({
2314
2338
  }
2315
2339
  });
2316
2340
 
2317
- // node_modules/.pnpm/globals@13.23.0/node_modules/globals/index.js
2341
+ // node_modules/.pnpm/globals@13.24.0/node_modules/globals/index.js
2318
2342
  var require_globals2 = __commonJS({
2319
- "node_modules/.pnpm/globals@13.23.0/node_modules/globals/index.js"(exports, module) {
2343
+ "node_modules/.pnpm/globals@13.24.0/node_modules/globals/index.js"(exports, module) {
2320
2344
  "use strict";
2321
2345
  module.exports = require_globals();
2322
2346
  }
@@ -2342,6 +2366,7 @@ import { default as default12 } from "eslint-plugin-tailwindcss";
2342
2366
  import { default as default13 } from "eslint-plugin-vitest";
2343
2367
  import { default as default14 } from "jsonc-eslint-parser";
2344
2368
  import { default as default15 } from "eslint-plugin-markdown";
2369
+ import { default as default16 } from "eslint-plugin-perfectionist";
2345
2370
 
2346
2371
  // src/configs/comments.ts
2347
2372
  function comments() {
@@ -2397,35 +2422,37 @@ var GLOB_ALL_SRC = [
2397
2422
  GLOB_HTML
2398
2423
  ];
2399
2424
  var GLOB_EXCLUDE = [
2400
- "**/node_modules",
2401
- "**/dist",
2402
- "**/package-lock.json",
2403
- "**/yarn.lock",
2404
- "**/pnpm-lock.yaml",
2405
- "**/bun.lockb",
2406
- "**/output",
2407
- "**/out",
2408
- "**/coverage",
2409
- "**/temp",
2410
- "**/.vitepress/cache",
2411
- "**/.nuxt",
2412
- "**/.next",
2413
- "**/.vercel",
2425
+ "**/__snapshots__",
2426
+ "**/.cache",
2414
2427
  "**/.changeset",
2428
+ "**/.history",
2415
2429
  "**/.idea",
2416
- "**/.cache",
2430
+ "**/.next",
2431
+ "**/.nuxt",
2417
2432
  "**/.output",
2433
+ "**/.temp",
2434
+ "**/.tmp",
2435
+ "**/.vercel",
2418
2436
  "**/.vite-inspect",
2419
- "**/CHANGELOG*.md",
2437
+ "**/.vitepress/cache",
2438
+ "**/*.bak",
2420
2439
  "**/*.min.*",
2421
- "**/LICENSE*",
2422
- "**/__snapshots__",
2423
2440
  "**/auto-import?(s).d.ts",
2441
+ "**/bun.lockb",
2442
+ "**/CHANGELOG*.md",
2424
2443
  "**/components.d.ts",
2425
- "**/*.bak",
2444
+ "**/coverage",
2445
+ "**/dist",
2446
+ "**/LICENSE*",
2447
+ "**/node_modules",
2448
+ "**/out",
2449
+ "**/output",
2450
+ "**/package-lock.json",
2451
+ "**/pnpm-lock.yaml",
2426
2452
  "**/scratch",
2453
+ "**/temp",
2427
2454
  "**/tmp",
2428
- "**/temp"
2455
+ "**/yarn.lock"
2429
2456
  ];
2430
2457
 
2431
2458
  // src/configs/ignores.ts
@@ -2760,7 +2787,7 @@ function jsdoc(options = {}) {
2760
2787
 
2761
2788
  // src/configs/jsonc.ts
2762
2789
  function jsonc(options = {}) {
2763
- const { stylistic: stylistic2 = true, overrides = {} } = options;
2790
+ const { overrides = {}, stylistic: stylistic2 = true } = options;
2764
2791
  const { indent = 2 } = typeof stylistic2 === "boolean" ? {} : stylistic2;
2765
2792
  return [
2766
2793
  {
@@ -2983,25 +3010,25 @@ function prettier() {
2983
3010
  import process2 from "process";
2984
3011
  function typescriptLanguageOptions(options) {
2985
3012
  const {
2986
- parserOptions = {},
2987
- tsconfig,
3013
+ componentExts = [],
2988
3014
  react: react2,
2989
- componentExts = []
3015
+ // parserOptionsOverride = {},
3016
+ tsconfig
2990
3017
  } = options || {};
2991
3018
  const tsOptions = tsconfig ? {
2992
3019
  project: Array.isArray(tsconfig) ? tsconfig : [tsconfig],
2993
3020
  tsconfigRootDir: process2.cwd()
2994
3021
  } : {};
3022
+ const parserOptions = {
3023
+ ecmaFeatures: react2 ? { jsx: true, modules: true } : void 0,
3024
+ extraFileExtensions: componentExts.map((ext) => `.${ext}`),
3025
+ sourceType: "module",
3026
+ ...tsOptions,
3027
+ jsxPragma: react2 ? "React" : void 0
3028
+ };
2995
3029
  return {
2996
3030
  parser: parserTs,
2997
- parserOptions: {
2998
- ecmaFeatures: react2 ? { jsx: true, modules: true } : void 0,
2999
- extraFileExtensions: componentExts.map((ext) => `.${ext}`),
3000
- sourceType: "module",
3001
- ...tsOptions,
3002
- ...parserOptions,
3003
- jsxPragma: react2 ? "React" : void 0
3004
- }
3031
+ parserOptions
3005
3032
  };
3006
3033
  }
3007
3034
 
@@ -3238,11 +3265,11 @@ function reactRecomendedRules() {
3238
3265
  }
3239
3266
  function react(options) {
3240
3267
  const {
3268
+ componentExts,
3241
3269
  parserOptions = {},
3242
- tsconfig,
3243
3270
  react: react2,
3244
3271
  reactRefresh,
3245
- componentExts
3272
+ tsconfig
3246
3273
  } = options ?? {};
3247
3274
  const config = [
3248
3275
  {
@@ -3576,6 +3603,7 @@ function typescriptRulesTypeAware() {
3576
3603
  "@typescript-eslint/no-unnecessary-qualifier": "error",
3577
3604
  "@typescript-eslint/no-unnecessary-type-arguments": "off",
3578
3605
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
3606
+ "@typescript-eslint/no-useless-template-literals": "error",
3579
3607
  "no-throw-literal": "off",
3580
3608
  "@typescript-eslint/no-throw-literal": "error",
3581
3609
  "@typescript-eslint/no-unsafe-argument": "error",
@@ -3985,10 +4013,10 @@ function typescript(options) {
3985
4013
  componentExts = [],
3986
4014
  overrides = {},
3987
4015
  parserOptions = {},
3988
- tsconfig: tsconfigPath,
3989
- typeAware,
4016
+ prefix,
3990
4017
  react: react2,
3991
- prefix
4018
+ tsconfig: tsconfigPath,
4019
+ typeAware
3992
4020
  } = options ?? {};
3993
4021
  const tsPrefix = prefix?.from ?? "@typescript-eslint";
3994
4022
  const tsPrefixTo = prefix?.to ?? "@typescript-eslint";
@@ -4014,19 +4042,19 @@ function typescript(options) {
4014
4042
  }
4015
4043
  },
4016
4044
  {
4017
- name: "jsse:typescript:parser",
4018
4045
  // use ts parser for js files as well!
4019
4046
  files: [GLOB_SRC, ...componentExts.map((ext) => `**/*.${ext}`)],
4020
4047
  languageOptions: typescriptLanguageOptions({
4021
4048
  parserOptions,
4022
4049
  react: react2,
4023
4050
  tsconfig: tsconfigPath
4024
- })
4051
+ }),
4052
+ name: "jsse:typescript:parser"
4025
4053
  },
4026
4054
  {
4027
- name: "jsse:typescript:rules",
4028
4055
  // only apply ts rules to ts files!
4029
4056
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
4057
+ name: "jsse:typescript:rules",
4030
4058
  rules: renameRules(tsrules, tsPrefix, tsPrefixTo)
4031
4059
  },
4032
4060
  {
@@ -4157,6 +4185,18 @@ function unicorn() {
4157
4185
  ];
4158
4186
  }
4159
4187
 
4188
+ // src/configs/perfectionist.ts
4189
+ function perfectionist() {
4190
+ return [
4191
+ {
4192
+ name: "jsse:perfectionist",
4193
+ plugins: {
4194
+ perfectionist: default16
4195
+ }
4196
+ }
4197
+ ];
4198
+ }
4199
+
4160
4200
  // src/factory.ts
4161
4201
  import fs2 from "fs";
4162
4202
  import gitignore from "eslint-config-flat-gitignore";
@@ -4165,10 +4205,10 @@ import gitignore from "eslint-config-flat-gitignore";
4165
4205
  import path3, { dirname as dirname3, win32, join as join2 } from "path";
4166
4206
  import process4 from "process";
4167
4207
 
4168
- // node_modules/.pnpm/acorn@8.10.0/node_modules/acorn/dist/acorn.mjs
4208
+ // node_modules/.pnpm/acorn@8.11.3/node_modules/acorn/dist/acorn.mjs
4169
4209
  var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
4170
- var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191];
4171
- var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F";
4210
+ var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
4211
+ var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
4172
4212
  var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
4173
4213
  var reservedWords = {
4174
4214
  3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",
@@ -4395,8 +4435,9 @@ var hasOwn = Object.hasOwn || function(obj, propName) {
4395
4435
  var isArray = Array.isArray || function(obj) {
4396
4436
  return toString.call(obj) === "[object Array]";
4397
4437
  };
4438
+ var regexpCache = /* @__PURE__ */ Object.create(null);
4398
4439
  function wordsRegexp(words) {
4399
- return new RegExp("^(?:" + words.replace(/ /g, "|") + ")$");
4440
+ return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$"));
4400
4441
  }
4401
4442
  function codePointToString(code) {
4402
4443
  if (code <= 65535) {
@@ -4442,11 +4483,11 @@ var defaultOptions = {
4442
4483
  // Can be either `"script"` or `"module"`. This influences global
4443
4484
  // strict mode and parsing of `import` and `export` declarations.
4444
4485
  sourceType: "script",
4445
- // `onInsertedSemicolon` can be a callback that will be called
4446
- // when a semicolon is automatically inserted. It will be passed
4447
- // the position of the comma as an offset, and if `locations` is
4448
- // enabled, it is given the location as a `{line, column}` object
4449
- // as second argument.
4486
+ // `onInsertedSemicolon` can be a callback that will be called when
4487
+ // a semicolon is automatically inserted. It will be passed the
4488
+ // position of the inserted semicolon as an offset, and if
4489
+ // `locations` is enabled, it is given the location as a `{line,
4490
+ // column}` object as second argument.
4450
4491
  onInsertedSemicolon: null,
4451
4492
  // `onTrailingComma` is similar to `onInsertedSemicolon`, but for
4452
4493
  // trailing commas.
@@ -4499,6 +4540,8 @@ var defaultOptions = {
4499
4540
  // passed, the full `{line, column}` locations of the start and
4500
4541
  // end of the comments. Note that you are not allowed to call the
4501
4542
  // parser from the callback—that will corrupt its internal state.
4543
+ // When this option has an array as value, objects representing the
4544
+ // comments are pushed to it.
4502
4545
  onComment: null,
4503
4546
  // Nodes have their start and end characters offsets recorded in
4504
4547
  // `start` and `end` properties (directly on the node, rather than
@@ -5724,8 +5767,6 @@ pp$8.checkPatternExport = function(exports, pat) {
5724
5767
  this.checkPatternExport(exports, pat.left);
5725
5768
  } else if (type === "RestElement") {
5726
5769
  this.checkPatternExport(exports, pat.argument);
5727
- } else if (type === "ParenthesizedExpression") {
5728
- this.checkPatternExport(exports, pat.expression);
5729
5770
  }
5730
5771
  };
5731
5772
  pp$8.checkVariableExport = function(exports, decls) {
@@ -6202,6 +6243,12 @@ types$1._function.updateContext = types$1._class.updateContext = function(prevTy
6202
6243
  }
6203
6244
  this.exprAllowed = false;
6204
6245
  };
6246
+ types$1.colon.updateContext = function() {
6247
+ if (this.curContext().token === "function") {
6248
+ this.context.pop();
6249
+ }
6250
+ this.exprAllowed = true;
6251
+ };
6205
6252
  types$1.backQuote.updateContext = function() {
6206
6253
  if (this.curContext() === types.q_tmpl) {
6207
6254
  this.context.pop();
@@ -6691,11 +6738,13 @@ pp$5.parseExprImport = function(forNew) {
6691
6738
  if (this.containsEsc) {
6692
6739
  this.raiseRecoverable(this.start, "Escape sequence in keyword import");
6693
6740
  }
6694
- var meta = this.parseIdent(true);
6741
+ this.next();
6695
6742
  if (this.type === types$1.parenL && !forNew) {
6696
6743
  return this.parseDynamicImport(node2);
6697
6744
  } else if (this.type === types$1.dot) {
6698
- node2.meta = meta;
6745
+ var meta = this.startNodeAt(node2.start, node2.loc && node2.loc.start);
6746
+ meta.name = "import";
6747
+ node2.meta = this.finishNode(meta, "Identifier");
6699
6748
  return this.parseImportMeta(node2);
6700
6749
  } else {
6701
6750
  this.unexpected();
@@ -6824,9 +6873,12 @@ pp$5.parseNew = function() {
6824
6873
  this.raiseRecoverable(this.start, "Escape sequence in keyword new");
6825
6874
  }
6826
6875
  var node2 = this.startNode();
6827
- var meta = this.parseIdent(true);
6828
- if (this.options.ecmaVersion >= 6 && this.eat(types$1.dot)) {
6829
- node2.meta = meta;
6876
+ this.next();
6877
+ if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) {
6878
+ var meta = this.startNodeAt(node2.start, node2.loc && node2.loc.start);
6879
+ meta.name = "new";
6880
+ node2.meta = this.finishNode(meta, "Identifier");
6881
+ this.next();
6830
6882
  var containsEsc = this.containsEsc;
6831
6883
  node2.property = this.parseIdent(true);
6832
6884
  if (node2.property.name !== "target") {
@@ -7202,6 +7254,7 @@ pp$5.parseIdentNode = function() {
7202
7254
  if ((node2.name === "class" || node2.name === "function") && (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) {
7203
7255
  this.context.pop();
7204
7256
  }
7257
+ this.type = types$1.name;
7205
7258
  } else {
7206
7259
  this.unexpected();
7207
7260
  }
@@ -9474,7 +9527,7 @@ pp.readWord = function() {
9474
9527
  }
9475
9528
  return this.finishToken(type, word);
9476
9529
  };
9477
- var version = "8.10.0";
9530
+ var version = "8.11.3";
9478
9531
  Parser.acorn = {
9479
9532
  Parser,
9480
9533
  version,
@@ -9502,24 +9555,34 @@ import { builtinModules, createRequire } from "module";
9502
9555
  import fs, { realpathSync, statSync, Stats, promises, existsSync } from "fs";
9503
9556
  import { fileURLToPath as fileURLToPath$1, URL as URL$1, pathToFileURL } from "url";
9504
9557
 
9505
- // node_modules/.pnpm/ufo@1.3.1/node_modules/ufo/dist/index.mjs
9558
+ // node_modules/.pnpm/ufo@1.3.2/node_modules/ufo/dist/index.mjs
9506
9559
  var r = String.fromCharCode;
9507
- var TRAILING_SLASH_RE = /\/$|\/\?/;
9508
- function hasTrailingSlash(input = "", queryParameters = false) {
9509
- if (!queryParameters) {
9560
+ var TRAILING_SLASH_RE = /\/$|\/\?|\/#/;
9561
+ function hasTrailingSlash(input = "", respectQueryAndFragment) {
9562
+ if (!respectQueryAndFragment) {
9510
9563
  return input.endsWith("/");
9511
9564
  }
9512
9565
  return TRAILING_SLASH_RE.test(input);
9513
9566
  }
9514
- function withTrailingSlash(input = "", queryParameters = false) {
9515
- if (!queryParameters) {
9567
+ function withTrailingSlash(input = "", respectQueryAndFragment) {
9568
+ if (!respectQueryAndFragment) {
9516
9569
  return input.endsWith("/") ? input : input + "/";
9517
9570
  }
9518
9571
  if (hasTrailingSlash(input, true)) {
9519
9572
  return input || "/";
9520
9573
  }
9521
- const [s0, ...s] = input.split("?");
9522
- return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "");
9574
+ let path4 = input;
9575
+ let fragment = "";
9576
+ const fragmentIndex = input.indexOf("#");
9577
+ if (fragmentIndex >= 0) {
9578
+ path4 = input.slice(0, fragmentIndex);
9579
+ fragment = input.slice(fragmentIndex);
9580
+ if (!path4) {
9581
+ return fragment;
9582
+ }
9583
+ }
9584
+ const [s0, ...s] = path4.split("?");
9585
+ return s0 + "/" + (s.length > 0 ? `?${s.join("?")}` : "") + fragment;
9523
9586
  }
9524
9587
  function isNonEmptyURL(url) {
9525
9588
  return url && url !== "/";
@@ -9538,7 +9601,7 @@ function joinURL(base, ...input) {
9538
9601
  return url;
9539
9602
  }
9540
9603
 
9541
- // node_modules/.pnpm/pathe@1.1.1/node_modules/pathe/dist/shared/pathe.92c04245.mjs
9604
+ // node_modules/.pnpm/pathe@1.1.2/node_modules/pathe/dist/shared/pathe.ff20891b.mjs
9542
9605
  var _IS_ABSOLUTE_RE = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/;
9543
9606
  var isAbsolute = function(p) {
9544
9607
  return _IS_ABSOLUTE_RE.test(p);
@@ -10999,7 +11062,7 @@ function jsxStylistic({
10999
11062
  };
11000
11063
  }
11001
11064
  function stylistic(options = {}) {
11002
- const { indent = 2, quotes = "double", jsx = true } = options;
11065
+ const { indent = 2, jsx = true, quotes = "double" } = options;
11003
11066
  return [
11004
11067
  {
11005
11068
  name: "jsse:stylistic",
@@ -11083,19 +11146,19 @@ function normalizeOptions(options = {}) {
11083
11146
  function jsse(options = {}, ...userConfigs) {
11084
11147
  const normalizedOptions = normalizeOptions(options);
11085
11148
  const {
11086
- isInEditor: isInEditor2,
11087
- overrides = {},
11088
11149
  componentExts,
11089
- reportUnusedDisableDirectives,
11090
- tsPrefix,
11091
- typeAware,
11092
- off,
11093
11150
  debug,
11094
- typescript: enableTypeScript,
11095
11151
  gitignore: enableGitignore,
11152
+ isInEditor: isInEditor2,
11153
+ off,
11154
+ overrides = {},
11155
+ prettier: enablePrettier,
11096
11156
  react: enableReact,
11157
+ reportUnusedDisableDirectives,
11097
11158
  stylistic: stylisticOptions,
11098
- prettier: enablePrettier
11159
+ tsPrefix,
11160
+ typeAware,
11161
+ typescript: enableTypeScript
11099
11162
  } = normalizedOptions;
11100
11163
  if (debug) {
11101
11164
  console.log("@jsse/eslint-config debug=true");
@@ -11121,7 +11184,8 @@ function jsse(options = {}, ...userConfigs) {
11121
11184
  imports({
11122
11185
  stylistic: stylisticOptions
11123
11186
  }),
11124
- unicorn()
11187
+ unicorn(),
11188
+ perfectionist()
11125
11189
  );
11126
11190
  if (enableTypeScript) {
11127
11191
  configs.push(
@@ -11248,6 +11312,7 @@ export {
11248
11312
  node,
11249
11313
  default14 as parserJsonc,
11250
11314
  parserTs,
11315
+ perfectionist,
11251
11316
  default4 as pluginEslintComments,
11252
11317
  pluginImport,
11253
11318
  default5 as pluginJsdoc,
@@ -11255,6 +11320,7 @@ export {
11255
11320
  default15 as pluginMarkdown,
11256
11321
  default7 as pluginNoOnlyTests,
11257
11322
  default6 as pluginNode,
11323
+ default16 as pluginPerfectionist,
11258
11324
  default8 as pluginReact,
11259
11325
  default9 as pluginReactHooks,
11260
11326
  pluginReactRefresh,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.0.10",
4
+ "version": "0.1.0",
5
5
  "packageManager": "pnpm@8.8.0",
6
6
  "description": "jsse eslint config",
7
7
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
@@ -35,58 +35,59 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@antfu/eslint-define-config": "1.23.0-2",
38
- "@eslint/js": "~8.52.0",
39
- "@stylistic/eslint-plugin": "0.1.1",
40
- "@typescript-eslint/eslint-plugin": "^6.9.0",
41
- "@typescript-eslint/parser": "^6.9.0",
38
+ "@eslint/js": "~8.56.0",
39
+ "@stylistic/eslint-plugin": "1.5.4",
40
+ "@typescript-eslint/eslint-plugin": "^6.16.0",
41
+ "@typescript-eslint/parser": "^6.16.0",
42
42
  "eslint-config-flat-gitignore": "^0.1.1",
43
- "eslint-define-config": "^1.24.1",
44
- "eslint-plugin-antfu": "1.0.1",
43
+ "eslint-define-config": "^2.0.0",
44
+ "eslint-plugin-antfu": "2.1.1",
45
45
  "eslint-plugin-eslint-comments": "^3.2.0",
46
- "eslint-plugin-i": "^2.28.1",
47
- "eslint-plugin-jsdoc": "^46.8.2",
48
- "eslint-plugin-jsonc": "^2.10.0",
46
+ "eslint-plugin-i": "^2.29.1",
47
+ "eslint-plugin-jsdoc": "^48.0.2",
48
+ "eslint-plugin-jsonc": "^2.11.2",
49
49
  "eslint-plugin-markdown": "^3.0.1",
50
- "eslint-plugin-n": "^16.2.0",
50
+ "eslint-plugin-n": "^16.5.0",
51
51
  "eslint-plugin-no-only-tests": "^3.1.0",
52
+ "eslint-plugin-perfectionist": "^2.3.0",
52
53
  "eslint-plugin-react": "~7.33.2",
53
54
  "eslint-plugin-react-hooks": "~4.6.0",
54
- "eslint-plugin-react-refresh": "~0.4.3",
55
+ "eslint-plugin-react-refresh": "~0.4.5",
55
56
  "eslint-plugin-tailwindcss": "^3.13.0",
56
- "eslint-plugin-unicorn": "^48.0.1",
57
+ "eslint-plugin-unicorn": "^50.0.1",
57
58
  "eslint-plugin-unused-imports": "^3.0.0",
58
- "eslint-plugin-vitest": "^0.3.8",
59
+ "eslint-plugin-vitest": "^0.3.20",
59
60
  "eslint-plugin-yml": "^1.10.0",
60
61
  "jsonc-eslint-parser": "^2.4.0",
61
62
  "yaml-eslint-parser": "^1.2.2"
62
63
  },
63
64
  "optionalDependencies": {
64
- "tailwindcss": "^3.3.4"
65
+ "tailwindcss": "^3.4.0"
65
66
  },
66
67
  "devDependencies": {
67
68
  "@antfu/ni": "^0.21.8",
68
- "@types/eslint": "^8.44.6",
69
+ "@types/eslint": "^8.56.0",
69
70
  "@types/eslint__js": "~8.42.2",
70
71
  "@types/fs-extra": "^11.0.3",
71
- "@types/node": "^20.8.8",
72
- "bumpp": "^9.2.0",
72
+ "@types/node": "^20.10.5",
73
+ "bumpp": "^9.2.1",
73
74
  "cac": "^6.7.14",
74
- "eslint": "^8.52.0",
75
+ "eslint": "^8.56.0",
75
76
  "eslint-flat-config-viewer": "^0.1.0",
76
77
  "eslint-plugin-sort-keys": "^2.3.5",
77
78
  "execa": "~8.0.1",
78
79
  "fast-glob": "^3.3.1",
79
80
  "fs-extra": "^11.1.1",
80
- "globals": "^13.23.0",
81
+ "globals": "^13.24.0",
81
82
  "local-pkg": "^0.5.0",
82
83
  "microdiff": "~1.3.2",
83
- "prettier": "^3.0.3",
84
+ "prettier": "^3.1.1",
84
85
  "react": "~18.2.0",
85
86
  "rimraf": "^5.0.5",
86
- "tsup": "^7.2.0",
87
- "tsx": "^3.14.0",
87
+ "tsup": "^8.0.1",
88
+ "tsx": "^4.7.0",
88
89
  "typescript": "^5.2.2",
89
- "vitest": "^0.34.6"
90
+ "vitest": "^1.1.0"
90
91
  },
91
92
  "scripts": {
92
93
  "build": "pnpm typecheck && pnpm fmtc && pnpm build-fast --dts && eslint .",