@xylabs/eslint-config-react-flat 8.2.0 → 8.2.1

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/README.md CHANGED
@@ -49,6 +49,20 @@ const eslintConfig: Linter.Config[] = [
49
49
  export default eslintConfig
50
50
  ```
51
51
 
52
+ ### Tiered presets
53
+
54
+ React layers are added at **tier 2 (best practices)** and above. Lower tiers match `@xylabs/eslint-config-flat` without React rules.
55
+
56
+ | Export | Description |
57
+ |--------|-------------|
58
+ | `correctnessConfig` / `correctnessTypeCheckedConfig` | Base tier 0 only |
59
+ | `consistencyConfig` / `consistencyTypeCheckedConfig` | Base tier 1 only |
60
+ | `bestPracticesConfig` / `bestPracticesTypeCheckedConfig` | Base + React (**default** without storybook) |
61
+ | `opinionatedConfig` / `opinionatedTypeCheckedConfig` | Stricter optional rules |
62
+ | `strictConfig` / `strictTypeCheckedConfig` | Opinionated + SonarJS at error severity |
63
+
64
+ `config` includes storybook support via `recommendedTypeCheckedWithStorybookConfig`.
65
+
52
66
  ### Extending with custom rules
53
67
 
54
68
  ```ts
@@ -1,9 +1,4 @@
1
- import type { Linter } from 'eslint';
2
- export declare const reactStorybookConfig: Linter.Config[];
3
- export declare const recommendedConfig: Linter.Config[];
4
- export declare const recommendedTypeCheckedConfig: Linter.Config[];
5
- export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
6
- export declare const config: Linter.Config[];
7
- export { reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
1
+ export { reactBestPracticesConfig, reactBestPracticesTypeCheckedConfig, reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
8
2
  export { storybookConfig } from './storybook/index.ts';
3
+ export { bestPracticesConfig, bestPracticesTypeCheckedConfig, config, consistencyConfig, consistencyTypeCheckedConfig, correctnessConfig, correctnessTypeCheckedConfig, opinionatedConfig, opinionatedTypeCheckedConfig, reactStorybookConfig, recommendedConfig, recommendedTypeCheckedConfig, recommendedTypeCheckedWithStorybookConfig, strictConfig, strictTypeCheckedConfig, } from './tiers/index.ts';
9
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAQpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAwD,CAAA;AAErG,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAGD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA;AAEhF,OAAO,EACL,WAAW,EAAE,sBAAsB,EAAE,iCAAiC,GACvE,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,WAAW,EAEX,sBAAsB,EAEtB,iCAAiC,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,MAAM,EACN,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,yCAAyC,EACzC,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA"}
@@ -1,9 +1,3 @@
1
- // src/index.ts
2
- import {
3
- recommendedConfig as xyRecommendedConfig,
4
- recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig
5
- } from "@xylabs/eslint-config-flat";
6
-
7
1
  // src/react/index.ts
8
2
  import tsParser from "@typescript-eslint/parser";
9
3
  import reactDomPlugin from "eslint-plugin-react-dom";
@@ -63,34 +57,86 @@ function createReactOverride(typeChecked = false) {
63
57
  }
64
58
  };
65
59
  }
66
- var reactRecommendedConfig = [
60
+ var reactBestPracticesConfig = [
67
61
  ...scopeReactConfigs(reactPlugin.configs["strict-typescript"]),
68
62
  createReactOverride()
69
63
  ];
70
- var reactRecommendedTypeCheckedConfig = [
64
+ var reactBestPracticesTypeCheckedConfig = [
71
65
  ...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
72
66
  createReactOverride(true)
73
67
  ];
74
- var reactConfig = reactRecommendedTypeCheckedConfig;
68
+ var reactRecommendedConfig = reactBestPracticesConfig;
69
+ var reactRecommendedTypeCheckedConfig = reactBestPracticesTypeCheckedConfig;
70
+ var reactConfig = reactBestPracticesTypeCheckedConfig;
75
71
 
76
72
  // src/storybook/index.ts
77
73
  import storybook from "eslint-plugin-storybook";
78
74
  var storybookConfig = storybook.configs["flat/recommended"];
79
75
 
80
- // src/index.ts
76
+ // src/tiers/index.ts
77
+ import {
78
+ bestPracticesConfig as xyBestPracticesConfig,
79
+ bestPracticesTypeCheckedConfig as xyBestPracticesTypeCheckedConfig,
80
+ consistencyConfig as xyConsistencyConfig,
81
+ consistencyTypeCheckedConfig as xyConsistencyTypeCheckedConfig,
82
+ correctnessConfig as xyCorrectnessConfig,
83
+ correctnessTypeCheckedConfig as xyCorrectnessTypeCheckedConfig,
84
+ opinionatedConfig as xyOpinionatedConfig,
85
+ opinionatedTypeCheckedConfig as xyOpinionatedTypeCheckedConfig,
86
+ strictConfig as xyStrictConfig,
87
+ strictTypeCheckedConfig as xyStrictTypeCheckedConfig
88
+ } from "@xylabs/eslint-config-flat";
89
+ function mergeTierConfigs(...parts) {
90
+ return parts.flat();
91
+ }
81
92
  var reactStorybookConfig = [...storybookConfig];
82
- var recommendedConfig = [...xyRecommendedConfig, ...reactRecommendedConfig];
83
- var recommendedTypeCheckedConfig = [
84
- ...xyRecommendedTypeCheckedConfig,
85
- ...reactRecommendedTypeCheckedConfig
86
- ];
87
- var recommendedTypeCheckedWithStorybookConfig = [
88
- ...recommendedTypeCheckedConfig,
89
- ...reactStorybookConfig
90
- ];
93
+ var correctnessConfig = [...xyCorrectnessConfig];
94
+ var correctnessTypeCheckedConfig = [...xyCorrectnessTypeCheckedConfig];
95
+ var consistencyConfig = [...xyConsistencyConfig];
96
+ var consistencyTypeCheckedConfig = [...xyConsistencyTypeCheckedConfig];
97
+ var bestPracticesConfig = mergeTierConfigs(
98
+ xyBestPracticesConfig,
99
+ reactBestPracticesConfig
100
+ );
101
+ var bestPracticesTypeCheckedConfig = mergeTierConfigs(
102
+ xyBestPracticesTypeCheckedConfig,
103
+ reactBestPracticesTypeCheckedConfig
104
+ );
105
+ var opinionatedConfig = mergeTierConfigs(
106
+ xyOpinionatedConfig,
107
+ reactBestPracticesTypeCheckedConfig
108
+ );
109
+ var opinionatedTypeCheckedConfig = mergeTierConfigs(
110
+ xyOpinionatedTypeCheckedConfig,
111
+ reactBestPracticesTypeCheckedConfig
112
+ );
113
+ var strictConfig = mergeTierConfigs(
114
+ xyStrictConfig,
115
+ reactBestPracticesTypeCheckedConfig
116
+ );
117
+ var strictTypeCheckedConfig = mergeTierConfigs(
118
+ xyStrictTypeCheckedConfig,
119
+ reactBestPracticesTypeCheckedConfig
120
+ );
121
+ var recommendedConfig = bestPracticesConfig;
122
+ var recommendedTypeCheckedConfig = bestPracticesTypeCheckedConfig;
123
+ var recommendedTypeCheckedWithStorybookConfig = mergeTierConfigs(
124
+ bestPracticesTypeCheckedConfig,
125
+ reactStorybookConfig
126
+ );
91
127
  var config = recommendedTypeCheckedWithStorybookConfig;
92
128
  export {
129
+ bestPracticesConfig,
130
+ bestPracticesTypeCheckedConfig,
93
131
  config,
132
+ consistencyConfig,
133
+ consistencyTypeCheckedConfig,
134
+ correctnessConfig,
135
+ correctnessTypeCheckedConfig,
136
+ opinionatedConfig,
137
+ opinionatedTypeCheckedConfig,
138
+ reactBestPracticesConfig,
139
+ reactBestPracticesTypeCheckedConfig,
94
140
  reactConfig,
95
141
  reactRecommendedConfig,
96
142
  reactRecommendedTypeCheckedConfig,
@@ -98,6 +144,8 @@ export {
98
144
  recommendedConfig,
99
145
  recommendedTypeCheckedConfig,
100
146
  recommendedTypeCheckedWithStorybookConfig,
101
- storybookConfig
147
+ storybookConfig,
148
+ strictConfig,
149
+ strictTypeCheckedConfig
102
150
  };
103
151
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts", "../../src/react/index.ts", "../../src/storybook/index.ts"],
4
- "sourcesContent": ["import {\n recommendedConfig as xyRecommendedConfig,\n recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactRecommendedConfig,\n reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nimport { storybookConfig } from './storybook/index.ts'\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const recommendedConfig: Linter.Config[] = [...xyRecommendedConfig, ...reactRecommendedConfig]\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = [\n ...xyRecommendedTypeCheckedConfig,\n ...reactRecommendedTypeCheckedConfig,\n]\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = [\n ...recommendedTypeCheckedConfig,\n ...reactStorybookConfig,\n]\n\n// Compatibility export for existing consumers.\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n\nexport {\n reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nexport { storybookConfig } from './storybook/index.ts'\n", "import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react-hooks/use-memo': 'warn',\n 'react-hooks/set-state-in-effect': 'warn',\n },\n }\n}\n\nexport const reactRecommendedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\nexport const reactConfig: Linter.Config[] = reactRecommendedTypeCheckedConfig\n", "import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n"],
5
- "mappings": ";AAAA;AAAA,EACE,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,OAC3B;;;ACHP,OAAO,cAAc;AAErB,OAAO,oBAAoB;AAC3B,OAAO,sBAAsB;AAC7B,OAAO,iCAAiC;AACxC,OAAO,8BAA8B;AACrC,OAAO,uBAAuB;AAC9B,OAAO,iBAAiB;AACxB,OAAO,aAAa;AAEpB,IAAM,aAAa,CAAC,sCAAsC;AAE1D,SAAS,kBACP,SACA,cAAc,OACG;AACjB,UAAQ,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAAA,aAAW;AAAA,IACnE,GAAGA;AAAA,IACH,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,GAAGA,QAAO;AAAA,MACV,SAAS;AAAA,QACP,GAAI,QAAQ;AAAA,QACZ,GAAIA,QAAO,iBAAiB;AAAA,MAC9B;AAAA,MACA,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAIA,QAAO,iBAAiB;AAAA,QAC5B,GAAI,eAAe,EAAE,gBAAgB,MAAM,iBAAiB,QAAQ,IAAI,EAAE;AAAA,MAC5E;AAAA,IACF;AAAA,EACF,EAAE;AACJ;AAEA,SAAS,oBAAoB,cAAc,OAAsB;AAC/D,SAAO;AAAA,IACL,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAI,eAAe,EAAE,gBAAgB,MAAM,iBAAiB,QAAQ,IAAI,EAAE;AAAA,MAC5E;AAAA,MACA,SAAS,EAAE,GAAG,QAAQ,QAAQ;AAAA,IAChC;AAAA,IACA,SAAS;AAAA,MACP,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,2BAA2B;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,MACL,GAAG,eAAe,QAAQ,OAAO;AAAA,MACjC,GAAG,kBAAkB,QAAQ,YAAY;AAAA,MACzC,GAAG,iBAAiB,QAAQ,KAAK,YAAY;AAAA,MAC7C,GAAG,4BAA4B,QAAQ,YAAY;AAAA,MACnD,GAAG,yBAAyB,QAAQ,YAAY;AAAA,MAChD,wCAAwC,CAAC,QAAQ,EAAE,qBAAqB,KAAK,CAAC;AAAA,MAC9E,wBAAwB;AAAA,MACxB,mCAAmC;AAAA,IACrC;AAAA,EACF;AACF;AAEO,IAAM,yBAA0C;AAAA,EACrD,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB,CAAC;AAAA,EAC7D,oBAAoB;AACtB;AAEO,IAAM,oCAAqD;AAAA,EAChE,GAAG,kBAAkB,YAAY,QAAQ,qBAAqB,GAAG,IAAI;AAAA,EACrE,oBAAoB,IAAI;AAC1B;AAEO,IAAM,cAA+B;;;AC3E5C,OAAO,eAAe;AAEf,IAAM,kBAAmC,UAAU,QAAQ,kBAAkB;;;AFS7E,IAAM,uBAAwC,CAAC,GAAG,eAAe;AAEjE,IAAM,oBAAqC,CAAC,GAAG,qBAAqB,GAAG,sBAAsB;AAE7F,IAAM,+BAAgD;AAAA,EAC3D,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAM,4CAA6D;AAAA,EACxE,GAAG;AAAA,EACH,GAAG;AACL;AAGO,IAAM,SAA0B;",
3
+ "sources": ["../../src/react/index.ts", "../../src/storybook/index.ts", "../../src/tiers/index.ts"],
4
+ "sourcesContent": ["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react-hooks/use-memo': 'warn',\n 'react-hooks/set-state-in-effect': 'warn',\n },\n }\n}\n\nexport const reactBestPracticesConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactBestPracticesTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\n/** @deprecated Use `reactBestPracticesConfig` instead. */\nexport const reactRecommendedConfig: Linter.Config[] = reactBestPracticesConfig\n\n/** @deprecated Use `reactBestPracticesTypeCheckedConfig` instead. */\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n\nexport const reactConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n", "import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n", "import {\n bestPracticesConfig as xyBestPracticesConfig,\n bestPracticesTypeCheckedConfig as xyBestPracticesTypeCheckedConfig,\n consistencyConfig as xyConsistencyConfig,\n consistencyTypeCheckedConfig as xyConsistencyTypeCheckedConfig,\n correctnessConfig as xyCorrectnessConfig,\n correctnessTypeCheckedConfig as xyCorrectnessTypeCheckedConfig,\n opinionatedConfig as xyOpinionatedConfig,\n opinionatedTypeCheckedConfig as xyOpinionatedTypeCheckedConfig,\n strictConfig as xyStrictConfig,\n strictTypeCheckedConfig as xyStrictTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\nimport { storybookConfig } from '../storybook/index.ts'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const correctnessConfig: Linter.Config[] = [...xyCorrectnessConfig]\n\nexport const correctnessTypeCheckedConfig: Linter.Config[] = [...xyCorrectnessTypeCheckedConfig]\n\nexport const consistencyConfig: Linter.Config[] = [...xyConsistencyConfig]\n\nexport const consistencyTypeCheckedConfig: Linter.Config[] = [...xyConsistencyTypeCheckedConfig]\n\nexport const bestPracticesConfig: Linter.Config[] = mergeTierConfigs(\n xyBestPracticesConfig,\n reactBestPracticesConfig,\n)\n\nexport const bestPracticesTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyBestPracticesTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const opinionatedConfig: Linter.Config[] = mergeTierConfigs(\n xyOpinionatedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const opinionatedTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyOpinionatedTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const strictConfig: Linter.Config[] = mergeTierConfigs(\n xyStrictConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const strictTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyStrictTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const recommendedConfig: Linter.Config[] = bestPracticesConfig\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = bestPracticesTypeCheckedConfig\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n bestPracticesTypeCheckedConfig,\n reactStorybookConfig,\n)\n\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n"],
5
+ "mappings": "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",
6
6
  "names": ["config"]
7
7
  }
@@ -1,5 +1,9 @@
1
1
  import type { Linter } from 'eslint';
2
+ export declare const reactBestPracticesConfig: Linter.Config[];
3
+ export declare const reactBestPracticesTypeCheckedConfig: Linter.Config[];
4
+ /** @deprecated Use `reactBestPracticesConfig` instead. */
2
5
  export declare const reactRecommendedConfig: Linter.Config[];
6
+ /** @deprecated Use `reactBestPracticesTypeCheckedConfig` instead. */
3
7
  export declare const reactRecommendedTypeCheckedConfig: Linter.Config[];
4
8
  export declare const reactConfig: Linter.Config[];
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiE5C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiE5C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAGnD,CAAA;AAED,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAG9D,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE/E,qEAAqE;AACrE,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAErG,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const reactStorybookConfig: Linter.Config[];
3
+ export declare const correctnessConfig: Linter.Config[];
4
+ export declare const correctnessTypeCheckedConfig: Linter.Config[];
5
+ export declare const consistencyConfig: Linter.Config[];
6
+ export declare const consistencyTypeCheckedConfig: Linter.Config[];
7
+ export declare const bestPracticesConfig: Linter.Config[];
8
+ export declare const bestPracticesTypeCheckedConfig: Linter.Config[];
9
+ export declare const opinionatedConfig: Linter.Config[];
10
+ export declare const opinionatedTypeCheckedConfig: Linter.Config[];
11
+ export declare const strictConfig: Linter.Config[];
12
+ export declare const strictTypeCheckedConfig: Linter.Config[];
13
+ export declare const recommendedConfig: Linter.Config[];
14
+ export declare const recommendedTypeCheckedConfig: Linter.Config[];
15
+ export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
16
+ export declare const config: Linter.Config[];
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tiers/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAYpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAEhG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAEhG,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAG9C,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAGzD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAG5C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAGvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAGlD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAwB,CAAA;AAErE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAmC,CAAA;AAE3F,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA"}
@@ -1,9 +1,4 @@
1
- import type { Linter } from 'eslint';
2
- export declare const reactStorybookConfig: Linter.Config[];
3
- export declare const recommendedConfig: Linter.Config[];
4
- export declare const recommendedTypeCheckedConfig: Linter.Config[];
5
- export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
6
- export declare const config: Linter.Config[];
7
- export { reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
1
+ export { reactBestPracticesConfig, reactBestPracticesTypeCheckedConfig, reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
8
2
  export { storybookConfig } from './storybook/index.ts';
3
+ export { bestPracticesConfig, bestPracticesTypeCheckedConfig, config, consistencyConfig, consistencyTypeCheckedConfig, correctnessConfig, correctnessTypeCheckedConfig, opinionatedConfig, opinionatedTypeCheckedConfig, reactStorybookConfig, recommendedConfig, recommendedTypeCheckedConfig, recommendedTypeCheckedWithStorybookConfig, strictConfig, strictTypeCheckedConfig, } from './tiers/index.ts';
9
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAQpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAwD,CAAA;AAErG,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAGD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA;AAEhF,OAAO,EACL,WAAW,EAAE,sBAAsB,EAAE,iCAAiC,GACvE,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,WAAW,EAEX,sBAAsB,EAEtB,iCAAiC,GAClC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,8BAA8B,EAC9B,MAAM,EACN,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,yCAAyC,EACzC,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA"}
@@ -1,9 +1,3 @@
1
- // src/index.ts
2
- import {
3
- recommendedConfig as xyRecommendedConfig,
4
- recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig
5
- } from "@xylabs/eslint-config-flat";
6
-
7
1
  // src/react/index.ts
8
2
  import tsParser from "@typescript-eslint/parser";
9
3
  import reactDomPlugin from "eslint-plugin-react-dom";
@@ -63,34 +57,86 @@ function createReactOverride(typeChecked = false) {
63
57
  }
64
58
  };
65
59
  }
66
- var reactRecommendedConfig = [
60
+ var reactBestPracticesConfig = [
67
61
  ...scopeReactConfigs(reactPlugin.configs["strict-typescript"]),
68
62
  createReactOverride()
69
63
  ];
70
- var reactRecommendedTypeCheckedConfig = [
64
+ var reactBestPracticesTypeCheckedConfig = [
71
65
  ...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
72
66
  createReactOverride(true)
73
67
  ];
74
- var reactConfig = reactRecommendedTypeCheckedConfig;
68
+ var reactRecommendedConfig = reactBestPracticesConfig;
69
+ var reactRecommendedTypeCheckedConfig = reactBestPracticesTypeCheckedConfig;
70
+ var reactConfig = reactBestPracticesTypeCheckedConfig;
75
71
 
76
72
  // src/storybook/index.ts
77
73
  import storybook from "eslint-plugin-storybook";
78
74
  var storybookConfig = storybook.configs["flat/recommended"];
79
75
 
80
- // src/index.ts
76
+ // src/tiers/index.ts
77
+ import {
78
+ bestPracticesConfig as xyBestPracticesConfig,
79
+ bestPracticesTypeCheckedConfig as xyBestPracticesTypeCheckedConfig,
80
+ consistencyConfig as xyConsistencyConfig,
81
+ consistencyTypeCheckedConfig as xyConsistencyTypeCheckedConfig,
82
+ correctnessConfig as xyCorrectnessConfig,
83
+ correctnessTypeCheckedConfig as xyCorrectnessTypeCheckedConfig,
84
+ opinionatedConfig as xyOpinionatedConfig,
85
+ opinionatedTypeCheckedConfig as xyOpinionatedTypeCheckedConfig,
86
+ strictConfig as xyStrictConfig,
87
+ strictTypeCheckedConfig as xyStrictTypeCheckedConfig
88
+ } from "@xylabs/eslint-config-flat";
89
+ function mergeTierConfigs(...parts) {
90
+ return parts.flat();
91
+ }
81
92
  var reactStorybookConfig = [...storybookConfig];
82
- var recommendedConfig = [...xyRecommendedConfig, ...reactRecommendedConfig];
83
- var recommendedTypeCheckedConfig = [
84
- ...xyRecommendedTypeCheckedConfig,
85
- ...reactRecommendedTypeCheckedConfig
86
- ];
87
- var recommendedTypeCheckedWithStorybookConfig = [
88
- ...recommendedTypeCheckedConfig,
89
- ...reactStorybookConfig
90
- ];
93
+ var correctnessConfig = [...xyCorrectnessConfig];
94
+ var correctnessTypeCheckedConfig = [...xyCorrectnessTypeCheckedConfig];
95
+ var consistencyConfig = [...xyConsistencyConfig];
96
+ var consistencyTypeCheckedConfig = [...xyConsistencyTypeCheckedConfig];
97
+ var bestPracticesConfig = mergeTierConfigs(
98
+ xyBestPracticesConfig,
99
+ reactBestPracticesConfig
100
+ );
101
+ var bestPracticesTypeCheckedConfig = mergeTierConfigs(
102
+ xyBestPracticesTypeCheckedConfig,
103
+ reactBestPracticesTypeCheckedConfig
104
+ );
105
+ var opinionatedConfig = mergeTierConfigs(
106
+ xyOpinionatedConfig,
107
+ reactBestPracticesTypeCheckedConfig
108
+ );
109
+ var opinionatedTypeCheckedConfig = mergeTierConfigs(
110
+ xyOpinionatedTypeCheckedConfig,
111
+ reactBestPracticesTypeCheckedConfig
112
+ );
113
+ var strictConfig = mergeTierConfigs(
114
+ xyStrictConfig,
115
+ reactBestPracticesTypeCheckedConfig
116
+ );
117
+ var strictTypeCheckedConfig = mergeTierConfigs(
118
+ xyStrictTypeCheckedConfig,
119
+ reactBestPracticesTypeCheckedConfig
120
+ );
121
+ var recommendedConfig = bestPracticesConfig;
122
+ var recommendedTypeCheckedConfig = bestPracticesTypeCheckedConfig;
123
+ var recommendedTypeCheckedWithStorybookConfig = mergeTierConfigs(
124
+ bestPracticesTypeCheckedConfig,
125
+ reactStorybookConfig
126
+ );
91
127
  var config = recommendedTypeCheckedWithStorybookConfig;
92
128
  export {
129
+ bestPracticesConfig,
130
+ bestPracticesTypeCheckedConfig,
93
131
  config,
132
+ consistencyConfig,
133
+ consistencyTypeCheckedConfig,
134
+ correctnessConfig,
135
+ correctnessTypeCheckedConfig,
136
+ opinionatedConfig,
137
+ opinionatedTypeCheckedConfig,
138
+ reactBestPracticesConfig,
139
+ reactBestPracticesTypeCheckedConfig,
94
140
  reactConfig,
95
141
  reactRecommendedConfig,
96
142
  reactRecommendedTypeCheckedConfig,
@@ -98,6 +144,8 @@ export {
98
144
  recommendedConfig,
99
145
  recommendedTypeCheckedConfig,
100
146
  recommendedTypeCheckedWithStorybookConfig,
101
- storybookConfig
147
+ storybookConfig,
148
+ strictConfig,
149
+ strictTypeCheckedConfig
102
150
  };
103
151
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts", "../../src/react/index.ts", "../../src/storybook/index.ts"],
4
- "sourcesContent": ["import {\n recommendedConfig as xyRecommendedConfig,\n recommendedTypeCheckedConfig as xyRecommendedTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactRecommendedConfig,\n reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nimport { storybookConfig } from './storybook/index.ts'\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const recommendedConfig: Linter.Config[] = [...xyRecommendedConfig, ...reactRecommendedConfig]\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = [\n ...xyRecommendedTypeCheckedConfig,\n ...reactRecommendedTypeCheckedConfig,\n]\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = [\n ...recommendedTypeCheckedConfig,\n ...reactStorybookConfig,\n]\n\n// Compatibility export for existing consumers.\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n\nexport {\n reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig,\n} from './react/index.ts'\nexport { storybookConfig } from './storybook/index.ts'\n", "import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react-hooks/use-memo': 'warn',\n 'react-hooks/set-state-in-effect': 'warn',\n },\n }\n}\n\nexport const reactRecommendedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\nexport const reactConfig: Linter.Config[] = reactRecommendedTypeCheckedConfig\n", "import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n"],
5
- "mappings": ";AAAA;AAAA,EACE,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,OAC3B;;;ACHP,OAAO,cAAc;AAErB,OAAO,oBAAoB;AAC3B,OAAO,sBAAsB;AAC7B,OAAO,iCAAiC;AACxC,OAAO,8BAA8B;AACrC,OAAO,uBAAuB;AAC9B,OAAO,iBAAiB;AACxB,OAAO,aAAa;AAEpB,IAAM,aAAa,CAAC,sCAAsC;AAE1D,SAAS,kBACP,SACA,cAAc,OACG;AACjB,UAAQ,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAC,OAAO,GAAG,IAAI,CAAAA,aAAW;AAAA,IACnE,GAAGA;AAAA,IACH,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,GAAGA,QAAO;AAAA,MACV,SAAS;AAAA,QACP,GAAI,QAAQ;AAAA,QACZ,GAAIA,QAAO,iBAAiB;AAAA,MAC9B;AAAA,MACA,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAIA,QAAO,iBAAiB;AAAA,QAC5B,GAAI,eAAe,EAAE,gBAAgB,MAAM,iBAAiB,QAAQ,IAAI,EAAE;AAAA,MAC5E;AAAA,IACF;AAAA,EACF,EAAE;AACJ;AAEA,SAAS,oBAAoB,cAAc,OAAsB;AAC/D,SAAO;AAAA,IACL,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAI,eAAe,EAAE,gBAAgB,MAAM,iBAAiB,QAAQ,IAAI,EAAE;AAAA,MAC5E;AAAA,MACA,SAAS,EAAE,GAAG,QAAQ,QAAQ;AAAA,IAChC;AAAA,IACA,SAAS;AAAA,MACP,aAAa;AAAA,MACb,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,2BAA2B;AAAA,IAC7B;AAAA,IACA,OAAO;AAAA,MACL,GAAG,eAAe,QAAQ,OAAO;AAAA,MACjC,GAAG,kBAAkB,QAAQ,YAAY;AAAA,MACzC,GAAG,iBAAiB,QAAQ,KAAK,YAAY;AAAA,MAC7C,GAAG,4BAA4B,QAAQ,YAAY;AAAA,MACnD,GAAG,yBAAyB,QAAQ,YAAY;AAAA,MAChD,wCAAwC,CAAC,QAAQ,EAAE,qBAAqB,KAAK,CAAC;AAAA,MAC9E,wBAAwB;AAAA,MACxB,mCAAmC;AAAA,IACrC;AAAA,EACF;AACF;AAEO,IAAM,yBAA0C;AAAA,EACrD,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB,CAAC;AAAA,EAC7D,oBAAoB;AACtB;AAEO,IAAM,oCAAqD;AAAA,EAChE,GAAG,kBAAkB,YAAY,QAAQ,qBAAqB,GAAG,IAAI;AAAA,EACrE,oBAAoB,IAAI;AAC1B;AAEO,IAAM,cAA+B;;;AC3E5C,OAAO,eAAe;AAEf,IAAM,kBAAmC,UAAU,QAAQ,kBAAkB;;;AFS7E,IAAM,uBAAwC,CAAC,GAAG,eAAe;AAEjE,IAAM,oBAAqC,CAAC,GAAG,qBAAqB,GAAG,sBAAsB;AAE7F,IAAM,+BAAgD;AAAA,EAC3D,GAAG;AAAA,EACH,GAAG;AACL;AAEO,IAAM,4CAA6D;AAAA,EACxE,GAAG;AAAA,EACH,GAAG;AACL;AAGO,IAAM,SAA0B;",
3
+ "sources": ["../../src/react/index.ts", "../../src/storybook/index.ts", "../../src/tiers/index.ts"],
4
+ "sourcesContent": ["import tsParser from '@typescript-eslint/parser'\nimport type { ESLint, Linter } from 'eslint'\nimport reactDomPlugin from 'eslint-plugin-react-dom'\nimport reactHooksPlugin from 'eslint-plugin-react-hooks'\nimport reactNamingConventionPlugin from 'eslint-plugin-react-naming-convention'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport reactWebApiPlugin from 'eslint-plugin-react-web-api'\nimport reactPlugin from 'eslint-plugin-react-x'\nimport globals from 'globals'\n\nconst reactFiles = ['**/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs}']\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n typeChecked = false,\n): Linter.Config[] {\n return (Array.isArray(configs) ? configs : [configs]).map(config => ({\n ...config,\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n ...config.languageOptions,\n globals: {\n ...(globals.browser as Record<string, boolean>),\n ...(config.languageOptions?.globals as Record<string, unknown> | undefined),\n },\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(config.languageOptions?.parserOptions as Record<string, unknown> | undefined),\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n },\n }))\n}\n\nfunction createReactOverride(typeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...(typeChecked && { projectService: true, tsconfigRootDir: process.cwd() }),\n },\n globals: { ...globals.browser },\n },\n plugins: {\n 'react-dom': reactDomPlugin,\n 'react-web-api': reactWebApiPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n 'react-hooks': reactHooksPlugin as unknown as ESLint.Plugin,\n 'react-naming-convention': reactNamingConventionPlugin,\n },\n rules: {\n ...reactDomPlugin.configs.strict.rules,\n ...reactWebApiPlugin.configs.recommended.rules,\n ...reactHooksPlugin.configs.flat.recommended.rules,\n ...reactNamingConventionPlugin.configs.recommended.rules,\n ...eslintReactRefreshPlugin.configs.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react-hooks/use-memo': 'warn',\n 'react-hooks/set-state-in-effect': 'warn',\n },\n }\n}\n\nexport const reactBestPracticesConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-typescript']),\n createReactOverride(),\n]\n\nexport const reactBestPracticesTypeCheckedConfig: Linter.Config[] = [\n ...scopeReactConfigs(reactPlugin.configs['strict-type-checked'], true),\n createReactOverride(true),\n]\n\n/** @deprecated Use `reactBestPracticesConfig` instead. */\nexport const reactRecommendedConfig: Linter.Config[] = reactBestPracticesConfig\n\n/** @deprecated Use `reactBestPracticesTypeCheckedConfig` instead. */\nexport const reactRecommendedTypeCheckedConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n\nexport const reactConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n", "import type { Linter } from 'eslint'\nimport storybook from 'eslint-plugin-storybook'\n\nexport const storybookConfig: Linter.Config[] = storybook.configs['flat/recommended'] as Linter.Config[]\n", "import {\n bestPracticesConfig as xyBestPracticesConfig,\n bestPracticesTypeCheckedConfig as xyBestPracticesTypeCheckedConfig,\n consistencyConfig as xyConsistencyConfig,\n consistencyTypeCheckedConfig as xyConsistencyTypeCheckedConfig,\n correctnessConfig as xyCorrectnessConfig,\n correctnessTypeCheckedConfig as xyCorrectnessTypeCheckedConfig,\n opinionatedConfig as xyOpinionatedConfig,\n opinionatedTypeCheckedConfig as xyOpinionatedTypeCheckedConfig,\n strictConfig as xyStrictConfig,\n strictTypeCheckedConfig as xyStrictTypeCheckedConfig,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\nimport { storybookConfig } from '../storybook/index.ts'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nexport const reactStorybookConfig: Linter.Config[] = [...storybookConfig]\n\nexport const correctnessConfig: Linter.Config[] = [...xyCorrectnessConfig]\n\nexport const correctnessTypeCheckedConfig: Linter.Config[] = [...xyCorrectnessTypeCheckedConfig]\n\nexport const consistencyConfig: Linter.Config[] = [...xyConsistencyConfig]\n\nexport const consistencyTypeCheckedConfig: Linter.Config[] = [...xyConsistencyTypeCheckedConfig]\n\nexport const bestPracticesConfig: Linter.Config[] = mergeTierConfigs(\n xyBestPracticesConfig,\n reactBestPracticesConfig,\n)\n\nexport const bestPracticesTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyBestPracticesTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const opinionatedConfig: Linter.Config[] = mergeTierConfigs(\n xyOpinionatedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const opinionatedTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyOpinionatedTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const strictConfig: Linter.Config[] = mergeTierConfigs(\n xyStrictConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const strictTypeCheckedConfig: Linter.Config[] = mergeTierConfigs(\n xyStrictTypeCheckedConfig,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const recommendedConfig: Linter.Config[] = bestPracticesConfig\n\nexport const recommendedTypeCheckedConfig: Linter.Config[] = bestPracticesTypeCheckedConfig\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n bestPracticesTypeCheckedConfig,\n reactStorybookConfig,\n)\n\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n"],
5
+ "mappings": "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",
6
6
  "names": ["config"]
7
7
  }
@@ -1,5 +1,9 @@
1
1
  import type { Linter } from 'eslint';
2
+ export declare const reactBestPracticesConfig: Linter.Config[];
3
+ export declare const reactBestPracticesTypeCheckedConfig: Linter.Config[];
4
+ /** @deprecated Use `reactBestPracticesConfig` instead. */
2
5
  export declare const reactRecommendedConfig: Linter.Config[];
6
+ /** @deprecated Use `reactBestPracticesTypeCheckedConfig` instead. */
3
7
  export declare const reactRecommendedTypeCheckedConfig: Linter.Config[];
4
8
  export declare const reactConfig: Linter.Config[];
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiE5C,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAiE5C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAGnD,CAAA;AAED,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAG9D,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE/E,qEAAqE;AACrE,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAErG,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Linter } from 'eslint';
2
+ export declare const reactStorybookConfig: Linter.Config[];
3
+ export declare const correctnessConfig: Linter.Config[];
4
+ export declare const correctnessTypeCheckedConfig: Linter.Config[];
5
+ export declare const consistencyConfig: Linter.Config[];
6
+ export declare const consistencyTypeCheckedConfig: Linter.Config[];
7
+ export declare const bestPracticesConfig: Linter.Config[];
8
+ export declare const bestPracticesTypeCheckedConfig: Linter.Config[];
9
+ export declare const opinionatedConfig: Linter.Config[];
10
+ export declare const opinionatedTypeCheckedConfig: Linter.Config[];
11
+ export declare const strictConfig: Linter.Config[];
12
+ export declare const strictTypeCheckedConfig: Linter.Config[];
13
+ export declare const recommendedConfig: Linter.Config[];
14
+ export declare const recommendedTypeCheckedConfig: Linter.Config[];
15
+ export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
16
+ export declare const config: Linter.Config[];
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tiers/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAYpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAEhG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAA6B,CAAA;AAE1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAwC,CAAA;AAEhG,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAG9C,CAAA;AAED,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAGzD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAG5C,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAGvC,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAGlD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAwB,CAAA;AAErE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAmC,CAAA;AAE3F,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/eslint-config-react-flat",
3
- "version": "8.2.0",
3
+ "version": "8.2.1",
4
4
  "description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
5
5
  "keywords": [
6
6
  "xylabs",
@@ -44,7 +44,7 @@
44
44
  "eslint-plugin-react-x": "^5.9.0",
45
45
  "eslint-plugin-storybook": "^10.4.4",
46
46
  "globals": "~17.6.0",
47
- "@xylabs/eslint-config-flat": "~8.2.0"
47
+ "@xylabs/eslint-config-flat": "~8.2.1"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@babel/core": "^7.29.7",
@@ -63,8 +63,8 @@
63
63
  "vite": "^8.0.16",
64
64
  "vitest": "~4.1.8",
65
65
  "zod": "^4.4.3",
66
- "@xylabs/toolchain": "~8.2.0",
67
- "@xylabs/tsconfig": "~8.2.0"
66
+ "@xylabs/toolchain": "~8.2.1",
67
+ "@xylabs/tsconfig": "~8.2.1"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "browserslist": ">= 4.21.0",