@jsse/eslint-config 0.1.11 → 0.1.13

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
@@ -617,7 +617,7 @@ var CAC = class extends import_events.EventEmitter {
617
617
  var cac = (name = "") => new CAC(name);
618
618
 
619
619
  // package.json
620
- var version = "0.1.11";
620
+ var version = "0.1.13";
621
621
 
622
622
  // src/cli.ts
623
623
  var cli = cac("jsselint");
package/dist/cli.js CHANGED
@@ -593,7 +593,7 @@ var CAC = class extends EventEmitter {
593
593
  var cac = (name = "") => new CAC(name);
594
594
 
595
595
  // package.json
596
- var version = "0.1.11";
596
+ var version = "0.1.13";
597
597
 
598
598
  // src/cli.ts
599
599
  var cli = cac("jsselint");
package/dist/index.cjs CHANGED
@@ -30,9 +30,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  ));
31
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
32
 
33
- // node_modules/.pnpm/globals@15.0.0/node_modules/globals/globals.json
33
+ // node_modules/.pnpm/globals@15.1.0/node_modules/globals/globals.json
34
34
  var require_globals = __commonJS({
35
- "node_modules/.pnpm/globals@15.0.0/node_modules/globals/globals.json"(exports2, module2) {
35
+ "node_modules/.pnpm/globals@15.1.0/node_modules/globals/globals.json"(exports2, module2) {
36
36
  module2.exports = {
37
37
  builtin: {
38
38
  AggregateError: false,
@@ -956,6 +956,7 @@ var require_globals = __commonJS({
956
956
  onpagehide: true,
957
957
  onpagereveal: true,
958
958
  onpageshow: true,
959
+ onpageswap: true,
959
960
  onpaste: true,
960
961
  onpause: true,
961
962
  onplay: true,
@@ -1012,6 +1013,7 @@ var require_globals = __commonJS({
1012
1013
  outerWidth: false,
1013
1014
  OverconstrainedError: false,
1014
1015
  PageRevealEvent: false,
1016
+ PageSwapEvent: false,
1015
1017
  PageTransitionEvent: false,
1016
1018
  pageXOffset: false,
1017
1019
  pageYOffset: false,
@@ -1376,6 +1378,8 @@ var require_globals = __commonJS({
1376
1378
  WebGLUniformLocation: false,
1377
1379
  WebGLVertexArrayObject: false,
1378
1380
  WebSocket: false,
1381
+ WebSocketError: false,
1382
+ WebSocketStream: false,
1379
1383
  WebTransport: false,
1380
1384
  WebTransportBidirectionalStream: false,
1381
1385
  WebTransportDatagramDuplexStream: false,
@@ -1706,6 +1710,8 @@ var require_globals = __commonJS({
1706
1710
  webkitResolveLocalFileSystemSyncURL: false,
1707
1711
  webkitResolveLocalFileSystemURL: false,
1708
1712
  WebSocket: false,
1713
+ WebSocketError: false,
1714
+ WebSocketStream: false,
1709
1715
  WebTransport: false,
1710
1716
  WebTransportBidirectionalStream: false,
1711
1717
  WebTransportDatagramDuplexStream: false,
@@ -1753,6 +1759,7 @@ var require_globals = __commonJS({
1753
1759
  FormData: false,
1754
1760
  global: false,
1755
1761
  Headers: false,
1762
+ Iterator: false,
1756
1763
  MessageChannel: false,
1757
1764
  MessageEvent: false,
1758
1765
  MessagePort: false,
@@ -1792,6 +1799,7 @@ var require_globals = __commonJS({
1792
1799
  URL: false,
1793
1800
  URLSearchParams: false,
1794
1801
  WebAssembly: false,
1802
+ WebSocket: false,
1795
1803
  WritableStream: false,
1796
1804
  WritableStreamDefaultController: false,
1797
1805
  WritableStreamDefaultWriter: false
@@ -1824,6 +1832,7 @@ var require_globals = __commonJS({
1824
1832
  FormData: false,
1825
1833
  global: false,
1826
1834
  Headers: false,
1835
+ Iterator: false,
1827
1836
  MessageChannel: false,
1828
1837
  MessageEvent: false,
1829
1838
  MessagePort: false,
@@ -1861,6 +1870,7 @@ var require_globals = __commonJS({
1861
1870
  URL: false,
1862
1871
  URLSearchParams: false,
1863
1872
  WebAssembly: false,
1873
+ WebSocket: false,
1864
1874
  WritableStream: false,
1865
1875
  WritableStreamDefaultController: false,
1866
1876
  WritableStreamDefaultWriter: false
@@ -2392,6 +2402,7 @@ var require_globals = __commonJS({
2392
2402
  File: false,
2393
2403
  FormData: false,
2394
2404
  Headers: false,
2405
+ Iterator: false,
2395
2406
  MessageChannel: false,
2396
2407
  MessageEvent: false,
2397
2408
  MessagePort: false,
@@ -2427,6 +2438,7 @@ var require_globals = __commonJS({
2427
2438
  URL: false,
2428
2439
  URLSearchParams: false,
2429
2440
  WebAssembly: false,
2441
+ WebSocket: false,
2430
2442
  WritableStream: false,
2431
2443
  WritableStreamDefaultController: false,
2432
2444
  WritableStreamDefaultWriter: false
@@ -2499,9 +2511,9 @@ var require_globals = __commonJS({
2499
2511
  }
2500
2512
  });
2501
2513
 
2502
- // node_modules/.pnpm/globals@15.0.0/node_modules/globals/index.js
2514
+ // node_modules/.pnpm/globals@15.1.0/node_modules/globals/index.js
2503
2515
  var require_globals2 = __commonJS({
2504
- "node_modules/.pnpm/globals@15.0.0/node_modules/globals/index.js"(exports2, module2) {
2516
+ "node_modules/.pnpm/globals@15.1.0/node_modules/globals/index.js"(exports2, module2) {
2505
2517
  "use strict";
2506
2518
  module2.exports = require_globals();
2507
2519
  }
@@ -10148,6 +10160,11 @@ function typescriptRulesTypeAware() {
10148
10160
  "@typescript-eslint/restrict-plus-operands": "error",
10149
10161
  "@typescript-eslint/restrict-template-expressions": "error",
10150
10162
  "@typescript-eslint/unbound-method": "error",
10163
+ "@typescript-eslint/no-redundant-type-constituents": "warn",
10164
+ "@typescript-eslint/require-array-sort-compare": [
10165
+ "error",
10166
+ { ignoreStringArrays: true }
10167
+ ],
10151
10168
  "@typescript-eslint/naming-convention": [
10152
10169
  "error",
10153
10170
  {
@@ -10528,7 +10545,15 @@ function typescriptRulesTypeOblivious() {
10528
10545
  "space-before-blocks": "off",
10529
10546
  "@typescript-eslint/space-before-blocks": ["error", "always"],
10530
10547
  "no-undef": "off",
10531
- "no-duplicate-imports": "off"
10548
+ "no-duplicate-imports": "off",
10549
+ "@typescript-eslint/method-signature-style": "warn"
10550
+ /**
10551
+ * @todo
10552
+ */
10553
+ // "@typescript-eslint/explicit-function-return-type": [
10554
+ // "warn",
10555
+ // { allowExpressions: true, allowTypedFunctionExpressions: true },
10556
+ // ],
10532
10557
  };
10533
10558
  }
10534
10559
  function typescriptRules(props) {
@@ -10890,6 +10915,7 @@ function reactRules() {
10890
10915
  "react/jsx-no-target-blank": [
10891
10916
  "error",
10892
10917
  {
10918
+ allowReferrer: true,
10893
10919
  forms: true,
10894
10920
  warnOnSpreadAttributes: true
10895
10921
  }
@@ -10955,11 +10981,13 @@ function reactRules() {
10955
10981
  "react/no-typos": "error",
10956
10982
  "react/no-unescaped-entities": "error",
10957
10983
  "react/no-unsafe": "error",
10984
+ "react/no-unstable-nested-components": "error",
10958
10985
  // "react/no-unused-prop-types": "error",
10959
10986
  "react/no-unused-state": "error",
10960
10987
  "react/prefer-read-only-props": "error",
10961
10988
  // "react/prop-types": "error",
10962
10989
  "react/react-in-jsx-scope": "off",
10990
+ // not needed anymore!
10963
10991
  "react/require-default-props": [
10964
10992
  "error",
10965
10993
  {
@@ -11609,6 +11637,7 @@ var vitest = async (options = {}) => {
11609
11637
  "error",
11610
11638
  { fn: "test", withinDescribe: "test" }
11611
11639
  ],
11640
+ "vitest/no-duplicate-hooks": "error",
11612
11641
  "vitest/no-identical-title": "error",
11613
11642
  "vitest/prefer-hooks-in-order": "error",
11614
11643
  "vitest/prefer-lowercase-title": "error",
@@ -11891,14 +11920,13 @@ async function jsse(options = {}, ...userConfigs) {
11891
11920
  );
11892
11921
  }
11893
11922
  });
11894
- configs.push(
11895
- off.map((rule) => ({
11896
- files: ["**/*.{js,jsx,ts,tsx}"],
11897
- rules: {
11898
- [rule]: "off"
11923
+ combinedConfigs.forEach((config) => {
11924
+ Object.keys(config.rules ?? {}).forEach((rule) => {
11925
+ if (off.includes(rule) && config.rules) {
11926
+ config.rules[rule] = "off";
11899
11927
  }
11900
- }))
11901
- );
11928
+ });
11929
+ });
11902
11930
  }
11903
11931
  if (normalizedOptions.rootId !== "jsse") {
11904
11932
  combinedConfigs.forEach((config) => {
package/dist/index.d.cts CHANGED
@@ -9545,6 +9545,11 @@ interface PerfectionistRuleOptions {
9545
9545
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-interfaces
9546
9546
  */
9547
9547
  "perfectionist/sort-interfaces"?: Linter.RuleEntry<PerfectionistSortInterfaces>;
9548
+ /**
9549
+ * enforce sorted intersection types
9550
+ * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-intersection-types
9551
+ */
9552
+ "perfectionist/sort-intersection-types"?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>;
9548
9553
  /**
9549
9554
  * enforce sorted JSX props
9550
9555
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-jsx-props
@@ -9696,6 +9701,16 @@ type PerfectionistSortInterfaces =
9696
9701
  "partition-by-new-line"?: boolean;
9697
9702
  },
9698
9703
  ];
9704
+ // ----- perfectionist/sort-intersection-types -----
9705
+ type PerfectionistSortIntersectionTypes =
9706
+ | []
9707
+ | [
9708
+ {
9709
+ type?: "alphabetical" | "natural" | "line-length";
9710
+ order?: "asc" | "desc";
9711
+ "ignore-case"?: boolean;
9712
+ },
9713
+ ];
9699
9714
  // ----- perfectionist/sort-jsx-props -----
9700
9715
  type PerfectionistSortJsxProps =
9701
9716
  | []
@@ -11336,6 +11351,11 @@ interface StylisticRuleOptions {
11336
11351
  * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
11337
11352
  */
11338
11353
  "@stylistic/jsx-first-prop-new-line"?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>;
11354
+ /**
11355
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
11356
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
11357
+ */
11358
+ "@stylistic/jsx-function-call-newline"?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>;
11339
11359
  /**
11340
11360
  * Enforce JSX indentation
11341
11361
  * @see https://eslint.style/rules/jsx/jsx-indent
@@ -11988,6 +12008,8 @@ type StylisticJsxEqualsSpacing = [] | ["always" | "never"];
11988
12008
  type StylisticJsxFirstPropNewLine =
11989
12009
  | []
11990
12010
  | ["always" | "never" | "multiline" | "multiline-multiprop" | "multiprop"];
12011
+ // ----- @stylistic/jsx-function-call-newline -----
12012
+ type StylisticJsxFunctionCallNewline = [] | ["always" | "multiline"];
11991
12013
  // ----- @stylistic/jsx-indent -----
11992
12014
  type StylisticJsxIndent =
11993
12015
  | []
@@ -12041,7 +12063,7 @@ type StylisticJsxOneExpressionPerLine =
12041
12063
  | []
12042
12064
  | [
12043
12065
  {
12044
- allow?: "none" | "literal" | "single-child";
12066
+ allow?: "none" | "literal" | "single-child" | "single-line";
12045
12067
  },
12046
12068
  ];
12047
12069
  // ----- @stylistic/jsx-pascal-case -----
@@ -12122,6 +12144,9 @@ type StylisticJsxWrapMultilines =
12122
12144
  prop?:
12123
12145
  | (true | false | "ignore" | "parens" | "parens-new-line")
12124
12146
  | (true | false | "ignore" | "parens" | "parens-new-line");
12147
+ propertyValue?:
12148
+ | (true | false | "ignore" | "parens" | "parens-new-line")
12149
+ | (true | false | "ignore" | "parens" | "parens-new-line");
12125
12150
  },
12126
12151
  ];
12127
12152
  // ----- @stylistic/key-spacing -----
@@ -13390,7 +13415,7 @@ interface VitestRuleOptions {
13390
13415
  * disallow focused tests
13391
13416
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
13392
13417
  */
13393
- "vitest/no-focused-tests"?: Linter.RuleEntry<[]>;
13418
+ "vitest/no-focused-tests"?: Linter.RuleEntry<VitestNoFocusedTests>;
13394
13419
  /**
13395
13420
  * disallow setup and teardown hooks
13396
13421
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
@@ -13629,6 +13654,14 @@ type VitestMaxNestedDescribe =
13629
13654
  max?: number;
13630
13655
  },
13631
13656
  ];
13657
+ // ----- vitest/no-focused-tests -----
13658
+ type VitestNoFocusedTests =
13659
+ | []
13660
+ | [
13661
+ {
13662
+ fixable?: boolean;
13663
+ },
13664
+ ];
13632
13665
  // ----- vitest/no-hooks -----
13633
13666
  type VitestNoHooks =
13634
13667
  | []
package/dist/index.d.ts CHANGED
@@ -9545,6 +9545,11 @@ interface PerfectionistRuleOptions {
9545
9545
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-interfaces
9546
9546
  */
9547
9547
  "perfectionist/sort-interfaces"?: Linter.RuleEntry<PerfectionistSortInterfaces>;
9548
+ /**
9549
+ * enforce sorted intersection types
9550
+ * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-intersection-types
9551
+ */
9552
+ "perfectionist/sort-intersection-types"?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>;
9548
9553
  /**
9549
9554
  * enforce sorted JSX props
9550
9555
  * @see https://eslint-plugin-perfectionist.azat.io/rules/sort-jsx-props
@@ -9696,6 +9701,16 @@ type PerfectionistSortInterfaces =
9696
9701
  "partition-by-new-line"?: boolean;
9697
9702
  },
9698
9703
  ];
9704
+ // ----- perfectionist/sort-intersection-types -----
9705
+ type PerfectionistSortIntersectionTypes =
9706
+ | []
9707
+ | [
9708
+ {
9709
+ type?: "alphabetical" | "natural" | "line-length";
9710
+ order?: "asc" | "desc";
9711
+ "ignore-case"?: boolean;
9712
+ },
9713
+ ];
9699
9714
  // ----- perfectionist/sort-jsx-props -----
9700
9715
  type PerfectionistSortJsxProps =
9701
9716
  | []
@@ -11336,6 +11351,11 @@ interface StylisticRuleOptions {
11336
11351
  * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
11337
11352
  */
11338
11353
  "@stylistic/jsx-first-prop-new-line"?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>;
11354
+ /**
11355
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
11356
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
11357
+ */
11358
+ "@stylistic/jsx-function-call-newline"?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>;
11339
11359
  /**
11340
11360
  * Enforce JSX indentation
11341
11361
  * @see https://eslint.style/rules/jsx/jsx-indent
@@ -11988,6 +12008,8 @@ type StylisticJsxEqualsSpacing = [] | ["always" | "never"];
11988
12008
  type StylisticJsxFirstPropNewLine =
11989
12009
  | []
11990
12010
  | ["always" | "never" | "multiline" | "multiline-multiprop" | "multiprop"];
12011
+ // ----- @stylistic/jsx-function-call-newline -----
12012
+ type StylisticJsxFunctionCallNewline = [] | ["always" | "multiline"];
11991
12013
  // ----- @stylistic/jsx-indent -----
11992
12014
  type StylisticJsxIndent =
11993
12015
  | []
@@ -12041,7 +12063,7 @@ type StylisticJsxOneExpressionPerLine =
12041
12063
  | []
12042
12064
  | [
12043
12065
  {
12044
- allow?: "none" | "literal" | "single-child";
12066
+ allow?: "none" | "literal" | "single-child" | "single-line";
12045
12067
  },
12046
12068
  ];
12047
12069
  // ----- @stylistic/jsx-pascal-case -----
@@ -12122,6 +12144,9 @@ type StylisticJsxWrapMultilines =
12122
12144
  prop?:
12123
12145
  | (true | false | "ignore" | "parens" | "parens-new-line")
12124
12146
  | (true | false | "ignore" | "parens" | "parens-new-line");
12147
+ propertyValue?:
12148
+ | (true | false | "ignore" | "parens" | "parens-new-line")
12149
+ | (true | false | "ignore" | "parens" | "parens-new-line");
12125
12150
  },
12126
12151
  ];
12127
12152
  // ----- @stylistic/key-spacing -----
@@ -13390,7 +13415,7 @@ interface VitestRuleOptions {
13390
13415
  * disallow focused tests
13391
13416
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
13392
13417
  */
13393
- "vitest/no-focused-tests"?: Linter.RuleEntry<[]>;
13418
+ "vitest/no-focused-tests"?: Linter.RuleEntry<VitestNoFocusedTests>;
13394
13419
  /**
13395
13420
  * disallow setup and teardown hooks
13396
13421
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
@@ -13629,6 +13654,14 @@ type VitestMaxNestedDescribe =
13629
13654
  max?: number;
13630
13655
  },
13631
13656
  ];
13657
+ // ----- vitest/no-focused-tests -----
13658
+ type VitestNoFocusedTests =
13659
+ | []
13660
+ | [
13661
+ {
13662
+ fixable?: boolean;
13663
+ },
13664
+ ];
13632
13665
  // ----- vitest/no-hooks -----
13633
13666
  type VitestNoHooks =
13634
13667
  | []
package/dist/index.js CHANGED
@@ -24,9 +24,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // node_modules/.pnpm/globals@15.0.0/node_modules/globals/globals.json
27
+ // node_modules/.pnpm/globals@15.1.0/node_modules/globals/globals.json
28
28
  var require_globals = __commonJS({
29
- "node_modules/.pnpm/globals@15.0.0/node_modules/globals/globals.json"(exports, module) {
29
+ "node_modules/.pnpm/globals@15.1.0/node_modules/globals/globals.json"(exports, module) {
30
30
  module.exports = {
31
31
  builtin: {
32
32
  AggregateError: false,
@@ -950,6 +950,7 @@ var require_globals = __commonJS({
950
950
  onpagehide: true,
951
951
  onpagereveal: true,
952
952
  onpageshow: true,
953
+ onpageswap: true,
953
954
  onpaste: true,
954
955
  onpause: true,
955
956
  onplay: true,
@@ -1006,6 +1007,7 @@ var require_globals = __commonJS({
1006
1007
  outerWidth: false,
1007
1008
  OverconstrainedError: false,
1008
1009
  PageRevealEvent: false,
1010
+ PageSwapEvent: false,
1009
1011
  PageTransitionEvent: false,
1010
1012
  pageXOffset: false,
1011
1013
  pageYOffset: false,
@@ -1370,6 +1372,8 @@ var require_globals = __commonJS({
1370
1372
  WebGLUniformLocation: false,
1371
1373
  WebGLVertexArrayObject: false,
1372
1374
  WebSocket: false,
1375
+ WebSocketError: false,
1376
+ WebSocketStream: false,
1373
1377
  WebTransport: false,
1374
1378
  WebTransportBidirectionalStream: false,
1375
1379
  WebTransportDatagramDuplexStream: false,
@@ -1700,6 +1704,8 @@ var require_globals = __commonJS({
1700
1704
  webkitResolveLocalFileSystemSyncURL: false,
1701
1705
  webkitResolveLocalFileSystemURL: false,
1702
1706
  WebSocket: false,
1707
+ WebSocketError: false,
1708
+ WebSocketStream: false,
1703
1709
  WebTransport: false,
1704
1710
  WebTransportBidirectionalStream: false,
1705
1711
  WebTransportDatagramDuplexStream: false,
@@ -1747,6 +1753,7 @@ var require_globals = __commonJS({
1747
1753
  FormData: false,
1748
1754
  global: false,
1749
1755
  Headers: false,
1756
+ Iterator: false,
1750
1757
  MessageChannel: false,
1751
1758
  MessageEvent: false,
1752
1759
  MessagePort: false,
@@ -1786,6 +1793,7 @@ var require_globals = __commonJS({
1786
1793
  URL: false,
1787
1794
  URLSearchParams: false,
1788
1795
  WebAssembly: false,
1796
+ WebSocket: false,
1789
1797
  WritableStream: false,
1790
1798
  WritableStreamDefaultController: false,
1791
1799
  WritableStreamDefaultWriter: false
@@ -1818,6 +1826,7 @@ var require_globals = __commonJS({
1818
1826
  FormData: false,
1819
1827
  global: false,
1820
1828
  Headers: false,
1829
+ Iterator: false,
1821
1830
  MessageChannel: false,
1822
1831
  MessageEvent: false,
1823
1832
  MessagePort: false,
@@ -1855,6 +1864,7 @@ var require_globals = __commonJS({
1855
1864
  URL: false,
1856
1865
  URLSearchParams: false,
1857
1866
  WebAssembly: false,
1867
+ WebSocket: false,
1858
1868
  WritableStream: false,
1859
1869
  WritableStreamDefaultController: false,
1860
1870
  WritableStreamDefaultWriter: false
@@ -2386,6 +2396,7 @@ var require_globals = __commonJS({
2386
2396
  File: false,
2387
2397
  FormData: false,
2388
2398
  Headers: false,
2399
+ Iterator: false,
2389
2400
  MessageChannel: false,
2390
2401
  MessageEvent: false,
2391
2402
  MessagePort: false,
@@ -2421,6 +2432,7 @@ var require_globals = __commonJS({
2421
2432
  URL: false,
2422
2433
  URLSearchParams: false,
2423
2434
  WebAssembly: false,
2435
+ WebSocket: false,
2424
2436
  WritableStream: false,
2425
2437
  WritableStreamDefaultController: false,
2426
2438
  WritableStreamDefaultWriter: false
@@ -2493,9 +2505,9 @@ var require_globals = __commonJS({
2493
2505
  }
2494
2506
  });
2495
2507
 
2496
- // node_modules/.pnpm/globals@15.0.0/node_modules/globals/index.js
2508
+ // node_modules/.pnpm/globals@15.1.0/node_modules/globals/index.js
2497
2509
  var require_globals2 = __commonJS({
2498
- "node_modules/.pnpm/globals@15.0.0/node_modules/globals/index.js"(exports, module) {
2510
+ "node_modules/.pnpm/globals@15.1.0/node_modules/globals/index.js"(exports, module) {
2499
2511
  "use strict";
2500
2512
  module.exports = require_globals();
2501
2513
  }
@@ -10081,6 +10093,11 @@ function typescriptRulesTypeAware() {
10081
10093
  "@typescript-eslint/restrict-plus-operands": "error",
10082
10094
  "@typescript-eslint/restrict-template-expressions": "error",
10083
10095
  "@typescript-eslint/unbound-method": "error",
10096
+ "@typescript-eslint/no-redundant-type-constituents": "warn",
10097
+ "@typescript-eslint/require-array-sort-compare": [
10098
+ "error",
10099
+ { ignoreStringArrays: true }
10100
+ ],
10084
10101
  "@typescript-eslint/naming-convention": [
10085
10102
  "error",
10086
10103
  {
@@ -10461,7 +10478,15 @@ function typescriptRulesTypeOblivious() {
10461
10478
  "space-before-blocks": "off",
10462
10479
  "@typescript-eslint/space-before-blocks": ["error", "always"],
10463
10480
  "no-undef": "off",
10464
- "no-duplicate-imports": "off"
10481
+ "no-duplicate-imports": "off",
10482
+ "@typescript-eslint/method-signature-style": "warn"
10483
+ /**
10484
+ * @todo
10485
+ */
10486
+ // "@typescript-eslint/explicit-function-return-type": [
10487
+ // "warn",
10488
+ // { allowExpressions: true, allowTypedFunctionExpressions: true },
10489
+ // ],
10465
10490
  };
10466
10491
  }
10467
10492
  function typescriptRules(props) {
@@ -10823,6 +10848,7 @@ function reactRules() {
10823
10848
  "react/jsx-no-target-blank": [
10824
10849
  "error",
10825
10850
  {
10851
+ allowReferrer: true,
10826
10852
  forms: true,
10827
10853
  warnOnSpreadAttributes: true
10828
10854
  }
@@ -10888,11 +10914,13 @@ function reactRules() {
10888
10914
  "react/no-typos": "error",
10889
10915
  "react/no-unescaped-entities": "error",
10890
10916
  "react/no-unsafe": "error",
10917
+ "react/no-unstable-nested-components": "error",
10891
10918
  // "react/no-unused-prop-types": "error",
10892
10919
  "react/no-unused-state": "error",
10893
10920
  "react/prefer-read-only-props": "error",
10894
10921
  // "react/prop-types": "error",
10895
10922
  "react/react-in-jsx-scope": "off",
10923
+ // not needed anymore!
10896
10924
  "react/require-default-props": [
10897
10925
  "error",
10898
10926
  {
@@ -11542,6 +11570,7 @@ var vitest = async (options = {}) => {
11542
11570
  "error",
11543
11571
  { fn: "test", withinDescribe: "test" }
11544
11572
  ],
11573
+ "vitest/no-duplicate-hooks": "error",
11545
11574
  "vitest/no-identical-title": "error",
11546
11575
  "vitest/prefer-hooks-in-order": "error",
11547
11576
  "vitest/prefer-lowercase-title": "error",
@@ -11824,14 +11853,13 @@ async function jsse(options = {}, ...userConfigs) {
11824
11853
  );
11825
11854
  }
11826
11855
  });
11827
- configs.push(
11828
- off.map((rule) => ({
11829
- files: ["**/*.{js,jsx,ts,tsx}"],
11830
- rules: {
11831
- [rule]: "off"
11856
+ combinedConfigs.forEach((config) => {
11857
+ Object.keys(config.rules ?? {}).forEach((rule) => {
11858
+ if (off.includes(rule) && config.rules) {
11859
+ config.rules[rule] = "off";
11832
11860
  }
11833
- }))
11834
- );
11861
+ });
11862
+ });
11835
11863
  }
11836
11864
  if (normalizedOptions.rootId !== "jsse") {
11837
11865
  combinedConfigs.forEach((config) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.1.11",
4
+ "version": "0.1.13",
5
5
  "packageManager": "pnpm@8.15.4",
6
6
  "description": "jsse eslint config",
7
7
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
@@ -61,9 +61,9 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@eslint/js": "~8.57.0",
64
- "@stylistic/eslint-plugin": "1.7.0",
65
- "@typescript-eslint/eslint-plugin": "^7.6.0",
66
- "@typescript-eslint/parser": "^7.6.0",
64
+ "@stylistic/eslint-plugin": "1.8.0",
65
+ "@typescript-eslint/eslint-plugin": "^7.8.0",
66
+ "@typescript-eslint/parser": "^7.8.0",
67
67
  "eslint-config-flat-gitignore": "^0.1.5",
68
68
  "eslint-define-config": "^2.1.0",
69
69
  "eslint-plugin-antfu": "^2.1.2",
@@ -71,22 +71,22 @@
71
71
  "eslint-plugin-import-x": "^0.5.0",
72
72
  "eslint-plugin-jsdoc": "^48.2.3",
73
73
  "eslint-plugin-jsonc": "^2.15.1",
74
- "eslint-plugin-markdown": "^4.0.1",
75
- "eslint-plugin-n": "^17.2.0",
74
+ "eslint-plugin-markdown": "^5.0.0",
75
+ "eslint-plugin-n": "^17.4.0",
76
76
  "eslint-plugin-no-only-tests": "^3.1.0",
77
- "eslint-plugin-perfectionist": "^2.8.0",
77
+ "eslint-plugin-perfectionist": "^2.10.0",
78
78
  "eslint-plugin-react": "~7.34.1",
79
- "eslint-plugin-react-hooks": "~4.6.0",
79
+ "eslint-plugin-react-hooks": "~4.6.2",
80
80
  "eslint-plugin-react-refresh": "~0.4.6",
81
81
  "eslint-plugin-tailwindcss": "^3.15.1",
82
82
  "eslint-plugin-toml": "^0.11.0",
83
83
  "eslint-plugin-unicorn": "^52.0.0",
84
- "eslint-plugin-unused-imports": "^3.1.0",
85
- "eslint-plugin-vitest": "0.5.1",
84
+ "eslint-plugin-unused-imports": "^3.2.0",
85
+ "eslint-plugin-vitest": "0.5.4",
86
86
  "eslint-plugin-yml": "^1.14.0",
87
87
  "jsonc-eslint-parser": "^2.4.0",
88
88
  "toml-eslint-parser": "^0.9.3",
89
- "typescript-eslint": "^7.6.0",
89
+ "typescript-eslint": "^7.8.0",
90
90
  "yaml-eslint-parser": "^1.2.2"
91
91
  },
92
92
  "optionalDependencies": {
@@ -95,27 +95,27 @@
95
95
  "devDependencies": {
96
96
  "@antfu/ni": "^0.21.12",
97
97
  "@jsse/prettier-config": "^0.1.0",
98
- "@types/eslint": "^8.56.9",
98
+ "@types/eslint": "^8.56.10",
99
99
  "@types/eslint__js": "~8.42.3",
100
100
  "@types/fs-extra": "^11.0.4",
101
- "@types/node": "^20.12.7",
102
- "bumpp": "^9.4.0",
101
+ "@types/node": "^20.12.8",
102
+ "bumpp": "^9.4.1",
103
103
  "cac": "^6.7.14",
104
104
  "eslint": "^8.57.0",
105
- "eslint-flat-config-utils": "^0.2.2",
106
- "eslint-typegen": "^0.2.2",
105
+ "eslint-flat-config-utils": "^0.2.4",
106
+ "eslint-typegen": "^0.2.4",
107
107
  "execa": "~8.0.1",
108
108
  "fast-glob": "^3.3.2",
109
109
  "fs-extra": "^11.2.0",
110
- "globals": "^15.0.0",
110
+ "globals": "^15.1.0",
111
111
  "local-pkg": "^0.5.0",
112
112
  "prettier": "^3.2.5",
113
- "react": "~18.2.0",
113
+ "react": "~18.3.1",
114
114
  "rimraf": "^5.0.5",
115
115
  "tsup": "^8.0.2",
116
- "tsx": "^4.7.2",
116
+ "tsx": "^4.9.0",
117
117
  "typescript": "~5.4.5",
118
- "vitest": "^1.5.0"
118
+ "vitest": "^1.6.0"
119
119
  },
120
120
  "prettier": "@jsse/prettier-config",
121
121
  "scripts": {