@xylabs/eslint-config-react-flat 8.2.19 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/neutral/index.mjs
CHANGED
|
@@ -101,7 +101,6 @@ function mergeTierConfigs(...parts) {
|
|
|
101
101
|
}
|
|
102
102
|
function reactLayersForTier(tier, isTypeChecked) {
|
|
103
103
|
if (tier <= 1) return [];
|
|
104
|
-
if (tier >= 3) return [...reactBestPracticesTypeCheckedConfig];
|
|
105
104
|
return isTypeChecked ? [...reactBestPracticesTypeCheckedConfig] : [...reactBestPracticesConfig];
|
|
106
105
|
}
|
|
107
106
|
function recommendedConfig(options) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/storybook/index.ts", "../../src/tiers/recommendedConfig.ts", "../../src/react/index.ts", "../../src/tiers/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 applyRecommendedConfigTypeChecked as applyFlatRecommendedConfigTypeChecked,\n type LintTier,\n parseRecommendedConfigSource as parseFlatRecommendedConfigSource,\n recommendedConfig as flatRecommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\n\nexport type { LintTier, RecommendedConfigOptions } from '@xylabs/eslint-config-flat'\nexport {\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nfunction reactLayersForTier(tier: LintTier, isTypeChecked: boolean): Linter.Config[] {\n if (tier <= 1) return []\n
|
|
5
|
-
"mappings": ";AACA,OAAO,eAAe;AAEf,IAAM,kBAAmC,UAAU,QAAQ,kBAAkB;;;ACHpF;AAAA,EACE,qCAAqC;AAAA,EAErC,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EAErB;AAAA,OACK;;;ACPP,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,0BAA8C;AACrD,SAAQ,WAAoD,SAAS,MAAM;AAC7E;AAEA,SAAS,yBAAyB,eAAiD;AACjF,MAAI,CAAC,cAAe,QAAO,CAAC;AAC5B,QAAM,kBAAkB,wBAAwB;AAChD,QAAM,gBAAyC,EAAE,gBAAgB,KAAK;AACtE,MAAI,oBAAoB,QAAW;AACjC,kBAAc,kBAAkB;AAAA,EAClC;AACA,SAAO;AACT;AAEA,SAAS,kBACP,SACA,gBAAgB,OACC;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,GAAG,yBAAyB,aAAa;AAAA,MAC3C;AAAA,IACF;AAAA,EACF,EAAE;AACJ;AAEA,SAAS,oBAAoB,gBAAgB,OAAsB;AACjE,SAAO;AAAA,IACL,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAG,yBAAyB,aAAa;AAAA,MAC3C;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;;;ADxEA;AAAA,EACE;AAAA,EACA;AAAA,EACA,mCAAAC;AAAA,OACK;AAEP,SAAS,oBAAoB,OAAoD;AAC/E,SAAO,MAAM,KAAK;AACpB;AAEA,SAAS,mBAAmB,MAAgB,eAAyC;AACnF,MAAI,QAAQ,EAAG,QAAO,CAAC;AACvB,
|
|
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 applyRecommendedConfigTypeChecked as applyFlatRecommendedConfigTypeChecked,\n type LintTier,\n parseRecommendedConfigSource as parseFlatRecommendedConfigSource,\n recommendedConfig as flatRecommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\n\nexport type { LintTier, RecommendedConfigOptions } from '@xylabs/eslint-config-flat'\nexport {\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nfunction reactLayersForTier(tier: LintTier, isTypeChecked: boolean): Linter.Config[] {\n if (tier <= 1) return []\n return isTypeChecked\n ? [...reactBestPracticesTypeCheckedConfig]\n : [...reactBestPracticesConfig]\n}\n\nexport function recommendedConfig(options?: RecommendedConfigOptions): Linter.Config[] {\n const resolved = resolveRecommendedConfigOptions(options)\n return mergeTierConfigs(\n flatRecommendedConfig(resolved),\n reactLayersForTier(resolved.tier, resolved.isTypeChecked),\n )\n}\n\nexport function parseRecommendedConfigSource(\n source: string,\n): { configKind: 'custom' | 'preset'; options: Required<RecommendedConfigOptions> } | undefined {\n return parseFlatRecommendedConfigSource(source)\n}\n\nexport function applyRecommendedConfigTypeChecked(source: string, isEnabled: boolean): string {\n return applyFlatRecommendedConfigTypeChecked(source, isEnabled)\n}\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 currentWorkingDirectory(): string | undefined {\n return (globalThis as { process?: { cwd?: () => string } }).process?.cwd?.()\n}\n\nfunction typeCheckedParserOptions(isTypeChecked: boolean): Record<string, unknown> {\n if (!isTypeChecked) return {}\n const tsconfigRootDir = currentWorkingDirectory()\n const parserOptions: Record<string, unknown> = { projectService: true }\n if (tsconfigRootDir !== undefined) {\n parserOptions.tsconfigRootDir = tsconfigRootDir\n }\n return parserOptions\n}\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n isTypeChecked = 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 ...typeCheckedParserOptions(isTypeChecked),\n },\n },\n }))\n}\n\nfunction createReactOverride(isTypeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...typeCheckedParserOptions(isTypeChecked),\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\nexport const reactConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n", "import type { Linter } from 'eslint'\n\nexport {\n applyRecommendedConfigTypeChecked,\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n type LintTier,\n parseRecommendedConfigSource,\n recommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from './recommendedConfig.ts'\n\nimport { storybookConfig } from '../storybook/index.ts'\nimport { recommendedConfig } from './recommendedConfig.ts'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nexport const configReactStorybook: Linter.Config[] = [...storybookConfig]\n\n/** @deprecated Use `recommendedConfig({ tier: 0, isTypeChecked: false })` instead. */\nexport const configReactTier0Correctness: Linter.Config[] = recommendedConfig({ tier: 0, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 0, isTypeChecked: true })` instead. */\nexport const configReactTier0CorrectnessTypeChecked: Linter.Config[] = recommendedConfig({ tier: 0, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 1, isTypeChecked: false })` instead. */\nexport const configReactTier1Consistency: Linter.Config[] = recommendedConfig({ tier: 1, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 1, isTypeChecked: true })` instead. */\nexport const configReactTier1ConsistencyTypeChecked: Linter.Config[] = recommendedConfig({ tier: 1, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: false })` instead. */\nexport const configReactTier2BestPractices: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: true })` instead. */\nexport const configReactTier2BestPracticesTypeChecked: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: false })` instead. */\nexport const configReactTier3Opinionated: Linter.Config[] = recommendedConfig({ tier: 3, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: true })` instead. */\nexport const configReactTier3OpinionatedTypeChecked: Linter.Config[] = recommendedConfig({ tier: 3, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 4, isTypeChecked: false })` instead. */\nexport const configReactTier4Experimental: Linter.Config[] = recommendedConfig({ tier: 4, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 4, isTypeChecked: true })` instead. */\nexport const configReactTier4ExperimentalTypeChecked: Linter.Config[] = recommendedConfig({ tier: 4, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: true })` instead. */\nexport const recommendedTypeCheckedConfig: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: true })\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n recommendedConfig({ tier: 2, isTypeChecked: true }),\n configReactStorybook,\n)\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: true })` plus `configReactStorybook` if needed. */\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["config", "resolveRecommendedConfigOptions", "mergeTierConfigs"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendedConfig.d.ts","sourceRoot":"","sources":["../../../src/tiers/recommendedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAOpC,YAAY,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"recommendedConfig.d.ts","sourceRoot":"","sources":["../../../src/tiers/recommendedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAOpC,YAAY,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,4BAA4B,CAAA;AAanC,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,CAMrF;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GACb;IAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAA;CAAE,GAAG,SAAS,CAE9F;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAE5F"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -101,7 +101,6 @@ function mergeTierConfigs(...parts) {
|
|
|
101
101
|
}
|
|
102
102
|
function reactLayersForTier(tier, isTypeChecked) {
|
|
103
103
|
if (tier <= 1) return [];
|
|
104
|
-
if (tier >= 3) return [...reactBestPracticesTypeCheckedConfig];
|
|
105
104
|
return isTypeChecked ? [...reactBestPracticesTypeCheckedConfig] : [...reactBestPracticesConfig];
|
|
106
105
|
}
|
|
107
106
|
function recommendedConfig(options) {
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/storybook/index.ts", "../../src/tiers/recommendedConfig.ts", "../../src/react/index.ts", "../../src/tiers/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 applyRecommendedConfigTypeChecked as applyFlatRecommendedConfigTypeChecked,\n type LintTier,\n parseRecommendedConfigSource as parseFlatRecommendedConfigSource,\n recommendedConfig as flatRecommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\n\nexport type { LintTier, RecommendedConfigOptions } from '@xylabs/eslint-config-flat'\nexport {\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nfunction reactLayersForTier(tier: LintTier, isTypeChecked: boolean): Linter.Config[] {\n if (tier <= 1) return []\n
|
|
5
|
-
"mappings": ";AACA,OAAO,eAAe;AAEf,IAAM,kBAAmC,UAAU,QAAQ,kBAAkB;;;ACHpF;AAAA,EACE,qCAAqC;AAAA,EAErC,gCAAgC;AAAA,EAChC,qBAAqB;AAAA,EAErB;AAAA,OACK;;;ACPP,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,0BAA8C;AACrD,SAAQ,WAAoD,SAAS,MAAM;AAC7E;AAEA,SAAS,yBAAyB,eAAiD;AACjF,MAAI,CAAC,cAAe,QAAO,CAAC;AAC5B,QAAM,kBAAkB,wBAAwB;AAChD,QAAM,gBAAyC,EAAE,gBAAgB,KAAK;AACtE,MAAI,oBAAoB,QAAW;AACjC,kBAAc,kBAAkB;AAAA,EAClC;AACA,SAAO;AACT;AAEA,SAAS,kBACP,SACA,gBAAgB,OACC;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,GAAG,yBAAyB,aAAa;AAAA,MAC3C;AAAA,IACF;AAAA,EACF,EAAE;AACJ;AAEA,SAAS,oBAAoB,gBAAgB,OAAsB;AACjE,SAAO;AAAA,IACL,OAAO;AAAA,IACP,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,eAAe;AAAA,QACb,cAAc,EAAE,KAAK,KAAK;AAAA,QAC1B,GAAG,yBAAyB,aAAa;AAAA,MAC3C;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;;;ADxEA;AAAA,EACE;AAAA,EACA;AAAA,EACA,mCAAAC;AAAA,OACK;AAEP,SAAS,oBAAoB,OAAoD;AAC/E,SAAO,MAAM,KAAK;AACpB;AAEA,SAAS,mBAAmB,MAAgB,eAAyC;AACnF,MAAI,QAAQ,EAAG,QAAO,CAAC;AACvB,
|
|
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 applyRecommendedConfigTypeChecked as applyFlatRecommendedConfigTypeChecked,\n type LintTier,\n parseRecommendedConfigSource as parseFlatRecommendedConfigSource,\n recommendedConfig as flatRecommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport {\n reactBestPracticesConfig,\n reactBestPracticesTypeCheckedConfig,\n} from '../react/index.ts'\n\nexport type { LintTier, RecommendedConfigOptions } from '@xylabs/eslint-config-flat'\nexport {\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n resolveRecommendedConfigOptions,\n} from '@xylabs/eslint-config-flat'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nfunction reactLayersForTier(tier: LintTier, isTypeChecked: boolean): Linter.Config[] {\n if (tier <= 1) return []\n return isTypeChecked\n ? [...reactBestPracticesTypeCheckedConfig]\n : [...reactBestPracticesConfig]\n}\n\nexport function recommendedConfig(options?: RecommendedConfigOptions): Linter.Config[] {\n const resolved = resolveRecommendedConfigOptions(options)\n return mergeTierConfigs(\n flatRecommendedConfig(resolved),\n reactLayersForTier(resolved.tier, resolved.isTypeChecked),\n )\n}\n\nexport function parseRecommendedConfigSource(\n source: string,\n): { configKind: 'custom' | 'preset'; options: Required<RecommendedConfigOptions> } | undefined {\n return parseFlatRecommendedConfigSource(source)\n}\n\nexport function applyRecommendedConfigTypeChecked(source: string, isEnabled: boolean): string {\n return applyFlatRecommendedConfigTypeChecked(source, isEnabled)\n}\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 currentWorkingDirectory(): string | undefined {\n return (globalThis as { process?: { cwd?: () => string } }).process?.cwd?.()\n}\n\nfunction typeCheckedParserOptions(isTypeChecked: boolean): Record<string, unknown> {\n if (!isTypeChecked) return {}\n const tsconfigRootDir = currentWorkingDirectory()\n const parserOptions: Record<string, unknown> = { projectService: true }\n if (tsconfigRootDir !== undefined) {\n parserOptions.tsconfigRootDir = tsconfigRootDir\n }\n return parserOptions\n}\n\nfunction scopeReactConfigs(\n configs: Linter.Config | Linter.Config[],\n isTypeChecked = 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 ...typeCheckedParserOptions(isTypeChecked),\n },\n },\n }))\n}\n\nfunction createReactOverride(isTypeChecked = false): Linter.Config {\n return {\n files: reactFiles,\n languageOptions: {\n parser: tsParser,\n parserOptions: {\n ecmaFeatures: { jsx: true },\n ...typeCheckedParserOptions(isTypeChecked),\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\nexport const reactConfig: Linter.Config[] = reactBestPracticesTypeCheckedConfig\n", "import type { Linter } from 'eslint'\n\nexport {\n applyRecommendedConfigTypeChecked,\n DEFAULT_RECOMMENDED_CONFIG_OPTIONS,\n formatRecommendedConfigCall,\n type LintTier,\n parseRecommendedConfigSource,\n recommendedConfig,\n type RecommendedConfigOptions,\n resolveRecommendedConfigOptions,\n} from './recommendedConfig.ts'\n\nimport { storybookConfig } from '../storybook/index.ts'\nimport { recommendedConfig } from './recommendedConfig.ts'\n\nfunction mergeTierConfigs(...parts: readonly Linter.Config[][]): Linter.Config[] {\n return parts.flat()\n}\n\nexport const configReactStorybook: Linter.Config[] = [...storybookConfig]\n\n/** @deprecated Use `recommendedConfig({ tier: 0, isTypeChecked: false })` instead. */\nexport const configReactTier0Correctness: Linter.Config[] = recommendedConfig({ tier: 0, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 0, isTypeChecked: true })` instead. */\nexport const configReactTier0CorrectnessTypeChecked: Linter.Config[] = recommendedConfig({ tier: 0, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 1, isTypeChecked: false })` instead. */\nexport const configReactTier1Consistency: Linter.Config[] = recommendedConfig({ tier: 1, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 1, isTypeChecked: true })` instead. */\nexport const configReactTier1ConsistencyTypeChecked: Linter.Config[] = recommendedConfig({ tier: 1, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: false })` instead. */\nexport const configReactTier2BestPractices: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: true })` instead. */\nexport const configReactTier2BestPracticesTypeChecked: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: false })` instead. */\nexport const configReactTier3Opinionated: Linter.Config[] = recommendedConfig({ tier: 3, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: true })` instead. */\nexport const configReactTier3OpinionatedTypeChecked: Linter.Config[] = recommendedConfig({ tier: 3, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 4, isTypeChecked: false })` instead. */\nexport const configReactTier4Experimental: Linter.Config[] = recommendedConfig({ tier: 4, isTypeChecked: false })\n\n/** @deprecated Use `recommendedConfig({ tier: 4, isTypeChecked: true })` instead. */\nexport const configReactTier4ExperimentalTypeChecked: Linter.Config[] = recommendedConfig({ tier: 4, isTypeChecked: true })\n\n/** @deprecated Use `recommendedConfig({ tier: 2, isTypeChecked: true })` instead. */\nexport const recommendedTypeCheckedConfig: Linter.Config[] = recommendedConfig({ tier: 2, isTypeChecked: true })\n\nexport const recommendedTypeCheckedWithStorybookConfig: Linter.Config[] = mergeTierConfigs(\n recommendedConfig({ tier: 2, isTypeChecked: true }),\n configReactStorybook,\n)\n\n/** @deprecated Use `recommendedConfig({ tier: 3, isTypeChecked: true })` plus `configReactStorybook` if needed. */\nexport const config: Linter.Config[] = recommendedTypeCheckedWithStorybookConfig\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["config", "resolveRecommendedConfigOptions", "mergeTierConfigs"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommendedConfig.d.ts","sourceRoot":"","sources":["../../../src/tiers/recommendedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAOpC,YAAY,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"recommendedConfig.d.ts","sourceRoot":"","sources":["../../../src/tiers/recommendedConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAOpC,YAAY,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACpF,OAAO,EACL,kCAAkC,EAClC,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,4BAA4B,CAAA;AAanC,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,CAMrF;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GACb;IAAE,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAAA;CAAE,GAAG,SAAS,CAE9F;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAE5F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/eslint-config-react-flat",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"xylabs",
|
|
@@ -43,23 +43,23 @@
|
|
|
43
43
|
"LICENSE"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@typescript-eslint/parser": "^8.
|
|
47
|
-
"eslint-plugin-react-dom": "^5.9.
|
|
46
|
+
"@typescript-eslint/parser": "^8.62.0",
|
|
47
|
+
"eslint-plugin-react-dom": "^5.9.3",
|
|
48
48
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
49
|
-
"eslint-plugin-react-naming-convention": "^5.9.
|
|
49
|
+
"eslint-plugin-react-naming-convention": "^5.9.3",
|
|
50
50
|
"eslint-plugin-react-refresh": "^0.5.3",
|
|
51
|
-
"eslint-plugin-react-web-api": "^5.9.
|
|
52
|
-
"eslint-plugin-react-x": "^5.9.
|
|
51
|
+
"eslint-plugin-react-web-api": "^5.9.3",
|
|
52
|
+
"eslint-plugin-react-x": "^5.9.3",
|
|
53
53
|
"eslint-plugin-storybook": "^10.4.6",
|
|
54
|
-
"globals": "~17.
|
|
55
|
-
"@xylabs/eslint-config-flat": "~8.
|
|
54
|
+
"globals": "~17.7.0",
|
|
55
|
+
"@xylabs/eslint-config-flat": "~8.4.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@testing-library/dom": "^10.4.1",
|
|
59
|
-
"@types/node": "^
|
|
59
|
+
"@types/node": "^26.0.1",
|
|
60
60
|
"@vitest/coverage-v8": "~4.1.9",
|
|
61
61
|
"acorn": "^8.17.0",
|
|
62
|
-
"browserslist": "4.28.
|
|
62
|
+
"browserslist": "4.28.4",
|
|
63
63
|
"cosmiconfig": "~9.0.2",
|
|
64
64
|
"eslint": "^10.5.0",
|
|
65
65
|
"eslint-import-resolver-typescript": "^4.4.5",
|
|
@@ -67,11 +67,11 @@
|
|
|
67
67
|
"react-dom": "^19.2.7",
|
|
68
68
|
"storybook": "^10.4.6",
|
|
69
69
|
"typescript": "^6.0.3",
|
|
70
|
-
"vite": "^8.0
|
|
70
|
+
"vite": "^8.1.0",
|
|
71
71
|
"vitest": "~4.1.9",
|
|
72
72
|
"zod": "^4.4.3",
|
|
73
|
-
"@xylabs/
|
|
74
|
-
"@xylabs/
|
|
73
|
+
"@xylabs/tsconfig": "~8.4.0",
|
|
74
|
+
"@xylabs/toolchain": "~8.4.0"
|
|
75
75
|
},
|
|
76
76
|
"peerDependencies": {
|
|
77
77
|
"browserslist": ">= 4.21.0",
|