@fenge/eslint-config 0.2.1 → 0.4.0-beta.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +0 -1
  3. package/dist/config/base.d.ts +19 -0
  4. package/dist/config/base.d.ts.map +1 -0
  5. package/dist/config/base.js +50 -0
  6. package/dist/config/javascript.d.ts +48 -20
  7. package/dist/config/javascript.d.ts.map +1 -1
  8. package/dist/config/javascript.js +5 -473
  9. package/dist/config/js/base.d.ts +791 -0
  10. package/dist/config/js/base.d.ts.map +1 -0
  11. package/dist/config/js/base.js +487 -0
  12. package/dist/config/js/config.d.ts +11 -0
  13. package/dist/config/js/config.d.ts.map +1 -0
  14. package/dist/config/js/config.js +9 -0
  15. package/dist/config/js/test.d.ts +10 -0
  16. package/dist/config/js/test.d.ts.map +1 -0
  17. package/dist/config/js/test.js +12 -0
  18. package/dist/config/ts/base.d.ts +916 -0
  19. package/dist/config/ts/base.d.ts.map +1 -0
  20. package/dist/config/ts/base.js +205 -0
  21. package/dist/config/ts/config.d.ts +11 -0
  22. package/dist/config/ts/config.d.ts.map +1 -0
  23. package/dist/config/ts/config.js +10 -0
  24. package/dist/config/ts/declaration.d.ts +8 -0
  25. package/dist/config/ts/declaration.d.ts.map +1 -0
  26. package/dist/config/ts/declaration.js +8 -0
  27. package/dist/config/ts/test.d.ts +12 -0
  28. package/dist/config/ts/test.d.ts.map +1 -0
  29. package/dist/config/ts/test.js +15 -0
  30. package/dist/config/typescript.d.ts +86 -30
  31. package/dist/config/typescript.d.ts.map +1 -1
  32. package/dist/config/typescript.js +7 -237
  33. package/dist/eslint.config.d.ts +1 -3
  34. package/dist/eslint.config.d.ts.map +1 -1
  35. package/dist/eslint.config.js +4 -5
  36. package/package.json +18 -14
  37. package/src/config/base.ts +56 -0
  38. package/src/config/javascript.ts +4 -483
  39. package/src/config/js/base.ts +498 -0
  40. package/src/config/js/config.ts +8 -0
  41. package/src/config/js/test.ts +11 -0
  42. package/src/config/ts/base.ts +229 -0
  43. package/src/config/ts/config.ts +10 -0
  44. package/src/config/ts/declaration.ts +7 -0
  45. package/src/config/ts/test.ts +15 -0
  46. package/src/config/typescript.spec.ts +31 -49
  47. package/src/config/typescript.ts +6 -259
  48. package/src/eslint.config.spec.ts +4 -3
  49. package/src/eslint.config.ts +4 -7
  50. package/tsconfig.json +3 -1
  51. package/dist/config/gitignore.d.ts +0 -5
  52. package/dist/config/gitignore.d.ts.map +0 -1
  53. package/dist/config/gitignore.js +0 -18
  54. package/dist/config/ignore.d.ts +0 -14
  55. package/dist/config/ignore.d.ts.map +0 -1
  56. package/dist/config/ignore.js +0 -22
  57. package/src/config/gitignore.ts +0 -23
  58. package/src/config/ignore.ts +0 -21
  59. package/test/no-duplicated.spec.ts +0 -61
  60. package/tsconfig.build.json +0 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # @fenge/eslint-config
2
2
 
3
+ ## 0.4.0-beta.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 1f5fce3: refactor(eslint-config): optimize config structure
8
+ - 2f12ec2: refactor(eslint-config): optimize config structure and remove `project` param for ts config
9
+
10
+ ### Patch Changes
11
+
12
+ - 5adeeed: fix: add missing peerDependencies and peerDependenciesMeta
13
+ - 36d1fb0: chore: upgrade deps
14
+ - 0d71378: fix(eslint-config): allow import module from devDependencies for config files
15
+ - 41c783a: feat(eslint-config): add many built-in and @typescript-eslint recommended rules
16
+ - 3f4e737: feat(eslint-config): add many rules of `eslint-plugin-unicorn`
17
+ - 51502cc: feat: add rule `@fenge/no-jsx-in-non-jsx-file`
18
+ - Updated dependencies [51502cc]
19
+ - Updated dependencies [0c4462d]
20
+ - Updated dependencies [713d9a2]
21
+ - @fenge/eslint-plugin@0.1.2-beta.0
22
+ - eslint-plugin-esm@0.2.2-beta.0
23
+
24
+ ## 0.3.0
25
+
26
+ ### Minor Changes
27
+
28
+ - 55cf874: chore: upgrade typescript-eslint to v8
29
+
30
+ ### Patch Changes
31
+
32
+ - 1848169: chore: upgrade deps
33
+ - 9f04b44: refactor(eslint-config): replace `eslint-plugin-deprecation` with `@typescript-eslint/no-deprecated`
34
+
3
35
  ## 0.2.1
4
36
 
5
37
  ### Patch Changes
package/README.md CHANGED
@@ -74,7 +74,6 @@ export default new Builder()
74
74
  omit: ["no-var"], // these rules will not work for js files
75
75
  })
76
76
  .enableTypescript({
77
- project: "tsconfig.json", // tsconfig.json path
78
77
  extend: {
79
78
  // apply additional rules for ts files
80
79
  "@typescript-eslint/no-explicit-any": "error",
@@ -0,0 +1,19 @@
1
+ export declare function base(): readonly [{
2
+ readonly name: "fenge/gitignore";
3
+ readonly ignores: string[];
4
+ }, {
5
+ readonly name: "fenge/common";
6
+ readonly files: readonly ["**/*.{js,cjs,mjs,jsx}", "**/*.{ts,cts,mts,tsx}", "**/package.json"];
7
+ readonly linterOptions: {
8
+ readonly reportUnusedDisableDirectives: true;
9
+ };
10
+ }, {
11
+ readonly name: "fenge/ignore";
12
+ readonly files: readonly ["**"];
13
+ readonly ignores: readonly ["**/*.{js,cjs,mjs,jsx}", "**/*.{ts,cts,mts,tsx}", "**/package.json"];
14
+ readonly processor: {
15
+ readonly preprocess: (_text: string, _filename: string) => string[];
16
+ readonly postprocess: (_messages: unknown[][]) => never[];
17
+ };
18
+ }];
19
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAwBA,wBAAgB,IAAI;;;;;;;;;;;;;;qCA0BQ,MAAM,aAAa,MAAM;0CACpB,OAAO,EAAE,EAAE;;GAI3C"}
@@ -0,0 +1,50 @@
1
+ import childProcess from "node:child_process";
2
+ function gitignore() {
3
+ let stdout = "";
4
+ try {
5
+ stdout = childProcess.execSync("git ls-files --others --ignored --exclude-standard --directory", { encoding: "utf8" });
6
+ }
7
+ catch (e) {
8
+ console.warn("Warn: Running `git ls-files` fail. We recommend to run `git init` to setup the project first.", e);
9
+ }
10
+ // https://eslint.org/docs/latest/use/configure/configuration-files#specifying-files-and-ignores
11
+ return [
12
+ {
13
+ name: "fenge/gitignore",
14
+ ignores: stdout.split("\n").filter(Boolean),
15
+ },
16
+ ];
17
+ }
18
+ export function base() {
19
+ return [
20
+ ...gitignore(), // global ignore
21
+ {
22
+ name: "fenge/common",
23
+ files: [
24
+ "**/*.{js,cjs,mjs,jsx}",
25
+ "**/*.{ts,cts,mts,tsx}",
26
+ "**/package.json",
27
+ ],
28
+ linterOptions: {
29
+ // noInlineConfig: true, // too strict
30
+ reportUnusedDisableDirectives: true,
31
+ },
32
+ },
33
+ // Ignore unsupported files.
34
+ // This config is for suppressing error when linting a directory which does not contain supported files.
35
+ {
36
+ name: "fenge/ignore",
37
+ files: ["**"], // I've tried all. Only '**' works.
38
+ ignores: [
39
+ "**/*.{js,cjs,mjs,jsx}",
40
+ "**/*.{ts,cts,mts,tsx}",
41
+ "**/package.json",
42
+ ],
43
+ processor: {
44
+ preprocess: (_text, _filename) => [""],
45
+ postprocess: (_messages) => [], // Returning empty array to ignore all errors
46
+ },
47
+ },
48
+ ];
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxTQUFTLFNBQVM7SUFDaEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUM1QixnRUFBZ0UsRUFDaEUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0ZBQStGLEVBQy9GLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGdHQUFnRztJQUNoRyxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDNUM7S0FDTyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJO0lBQ2xCLE9BQU87UUFDTCxHQUFHLFNBQVMsRUFBRSxFQUFFLGdCQUFnQjtRQUNoQztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRTtnQkFDTCx1QkFBdUI7Z0JBQ3ZCLHVCQUF1QjtnQkFDdkIsaUJBQWlCO2FBQ2xCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLHNDQUFzQztnQkFDdEMsNkJBQTZCLEVBQUUsSUFBSTthQUNwQztTQUNGO1FBQ0QsNEJBQTRCO1FBQzVCLHdHQUF3RztRQUN4RztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLG1DQUFtQztZQUNsRCxPQUFPLEVBQUU7Z0JBQ1AsdUJBQXVCO2dCQUN2Qix1QkFBdUI7Z0JBQ3ZCLGlCQUFpQjthQUNsQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELFdBQVcsRUFBRSxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSw2Q0FBNkM7YUFDM0Y7U0FDRjtLQUNPLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5cbmZ1bmN0aW9uIGdpdGlnbm9yZSgpIHtcbiAgbGV0IHN0ZG91dCA9IFwiXCI7XG4gIHRyeSB7XG4gICAgc3Rkb3V0ID0gY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKFxuICAgICAgXCJnaXQgbHMtZmlsZXMgLS1vdGhlcnMgLS1pZ25vcmVkIC0tZXhjbHVkZS1zdGFuZGFyZCAtLWRpcmVjdG9yeVwiLFxuICAgICAgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSxcbiAgICApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgXCJXYXJuOiBSdW5uaW5nIGBnaXQgbHMtZmlsZXNgIGZhaWwuIFdlIHJlY29tbWVuZCB0byBydW4gYGdpdCBpbml0YCB0byBzZXR1cCB0aGUgcHJvamVjdCBmaXJzdC5cIixcbiAgICAgIGUsXG4gICAgKTtcbiAgfVxuICAvLyBodHRwczovL2VzbGludC5vcmcvZG9jcy9sYXRlc3QvdXNlL2NvbmZpZ3VyZS9jb25maWd1cmF0aW9uLWZpbGVzI3NwZWNpZnlpbmctZmlsZXMtYW5kLWlnbm9yZXNcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBuYW1lOiBcImZlbmdlL2dpdGlnbm9yZVwiLFxuICAgICAgaWdub3Jlczogc3Rkb3V0LnNwbGl0KFwiXFxuXCIpLmZpbHRlcihCb29sZWFuKSxcbiAgICB9LFxuICBdIGFzIGNvbnN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZSgpIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5naXRpZ25vcmUoKSwgLy8gZ2xvYmFsIGlnbm9yZVxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvY29tbW9uXCIsXG4gICAgICBmaWxlczogW1xuICAgICAgICBcIioqLyoue2pzLGNqcyxtanMsanN4fVwiLFxuICAgICAgICBcIioqLyoue3RzLGN0cyxtdHMsdHN4fVwiLFxuICAgICAgICBcIioqL3BhY2thZ2UuanNvblwiLFxuICAgICAgXSxcbiAgICAgIGxpbnRlck9wdGlvbnM6IHtcbiAgICAgICAgLy8gbm9JbmxpbmVDb25maWc6IHRydWUsIC8vIHRvbyBzdHJpY3RcbiAgICAgICAgcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXM6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gSWdub3JlIHVuc3VwcG9ydGVkIGZpbGVzLlxuICAgIC8vIFRoaXMgY29uZmlnIGlzIGZvciBzdXBwcmVzc2luZyBlcnJvciB3aGVuIGxpbnRpbmcgYSBkaXJlY3Rvcnkgd2hpY2ggZG9lcyBub3QgY29udGFpbiBzdXBwb3J0ZWQgZmlsZXMuXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS9pZ25vcmVcIixcbiAgICAgIGZpbGVzOiBbXCIqKlwiXSwgLy8gSSd2ZSB0cmllZCBhbGwuIE9ubHkgJyoqJyB3b3Jrcy5cbiAgICAgIGlnbm9yZXM6IFtcbiAgICAgICAgXCIqKi8qLntqcyxjanMsbWpzLGpzeH1cIixcbiAgICAgICAgXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIixcbiAgICAgICAgXCIqKi9wYWNrYWdlLmpzb25cIixcbiAgICAgIF0sXG4gICAgICBwcm9jZXNzb3I6IHtcbiAgICAgICAgcHJlcHJvY2VzczogKF90ZXh0OiBzdHJpbmcsIF9maWxlbmFtZTogc3RyaW5nKSA9PiBbXCJcIl0sXG4gICAgICAgIHBvc3Rwcm9jZXNzOiAoX21lc3NhZ2VzOiB1bmtub3duW11bXSkgPT4gW10sIC8vIFJldHVybmluZyBlbXB0eSBhcnJheSB0byBpZ25vcmUgYWxsIGVycm9yc1xuICAgICAgfSxcbiAgICB9LFxuICBdIGFzIGNvbnN0O1xufVxuIl19
@@ -1,8 +1,3 @@
1
- import * as fengePlugin from "@fenge/eslint-plugin";
2
- import * as esmPlugin from "eslint-plugin-esm";
3
- import nPlugin from "eslint-plugin-n";
4
- import reactPlugin from "eslint-plugin-react";
5
- import sonarjsPlugin from "eslint-plugin-sonarjs";
6
1
  export declare function javascript(): readonly [{
7
2
  readonly name: "fenge/javascript";
8
3
  readonly files: readonly ["**/*.{js,cjs,mjs,jsx}"];
@@ -20,13 +15,10 @@ export declare function javascript(): readonly [{
20
15
  readonly [x: string]: boolean;
21
16
  };
22
17
  };
23
- readonly linterOptions: {
24
- readonly reportUnusedDisableDirectives: true;
25
- };
26
18
  readonly plugins: {
27
19
  readonly fp: unknown;
28
20
  readonly n: import("eslint").ESLint.Plugin & {
29
- configs: nPlugin.Configs;
21
+ configs: import("eslint-plugin-n").Configs;
30
22
  };
31
23
  readonly import: unknown;
32
24
  readonly promise: unknown;
@@ -399,11 +391,11 @@ export declare function javascript(): readonly [{
399
391
  };
400
392
  };
401
393
  } & {
402
- flat?: Record<string, reactPlugin.ReactFlatConfig>;
394
+ flat?: Record<string, import("eslint-plugin-react").ReactFlatConfig>;
403
395
  };
404
396
  };
405
397
  readonly "react-hooks": unknown;
406
- readonly sonarjs: typeof sonarjsPlugin;
398
+ readonly sonarjs: typeof import("eslint-plugin-sonarjs");
407
399
  readonly unicorn: import("eslint").ESLint.Plugin & {
408
400
  configs: {
409
401
  recommended: import("eslint").Linter.Config;
@@ -413,13 +405,13 @@ export declare function javascript(): readonly [{
413
405
  };
414
406
  };
415
407
  readonly "es-x": unknown;
416
- readonly esm: typeof esmPlugin;
408
+ readonly esm: typeof import("eslint-plugin-esm");
417
409
  readonly "simple-import-sort": import("eslint").ESLint.Plugin;
418
- readonly "@fenge": typeof fengePlugin;
410
+ readonly "@fenge": typeof import("@fenge/eslint-plugin");
419
411
  readonly "@typescript-eslint": {
420
412
  configs: Record<string, import("@typescript-eslint/utils/ts-eslint").ClassicConfig.Config>;
421
413
  meta: import("@typescript-eslint/utils/ts-eslint").FlatConfig.PluginMeta;
422
- rules: import("@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules").TypeScriptESLintRules;
414
+ rules: typeof import("@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules");
423
415
  };
424
416
  };
425
417
  readonly rules: {
@@ -434,9 +426,15 @@ export declare function javascript(): readonly [{
434
426
  readonly "func-name-matching": "error";
435
427
  readonly "getter-return": "error";
436
428
  readonly "init-declarations": "error";
429
+ readonly "max-depth": readonly ["error", {
430
+ readonly max: 5;
431
+ }];
437
432
  readonly "max-params": readonly ["error", {
438
433
  readonly max: 4;
439
434
  }];
435
+ readonly "no-bitwise": "error";
436
+ readonly "no-constant-binary-expression": "error";
437
+ readonly "no-dupe-else-if": "error";
440
438
  readonly "no-duplicate-imports": "error";
441
439
  readonly "no-empty-static-block": "error";
442
440
  readonly "no-empty-function": "error";
@@ -445,14 +443,24 @@ export declare function javascript(): readonly [{
445
443
  readonly allow: readonly ["!!"];
446
444
  }];
447
445
  readonly "no-invalid-this": "error";
446
+ readonly "no-lonely-if": "error";
448
447
  readonly "no-multi-assign": "error";
448
+ readonly "no-new-native-nonconstructor": "error";
449
+ readonly "no-nonoctal-decimal-escape": "error";
450
+ readonly "no-object-constructor": "error";
449
451
  readonly "no-param-reassign": "error";
450
452
  readonly "no-plusplus": "error";
451
453
  readonly "no-setter-return": "error";
452
454
  readonly "no-shadow": readonly ["error", {
453
455
  readonly ignoreOnInitialization: true;
454
456
  }];
457
+ readonly "no-unsafe-optional-chaining": readonly ["error", {
458
+ readonly disallowArithmeticOperators: true;
459
+ }];
460
+ readonly "no-unused-labels": "error";
455
461
  readonly "no-unused-private-class-members": "error";
462
+ readonly "require-await": "error";
463
+ readonly "require-yield": "error";
456
464
  readonly "prefer-arrow-callback": "error";
457
465
  readonly "prefer-exponentiation-operator": "error";
458
466
  readonly "prefer-object-has-own": "error";
@@ -481,10 +489,6 @@ export declare function javascript(): readonly [{
481
489
  readonly allowConditionalRequire: false;
482
490
  readonly allowPrimitiveModules: false;
483
491
  }];
484
- /**
485
- * 1. The ESM specification didn’t say anything about interoperability with CommonJS. See: https://blog.andrewbran.ch/default-exports-in-commonjs-libraries/
486
- * 2. Reexporting like `export * from 'foo'` will be difficult.
487
- */
488
492
  readonly "import/no-default-export": "error";
489
493
  readonly "import/no-dynamic-require": "error";
490
494
  readonly "import/no-mutable-exports": "error";
@@ -559,24 +563,47 @@ export declare function javascript(): readonly [{
559
563
  readonly "unicorn/no-abusive-eslint-disable": "error";
560
564
  readonly "unicorn/no-array-callback-reference": "error";
561
565
  readonly "unicorn/no-array-method-this-argument": "error";
566
+ readonly "unicorn/no-await-in-promise-methods": "error";
562
567
  readonly "unicorn/no-for-loop": "error";
563
568
  readonly "unicorn/no-instanceof-array": "error";
569
+ readonly "unicorn/no-lonely-if": "error";
570
+ readonly "unicorn/no-negation-in-equality-check": "error";
564
571
  readonly "unicorn/no-new-array": "error";
565
572
  readonly "unicorn/no-new-buffer": "error";
573
+ readonly "unicorn/no-process-exit": "error";
574
+ readonly "unicorn/no-single-promise-in-promise-methods": "error";
575
+ readonly "unicorn/no-static-only-class": "error";
576
+ readonly "unicorn/no-thenable": "error";
577
+ readonly "unicorn/no-this-assignment": "error";
566
578
  readonly "unicorn/no-typeof-undefined": "error";
579
+ readonly "unicorn/no-unreadable-array-destructuring": "error";
567
580
  readonly "unicorn/no-unreadable-iife": "error";
581
+ readonly "unicorn/no-useless-fallback-in-spread": "error";
568
582
  readonly "unicorn/no-useless-spread": "error";
583
+ readonly "unicorn/no-useless-switch-case": "error";
584
+ readonly "unicorn/no-zero-fractions": "error";
569
585
  readonly "unicorn/prefer-array-flat-map": "error";
586
+ readonly "unicorn/prefer-date-now": "error";
570
587
  readonly "unicorn/prefer-export-from": "error";
571
588
  readonly "unicorn/prefer-global-this": "error";
572
589
  readonly "unicorn/prefer-includes": "error";
590
+ readonly "unicorn/prefer-logical-operator-over-ternary": "error";
591
+ readonly "unicorn/prefer-math-min-max": "error";
573
592
  readonly "unicorn/prefer-module": "error";
593
+ readonly "unicorn/prefer-negative-index": "error";
574
594
  readonly "unicorn/prefer-number-properties": "error";
595
+ readonly "unicorn/prefer-optional-catch-binding": "error";
596
+ readonly "unicorn/prefer-regexp-test": "error";
597
+ readonly "unicorn/prefer-string-replace-all": "error";
575
598
  readonly "unicorn/prefer-string-slice": "error";
576
599
  readonly "unicorn/prefer-ternary": "error";
600
+ readonly "unicorn/require-array-join-separator": "error";
601
+ readonly "unicorn/require-number-to-fixed-digits-argument": "error";
602
+ readonly "unicorn/text-encoding-identifier-case": "error";
577
603
  readonly "unicorn/throw-new-error": "error";
578
604
  readonly "@fenge/call-arguments-length": "error";
579
605
  readonly "@fenge/no-instanceof-builtin": "error";
606
+ readonly "@fenge/no-jsx-in-non-jsx-file": "error";
580
607
  readonly "@fenge/no-restricted-loops": "error";
581
608
  readonly "@fenge/no-unnecessary-template-string": "error";
582
609
  readonly "@typescript-eslint/ban-ts-comment": readonly ["error", {
@@ -659,8 +686,6 @@ export declare function javascript(): readonly [{
659
686
  readonly 'no-multi-str': "error";
660
687
  readonly 'no-new': "error";
661
688
  readonly 'no-new-func': "error";
662
- readonly 'no-new-object': "error";
663
- readonly 'no-new-symbol': "error";
664
689
  readonly 'no-new-wrappers': "error";
665
690
  readonly 'no-obj-calls': "error";
666
691
  readonly 'no-octal': "error";
@@ -757,6 +782,9 @@ export declare function javascript(): readonly [{
757
782
  readonly name: "fenge/javascript/config";
758
783
  readonly files: readonly ["**/*.config.{js,cjs,mjs,jsx}"];
759
784
  readonly rules: {
785
+ readonly "esm/no-phantom-dep-imports": readonly ["error", {
786
+ readonly allowDevDependencies: true;
787
+ }];
760
788
  readonly "import/no-default-export": "off";
761
789
  };
762
790
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/config/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/config/javascript.ts"],"names":[],"mappings":"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"}