@alextheman/eslint-plugin 5.5.1 → 5.6.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/index.js CHANGED
@@ -2,7 +2,7 @@ import { DataError, camelToKebab, deepCopy, deepFreeze, normalizeImportPath, omi
2
2
  import { AST_NODE_TYPES, ESLintUtils } from "@typescript-eslint/utils";
3
3
  import z from "zod";
4
4
  import js from "@eslint/js";
5
- import prettierConfig from "eslint-config-prettier";
5
+ import prettierConfig$1 from "eslint-config-prettier";
6
6
  import importPlugin from "eslint-plugin-import";
7
7
  import nodePlugin from "eslint-plugin-n";
8
8
  import perfectionist from "eslint-plugin-perfectionist";
@@ -15,9 +15,10 @@ import reactPlugin from "eslint-plugin-react";
15
15
  import reactRefresh from "eslint-plugin-react-refresh";
16
16
  import reactHooksPlugin from "eslint-plugin-react-hooks";
17
17
  import packageJson from "eslint-plugin-package-json";
18
+ import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
18
19
  import jsdoc from "eslint-plugin-jsdoc";
19
20
 
20
- //#region rolldown:runtime
21
+ //#region \0rolldown/runtime.js
21
22
  var __create = Object.create;
22
23
  var __defProp = Object.defineProperty;
23
24
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -45,7 +46,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
45
46
  }) : target, mod));
46
47
 
47
48
  //#endregion
48
- //#region node_modules/.pnpm/globals@17.2.0/node_modules/globals/globals.json
49
+ //#region node_modules/.pnpm/globals@17.3.0/node_modules/globals/globals.json
49
50
  var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
50
51
  module.exports = {
51
52
  "amd": {
@@ -487,6 +488,7 @@ var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
487
488
  "HTMLFormElement": false,
488
489
  "HTMLFrameElement": false,
489
490
  "HTMLFrameSetElement": false,
491
+ "HTMLGeolocationElement": false,
490
492
  "HTMLHeadElement": false,
491
493
  "HTMLHeadingElement": false,
492
494
  "HTMLHRElement": false,
@@ -1279,6 +1281,7 @@ var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1279
1281
  "XRView": false,
1280
1282
  "XRViewerPose": false,
1281
1283
  "XRViewport": false,
1284
+ "XRVisibilityMaskChangeEvent": false,
1282
1285
  "XRWebGLBinding": false,
1283
1286
  "XRWebGLDepthInformation": false,
1284
1287
  "XRWebGLLayer": false,
@@ -1525,6 +1528,8 @@ var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1525
1528
  "GPUColorWrite": false,
1526
1529
  "GPUCommandBuffer": false,
1527
1530
  "GPUCommandEncoder": false,
1531
+ "GPUCompilationInfo": false,
1532
+ "GPUCompilationMessage": false,
1528
1533
  "GPUComputePassEncoder": false,
1529
1534
  "GPUComputePipeline": false,
1530
1535
  "GPUDevice": false,
@@ -1573,6 +1578,8 @@ var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1573
1578
  "PerformanceEntry": false,
1574
1579
  "PerformanceMark": false,
1575
1580
  "PerformanceMeasure": false,
1581
+ "PerformanceObserver": false,
1582
+ "PerformanceObserverEntryList": false,
1576
1583
  "process": false,
1577
1584
  "ProgressEvent": false,
1578
1585
  "PromiseRejectionEvent": false,
@@ -4057,7 +4064,7 @@ var require_globals$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4057
4064
  }));
4058
4065
 
4059
4066
  //#endregion
4060
- //#region node_modules/.pnpm/globals@17.2.0/node_modules/globals/index.js
4067
+ //#region node_modules/.pnpm/globals@17.3.0/node_modules/globals/index.js
4061
4068
  var require_globals = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4062
4069
  module.exports = require_globals$1();
4063
4070
  }));
@@ -4069,7 +4076,6 @@ const generalRestrictedImports = { patterns: [{
4069
4076
  group: ["node_modules"],
4070
4077
  message: "Do not import directly from node_modules."
4071
4078
  }] };
4072
- var generalRestrictedImports_default = generalRestrictedImports;
4073
4079
 
4074
4080
  //#endregion
4075
4081
  //#region src/utility/public/checkCallExpression.ts
@@ -4087,7 +4093,6 @@ var generalRestrictedImports_default = generalRestrictedImports;
4087
4093
  function checkCallExpression(node, objectName, propertyName) {
4088
4094
  return node.callee.type === AST_NODE_TYPES.MemberExpression && node.callee.object.type === AST_NODE_TYPES.Identifier && node.callee.object.name === objectName && node.callee.property.type === AST_NODE_TYPES.Identifier && node.callee.property.name === propertyName;
4089
4095
  }
4090
- var checkCallExpression_default = checkCallExpression;
4091
4096
 
4092
4097
  //#endregion
4093
4098
  //#region src/utility/public/combineRestrictedImports.ts
@@ -4115,7 +4120,6 @@ function combineRestrictedImports(...groups) {
4115
4120
  if (combinedGroup.patterns.length === 0) return omitProperties(combinedGroup, "patterns");
4116
4121
  return combinedGroup;
4117
4122
  }
4118
- var combineRestrictedImports_default = combineRestrictedImports;
4119
4123
 
4120
4124
  //#endregion
4121
4125
  //#region src/utility/public/createRuleSchemaFromZodSchema.ts
@@ -4131,7 +4135,6 @@ var combineRestrictedImports_default = combineRestrictedImports;
4131
4135
  function createRuleSchemaFromZodSchema(schema) {
4132
4136
  return [omitProperties(z.toJSONSchema(schema), "$schema")];
4133
4137
  }
4134
- var createRuleSchemaFromZodSchema_default = createRuleSchemaFromZodSchema;
4135
4138
 
4136
4139
  //#endregion
4137
4140
  //#region src/utility/public/fixOnCondition.ts
@@ -4151,7 +4154,6 @@ function fixOnCondition(fixable, fix) {
4151
4154
  return fix(fixer);
4152
4155
  };
4153
4156
  }
4154
- var fixOnCondition_default = fixOnCondition;
4155
4157
 
4156
4158
  //#endregion
4157
4159
  //#region src/utility/private/camelToKebab.ts
@@ -4159,16 +4161,14 @@ function camelToKebab$1(string) {
4159
4161
  if (string[0] === string[0].toUpperCase()) throw new DataError(string, "CAMEL_TO_KEBAB_CONVERSION_ERROR", "camelCase string must start with a lowercase letter.");
4160
4162
  return camelToKebab(string, { preserveConsecutiveCapitals: false });
4161
4163
  }
4162
- var camelToKebab_default = camelToKebab$1;
4163
4164
 
4164
4165
  //#endregion
4165
4166
  //#region src/utility/private/createConfigGroup.ts
4166
4167
  function createConfigGroup(group, configs) {
4167
4168
  const newConfigs = {};
4168
- for (const key in configs) newConfigs[`${camelToKebab_default(group)}/${camelToKebab_default(key)}`] = configs[key];
4169
+ for (const key in configs) newConfigs[`${camelToKebab$1(group)}/${camelToKebab$1(key)}`] = configs[key];
4169
4170
  return newConfigs;
4170
4171
  }
4171
- var createConfigGroup_default = createConfigGroup;
4172
4172
 
4173
4173
  //#endregion
4174
4174
  //#region src/utility/public/flattenConfigs.ts
@@ -4211,10 +4211,9 @@ var createConfigGroup_default = createConfigGroup;
4211
4211
  */
4212
4212
  function flattenConfigs(config) {
4213
4213
  const allConfigs = {};
4214
- for (const configGroupEntries of Object.entries(config)) Object.assign(allConfigs, createConfigGroup_default(...configGroupEntries));
4214
+ for (const configGroupEntries of Object.entries(config)) Object.assign(allConfigs, createConfigGroup(...configGroupEntries));
4215
4215
  return allConfigs;
4216
4216
  }
4217
- var flattenConfigs_default = flattenConfigs;
4218
4217
 
4219
4218
  //#endregion
4220
4219
  //#region src/utility/public/getImportSpecifiersAfterRemoving.ts
@@ -4240,26 +4239,24 @@ function getImportSpecifiersAfterRemoving(context, specifiers, importToRemove) {
4240
4239
  return context.sourceCode.getText(specifier);
4241
4240
  }).join(", ");
4242
4241
  }
4243
- var getImportSpecifiersAfterRemoving_default = getImportSpecifiersAfterRemoving;
4244
4242
 
4245
4243
  //#endregion
4246
4244
  //#region src/configs/helpers/restrictedImports/testsRestrictedImports.ts
4247
- const testsRestrictedImports = combineRestrictedImports_default(generalRestrictedImports_default, { paths: [{
4245
+ const testsRestrictedImports = combineRestrictedImports(generalRestrictedImports, { paths: [{
4248
4246
  message: "Use test functions from vitest instead.",
4249
4247
  name: "node:test"
4250
4248
  }] });
4251
- var testsRestrictedImports_default = testsRestrictedImports;
4252
4249
 
4253
4250
  //#endregion
4254
- //#region src/configs/personal/tests.ts
4255
- const personalTests = [{
4251
+ //#region src/configs/internal/tests.ts
4252
+ const internalTests = [{
4256
4253
  files: ["**/*.test.{js,ts}"],
4257
4254
  languageOptions: { globals: {
4258
4255
  ...import_globals.default.node,
4259
4256
  ...import_globals.default.browser,
4260
4257
  ...import_globals.default.vitest
4261
4258
  } },
4262
- name: "@alextheman/personal/tests",
4259
+ name: "@alextheman/internal/tests",
4263
4260
  rules: {
4264
4261
  "no-restricted-globals": [
4265
4262
  "error",
@@ -4276,10 +4273,9 @@ const personalTests = [{
4276
4273
  name: "expect"
4277
4274
  }
4278
4275
  ],
4279
- "no-restricted-imports": ["error", testsRestrictedImports_default]
4276
+ "no-restricted-imports": ["error", testsRestrictedImports]
4280
4277
  }
4281
4278
  }];
4282
- var tests_default$2 = personalTests;
4283
4279
 
4284
4280
  //#endregion
4285
4281
  //#region src/configs/plugin/base.ts
@@ -4294,7 +4290,6 @@ function pluginBase(plugin) {
4294
4290
  }
4295
4291
  }];
4296
4292
  }
4297
- var base_default = pluginBase;
4298
4293
 
4299
4294
  //#endregion
4300
4295
  //#region src/configs/plugin/tests.ts
@@ -4310,18 +4305,16 @@ function pluginTests(plugin) {
4310
4305
  }
4311
4306
  }];
4312
4307
  }
4313
- var tests_default$1 = pluginTests;
4314
4308
 
4315
4309
  //#endregion
4316
4310
  //#region src/configs/combined/tests.ts
4317
4311
  function combinedTests(plugin) {
4318
4312
  return [
4319
4313
  { name: "@alextheman/combined/tests" },
4320
- ...tests_default$1(plugin),
4321
- ...tests_default$2
4314
+ ...pluginTests(plugin),
4315
+ ...internalTests
4322
4316
  ];
4323
4317
  }
4324
- var tests_default = combinedTests;
4325
4318
 
4326
4319
  //#endregion
4327
4320
  //#region src/configs/helpers/javaScriptLanguageOptions.ts
@@ -4330,7 +4323,6 @@ const javaScriptLanguageOptions = { globals: {
4330
4323
  ...import_globals.default.browser,
4331
4324
  ...import_globals.default.vitest
4332
4325
  } };
4333
- var javaScriptLanguageOptions_default = javaScriptLanguageOptions;
4334
4326
 
4335
4327
  //#endregion
4336
4328
  //#region src/configs/helpers/unusedVarsIgnorePatterns.ts
@@ -4339,13 +4331,12 @@ const unusedVarsIgnorePatterns = {
4339
4331
  caughtErrorsIgnorePattern: "^_",
4340
4332
  varsIgnorePattern: "^_"
4341
4333
  };
4342
- var unusedVarsIgnorePatterns_default = unusedVarsIgnorePatterns;
4343
4334
 
4344
4335
  //#endregion
4345
4336
  //#region src/configs/general/javaScript.ts
4346
4337
  const generalJavaScript = [
4347
4338
  js.configs.recommended,
4348
- prettierConfig,
4339
+ prettierConfig$1,
4349
4340
  nodePlugin.configs["flat/recommended"],
4350
4341
  {
4351
4342
  files: [
@@ -4355,7 +4346,7 @@ const generalJavaScript = [
4355
4346
  "**/*.tsx"
4356
4347
  ],
4357
4348
  ignores: ["dist"],
4358
- languageOptions: javaScriptLanguageOptions_default,
4349
+ languageOptions: javaScriptLanguageOptions,
4359
4350
  name: "@alextheman/general/javascript",
4360
4351
  plugins: {
4361
4352
  import: importPlugin,
@@ -4389,9 +4380,9 @@ const generalJavaScript = [
4389
4380
  "no-lonely-if": "error",
4390
4381
  "no-new-wrappers": "error",
4391
4382
  "no-param-reassign": "error",
4392
- "no-restricted-imports": ["error", generalRestrictedImports_default],
4383
+ "no-restricted-imports": ["error", generalRestrictedImports],
4393
4384
  "no-undef": "error",
4394
- "no-unused-vars": ["error", unusedVarsIgnorePatterns_default],
4385
+ "no-unused-vars": ["error", unusedVarsIgnorePatterns],
4395
4386
  "no-useless-rename": "error",
4396
4387
  "no-useless-return": "error",
4397
4388
  "prefer-const": "error"
@@ -4399,12 +4390,10 @@ const generalJavaScript = [
4399
4390
  settings: { "import/resolver": { node: true } }
4400
4391
  }
4401
4392
  ];
4402
- var javaScript_default$1 = generalJavaScript;
4403
4393
 
4404
4394
  //#endregion
4405
4395
  //#region src/configs/external/prettierConfig.ts
4406
- const prettierConfig$1 = { printWidth: 100 };
4407
- var prettierConfig_default = prettierConfig$1;
4396
+ const prettierConfig = { printWidth: 100 };
4408
4397
 
4409
4398
  //#endregion
4410
4399
  //#region src/configs/external/typeDocConfig.ts
@@ -4430,7 +4419,6 @@ function typeDocConfig(entryPoints = ["./src/index.ts"]) {
4430
4419
  plugin: ["typedoc-plugin-markdown", "typedoc-rhineai-theme"]
4431
4420
  };
4432
4421
  }
4433
- var typeDocConfig_default = typeDocConfig;
4434
4422
 
4435
4423
  //#endregion
4436
4424
  //#region src/configs/external/vitestConfig.ts
@@ -4444,7 +4432,6 @@ function vitestConfig(environment = "jsdom") {
4444
4432
  }
4445
4433
  });
4446
4434
  }
4447
- var vitestConfig_default = vitestConfig;
4448
4435
 
4449
4436
  //#endregion
4450
4437
  //#region src/configs/helpers/reactLanguageOptions.ts
@@ -4453,7 +4440,6 @@ const reactLanguageOptions = {
4453
4440
  globals: import_globals.default.browser,
4454
4441
  parserOptions: { ecmaFeatures: { jsx: true } }
4455
4442
  };
4456
- var reactLanguageOptions_default = reactLanguageOptions;
4457
4443
 
4458
4444
  //#endregion
4459
4445
  //#region src/configs/helpers/typeScriptLanguageOptions.ts
@@ -4466,7 +4452,6 @@ const typeScriptLanguageOptions = {
4466
4452
  tsconfigRootDir: process.cwd()
4467
4453
  }
4468
4454
  };
4469
- var typeScriptLanguageOptions_default = typeScriptLanguageOptions;
4470
4455
 
4471
4456
  //#endregion
4472
4457
  //#region src/configs/helpers/sorting/sortClasses.ts
@@ -4494,7 +4479,6 @@ const sortClasses = {
4494
4479
  specialCharacters: "keep",
4495
4480
  type: "alphabetical"
4496
4481
  };
4497
- var sortClasses_default = sortClasses;
4498
4482
 
4499
4483
  //#endregion
4500
4484
  //#region src/configs/helpers/sorting/sortExports.ts
@@ -4515,7 +4499,6 @@ const sortExports = {
4515
4499
  specialCharacters: "keep",
4516
4500
  type: "alphabetical"
4517
4501
  };
4518
- var sortExports_default = sortExports;
4519
4502
 
4520
4503
  //#endregion
4521
4504
  //#region src/configs/helpers/sorting/sortImports.ts
@@ -4555,7 +4538,6 @@ const sortImports = {
4555
4538
  specialCharacters: "keep",
4556
4539
  type: "alphabetical"
4557
4540
  };
4558
- var sortImports_default = sortImports;
4559
4541
 
4560
4542
  //#endregion
4561
4543
  //#region src/configs/helpers/sorting/sortObjects.ts
@@ -4573,7 +4555,15 @@ const sortObjects = {
4573
4555
  type: "alphabetical",
4574
4556
  useConfigurationIf: {}
4575
4557
  };
4576
- var sortObjects_default = sortObjects;
4558
+
4559
+ //#endregion
4560
+ //#region src/configs/helpers/restrictedImports/personalRestrictedImports.ts
4561
+ const personalRestrictedImports = combineRestrictedImports(generalRestrictedImports, { paths: [...["fs", "node:fs"].map((name) => {
4562
+ return {
4563
+ message: "Please use node:fs/promises instead.",
4564
+ name
4565
+ };
4566
+ })] });
4577
4567
 
4578
4568
  //#endregion
4579
4569
  //#region src/configs/helpers/sorting/sortNamedImports.ts
@@ -4589,11 +4579,10 @@ const sortNamedImports = {
4589
4579
  specialCharacters: "keep",
4590
4580
  type: "alphabetical"
4591
4581
  };
4592
- var sortNamedImports_default = sortNamedImports;
4593
4582
 
4594
4583
  //#endregion
4595
- //#region src/configs/personal/javaScriptBase.ts
4596
- function personalJavaScript(plugin) {
4584
+ //#region src/configs/internal/javaScript.ts
4585
+ function internalJavaScript(plugin) {
4597
4586
  return [{
4598
4587
  files: [
4599
4588
  "**/*.js",
@@ -4601,8 +4590,8 @@ function personalJavaScript(plugin) {
4601
4590
  "**/*.ts",
4602
4591
  "**/*.tsx"
4603
4592
  ],
4604
- languageOptions: javaScriptLanguageOptions_default,
4605
- name: "@alextheman/personal/javascript",
4593
+ languageOptions: javaScriptLanguageOptions,
4594
+ name: "@alextheman/internal/javascript",
4606
4595
  plugins: {
4607
4596
  "@alextheman": plugin,
4608
4597
  import: importPlugin,
@@ -4621,15 +4610,16 @@ function personalJavaScript(plugin) {
4621
4610
  "import/consistent-type-specifier-style": ["error", "prefer-top-level"],
4622
4611
  "no-else-return": "error",
4623
4612
  "no-implicit-coercion": ["error", { allow: ["!!"] }],
4613
+ "no-restricted-imports": ["error", personalRestrictedImports],
4624
4614
  "operator-assignment": ["error", "always"],
4625
- "perfectionist/sort-classes": ["error", sortClasses_default],
4626
- "perfectionist/sort-exports": ["error", sortExports_default],
4627
- "perfectionist/sort-imports": ["error", sortImports_default],
4628
- "perfectionist/sort-named-imports": ["error", sortNamedImports_default],
4615
+ "perfectionist/sort-classes": ["error", sortClasses],
4616
+ "perfectionist/sort-exports": ["error", sortExports],
4617
+ "perfectionist/sort-imports": ["error", sortImports],
4618
+ "perfectionist/sort-named-imports": ["error", sortNamedImports],
4629
4619
  "prefer-arrow-callback": ["error", { allowNamedFunctions: false }],
4630
4620
  "prefer-destructuring": "error",
4631
4621
  "prefer-template": "error",
4632
- "prettier/prettier": ["warn", prettierConfig_default],
4622
+ "prettier/prettier": ["warn", prettierConfig],
4633
4623
  "sort-vars": "error"
4634
4624
  }
4635
4625
  }, {
@@ -4637,20 +4627,18 @@ function personalJavaScript(plugin) {
4637
4627
  rules: { "@alextheman/no-relative-imports": ["error", { depth: 0 }] }
4638
4628
  }];
4639
4629
  }
4640
- var javaScriptBase_default = personalJavaScript;
4641
4630
 
4642
4631
  //#endregion
4643
4632
  //#region src/configs/combined/javaScript.ts
4644
4633
  function combinedJavaScript(plugin) {
4645
4634
  return [
4646
4635
  { name: "@alextheman/combined/javascript" },
4647
- ...base_default(plugin),
4648
- ...javaScript_default$1,
4649
- ...javaScriptBase_default(plugin),
4650
- ...tests_default(plugin)
4636
+ ...pluginBase(plugin),
4637
+ ...generalJavaScript,
4638
+ ...internalJavaScript(plugin),
4639
+ ...combinedTests(plugin)
4651
4640
  ];
4652
4641
  }
4653
- var javaScript_default = combinedJavaScript;
4654
4642
 
4655
4643
  //#endregion
4656
4644
  //#region src/configs/helpers/eslint-plugin-react-hooks.ts
@@ -4662,7 +4650,6 @@ const reactHooks = {
4662
4650
  "flat/recommended-latest": reactHooksPlugin.configs.flat["recommended-latest"]
4663
4651
  }
4664
4652
  };
4665
- var eslint_plugin_react_hooks_default = reactHooks;
4666
4653
 
4667
4654
  //#endregion
4668
4655
  //#region src/configs/general/react.ts
@@ -4671,15 +4658,15 @@ const generalReact = [
4671
4658
  reactPlugin.configs.flat["jsx-runtime"],
4672
4659
  jsxA11y.flatConfigs.recommended,
4673
4660
  {
4674
- languageOptions: reactLanguageOptions_default,
4661
+ languageOptions: reactLanguageOptions,
4675
4662
  name: "@alextheman/general/react",
4676
4663
  plugins: {
4677
4664
  react: reactPlugin,
4678
- "react-hooks": eslint_plugin_react_hooks_default,
4665
+ "react-hooks": reactHooks,
4679
4666
  "react-refresh": reactRefresh
4680
4667
  },
4681
4668
  rules: {
4682
- ...eslint_plugin_react_hooks_default.configs["flat/recommended"].rules,
4669
+ ...reactHooks.configs["flat/recommended"].rules,
4683
4670
  "react/destructuring-assignment": [
4684
4671
  "error",
4685
4672
  "always",
@@ -4698,55 +4685,50 @@ const generalReact = [
4698
4685
  settings: { react: { version: "detect" } }
4699
4686
  }
4700
4687
  ];
4701
- var react_default$2 = generalReact;
4702
4688
 
4703
4689
  //#endregion
4704
4690
  //#region src/configs/helpers/restrictedImports/reactRestrictedImports.ts
4705
- const reactRestrictedImports = combineRestrictedImports_default(generalRestrictedImports_default, { patterns: [{
4691
+ const reactRestrictedImports = combineRestrictedImports(generalRestrictedImports, { patterns: [{
4706
4692
  message: "Please use `import Component from \"@mui/[package]/Component\"` instead. See https://mui.com/material-ui/guides/minimizing-bundle-size/ for more information.",
4707
4693
  regex: "^@mui/[^/]+$"
4708
4694
  }] });
4709
- var reactRestrictedImports_default = reactRestrictedImports;
4710
4695
 
4711
4696
  //#endregion
4712
- //#region src/configs/personal/react.ts
4713
- const personalReact = [{
4714
- languageOptions: reactLanguageOptions_default,
4715
- name: "@alextheman/personal/react",
4697
+ //#region src/configs/internal/react.ts
4698
+ const internalReact = [{
4699
+ languageOptions: reactLanguageOptions,
4700
+ name: "@alextheman/internal/react",
4716
4701
  plugins: {
4717
4702
  react: reactPlugin,
4718
- "react-hooks": eslint_plugin_react_hooks_default,
4703
+ "react-hooks": reactHooks,
4719
4704
  "react-refresh": reactRefresh
4720
4705
  },
4721
4706
  rules: {
4722
- "no-restricted-imports": ["error", reactRestrictedImports_default],
4707
+ "no-restricted-imports": ["error", reactRestrictedImports],
4723
4708
  "react-hooks/exhaustive-deps": "off",
4724
4709
  "react-hooks/refs": "off",
4725
4710
  "react-refresh/only-export-components": "off",
4726
4711
  "react/jsx-boolean-value": "error"
4727
4712
  }
4728
4713
  }];
4729
- var react_default$1 = personalReact;
4730
4714
 
4731
4715
  //#endregion
4732
4716
  //#region src/configs/combined/react.ts
4733
4717
  const combinedReact = [
4734
4718
  { name: "@alextheman/combined/react" },
4735
- ...react_default$2,
4736
- ...react_default$1
4719
+ ...generalReact,
4720
+ ...internalReact
4737
4721
  ];
4738
- var react_default = combinedReact;
4739
4722
 
4740
4723
  //#endregion
4741
4724
  //#region src/configs/combined/javaScriptReact.ts
4742
4725
  function combinedJavaScriptReact(plugin) {
4743
4726
  return [
4744
4727
  { name: "@alextheman/combined/javascript-react" },
4745
- ...javaScript_default(plugin),
4746
- ...react_default
4728
+ ...combinedJavaScript(plugin),
4729
+ ...combinedReact
4747
4730
  ];
4748
4731
  }
4749
- var javaScriptReact_default = combinedJavaScriptReact;
4750
4732
 
4751
4733
  //#endregion
4752
4734
  //#region src/configs/general/packageJson.ts
@@ -4754,16 +4736,15 @@ const generalPackageJson = [packageJson.configs.recommended, {
4754
4736
  plugins: { "package-json": packageJson },
4755
4737
  rules: { "package-json/scripts-name-casing": "error" }
4756
4738
  }];
4757
- var packageJson_default = generalPackageJson;
4758
4739
 
4759
4740
  //#endregion
4760
4741
  //#region src/configs/general/typeScript.ts
4761
4742
  const generalTypeScript = [
4762
- ...tseslint.configs.recommended,
4763
- ...javaScript_default$1,
4743
+ ...fixupConfigRules(tseslint.configs.recommended),
4744
+ ...generalJavaScript,
4764
4745
  {
4765
4746
  files: ["**/*.ts", "**/*.tsx"],
4766
- languageOptions: typeScriptLanguageOptions_default,
4747
+ languageOptions: typeScriptLanguageOptions,
4767
4748
  name: "@alextheman/general/typescript",
4768
4749
  rules: {
4769
4750
  "@typescript-eslint/consistent-type-exports": "error",
@@ -4771,7 +4752,7 @@ const generalTypeScript = [
4771
4752
  "@typescript-eslint/explicit-member-accessibility": "error",
4772
4753
  "@typescript-eslint/no-deprecated": "warn",
4773
4754
  "@typescript-eslint/no-redeclare": ["error", { ignoreDeclarationMerge: true }],
4774
- "@typescript-eslint/no-unused-vars": ["error", unusedVarsIgnorePatterns_default],
4755
+ "@typescript-eslint/no-unused-vars": ["error", unusedVarsIgnorePatterns],
4775
4756
  "import/no-unresolved": "off",
4776
4757
  "no-redeclare": "off",
4777
4758
  "no-undef": "off",
@@ -4779,21 +4760,25 @@ const generalTypeScript = [
4779
4760
  }
4780
4761
  }
4781
4762
  ];
4782
- var typeScript_default$2 = generalTypeScript;
4783
4763
 
4784
4764
  //#endregion
4785
- //#region src/configs/personal/alexCLine.ts
4786
- const personalAlexCLine = [{
4787
- files: ["src/**/*.ts"],
4788
- name: "@alextheman/personal/alex-c-line",
4789
- plugins: { n: nodePlugin },
4790
- rules: { "n/hashbang": "off" }
4791
- }, {
4792
- files: ["src/commands/index.ts", "src/configs/internal/**"],
4793
- plugins: { perfectionist },
4794
- rules: { "perfectionist/sort-objects": ["error", sortObjects_default] }
4795
- }];
4796
- var alexCLine_default = personalAlexCLine;
4765
+ //#region src/configs/internal/alexCLine.ts
4766
+ function internalAlexCLine(plugin) {
4767
+ return [
4768
+ ...combinedTypeScript(plugin),
4769
+ {
4770
+ files: ["src/**/*.ts"],
4771
+ name: "@alextheman/internal/alex-c-line",
4772
+ plugins: { n: nodePlugin },
4773
+ rules: { "n/hashbang": "off" }
4774
+ },
4775
+ {
4776
+ files: ["src/commands/index.ts", "src/configs/internal/**"],
4777
+ plugins: { perfectionist },
4778
+ rules: { "perfectionist/sort-objects": ["error", sortObjects] }
4779
+ }
4780
+ ];
4781
+ }
4797
4782
 
4798
4783
  //#endregion
4799
4784
  //#region src/configs/helpers/requireJsdocOptions.ts
@@ -4805,13 +4790,12 @@ const requireJsdocOptions = {
4805
4790
  MethodDefinition: true
4806
4791
  }
4807
4792
  };
4808
- var requireJsdocOptions_default = requireJsdocOptions;
4809
4793
 
4810
4794
  //#endregion
4811
- //#region src/configs/personal/typeScriptPackage.ts
4812
- const personalTypeScriptPackage = [jsdoc.configs["flat/recommended-typescript-error"], { rules: {
4795
+ //#region src/configs/internal/jsdoc.ts
4796
+ const internalJsdoc = [jsdoc.configs["flat/recommended-typescript-error"], { rules: {
4813
4797
  "jsdoc/check-tag-names": ["error", { definedTags: ["category", "note"] }],
4814
- "jsdoc/require-jsdoc": ["warn", requireJsdocOptions_default],
4798
+ "jsdoc/require-jsdoc": ["warn", requireJsdocOptions],
4815
4799
  "jsdoc/require-tags": ["error", { tags: ["ExportNamedDeclaration", "ExportDefaultDeclaration"].map((context) => {
4816
4800
  return {
4817
4801
  context,
@@ -4833,20 +4817,18 @@ const personalTypeScriptPackage = [jsdoc.configs["flat/recommended-typescript-er
4833
4817
  { startLines: 1 }
4834
4818
  ]
4835
4819
  } }];
4836
- var typeScriptPackage_default$1 = personalTypeScriptPackage;
4837
4820
 
4838
4821
  //#endregion
4839
- //#region src/configs/personal/components.ts
4840
- const personalComponents = [...typeScriptPackage_default$1, { rules: {
4822
+ //#region src/configs/internal/components.ts
4823
+ const internalComponents = [...internalJsdoc, { rules: {
4841
4824
  "jsdoc/check-param-names": "off",
4842
4825
  "jsdoc/require-param": ["error", { checkDestructured: false }],
4843
4826
  "jsdoc/require-returns": "off"
4844
4827
  } }];
4845
- var components_default = personalComponents;
4846
4828
 
4847
4829
  //#endregion
4848
4830
  //#region src/configs/helpers/restrictedImports/eslintPluginRestrictedImports.ts
4849
- const eslintPluginRestrictedImports = combineRestrictedImports_default(generalRestrictedImports_default, { paths: [
4831
+ const eslintPluginRestrictedImports = combineRestrictedImports(generalRestrictedImports, { paths: [
4850
4832
  {
4851
4833
  importNames: ["default"],
4852
4834
  message: "Do not import the plugin directly from the config files. Please create a function that takes in the plugin and returns the config instead.",
@@ -4869,14 +4851,14 @@ const eslintPluginRestrictedImports = combineRestrictedImports_default(generalRe
4869
4851
  name: "eslint-vitest-rule-tester"
4870
4852
  }
4871
4853
  ] });
4872
- var eslintPluginRestrictedImports_default = eslintPluginRestrictedImports;
4873
4854
 
4874
4855
  //#endregion
4875
- //#region src/configs/personal/eslintPlugin.ts
4876
- function personalEslintPlugin(plugin) {
4856
+ //#region src/configs/internal/eslintPlugin.ts
4857
+ function internalEslintPlugin(plugin) {
4877
4858
  return [
4859
+ ...combinedTypeScriptPackage(plugin),
4878
4860
  {
4879
- name: "@alextheman/personal/eslint-plugin",
4861
+ name: "@alextheman/internal/eslint-plugin",
4880
4862
  plugins: {
4881
4863
  "@alextheman": plugin,
4882
4864
  jsdoc,
@@ -4885,24 +4867,23 @@ function personalEslintPlugin(plugin) {
4885
4867
  rules: {
4886
4868
  "@alextheman/no-plugin-configs-access-from-src-configs": "error",
4887
4869
  "jsdoc/require-jsdoc": "off",
4888
- "no-restricted-imports": ["error", eslintPluginRestrictedImports_default]
4870
+ "no-restricted-imports": ["error", eslintPluginRestrictedImports]
4889
4871
  }
4890
4872
  },
4891
4873
  {
4892
4874
  files: ["src/rules/index.ts", "src/configs/**"],
4893
- rules: { "perfectionist/sort-objects": ["error", sortObjects_default] }
4875
+ rules: { "perfectionist/sort-objects": ["error", sortObjects] }
4894
4876
  },
4895
4877
  {
4896
4878
  files: ["src/utility/public/**"],
4897
- rules: { "jsdoc/require-jsdoc": ["error", requireJsdocOptions_default] }
4879
+ rules: { "jsdoc/require-jsdoc": ["error", requireJsdocOptions] }
4898
4880
  }
4899
4881
  ];
4900
4882
  }
4901
- var eslintPlugin_default = personalEslintPlugin;
4902
4883
 
4903
4884
  //#endregion
4904
4885
  //#region src/configs/helpers/restrictedImports/neurosongsBackEndRestrictedImports.ts
4905
- const neurosongsBackEndRestrictedImports = combineRestrictedImports_default(generalRestrictedImports_default, { paths: [
4886
+ const neurosongsBackEndRestrictedImports = combineRestrictedImports(personalRestrictedImports, { paths: [
4906
4887
  {
4907
4888
  importNames: ["setPrismaClient"],
4908
4889
  message: "Do not attempt to reset the Prisma Client outside setup files.",
@@ -4918,17 +4899,16 @@ const neurosongsBackEndRestrictedImports = combineRestrictedImports_default(gene
4918
4899
  name: "@neurosongs/prisma-client/prisma"
4919
4900
  }
4920
4901
  ] });
4921
- var neurosongsBackEndRestrictedImports_default = neurosongsBackEndRestrictedImports;
4922
4902
 
4923
4903
  //#endregion
4924
- //#region src/configs/personal/neurosongsBackEnd.ts
4925
- const personalNeurosongsBackEnd = [
4904
+ //#region src/configs/internal/neurosongsBackEnd.ts
4905
+ const internalNeurosongsBackEnd = [
4926
4906
  {
4927
- name: "@alextheman/personal/neurosongs-back-end",
4907
+ name: "@alextheman/internal/neurosongs-back-end",
4928
4908
  plugins: { n: nodePlugin },
4929
4909
  rules: {
4930
4910
  "n/no-extraneous-import": "off",
4931
- "no-restricted-imports": ["error", neurosongsBackEndRestrictedImports_default]
4911
+ "no-restricted-imports": ["error", neurosongsBackEndRestrictedImports]
4932
4912
  }
4933
4913
  },
4934
4914
  {
@@ -4944,11 +4924,10 @@ const personalNeurosongsBackEnd = [
4944
4924
  ] }
4945
4925
  }
4946
4926
  ];
4947
- var neurosongsBackEnd_default = personalNeurosongsBackEnd;
4948
4927
 
4949
4928
  //#endregion
4950
4929
  //#region src/configs/helpers/restrictedImports/neurosongsFrontEndRestrictedImports.ts
4951
- const neurosongsFrontEndRestrictedImports = combineRestrictedImports_default(reactRestrictedImports_default, {
4930
+ const neurosongsFrontEndRestrictedImports = combineRestrictedImports(personalRestrictedImports, reactRestrictedImports, {
4952
4931
  paths: [{
4953
4932
  importNames: ["PrismaClient"],
4954
4933
  message: "Do not use the Prisma Client directly in the front-end. Query an endpoint from the back-end instead.",
@@ -4965,30 +4944,28 @@ const neurosongsFrontEndRestrictedImports = combineRestrictedImports_default(rea
4965
4944
  message: "Do not use the Prisma Client directly in the front-end. Query an endpoint from the back-end instead."
4966
4945
  }]
4967
4946
  });
4968
- var neurosongsFrontEndRestrictedImports_default = neurosongsFrontEndRestrictedImports;
4969
4947
 
4970
4948
  //#endregion
4971
- //#region src/configs/personal/neurosongsFrontEnd.ts
4972
- const personalNeurosongsFrontEnd = [{
4973
- name: "@alextheman/personal/neurosongs-front-end",
4949
+ //#region src/configs/internal/neurosongsFrontEnd.ts
4950
+ const internalNeurosongsFrontEnd = [{
4951
+ name: "@alextheman/internal/neurosongs-front-end",
4974
4952
  plugins: { n: nodePlugin },
4975
4953
  rules: {
4976
4954
  "n/no-extraneous-import": "off",
4977
- "no-restricted-imports": ["error", neurosongsFrontEndRestrictedImports_default]
4955
+ "no-restricted-imports": ["error", neurosongsFrontEndRestrictedImports]
4978
4956
  }
4979
4957
  }];
4980
- var neurosongsFrontEnd_default = personalNeurosongsFrontEnd;
4981
4958
 
4982
4959
  //#endregion
4983
- //#region src/configs/personal/typeScript.ts
4984
- function personalTypeScript(plugin) {
4960
+ //#region src/configs/internal/typeScript.ts
4961
+ function internalTypeScript(plugin) {
4985
4962
  return [{
4986
4963
  files: ["**/*.ts", "**/*.tsx"],
4987
- languageOptions: typeScriptLanguageOptions_default,
4988
- name: "@alextheman/personal/typescript",
4964
+ languageOptions: typeScriptLanguageOptions,
4965
+ name: "@alextheman/internal/typescript",
4989
4966
  plugins: {
4990
4967
  "@alextheman": plugin,
4991
- "@typescript-eslint": tseslint.plugin
4968
+ "@typescript-eslint": fixupPluginRules(tseslint.plugin)
4992
4969
  },
4993
4970
  rules: {
4994
4971
  "@alextheman/standardise-error-messages": "error",
@@ -5001,103 +4978,99 @@ function personalTypeScript(plugin) {
5001
4978
  }
5002
4979
  }];
5003
4980
  }
5004
- var typeScript_default$1 = personalTypeScript;
5005
4981
 
5006
4982
  //#endregion
5007
- //#region src/configs/personal/utility.ts
5008
- const personalUtility = [{
5009
- name: "@alextheman/personal/utility",
5010
- plugins: {
5011
- "@typescript-eslint": tseslint.plugin,
5012
- jsdoc
5013
- },
5014
- rules: {
5015
- "@typescript-eslint/explicit-module-boundary-types": "error",
5016
- "jsdoc/require-jsdoc": ["error", requireJsdocOptions_default]
5017
- }
5018
- }];
5019
- var utility_default = personalUtility;
4983
+ //#region src/configs/internal/utility.ts
4984
+ function internalUtility(plugin) {
4985
+ return [...combinedTypeScriptPackage(plugin), {
4986
+ name: "@alextheman/internal/utility",
4987
+ plugins: {
4988
+ "@typescript-eslint": tseslint.plugin,
4989
+ jsdoc
4990
+ },
4991
+ rules: {
4992
+ "@typescript-eslint/explicit-module-boundary-types": "error",
4993
+ "jsdoc/require-jsdoc": ["error", requireJsdocOptions]
4994
+ }
4995
+ }];
4996
+ }
5020
4997
 
5021
4998
  //#endregion
5022
4999
  //#region src/configs/combined/typeScript.ts
5023
5000
  function combinedTypeScript(plugin) {
5024
5001
  return [
5025
5002
  { name: "@alextheman/combined/typescript" },
5026
- ...javaScript_default(plugin),
5027
- ...typeScript_default$2,
5028
- ...typeScript_default$1(plugin)
5003
+ ...combinedJavaScript(plugin),
5004
+ ...generalTypeScript,
5005
+ ...internalJavaScript(plugin),
5006
+ ...internalTypeScript(plugin)
5029
5007
  ];
5030
5008
  }
5031
- var typeScript_default = combinedTypeScript;
5032
5009
 
5033
5010
  //#endregion
5034
5011
  //#region src/configs/combined/typeScriptPackage.ts
5035
5012
  function combinedTypeScriptPackage(plugin) {
5036
5013
  return [
5037
5014
  { name: "@alextheman/combined/typescript-package" },
5038
- ...typeScript_default(plugin),
5039
- ...typeScriptPackage_default$1
5015
+ ...combinedTypeScript(plugin),
5016
+ ...internalJsdoc
5040
5017
  ];
5041
5018
  }
5042
- var typeScriptPackage_default = combinedTypeScriptPackage;
5043
5019
 
5044
5020
  //#endregion
5045
5021
  //#region src/configs/combined/typeScriptReact.ts
5046
5022
  function combinedTypeScriptReact(plugin) {
5047
5023
  return [
5048
5024
  { name: "@alextheman/combined/typescript-react" },
5049
- ...typeScript_default(plugin),
5050
- ...react_default
5025
+ ...combinedTypeScript(plugin),
5026
+ ...combinedReact
5051
5027
  ];
5052
5028
  }
5053
- var typeScriptReact_default = combinedTypeScriptReact;
5054
5029
 
5055
5030
  //#endregion
5056
5031
  //#region src/configs/index.ts
5057
5032
  function createAlexPluginConfigs(plugin) {
5058
- return flattenConfigs_default({
5033
+ return flattenConfigs({
5059
5034
  combined: {
5060
- javascript: [...javaScript_default(plugin), ...packageJson_default],
5061
- javascriptReact: [...javaScriptReact_default(plugin), ...packageJson_default],
5062
- react: [...react_default, ...packageJson_default],
5063
- tests: [...tests_default(plugin), ...packageJson_default],
5064
- typescript: [...typeScript_default(plugin), ...packageJson_default],
5065
- typescriptPackage: [...typeScriptPackage_default(plugin), ...packageJson_default],
5066
- typescriptReact: [...typeScriptReact_default(plugin), ...packageJson_default]
5035
+ javascript: [...combinedJavaScript(plugin), ...generalPackageJson],
5036
+ javascriptReact: [...combinedJavaScriptReact(plugin), ...generalPackageJson],
5037
+ react: [...combinedReact, ...generalPackageJson],
5038
+ tests: [...combinedTests(plugin), ...generalPackageJson],
5039
+ typescript: [...combinedTypeScript(plugin), ...generalPackageJson],
5040
+ typescriptPackage: [...combinedTypeScriptPackage(plugin), ...generalPackageJson],
5041
+ typescriptReact: [...combinedTypeScriptReact(plugin), ...generalPackageJson]
5067
5042
  },
5068
5043
  general: {
5069
- javascript: javaScript_default$1,
5070
- packageJson: packageJson_default,
5071
- react: react_default$2,
5072
- typescript: typeScript_default$2
5044
+ javascript: generalJavaScript,
5045
+ packageJson: generalPackageJson,
5046
+ react: generalReact,
5047
+ typescript: generalTypeScript
5073
5048
  },
5074
- personal: {
5075
- alexCLine: alexCLine_default,
5076
- components: components_default,
5077
- eslintPlugin: eslintPlugin_default(plugin),
5078
- javascript: javaScriptBase_default(plugin),
5079
- neurosongsBackEnd: neurosongsBackEnd_default,
5080
- neurosongsFrontEnd: neurosongsFrontEnd_default,
5081
- react: react_default$1,
5082
- tests: tests_default$2,
5083
- typescript: typeScript_default$1(plugin),
5084
- typescriptPackage: typeScriptPackage_default$1,
5085
- utility: utility_default
5049
+ internal: {
5050
+ alexCLine: internalAlexCLine(plugin),
5051
+ components: internalComponents,
5052
+ eslintPlugin: internalEslintPlugin(plugin),
5053
+ javascript: internalJavaScript(plugin),
5054
+ jsdoc: internalJsdoc,
5055
+ neurosongsBackEnd: internalNeurosongsBackEnd,
5056
+ neurosongsFrontEnd: internalNeurosongsFrontEnd,
5057
+ react: internalReact,
5058
+ tests: internalTests,
5059
+ typescript: internalTypeScript(plugin),
5060
+ utility: internalUtility(plugin)
5086
5061
  },
5087
5062
  plugin: {
5088
- base: base_default(plugin),
5089
- tests: tests_default$1(plugin)
5063
+ base: pluginBase(plugin),
5064
+ tests: pluginTests(plugin)
5090
5065
  }
5091
5066
  });
5092
5067
  }
5093
- var configs_default = createAlexPluginConfigs;
5094
5068
 
5095
5069
  //#endregion
5096
5070
  //#region src/rules/helpers/createRule.ts
5097
5071
  const createRule = ESLintUtils.RuleCreator((ruleName) => {
5098
5072
  return ruleName;
5099
5073
  });
5100
- var createRule_default = createRule;
5101
5074
 
5102
5075
  //#endregion
5103
5076
  //#region src/rules/consistent-test-function.ts
@@ -5109,14 +5082,14 @@ const consistentTestFunctionOptionsSchema = z.object({
5109
5082
  function parseConsistentTestFunctionOptions(data) {
5110
5083
  return consistentTestFunctionOptionsSchema.parse(data);
5111
5084
  }
5112
- const consistentTestFunction = createRule_default({
5085
+ const consistentTestFunction = createRule({
5113
5086
  name: "consistent-test-function",
5114
5087
  meta: {
5115
5088
  docs: { description: "Enforce a consistent function (either `test` or `it`)" },
5116
5089
  messages: { message: "Unexpected {{source}}. Please use {{preference}} instead." },
5117
5090
  type: "suggestion",
5118
5091
  fixable: "code",
5119
- schema: createRuleSchemaFromZodSchema_default(consistentTestFunctionOptionsSchema)
5092
+ schema: createRuleSchemaFromZodSchema(consistentTestFunctionOptionsSchema)
5120
5093
  },
5121
5094
  defaultOptions: [{
5122
5095
  preference: "test",
@@ -5133,7 +5106,7 @@ const consistentTestFunction = createRule_default({
5133
5106
  source: node.callee.name,
5134
5107
  preference
5135
5108
  },
5136
- fix: fixOnCondition_default(fixable, (fixer) => {
5109
+ fix: fixOnCondition(fixable, (fixer) => {
5137
5110
  return fixer.replaceText(node.callee, "test");
5138
5111
  })
5139
5112
  });
@@ -5144,7 +5117,7 @@ const consistentTestFunction = createRule_default({
5144
5117
  source: node.callee.name,
5145
5118
  preference
5146
5119
  },
5147
- fix: fixOnCondition_default(fixable, (fixer) => {
5120
+ fix: fixOnCondition(fixable, (fixer) => {
5148
5121
  return fixer.replaceText(node.callee, "it");
5149
5122
  })
5150
5123
  });
@@ -5158,12 +5131,12 @@ const consistentTestFunction = createRule_default({
5158
5131
  source: specifier.imported.name,
5159
5132
  preference
5160
5133
  },
5161
- fix: fixOnCondition_default(fixable, (fixer) => {
5134
+ fix: fixOnCondition(fixable, (fixer) => {
5162
5135
  const importedNames = node.specifiers.map((specifier) => {
5163
5136
  return specifier.type === AST_NODE_TYPES.ImportSpecifier && specifier.imported.type === AST_NODE_TYPES.Identifier ? specifier.imported.name : "";
5164
5137
  });
5165
5138
  if (importedNames.includes("it") && importedNames.includes("test")) {
5166
- const newSpecifiers = getImportSpecifiersAfterRemoving_default(context, node.specifiers, "it");
5139
+ const newSpecifiers = getImportSpecifiersAfterRemoving(context, node.specifiers, "it");
5167
5140
  return fixer.replaceTextRange([node.specifiers[0].range[0], node.specifiers[node.specifiers.length - 1].range[1]], newSpecifiers);
5168
5141
  }
5169
5142
  return fixer.replaceTextRange([specifier.imported.range[0], specifier.imported.range[1]], preference);
@@ -5176,12 +5149,12 @@ const consistentTestFunction = createRule_default({
5176
5149
  source: specifier.imported.name,
5177
5150
  preference
5178
5151
  },
5179
- fix: fixOnCondition_default(fixable, (fixer) => {
5152
+ fix: fixOnCondition(fixable, (fixer) => {
5180
5153
  const importedNames = node.specifiers.map((specifier) => {
5181
5154
  return specifier.type === AST_NODE_TYPES.ImportSpecifier && specifier.imported.type === AST_NODE_TYPES.Identifier ? specifier.imported.name : "";
5182
5155
  });
5183
5156
  if (importedNames.includes("it") && importedNames.includes("test")) {
5184
- const newSpecifiers = getImportSpecifiersAfterRemoving_default(context, node.specifiers, "test");
5157
+ const newSpecifiers = getImportSpecifiersAfterRemoving(context, node.specifiers, "test");
5185
5158
  return fixer.replaceTextRange([node.specifiers[0].range[0], node.specifiers[node.specifiers.length - 1].range[1]], newSpecifiers);
5186
5159
  }
5187
5160
  return fixer.replaceTextRange([specifier.imported.range[0], specifier.imported.range[1]], preference);
@@ -5192,11 +5165,10 @@ const consistentTestFunction = createRule_default({
5192
5165
  };
5193
5166
  }
5194
5167
  });
5195
- var consistent_test_function_default = consistentTestFunction;
5196
5168
 
5197
5169
  //#endregion
5198
5170
  //#region src/rules/no-isolated-tests.ts
5199
- const noIsolatedTests = createRule_default({
5171
+ const noIsolatedTests = createRule({
5200
5172
  name: "no-isolated-tests",
5201
5173
  meta: {
5202
5174
  docs: { description: "Forbid the use of describe.only() and test.only()" },
@@ -5207,7 +5179,7 @@ const noIsolatedTests = createRule_default({
5207
5179
  defaultOptions: [],
5208
5180
  create(context) {
5209
5181
  return { CallExpression(node) {
5210
- if (checkCallExpression_default(node, "describe", "only") || checkCallExpression_default(node, "test", "only") || checkCallExpression_default(node, "it", "only")) return context.report({
5182
+ if (checkCallExpression(node, "describe", "only") || checkCallExpression(node, "test", "only") || checkCallExpression(node, "it", "only")) return context.report({
5211
5183
  node,
5212
5184
  messageId: "message",
5213
5185
  data: { source: node.callee.object.name }
@@ -5215,7 +5187,6 @@ const noIsolatedTests = createRule_default({
5215
5187
  } };
5216
5188
  }
5217
5189
  });
5218
- var no_isolated_tests_default = noIsolatedTests;
5219
5190
 
5220
5191
  //#endregion
5221
5192
  //#region src/rules/no-namespace-imports.ts
@@ -5223,13 +5194,13 @@ const noNamespaceImportsOptionsSchema = z.object({ allow: z.array(z.string()) })
5223
5194
  function parseNoNamespaceImportsOptions(data) {
5224
5195
  return noNamespaceImportsOptionsSchema.parse(data);
5225
5196
  }
5226
- const noNamespaceImports = createRule_default({
5197
+ const noNamespaceImports = createRule({
5227
5198
  name: "no-namespace-imports",
5228
5199
  meta: {
5229
5200
  docs: { description: "Forbid the use of import *" },
5230
5201
  messages: { message: "Import * from \"{{source}}\" is not allowed. Please use named imports instead." },
5231
5202
  type: "suggestion",
5232
- schema: createRuleSchemaFromZodSchema_default(noNamespaceImportsOptionsSchema)
5203
+ schema: createRuleSchemaFromZodSchema(noNamespaceImportsOptionsSchema)
5233
5204
  },
5234
5205
  defaultOptions: [{ allow: [""] }],
5235
5206
  create(context) {
@@ -5247,11 +5218,10 @@ const noNamespaceImports = createRule_default({
5247
5218
  } };
5248
5219
  }
5249
5220
  });
5250
- var no_namespace_imports_default = noNamespaceImports;
5251
5221
 
5252
5222
  //#endregion
5253
5223
  //#region src/rules/no-plugin-configs-access-from-src-configs.ts
5254
- const noPluginConfigAccessFromSrcConfigs = createRule_default({
5224
+ const noPluginConfigAccessFromSrcConfigs = createRule({
5255
5225
  name: "no-plugin-configs-access-from-src-configs",
5256
5226
  meta: {
5257
5227
  docs: { description: "Forbid access of plugin.configs in src/configs" },
@@ -5272,7 +5242,6 @@ const noPluginConfigAccessFromSrcConfigs = createRule_default({
5272
5242
  } };
5273
5243
  }
5274
5244
  });
5275
- var no_plugin_configs_access_from_src_configs_default = noPluginConfigAccessFromSrcConfigs;
5276
5245
 
5277
5246
  //#endregion
5278
5247
  //#region src/rules/no-relative-imports.ts
@@ -5280,7 +5249,7 @@ const noRelativeImportsOptionsSchema = z.object({ depth: z.int().nonnegative() }
5280
5249
  function parseNoRelativeImportsOptions(data) {
5281
5250
  return noRelativeImportsOptionsSchema.parse(data);
5282
5251
  }
5283
- const noRelativeImports = createRule_default({
5252
+ const noRelativeImports = createRule({
5284
5253
  name: "no-relative-imports",
5285
5254
  meta: {
5286
5255
  docs: { description: "Forbid the use of relative imports" },
@@ -5291,7 +5260,7 @@ const noRelativeImports = createRule_default({
5291
5260
  stupidPath: "For the love of God, please do not mix relative path parts in your import statements like that! How can you possibly be ok with {{source}}?!"
5292
5261
  },
5293
5262
  type: "suggestion",
5294
- schema: createRuleSchemaFromZodSchema_default(noRelativeImportsOptionsSchema)
5263
+ schema: createRuleSchemaFromZodSchema(noRelativeImportsOptionsSchema)
5295
5264
  },
5296
5265
  defaultOptions: [{ depth: 0 }],
5297
5266
  create(context) {
@@ -5340,11 +5309,10 @@ const noRelativeImports = createRule_default({
5340
5309
  } };
5341
5310
  }
5342
5311
  });
5343
- var no_relative_imports_default = noRelativeImports;
5344
5312
 
5345
5313
  //#endregion
5346
5314
  //#region src/rules/no-skipped-tests.ts
5347
- const noSkippedTests = createRule_default({
5315
+ const noSkippedTests = createRule({
5348
5316
  name: "no-skipped-tests",
5349
5317
  meta: {
5350
5318
  docs: { description: "Forbid the use of describe.skip() and test.skip()" },
@@ -5355,7 +5323,7 @@ const noSkippedTests = createRule_default({
5355
5323
  defaultOptions: [],
5356
5324
  create(context) {
5357
5325
  return { CallExpression(node) {
5358
- if (checkCallExpression_default(node, "describe", "skip") || checkCallExpression_default(node, "test", "skip") || checkCallExpression_default(node, "it", "skip")) return context.report({
5326
+ if (checkCallExpression(node, "describe", "skip") || checkCallExpression(node, "test", "skip") || checkCallExpression(node, "it", "skip")) return context.report({
5359
5327
  node,
5360
5328
  messageId: "message",
5361
5329
  data: { source: node.callee.object.name }
@@ -5363,7 +5331,6 @@ const noSkippedTests = createRule_default({
5363
5331
  } };
5364
5332
  }
5365
5333
  });
5366
- var no_skipped_tests_default = noSkippedTests;
5367
5334
 
5368
5335
  //#endregion
5369
5336
  //#region src/rules/standardise-error-messages.ts
@@ -5371,7 +5338,7 @@ const standardiseErrorMessagesOptionsSchema = z.object({ regex: z.string() }).pa
5371
5338
  function parseStandardiseErrorMessagesOptions(data) {
5372
5339
  return standardiseErrorMessagesOptionsSchema.parse(data);
5373
5340
  }
5374
- const schema = createRuleSchemaFromZodSchema_default(standardiseErrorMessagesOptionsSchema);
5341
+ const schema = createRuleSchemaFromZodSchema(standardiseErrorMessagesOptionsSchema);
5375
5342
  const defaultErrorRegex = "^[A-Z]+(?:_[A-Z]+)*$";
5376
5343
  function checkCurrentNode(context, node) {
5377
5344
  const { regex: errorRegex = defaultErrorRegex } = parseStandardiseErrorMessagesOptions(context.options[0] ?? { regex: defaultErrorRegex });
@@ -5388,7 +5355,7 @@ function checkCurrentNode(context, node) {
5388
5355
  });
5389
5356
  }
5390
5357
  }
5391
- const standardiseErrorMessages = createRule_default({
5358
+ const standardiseErrorMessages = createRule({
5392
5359
  name: "standardise-error-messages",
5393
5360
  meta: {
5394
5361
  docs: { description: "Enforce a consistent standard for error messages." },
@@ -5408,7 +5375,6 @@ const standardiseErrorMessages = createRule_default({
5408
5375
  };
5409
5376
  }
5410
5377
  });
5411
- var standardise_error_messages_default = standardiseErrorMessages;
5412
5378
 
5413
5379
  //#endregion
5414
5380
  //#region src/rules/use-normalized-imports.ts
@@ -5416,13 +5382,13 @@ const useNormalizedImportsOptionsSchema = z.object({ fixable: z.boolean() }).par
5416
5382
  function parseUseNormalizedImportsOptions(data) {
5417
5383
  return useNormalizedImportsOptionsSchema.parse(data);
5418
5384
  }
5419
- const useNormalizedImports = createRule_default({
5385
+ const useNormalizedImports = createRule({
5420
5386
  name: "use-normalized-imports",
5421
5387
  meta: {
5422
5388
  docs: { description: "Enforce the usage of normalized imports (i.e. import paths that you would only get from path.posix.normalize())" },
5423
5389
  messages: { pathNotNormalized: "Import path {{nonNormalized}} is not normalised. Please use {{normalized}} instead." },
5424
5390
  type: "suggestion",
5425
- schema: createRuleSchemaFromZodSchema_default(useNormalizedImportsOptionsSchema),
5391
+ schema: createRuleSchemaFromZodSchema(useNormalizedImportsOptionsSchema),
5426
5392
  fixable: "code"
5427
5393
  },
5428
5394
  defaultOptions: [{ fixable: true }],
@@ -5437,7 +5403,7 @@ const useNormalizedImports = createRule_default({
5437
5403
  nonNormalized: node.source.value,
5438
5404
  normalized: normalizedPath
5439
5405
  },
5440
- fix: fixOnCondition_default(fixable, (fixer) => {
5406
+ fix: fixOnCondition(fixable, (fixer) => {
5441
5407
  const [quote] = node.source.raw;
5442
5408
  return fixer.replaceText(node.source, `${quote}${normalizedPath}${quote}`);
5443
5409
  })
@@ -5445,7 +5411,6 @@ const useNormalizedImports = createRule_default({
5445
5411
  } };
5446
5412
  }
5447
5413
  });
5448
- var use_normalized_imports_default = useNormalizedImports;
5449
5414
 
5450
5415
  //#endregion
5451
5416
  //#region src/rules/use-object-shorthand.ts
@@ -5453,14 +5418,14 @@ const useObjectShorthandOptionsSchema = z.object({ fixable: z.boolean() }).parti
5453
5418
  function parseUseObjectShorthandOptions(data) {
5454
5419
  return useObjectShorthandOptionsSchema.parse(data);
5455
5420
  }
5456
- const useObjectShorthand = createRule_default({
5421
+ const useObjectShorthand = createRule({
5457
5422
  name: "use-object-shorthand",
5458
5423
  meta: {
5459
5424
  docs: { description: "Encourage the use of object shorthand (e.g. const property = \"Hello\"; const object = { property });" },
5460
5425
  messages: { useShorthand: "{ {{source}} } is not allowed. Please use the object shorthand." },
5461
5426
  type: "suggestion",
5462
5427
  fixable: "code",
5463
- schema: createRuleSchemaFromZodSchema_default(useObjectShorthandOptionsSchema)
5428
+ schema: createRuleSchemaFromZodSchema(useObjectShorthandOptionsSchema)
5464
5429
  },
5465
5430
  defaultOptions: [{ fixable: true }],
5466
5431
  create(context) {
@@ -5470,7 +5435,7 @@ const useObjectShorthand = createRule_default({
5470
5435
  node,
5471
5436
  messageId: "useShorthand",
5472
5437
  data: { source: context.sourceCode.getText(node) },
5473
- fix: fixOnCondition_default(fixable, (fixer) => {
5438
+ fix: fixOnCondition(fixable, (fixer) => {
5474
5439
  const key = node.key;
5475
5440
  return fixer.replaceTextRange([node.range[0], node.range[1]], key.name);
5476
5441
  })
@@ -5478,26 +5443,25 @@ const useObjectShorthand = createRule_default({
5478
5443
  } };
5479
5444
  }
5480
5445
  });
5481
- var use_object_shorthand_default = useObjectShorthand;
5482
5446
 
5483
5447
  //#endregion
5484
5448
  //#region src/rules/index.ts
5485
5449
  var rules_default = {
5486
- "consistent-test-function": consistent_test_function_default,
5487
- "no-isolated-tests": no_isolated_tests_default,
5488
- "no-namespace-imports": no_namespace_imports_default,
5489
- "no-plugin-configs-access-from-src-configs": no_plugin_configs_access_from_src_configs_default,
5490
- "no-relative-imports": no_relative_imports_default,
5491
- "no-skipped-tests": no_skipped_tests_default,
5492
- "standardise-error-messages": standardise_error_messages_default,
5493
- "use-normalized-imports": use_normalized_imports_default,
5494
- "use-object-shorthand": use_object_shorthand_default
5450
+ "consistent-test-function": consistentTestFunction,
5451
+ "no-isolated-tests": noIsolatedTests,
5452
+ "no-namespace-imports": noNamespaceImports,
5453
+ "no-plugin-configs-access-from-src-configs": noPluginConfigAccessFromSrcConfigs,
5454
+ "no-relative-imports": noRelativeImports,
5455
+ "no-skipped-tests": noSkippedTests,
5456
+ "standardise-error-messages": standardiseErrorMessages,
5457
+ "use-normalized-imports": useNormalizedImports,
5458
+ "use-object-shorthand": useObjectShorthand
5495
5459
  };
5496
5460
 
5497
5461
  //#endregion
5498
5462
  //#region package.json
5499
5463
  var name = "@alextheman/eslint-plugin";
5500
- var version = "5.5.1";
5464
+ var version = "5.6.0";
5501
5465
 
5502
5466
  //#endregion
5503
5467
  //#region src/alexPlugin.ts
@@ -5510,12 +5474,11 @@ const alexPlugin = {
5510
5474
  configs: {},
5511
5475
  rules: rules_default
5512
5476
  };
5513
- alexPlugin.configs = configs_default(deepFreeze(deepCopy(alexPlugin)));
5514
- var alexPlugin_default = alexPlugin;
5477
+ alexPlugin.configs = createAlexPluginConfigs(deepFreeze(deepCopy(alexPlugin)));
5515
5478
 
5516
5479
  //#endregion
5517
5480
  //#region src/index.ts
5518
- var src_default = alexPlugin_default;
5481
+ var src_default = alexPlugin;
5519
5482
 
5520
5483
  //#endregion
5521
- export { checkCallExpression_default as checkCallExpression, combineRestrictedImports_default as combineRestrictedImports, createRuleSchemaFromZodSchema_default as createRuleSchemaFromZodSchema, src_default as default, fixOnCondition_default as fixOnCondition, flattenConfigs_default as flattenConfigs, getImportSpecifiersAfterRemoving_default as getImportSpecifiersAfterRemoving, prettierConfig_default as prettierConfig, typeDocConfig_default as typeDocConfig, vitestConfig_default as vitestConfig };
5484
+ export { checkCallExpression, combineRestrictedImports, createRuleSchemaFromZodSchema, src_default as default, fixOnCondition, flattenConfigs, getImportSpecifiersAfterRemoving, prettierConfig, typeDocConfig, vitestConfig };