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

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.
@@ -1,4 +1,3 @@
1
- export { reactBestPracticesConfig, reactBestPracticesTypeCheckedConfig, reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
2
1
  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';
2
+ export * from './tiers/index.ts';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,21 @@
1
+ // src/storybook/index.ts
2
+ import storybook from "eslint-plugin-storybook";
3
+ var storybookConfig = storybook.configs["flat/recommended"];
4
+
5
+ // src/tiers/index.ts
6
+ import {
7
+ configTier0Correctness,
8
+ configTier0CorrectnessTypeChecked,
9
+ configTier1Consistency,
10
+ configTier1ConsistencyTypeChecked,
11
+ configTier2BestPractices,
12
+ configTier2BestPracticesTypeChecked,
13
+ configTier3Opinionated,
14
+ configTier3OpinionatedTypeChecked,
15
+ configTier4Strict,
16
+ configTier4StrictTypeChecked
17
+ } from "@xylabs/eslint-config-flat";
18
+
1
19
  // src/react/index.ts
2
20
  import tsParser from "@typescript-eslint/parser";
3
21
  import reactDomPlugin from "eslint-plugin-react-dom";
@@ -65,87 +83,63 @@ var reactBestPracticesTypeCheckedConfig = [
65
83
  ...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
66
84
  createReactOverride(true)
67
85
  ];
68
- var reactRecommendedConfig = reactBestPracticesConfig;
69
- var reactRecommendedTypeCheckedConfig = reactBestPracticesTypeCheckedConfig;
70
- var reactConfig = reactBestPracticesTypeCheckedConfig;
71
-
72
- // src/storybook/index.ts
73
- import storybook from "eslint-plugin-storybook";
74
- var storybookConfig = storybook.configs["flat/recommended"];
75
86
 
76
87
  // 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
88
  function mergeTierConfigs(...parts) {
90
89
  return parts.flat();
91
90
  }
92
- var reactStorybookConfig = [...storybookConfig];
93
- var correctnessConfig = [...xyCorrectnessConfig];
94
- var correctnessTypeCheckedConfig = [...xyCorrectnessTypeCheckedConfig];
95
- var consistencyConfig = [...xyConsistencyConfig];
96
- var consistencyTypeCheckedConfig = [...xyConsistencyTypeCheckedConfig];
97
- var bestPracticesConfig = mergeTierConfigs(
98
- xyBestPracticesConfig,
91
+ var configReactStorybook = [...storybookConfig];
92
+ var configReactTier0Correctness = [...configTier0Correctness];
93
+ var configReactTier0CorrectnessTypeChecked = [...configTier0CorrectnessTypeChecked];
94
+ var configReactTier1Consistency = [...configTier1Consistency];
95
+ var configReactTier1ConsistencyTypeChecked = [...configTier1ConsistencyTypeChecked];
96
+ var configReactTier2BestPractices = mergeTierConfigs(
97
+ configTier2BestPractices,
99
98
  reactBestPracticesConfig
100
99
  );
101
- var bestPracticesTypeCheckedConfig = mergeTierConfigs(
102
- xyBestPracticesTypeCheckedConfig,
100
+ var configReactTier2BestPracticesTypeChecked = mergeTierConfigs(
101
+ configTier2BestPracticesTypeChecked,
103
102
  reactBestPracticesTypeCheckedConfig
104
103
  );
105
- var opinionatedConfig = mergeTierConfigs(
106
- xyOpinionatedConfig,
104
+ var configReactTier3Oopinionated = mergeTierConfigs(
105
+ configTier3Opinionated,
107
106
  reactBestPracticesTypeCheckedConfig
108
107
  );
109
- var opinionatedTypeCheckedConfig = mergeTierConfigs(
110
- xyOpinionatedTypeCheckedConfig,
108
+ var configReactTier3OpinionatedTypeChecked = mergeTierConfigs(
109
+ configTier3OpinionatedTypeChecked,
111
110
  reactBestPracticesTypeCheckedConfig
112
111
  );
113
- var strictConfig = mergeTierConfigs(
114
- xyStrictConfig,
112
+ var configReactTier4Strict = mergeTierConfigs(
113
+ configTier4Strict,
115
114
  reactBestPracticesTypeCheckedConfig
116
115
  );
117
- var strictTypeCheckedConfig = mergeTierConfigs(
118
- xyStrictTypeCheckedConfig,
116
+ var configReactTier4StrictTypeChecked = mergeTierConfigs(
117
+ configTier4StrictTypeChecked,
119
118
  reactBestPracticesTypeCheckedConfig
120
119
  );
121
- var recommendedConfig = bestPracticesConfig;
122
- var recommendedTypeCheckedConfig = bestPracticesTypeCheckedConfig;
120
+ var recommendedConfig = configReactTier2BestPractices;
121
+ var recommendedTypeCheckedConfig = configReactTier2BestPracticesTypeChecked;
123
122
  var recommendedTypeCheckedWithStorybookConfig = mergeTierConfigs(
124
- bestPracticesTypeCheckedConfig,
125
- reactStorybookConfig
123
+ configReactTier2BestPracticesTypeChecked,
124
+ configReactStorybook
126
125
  );
127
126
  var config = recommendedTypeCheckedWithStorybookConfig;
128
127
  export {
129
- bestPracticesConfig,
130
- bestPracticesTypeCheckedConfig,
131
128
  config,
132
- consistencyConfig,
133
- consistencyTypeCheckedConfig,
134
- correctnessConfig,
135
- correctnessTypeCheckedConfig,
136
- opinionatedConfig,
137
- opinionatedTypeCheckedConfig,
138
- reactBestPracticesConfig,
139
- reactBestPracticesTypeCheckedConfig,
140
- reactConfig,
141
- reactRecommendedConfig,
142
- reactRecommendedTypeCheckedConfig,
143
- reactStorybookConfig,
129
+ configReactStorybook,
130
+ configReactTier0Correctness,
131
+ configReactTier0CorrectnessTypeChecked,
132
+ configReactTier1Consistency,
133
+ configReactTier1ConsistencyTypeChecked,
134
+ configReactTier2BestPractices,
135
+ configReactTier2BestPracticesTypeChecked,
136
+ configReactTier3Oopinionated,
137
+ configReactTier3OpinionatedTypeChecked,
138
+ configReactTier4Strict,
139
+ configReactTier4StrictTypeChecked,
144
140
  recommendedConfig,
145
141
  recommendedTypeCheckedConfig,
146
142
  recommendedTypeCheckedWithStorybookConfig,
147
- storybookConfig,
148
- strictConfig,
149
- strictTypeCheckedConfig
143
+ storybookConfig
150
144
  };
151
145
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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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",
3
+ "sources": ["../../src/storybook/index.ts", "../../src/tiers/index.ts", "../../src/react/index.ts"],
4
+ "sourcesContent": ["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 configTier0Correctness, configTier0CorrectnessTypeChecked, configTier1Consistency,\n configTier1ConsistencyTypeChecked,\n configTier2BestPractices,\n configTier2BestPracticesTypeChecked,\n configTier3Opinionated,\n configTier3OpinionatedTypeChecked,\n configTier4Strict,\n configTier4StrictTypeChecked,\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 configReactStorybook: Linter.Config[] = [...storybookConfig]\n\nexport const configReactTier0Correctness: Linter.Config[] = [...configTier0Correctness]\n\nexport const configReactTier0CorrectnessTypeChecked: Linter.Config[] = [...configTier0CorrectnessTypeChecked]\n\nexport const configReactTier1Consistency: Linter.Config[] = [...configTier1Consistency]\n\nexport const configReactTier1ConsistencyTypeChecked: Linter.Config[] = [...configTier1ConsistencyTypeChecked]\n\nexport const configReactTier2BestPractices: Linter.Config[] = mergeTierConfigs(\n configTier2BestPractices,\n reactBestPracticesConfig,\n)\n\nexport const configReactTier2BestPracticesTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier2BestPracticesTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier3Oopinionated: Linter.Config[] = mergeTierConfigs(\n configTier3Opinionated,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier3OpinionatedTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier3OpinionatedTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier4Strict: Linter.Config[] = mergeTierConfigs(\n configTier4Strict,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier4StrictTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier4StrictTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\n/** @deprecated Use `configReactTier2BestPractices` instead. */\nexport const recommendedConfig: Linter.Config[] = configReactTier2BestPractices\n\n/** @deprecated Use `configReactTier2BestPracticesTypeChecked` instead. */\nexport const recommendedTypeCheckedConfig: Linter.Config[] = configReactTier2BestPracticesTypeChecked\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n configReactTier2BestPracticesTypeChecked,\n configReactStorybook,\n)\n\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\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 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"],
5
+ "mappings": "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",
6
6
  "names": ["config"]
7
7
  }
@@ -1,16 +1,18 @@
1
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[];
2
+ export declare const configReactStorybook: Linter.Config[];
3
+ export declare const configReactTier0Correctness: Linter.Config[];
4
+ export declare const configReactTier0CorrectnessTypeChecked: Linter.Config[];
5
+ export declare const configReactTier1Consistency: Linter.Config[];
6
+ export declare const configReactTier1ConsistencyTypeChecked: Linter.Config[];
7
+ export declare const configReactTier2BestPractices: Linter.Config[];
8
+ export declare const configReactTier2BestPracticesTypeChecked: Linter.Config[];
9
+ export declare const configReactTier3Oopinionated: Linter.Config[];
10
+ export declare const configReactTier3OpinionatedTypeChecked: Linter.Config[];
11
+ export declare const configReactTier4Strict: Linter.Config[];
12
+ export declare const configReactTier4StrictTypeChecked: Linter.Config[];
13
+ /** @deprecated Use `configReactTier2BestPractices` instead. */
13
14
  export declare const recommendedConfig: Linter.Config[];
15
+ /** @deprecated Use `configReactTier2BestPracticesTypeChecked` instead. */
14
16
  export declare const recommendedTypeCheckedConfig: Linter.Config[];
15
17
  export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
16
18
  export declare const config: Linter.Config[];
@@ -1 +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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tiers/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAYpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAgC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAA2C,CAAA;AAE7G,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAgC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAA2C,CAAA;AAE7G,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAGxD,CAAA;AAED,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAAC,MAAM,EAGnE,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAGjE,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAkC,CAAA;AAE/E,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAA6C,CAAA;AAErG,eAAO,MAAM,yCAAyC,EAAE,MAAM,CAAC,MAAM,EAGpE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAA8C,CAAA"}
@@ -1,4 +1,3 @@
1
- export { reactBestPracticesConfig, reactBestPracticesTypeCheckedConfig, reactConfig, reactRecommendedConfig, reactRecommendedTypeCheckedConfig, } from './react/index.ts';
2
1
  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';
2
+ export * from './tiers/index.ts';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,cAAc,kBAAkB,CAAA"}
@@ -1,3 +1,21 @@
1
+ // src/storybook/index.ts
2
+ import storybook from "eslint-plugin-storybook";
3
+ var storybookConfig = storybook.configs["flat/recommended"];
4
+
5
+ // src/tiers/index.ts
6
+ import {
7
+ configTier0Correctness,
8
+ configTier0CorrectnessTypeChecked,
9
+ configTier1Consistency,
10
+ configTier1ConsistencyTypeChecked,
11
+ configTier2BestPractices,
12
+ configTier2BestPracticesTypeChecked,
13
+ configTier3Opinionated,
14
+ configTier3OpinionatedTypeChecked,
15
+ configTier4Strict,
16
+ configTier4StrictTypeChecked
17
+ } from "@xylabs/eslint-config-flat";
18
+
1
19
  // src/react/index.ts
2
20
  import tsParser from "@typescript-eslint/parser";
3
21
  import reactDomPlugin from "eslint-plugin-react-dom";
@@ -65,87 +83,63 @@ var reactBestPracticesTypeCheckedConfig = [
65
83
  ...scopeReactConfigs(reactPlugin.configs["strict-type-checked"], true),
66
84
  createReactOverride(true)
67
85
  ];
68
- var reactRecommendedConfig = reactBestPracticesConfig;
69
- var reactRecommendedTypeCheckedConfig = reactBestPracticesTypeCheckedConfig;
70
- var reactConfig = reactBestPracticesTypeCheckedConfig;
71
-
72
- // src/storybook/index.ts
73
- import storybook from "eslint-plugin-storybook";
74
- var storybookConfig = storybook.configs["flat/recommended"];
75
86
 
76
87
  // 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
88
  function mergeTierConfigs(...parts) {
90
89
  return parts.flat();
91
90
  }
92
- var reactStorybookConfig = [...storybookConfig];
93
- var correctnessConfig = [...xyCorrectnessConfig];
94
- var correctnessTypeCheckedConfig = [...xyCorrectnessTypeCheckedConfig];
95
- var consistencyConfig = [...xyConsistencyConfig];
96
- var consistencyTypeCheckedConfig = [...xyConsistencyTypeCheckedConfig];
97
- var bestPracticesConfig = mergeTierConfigs(
98
- xyBestPracticesConfig,
91
+ var configReactStorybook = [...storybookConfig];
92
+ var configReactTier0Correctness = [...configTier0Correctness];
93
+ var configReactTier0CorrectnessTypeChecked = [...configTier0CorrectnessTypeChecked];
94
+ var configReactTier1Consistency = [...configTier1Consistency];
95
+ var configReactTier1ConsistencyTypeChecked = [...configTier1ConsistencyTypeChecked];
96
+ var configReactTier2BestPractices = mergeTierConfigs(
97
+ configTier2BestPractices,
99
98
  reactBestPracticesConfig
100
99
  );
101
- var bestPracticesTypeCheckedConfig = mergeTierConfigs(
102
- xyBestPracticesTypeCheckedConfig,
100
+ var configReactTier2BestPracticesTypeChecked = mergeTierConfigs(
101
+ configTier2BestPracticesTypeChecked,
103
102
  reactBestPracticesTypeCheckedConfig
104
103
  );
105
- var opinionatedConfig = mergeTierConfigs(
106
- xyOpinionatedConfig,
104
+ var configReactTier3Oopinionated = mergeTierConfigs(
105
+ configTier3Opinionated,
107
106
  reactBestPracticesTypeCheckedConfig
108
107
  );
109
- var opinionatedTypeCheckedConfig = mergeTierConfigs(
110
- xyOpinionatedTypeCheckedConfig,
108
+ var configReactTier3OpinionatedTypeChecked = mergeTierConfigs(
109
+ configTier3OpinionatedTypeChecked,
111
110
  reactBestPracticesTypeCheckedConfig
112
111
  );
113
- var strictConfig = mergeTierConfigs(
114
- xyStrictConfig,
112
+ var configReactTier4Strict = mergeTierConfigs(
113
+ configTier4Strict,
115
114
  reactBestPracticesTypeCheckedConfig
116
115
  );
117
- var strictTypeCheckedConfig = mergeTierConfigs(
118
- xyStrictTypeCheckedConfig,
116
+ var configReactTier4StrictTypeChecked = mergeTierConfigs(
117
+ configTier4StrictTypeChecked,
119
118
  reactBestPracticesTypeCheckedConfig
120
119
  );
121
- var recommendedConfig = bestPracticesConfig;
122
- var recommendedTypeCheckedConfig = bestPracticesTypeCheckedConfig;
120
+ var recommendedConfig = configReactTier2BestPractices;
121
+ var recommendedTypeCheckedConfig = configReactTier2BestPracticesTypeChecked;
123
122
  var recommendedTypeCheckedWithStorybookConfig = mergeTierConfigs(
124
- bestPracticesTypeCheckedConfig,
125
- reactStorybookConfig
123
+ configReactTier2BestPracticesTypeChecked,
124
+ configReactStorybook
126
125
  );
127
126
  var config = recommendedTypeCheckedWithStorybookConfig;
128
127
  export {
129
- bestPracticesConfig,
130
- bestPracticesTypeCheckedConfig,
131
128
  config,
132
- consistencyConfig,
133
- consistencyTypeCheckedConfig,
134
- correctnessConfig,
135
- correctnessTypeCheckedConfig,
136
- opinionatedConfig,
137
- opinionatedTypeCheckedConfig,
138
- reactBestPracticesConfig,
139
- reactBestPracticesTypeCheckedConfig,
140
- reactConfig,
141
- reactRecommendedConfig,
142
- reactRecommendedTypeCheckedConfig,
143
- reactStorybookConfig,
129
+ configReactStorybook,
130
+ configReactTier0Correctness,
131
+ configReactTier0CorrectnessTypeChecked,
132
+ configReactTier1Consistency,
133
+ configReactTier1ConsistencyTypeChecked,
134
+ configReactTier2BestPractices,
135
+ configReactTier2BestPracticesTypeChecked,
136
+ configReactTier3Oopinionated,
137
+ configReactTier3OpinionatedTypeChecked,
138
+ configReactTier4Strict,
139
+ configReactTier4StrictTypeChecked,
144
140
  recommendedConfig,
145
141
  recommendedTypeCheckedConfig,
146
142
  recommendedTypeCheckedWithStorybookConfig,
147
- storybookConfig,
148
- strictConfig,
149
- strictTypeCheckedConfig
143
+ storybookConfig
150
144
  };
151
145
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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": ";AAAA,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,2BAA4C;AAAA,EACvD,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB,CAAC;AAAA,EAC7D,oBAAoB;AACtB;AAEO,IAAM,sCAAuD;AAAA,EAClE,GAAG,kBAAkB,YAAY,QAAQ,qBAAqB,GAAG,IAAI;AAAA,EACrE,oBAAoB,IAAI;AAC1B;AAGO,IAAM,yBAA0C;AAGhD,IAAM,oCAAqD;AAE3D,IAAM,cAA+B;;;ACjF5C,OAAO,eAAe;AAEf,IAAM,kBAAmC,UAAU,QAAQ,kBAAkB;;;ACHpF;AAAA,EACE,uBAAuB;AAAA,EACvB,kCAAkC;AAAA,EAClC,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EACrB,gCAAgC;AAAA,EAChC,gBAAgB;AAAA,EAChB,2BAA2B;AAAA,OACtB;AASP,SAAS,oBAAoB,OAAoD;AAC/E,SAAO,MAAM,KAAK;AACpB;AAEO,IAAM,uBAAwC,CAAC,GAAG,eAAe;AAEjE,IAAM,oBAAqC,CAAC,GAAG,mBAAmB;AAElE,IAAM,+BAAgD,CAAC,GAAG,8BAA8B;AAExF,IAAM,oBAAqC,CAAC,GAAG,mBAAmB;AAElE,IAAM,+BAAgD,CAAC,GAAG,8BAA8B;AAExF,IAAM,sBAAuC;AAAA,EAClD;AAAA,EACA;AACF;AAEO,IAAM,iCAAkD;AAAA,EAC7D;AAAA,EACA;AACF;AAEO,IAAM,oBAAqC;AAAA,EAChD;AAAA,EACA;AACF;AAEO,IAAM,+BAAgD;AAAA,EAC3D;AAAA,EACA;AACF;AAEO,IAAM,eAAgC;AAAA,EAC3C;AAAA,EACA;AACF;AAEO,IAAM,0BAA2C;AAAA,EACtD;AAAA,EACA;AACF;AAEO,IAAM,oBAAqC;AAE3C,IAAM,+BAAgD;AAEtD,IAAM,4CAA6D;AAAA,EACxE;AAAA,EACA;AACF;AAEO,IAAM,SAA0B;",
3
+ "sources": ["../../src/storybook/index.ts", "../../src/tiers/index.ts", "../../src/react/index.ts"],
4
+ "sourcesContent": ["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 configTier0Correctness, configTier0CorrectnessTypeChecked, configTier1Consistency,\n configTier1ConsistencyTypeChecked,\n configTier2BestPractices,\n configTier2BestPracticesTypeChecked,\n configTier3Opinionated,\n configTier3OpinionatedTypeChecked,\n configTier4Strict,\n configTier4StrictTypeChecked,\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 configReactStorybook: Linter.Config[] = [...storybookConfig]\n\nexport const configReactTier0Correctness: Linter.Config[] = [...configTier0Correctness]\n\nexport const configReactTier0CorrectnessTypeChecked: Linter.Config[] = [...configTier0CorrectnessTypeChecked]\n\nexport const configReactTier1Consistency: Linter.Config[] = [...configTier1Consistency]\n\nexport const configReactTier1ConsistencyTypeChecked: Linter.Config[] = [...configTier1ConsistencyTypeChecked]\n\nexport const configReactTier2BestPractices: Linter.Config[] = mergeTierConfigs(\n configTier2BestPractices,\n reactBestPracticesConfig,\n)\n\nexport const configReactTier2BestPracticesTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier2BestPracticesTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier3Oopinionated: Linter.Config[] = mergeTierConfigs(\n configTier3Opinionated,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier3OpinionatedTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier3OpinionatedTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier4Strict: Linter.Config[] = mergeTierConfigs(\n configTier4Strict,\n reactBestPracticesTypeCheckedConfig,\n)\n\nexport const configReactTier4StrictTypeChecked: Linter.Config[] = mergeTierConfigs(\n configTier4StrictTypeChecked,\n reactBestPracticesTypeCheckedConfig,\n)\n\n/** @deprecated Use `configReactTier2BestPractices` instead. */\nexport const recommendedConfig: Linter.Config[] = configReactTier2BestPractices\n\n/** @deprecated Use `configReactTier2BestPracticesTypeChecked` instead. */\nexport const recommendedTypeCheckedConfig: Linter.Config[] = configReactTier2BestPracticesTypeChecked\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n configReactTier2BestPracticesTypeChecked,\n configReactStorybook,\n)\n\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\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 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"],
5
+ "mappings": "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",
6
6
  "names": ["config"]
7
7
  }
@@ -1,16 +1,18 @@
1
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[];
2
+ export declare const configReactStorybook: Linter.Config[];
3
+ export declare const configReactTier0Correctness: Linter.Config[];
4
+ export declare const configReactTier0CorrectnessTypeChecked: Linter.Config[];
5
+ export declare const configReactTier1Consistency: Linter.Config[];
6
+ export declare const configReactTier1ConsistencyTypeChecked: Linter.Config[];
7
+ export declare const configReactTier2BestPractices: Linter.Config[];
8
+ export declare const configReactTier2BestPracticesTypeChecked: Linter.Config[];
9
+ export declare const configReactTier3Oopinionated: Linter.Config[];
10
+ export declare const configReactTier3OpinionatedTypeChecked: Linter.Config[];
11
+ export declare const configReactTier4Strict: Linter.Config[];
12
+ export declare const configReactTier4StrictTypeChecked: Linter.Config[];
13
+ /** @deprecated Use `configReactTier2BestPractices` instead. */
13
14
  export declare const recommendedConfig: Linter.Config[];
15
+ /** @deprecated Use `configReactTier2BestPracticesTypeChecked` instead. */
14
16
  export declare const recommendedTypeCheckedConfig: Linter.Config[];
15
17
  export declare const recommendedTypeCheckedWithStorybookConfig: Linter.Config[];
16
18
  export declare const config: Linter.Config[];
@@ -1 +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
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tiers/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAYpC,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAyB,CAAA;AAEzE,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAgC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAA2C,CAAA;AAE7G,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAgC,CAAA;AAEvF,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAA2C,CAAA;AAE7G,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAGxD,CAAA;AAED,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAAC,MAAM,EAGnE,CAAA;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAGvD,CAAA;AAED,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,MAAM,EAGjE,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAGjD,CAAA;AAED,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAG5D,CAAA;AAED,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAkC,CAAA;AAE/E,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAA6C,CAAA;AAErG,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.1",
3
+ "version": "8.2.2",
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.1"
47
+ "@xylabs/eslint-config-flat": "~8.2.2"
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.1",
67
- "@xylabs/tsconfig": "~8.2.1"
66
+ "@xylabs/tsconfig": "~8.2.2",
67
+ "@xylabs/toolchain": "~8.2.2"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "browserslist": ">= 4.21.0",