@storm-software/eslint 0.170.81 → 0.170.83

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/preset.cjs CHANGED
@@ -4439,7 +4439,7 @@ init_cjs_shims();
4439
4439
 
4440
4440
  // ../eslint-plugin-banner/package.json
4441
4441
  var package_default = {
4442
- version: "0.0.20"};
4442
+ version: "0.0.21"};
4443
4443
 
4444
4444
  // ../eslint-plugin-banner/src/rules/banner.ts
4445
4445
  init_cjs_shims();
@@ -18459,7 +18459,7 @@ plugin3.configs = configs3;
18459
18459
 
18460
18460
  // ../eslint-plugin-pnpm/package.json
18461
18461
  var package_default2 = {
18462
- version: "0.0.19"};
18462
+ version: "0.0.20"};
18463
18463
 
18464
18464
  // ../eslint-plugin-pnpm/src/plugin.ts
18465
18465
  var plugin4 = {
@@ -18657,6 +18657,31 @@ var ReactRouterPackages = [
18657
18657
  "@react-router/serve",
18658
18658
  "@react-router/dev"
18659
18659
  ];
18660
+ function renameRules2(config5) {
18661
+ const renamedRules = {};
18662
+ for (const [ruleName, ruleConfig] of Object.entries(config5.rules || {})) {
18663
+ if (ruleName.startsWith("@eslint-react/dom-")) {
18664
+ renamedRules[`react-dom/${ruleName.slice("@eslint-react/dom-".length)}`] = ruleConfig;
18665
+ } else if (ruleName.startsWith("@eslint-react/web-api-")) {
18666
+ renamedRules[`react-web-api/${ruleName.slice("@eslint-react/web-api-".length)}`] = ruleConfig;
18667
+ } else if (ruleName.startsWith("@eslint-react/jsx-")) {
18668
+ renamedRules[`react-jsx/${ruleName.slice("@eslint-react/jsx-".length)}`] = ruleConfig;
18669
+ } else if (ruleName.startsWith("@eslint-react/rsc-")) {
18670
+ renamedRules[`react-rsc/${ruleName.slice("@eslint-react/rsc-".length)}`] = ruleConfig;
18671
+ } else if (ruleName.startsWith("@eslint-react/naming-convention-")) {
18672
+ renamedRules[`react-naming-convention/${ruleName.slice(
18673
+ "@eslint-react/naming-convention-".length
18674
+ )}`] = ruleConfig;
18675
+ } else if (ruleName.startsWith("@eslint-react/x-")) {
18676
+ renamedRules[`react-x/${ruleName.slice("@eslint-react/x-".length)}`] = ruleConfig;
18677
+ } else if (ruleName.startsWith("@eslint-react/")) {
18678
+ renamedRules[`react/${ruleName.slice("@eslint-react/".length)}`] = ruleConfig;
18679
+ } else {
18680
+ renamedRules[ruleName] = ruleConfig;
18681
+ }
18682
+ }
18683
+ return renamedRules;
18684
+ }
18660
18685
  async function react(options = {}) {
18661
18686
  const {
18662
18687
  files = [GLOB_SRC],
@@ -18669,22 +18694,36 @@ async function react(options = {}) {
18669
18694
  "@eslint-react/eslint-plugin",
18670
18695
  "eslint-plugin-react-hooks",
18671
18696
  "eslint-plugin-react-refresh",
18672
- "eslint-plugin-react-compiler"
18697
+ "eslint-plugin-react-compiler",
18698
+ "eslint-plugin-react-dom",
18699
+ "eslint-plugin-react-jsx",
18700
+ "eslint-plugin-react-naming-convention",
18701
+ "eslint-plugin-react-rsc",
18702
+ "eslint-plugin-react-web-api",
18703
+ "eslint-plugin-react-x"
18673
18704
  ]);
18674
- const isTypeAware = !!tsconfigPath;
18675
- const typeAwareRules = {
18676
- "react/no-leaked-conditional-rendering": "warn"
18677
- };
18678
18705
  const [
18679
18706
  pluginReact,
18680
18707
  pluginReactHooks,
18681
18708
  pluginReactRefresh,
18682
- pluginReactCompiler
18709
+ pluginReactCompiler,
18710
+ pluginReactDom,
18711
+ pluginReactJsx,
18712
+ pluginReactNamingConvention,
18713
+ pluginReactRsc,
18714
+ pluginReactWebApi,
18715
+ pluginReactX
18683
18716
  ] = await Promise.all([
18684
18717
  interopDefault(import('@eslint-react/eslint-plugin')),
18685
18718
  interopDefault(import('eslint-plugin-react-hooks')),
18686
18719
  interopDefault(import('eslint-plugin-react-refresh')),
18687
- interopDefault(import('eslint-plugin-react-compiler'))
18720
+ interopDefault(import('eslint-plugin-react-compiler')),
18721
+ interopDefault(import('eslint-plugin-react-dom')),
18722
+ interopDefault(import('eslint-plugin-react-jsx')),
18723
+ interopDefault(import('eslint-plugin-react-naming-convention')),
18724
+ interopDefault(import('eslint-plugin-react-rsc')),
18725
+ interopDefault(import('eslint-plugin-react-web-api')),
18726
+ interopDefault(import('eslint-plugin-react-x'))
18688
18727
  ]);
18689
18728
  const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
18690
18729
  (i) => localPkg.isPackageExists(i)
@@ -18692,13 +18731,19 @@ async function react(options = {}) {
18692
18731
  const isUsingReactRouter = ReactRouterPackages.some((i) => localPkg.isPackageExists(i));
18693
18732
  return [
18694
18733
  pluginReactHooks.configs.flat["recommended-latest"],
18695
- isTypeAware ? pluginReact.configs["recommended-type-checked"] : pluginReact.configs["recommended"],
18696
18734
  {
18697
18735
  name: "storm/react/setup",
18698
18736
  plugins: {
18699
18737
  "react-hooks": pluginReactHooks,
18700
18738
  "react-refresh": pluginReactRefresh,
18701
- "react-compiler": pluginReactCompiler
18739
+ "react-compiler": pluginReactCompiler,
18740
+ react: pluginReact,
18741
+ "react-dom": pluginReactDom,
18742
+ "react-jsx": pluginReactJsx,
18743
+ "react-naming-convention": pluginReactNamingConvention,
18744
+ "react-rsc": pluginReactRsc,
18745
+ "react-web-api": pluginReactWebApi,
18746
+ "react-x": pluginReactX
18702
18747
  }
18703
18748
  },
18704
18749
  {
@@ -18713,22 +18758,11 @@ async function react(options = {}) {
18713
18758
  },
18714
18759
  name: "storm/react/rules",
18715
18760
  rules: {
18716
- // recommended rules from @eslint-react/dom
18717
- "react-dom/no-children-in-void-dom-elements": "warn",
18718
- "react-dom/no-dangerously-set-innerhtml": "warn",
18719
- "react-dom/no-dangerously-set-innerhtml-with-children": "error",
18720
- "react-dom/no-find-dom-node": "error",
18721
- "react-dom/no-missing-button-type": "warn",
18722
- "react-dom/no-missing-iframe-sandbox": "warn",
18723
- "react-dom/no-namespace": "error",
18724
- "react-dom/no-render-return-value": "error",
18725
- "react-dom/no-script-url": "warn",
18726
- "react-dom/no-unsafe-iframe-sandbox": "warn",
18727
- "react-dom/no-unsafe-target-blank": "warn",
18728
- // recommended rules react-hooks
18761
+ ...renameRules2(
18762
+ !!tsconfigPath ? pluginReact.configs["recommended-type-checked"] : pluginReact.configs["recommended"]
18763
+ ),
18729
18764
  "react-hooks/exhaustive-deps": "warn",
18730
18765
  "react-hooks/rules-of-hooks": "error",
18731
- // react refresh
18732
18766
  "react-refresh/only-export-components": [
18733
18767
  "warn",
18734
18768
  {
@@ -18752,15 +18786,24 @@ async function react(options = {}) {
18752
18786
  )
18753
18787
  }
18754
18788
  ],
18755
- // recommended rules from @eslint-react/web-api
18789
+ "react-compiler/react-compiler": "error",
18790
+ "react-dom/no-void-elements-with-children": "warn",
18791
+ "react-dom/no-dangerously-set-innerhtml": "warn",
18792
+ "react-dom/no-dangerously-set-innerhtml-with-children": "error",
18793
+ "react-dom/no-find-dom-node": "error",
18794
+ "react-dom/no-missing-button-type": "warn",
18795
+ "react-dom/no-missing-iframe-sandbox": "warn",
18796
+ "react-dom/no-namespace": "error",
18797
+ "react-dom/no-render-return-value": "error",
18798
+ "react-dom/no-script-url": "warn",
18799
+ "react-dom/no-unsafe-iframe-sandbox": "warn",
18800
+ "react-dom/no-unsafe-target-blank": "warn",
18756
18801
  "react-web-api/no-leaked-event-listener": "warn",
18757
18802
  "react-web-api/no-leaked-interval": "warn",
18758
18803
  "react-web-api/no-leaked-resize-observer": "warn",
18759
18804
  "react-web-api/no-leaked-timeout": "warn",
18760
- // recommended rules from @eslint-react
18805
+ "react-x/error-boundaries": "error",
18761
18806
  "react/ensure-forward-ref-using-ref": "warn",
18762
- "react/jsx-no-duplicate-props": "warn",
18763
- "react/jsx-uses-vars": "warn",
18764
18807
  "react/no-access-state-in-setstate": "error",
18765
18808
  "react/no-array-index-key": "warn",
18766
18809
  "react/no-children-count": "warn",
@@ -18798,19 +18841,16 @@ async function react(options = {}) {
18798
18841
  "react/prefer-destructuring-assignment": "warn",
18799
18842
  "react/prefer-shorthand-boolean": "warn",
18800
18843
  "react/prefer-shorthand-fragment": "warn",
18801
- // recommended rules from eslint-plugin-react-compiler
18802
- "react-compiler/react-compiler": "error",
18803
- // overrides
18804
18844
  ...overrides
18805
18845
  }
18806
18846
  },
18807
- ...isTypeAware ? [
18847
+ ...!!tsconfigPath ? [
18808
18848
  {
18809
18849
  files: filesTypeAware,
18810
18850
  ignores: ignoresTypeAware,
18811
18851
  name: "storm/react/type-aware-rules",
18812
18852
  rules: {
18813
- ...typeAwareRules
18853
+ "react/no-leaked-conditional-rendering": "warn"
18814
18854
  }
18815
18855
  }
18816
18856
  ] : []
package/dist/preset.js CHANGED
@@ -4285,7 +4285,7 @@ init_esm_shims();
4285
4285
 
4286
4286
  // ../eslint-plugin-banner/package.json
4287
4287
  var package_default = {
4288
- version: "0.0.20"};
4288
+ version: "0.0.21"};
4289
4289
 
4290
4290
  // ../eslint-plugin-banner/src/rules/banner.ts
4291
4291
  init_esm_shims();
@@ -18047,7 +18047,7 @@ plugin3.configs = configs3;
18047
18047
 
18048
18048
  // ../eslint-plugin-pnpm/package.json
18049
18049
  var package_default2 = {
18050
- version: "0.0.19"};
18050
+ version: "0.0.20"};
18051
18051
 
18052
18052
  // ../eslint-plugin-pnpm/src/plugin.ts
18053
18053
  var plugin4 = {
@@ -18245,6 +18245,31 @@ var ReactRouterPackages = [
18245
18245
  "@react-router/serve",
18246
18246
  "@react-router/dev"
18247
18247
  ];
18248
+ function renameRules2(config5) {
18249
+ const renamedRules = {};
18250
+ for (const [ruleName, ruleConfig] of Object.entries(config5.rules || {})) {
18251
+ if (ruleName.startsWith("@eslint-react/dom-")) {
18252
+ renamedRules[`react-dom/${ruleName.slice("@eslint-react/dom-".length)}`] = ruleConfig;
18253
+ } else if (ruleName.startsWith("@eslint-react/web-api-")) {
18254
+ renamedRules[`react-web-api/${ruleName.slice("@eslint-react/web-api-".length)}`] = ruleConfig;
18255
+ } else if (ruleName.startsWith("@eslint-react/jsx-")) {
18256
+ renamedRules[`react-jsx/${ruleName.slice("@eslint-react/jsx-".length)}`] = ruleConfig;
18257
+ } else if (ruleName.startsWith("@eslint-react/rsc-")) {
18258
+ renamedRules[`react-rsc/${ruleName.slice("@eslint-react/rsc-".length)}`] = ruleConfig;
18259
+ } else if (ruleName.startsWith("@eslint-react/naming-convention-")) {
18260
+ renamedRules[`react-naming-convention/${ruleName.slice(
18261
+ "@eslint-react/naming-convention-".length
18262
+ )}`] = ruleConfig;
18263
+ } else if (ruleName.startsWith("@eslint-react/x-")) {
18264
+ renamedRules[`react-x/${ruleName.slice("@eslint-react/x-".length)}`] = ruleConfig;
18265
+ } else if (ruleName.startsWith("@eslint-react/")) {
18266
+ renamedRules[`react/${ruleName.slice("@eslint-react/".length)}`] = ruleConfig;
18267
+ } else {
18268
+ renamedRules[ruleName] = ruleConfig;
18269
+ }
18270
+ }
18271
+ return renamedRules;
18272
+ }
18248
18273
  async function react(options = {}) {
18249
18274
  const {
18250
18275
  files = [GLOB_SRC],
@@ -18257,22 +18282,36 @@ async function react(options = {}) {
18257
18282
  "@eslint-react/eslint-plugin",
18258
18283
  "eslint-plugin-react-hooks",
18259
18284
  "eslint-plugin-react-refresh",
18260
- "eslint-plugin-react-compiler"
18285
+ "eslint-plugin-react-compiler",
18286
+ "eslint-plugin-react-dom",
18287
+ "eslint-plugin-react-jsx",
18288
+ "eslint-plugin-react-naming-convention",
18289
+ "eslint-plugin-react-rsc",
18290
+ "eslint-plugin-react-web-api",
18291
+ "eslint-plugin-react-x"
18261
18292
  ]);
18262
- const isTypeAware = !!tsconfigPath;
18263
- const typeAwareRules = {
18264
- "react/no-leaked-conditional-rendering": "warn"
18265
- };
18266
18293
  const [
18267
18294
  pluginReact,
18268
18295
  pluginReactHooks,
18269
18296
  pluginReactRefresh,
18270
- pluginReactCompiler
18297
+ pluginReactCompiler,
18298
+ pluginReactDom,
18299
+ pluginReactJsx,
18300
+ pluginReactNamingConvention,
18301
+ pluginReactRsc,
18302
+ pluginReactWebApi,
18303
+ pluginReactX
18271
18304
  ] = await Promise.all([
18272
18305
  interopDefault(import('@eslint-react/eslint-plugin')),
18273
18306
  interopDefault(import('eslint-plugin-react-hooks')),
18274
18307
  interopDefault(import('eslint-plugin-react-refresh')),
18275
- interopDefault(import('eslint-plugin-react-compiler'))
18308
+ interopDefault(import('eslint-plugin-react-compiler')),
18309
+ interopDefault(import('eslint-plugin-react-dom')),
18310
+ interopDefault(import('eslint-plugin-react-jsx')),
18311
+ interopDefault(import('eslint-plugin-react-naming-convention')),
18312
+ interopDefault(import('eslint-plugin-react-rsc')),
18313
+ interopDefault(import('eslint-plugin-react-web-api')),
18314
+ interopDefault(import('eslint-plugin-react-x'))
18276
18315
  ]);
18277
18316
  const isAllowConstantExport = ReactRefreshAllowConstantExportPackages.some(
18278
18317
  (i) => isPackageExists(i)
@@ -18280,13 +18319,19 @@ async function react(options = {}) {
18280
18319
  const isUsingReactRouter = ReactRouterPackages.some((i) => isPackageExists(i));
18281
18320
  return [
18282
18321
  pluginReactHooks.configs.flat["recommended-latest"],
18283
- isTypeAware ? pluginReact.configs["recommended-type-checked"] : pluginReact.configs["recommended"],
18284
18322
  {
18285
18323
  name: "storm/react/setup",
18286
18324
  plugins: {
18287
18325
  "react-hooks": pluginReactHooks,
18288
18326
  "react-refresh": pluginReactRefresh,
18289
- "react-compiler": pluginReactCompiler
18327
+ "react-compiler": pluginReactCompiler,
18328
+ react: pluginReact,
18329
+ "react-dom": pluginReactDom,
18330
+ "react-jsx": pluginReactJsx,
18331
+ "react-naming-convention": pluginReactNamingConvention,
18332
+ "react-rsc": pluginReactRsc,
18333
+ "react-web-api": pluginReactWebApi,
18334
+ "react-x": pluginReactX
18290
18335
  }
18291
18336
  },
18292
18337
  {
@@ -18301,22 +18346,11 @@ async function react(options = {}) {
18301
18346
  },
18302
18347
  name: "storm/react/rules",
18303
18348
  rules: {
18304
- // recommended rules from @eslint-react/dom
18305
- "react-dom/no-children-in-void-dom-elements": "warn",
18306
- "react-dom/no-dangerously-set-innerhtml": "warn",
18307
- "react-dom/no-dangerously-set-innerhtml-with-children": "error",
18308
- "react-dom/no-find-dom-node": "error",
18309
- "react-dom/no-missing-button-type": "warn",
18310
- "react-dom/no-missing-iframe-sandbox": "warn",
18311
- "react-dom/no-namespace": "error",
18312
- "react-dom/no-render-return-value": "error",
18313
- "react-dom/no-script-url": "warn",
18314
- "react-dom/no-unsafe-iframe-sandbox": "warn",
18315
- "react-dom/no-unsafe-target-blank": "warn",
18316
- // recommended rules react-hooks
18349
+ ...renameRules2(
18350
+ !!tsconfigPath ? pluginReact.configs["recommended-type-checked"] : pluginReact.configs["recommended"]
18351
+ ),
18317
18352
  "react-hooks/exhaustive-deps": "warn",
18318
18353
  "react-hooks/rules-of-hooks": "error",
18319
- // react refresh
18320
18354
  "react-refresh/only-export-components": [
18321
18355
  "warn",
18322
18356
  {
@@ -18340,15 +18374,24 @@ async function react(options = {}) {
18340
18374
  )
18341
18375
  }
18342
18376
  ],
18343
- // recommended rules from @eslint-react/web-api
18377
+ "react-compiler/react-compiler": "error",
18378
+ "react-dom/no-void-elements-with-children": "warn",
18379
+ "react-dom/no-dangerously-set-innerhtml": "warn",
18380
+ "react-dom/no-dangerously-set-innerhtml-with-children": "error",
18381
+ "react-dom/no-find-dom-node": "error",
18382
+ "react-dom/no-missing-button-type": "warn",
18383
+ "react-dom/no-missing-iframe-sandbox": "warn",
18384
+ "react-dom/no-namespace": "error",
18385
+ "react-dom/no-render-return-value": "error",
18386
+ "react-dom/no-script-url": "warn",
18387
+ "react-dom/no-unsafe-iframe-sandbox": "warn",
18388
+ "react-dom/no-unsafe-target-blank": "warn",
18344
18389
  "react-web-api/no-leaked-event-listener": "warn",
18345
18390
  "react-web-api/no-leaked-interval": "warn",
18346
18391
  "react-web-api/no-leaked-resize-observer": "warn",
18347
18392
  "react-web-api/no-leaked-timeout": "warn",
18348
- // recommended rules from @eslint-react
18393
+ "react-x/error-boundaries": "error",
18349
18394
  "react/ensure-forward-ref-using-ref": "warn",
18350
- "react/jsx-no-duplicate-props": "warn",
18351
- "react/jsx-uses-vars": "warn",
18352
18395
  "react/no-access-state-in-setstate": "error",
18353
18396
  "react/no-array-index-key": "warn",
18354
18397
  "react/no-children-count": "warn",
@@ -18386,19 +18429,16 @@ async function react(options = {}) {
18386
18429
  "react/prefer-destructuring-assignment": "warn",
18387
18430
  "react/prefer-shorthand-boolean": "warn",
18388
18431
  "react/prefer-shorthand-fragment": "warn",
18389
- // recommended rules from eslint-plugin-react-compiler
18390
- "react-compiler/react-compiler": "error",
18391
- // overrides
18392
18432
  ...overrides
18393
18433
  }
18394
18434
  },
18395
- ...isTypeAware ? [
18435
+ ...!!tsconfigPath ? [
18396
18436
  {
18397
18437
  files: filesTypeAware,
18398
18438
  ignores: ignoresTypeAware,
18399
18439
  name: "storm/react/type-aware-rules",
18400
18440
  rules: {
18401
- ...typeAwareRules
18441
+ "react/no-leaked-conditional-rendering": "warn"
18402
18442
  }
18403
18443
  }
18404
18444
  ] : []