@xylabs/eslint-config-react-flat 4.0.0-rc.28 → 4.0.0-rc.29

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.
@@ -5,6 +5,7 @@ import { config as xyConfig } from "@xylabs/eslint-config-flat";
5
5
  import eslintReactPlugin from "@eslint-react/eslint-plugin";
6
6
  import tsParser from "@typescript-eslint/parser";
7
7
  import reactPlugin from "eslint-plugin-react";
8
+ import eslintReactRefreshPlugin from "eslint-plugin-react-refresh";
8
9
  import globals from "globals";
9
10
  var reactConfig = {
10
11
  files: [
@@ -12,7 +13,8 @@ var reactConfig = {
12
13
  ],
13
14
  ...eslintReactPlugin.configs.recommended,
14
15
  plugins: {
15
- react: reactPlugin,
16
+ "react": reactPlugin,
17
+ "react-refresh": eslintReactRefreshPlugin,
16
18
  ...eslintReactPlugin.configs.recommended.plugins
17
19
  },
18
20
  settings: {
@@ -34,6 +36,12 @@ var reactConfig = {
34
36
  rules: {
35
37
  ...eslintReactPlugin.configs.recommended.rules,
36
38
  ...reactPlugin.configs.flat.recommended.rules,
39
+ "react-refresh/only-export-components": [
40
+ "warn",
41
+ {
42
+ allowConstantExport: true
43
+ }
44
+ ],
37
45
  "react/prop-types": [
38
46
  "off"
39
47
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/react/index.ts"],"sourcesContent":["import { config as xyConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport { reactConfig } from './react/index.ts'\n\nexport const config: Linter.Config[] = [...xyConfig, reactConfig]\n\nexport { reactConfig } from './react/index.ts'\n","import eslintReactPlugin from '@eslint-react/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n// This rule is disabled since we still need the in-scope react rule\n// eslint-disable-next-line depend/ban-dependencies\nimport reactPlugin from 'eslint-plugin-react'\nimport globals from 'globals'\n\nexport const reactConfig = {\n files: ['**/*.{ts,tsx}'],\n ...eslintReactPlugin.configs.recommended,\n plugins: {\n react: reactPlugin,\n ...eslintReactPlugin.configs.recommended.plugins,\n },\n settings: { react: { version: 'detect' } },\n languageOptions: {\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n globals: { ...globals.browser },\n },\n rules: {\n ...eslintReactPlugin.configs.recommended.rules,\n ...reactPlugin.configs.flat.recommended.rules,\n 'react/prop-types': ['off'],\n },\n} as unknown as Linter.Config\n"],"mappings":";AAAA,SAASA,UAAUC,gBAAgB;;;ACAnC,OAAOC,uBAAuB;AAC9B,OAAOC,cAAc;AAIrB,OAAOC,iBAAiB;AACxB,OAAOC,aAAa;AAEb,IAAMC,cAAc;EACzBC,OAAO;IAAC;;EACR,GAAGL,kBAAkBM,QAAQC;EAC7BC,SAAS;IACPC,OAAOP;IACP,GAAGF,kBAAkBM,QAAQC,YAAYC;EAC3C;EACAE,UAAU;IAAED,OAAO;MAAEE,SAAS;IAAS;EAAE;EACzCC,iBAAiB;IACfC,QAAQZ;IACRa,eAAe;MAAEC,cAAc;QAAEC,KAAK;MAAK;IAAE;IAC7Cb,SAAS;MAAE,GAAGA,QAAQc;IAAQ;EAChC;EACAC,OAAO;IACL,GAAGlB,kBAAkBM,QAAQC,YAAYW;IACzC,GAAGhB,YAAYI,QAAQa,KAAKZ,YAAYW;IACxC,oBAAoB;MAAC;;EACvB;AACF;;;ADrBO,IAAME,SAA0B;KAAIC;EAAUC;;","names":["config","xyConfig","eslintReactPlugin","tsParser","reactPlugin","globals","reactConfig","files","configs","recommended","plugins","react","settings","version","languageOptions","parser","parserOptions","ecmaFeatures","jsx","browser","rules","flat","config","xyConfig","reactConfig"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/react/index.ts"],"sourcesContent":["import { config as xyConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport { reactConfig } from './react/index.ts'\n\nexport const config: Linter.Config[] = [...xyConfig, reactConfig]\n\nexport { reactConfig } from './react/index.ts'\n","import eslintReactPlugin from '@eslint-react/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n// This rule is disabled since we still need the in-scope react rule\n// eslint-disable-next-line depend/ban-dependencies\nimport reactPlugin from 'eslint-plugin-react'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport globals from 'globals'\n\nexport const reactConfig = {\n files: ['**/*.{ts,tsx}'],\n ...eslintReactPlugin.configs.recommended,\n plugins: {\n 'react': reactPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n ...eslintReactPlugin.configs.recommended.plugins,\n },\n settings: { react: { version: 'detect' } },\n languageOptions: {\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n globals: { ...globals.browser },\n },\n rules: {\n ...eslintReactPlugin.configs.recommended.rules,\n ...reactPlugin.configs.flat.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react/prop-types': ['off'],\n },\n} as unknown as Linter.Config\n"],"mappings":";AAAA,SAASA,UAAUC,gBAAgB;;;ACAnC,OAAOC,uBAAuB;AAC9B,OAAOC,cAAc;AAIrB,OAAOC,iBAAiB;AACxB,OAAOC,8BAA8B;AACrC,OAAOC,aAAa;AAEb,IAAMC,cAAc;EACzBC,OAAO;IAAC;;EACR,GAAGN,kBAAkBO,QAAQC;EAC7BC,SAAS;IACP,SAASP;IACT,iBAAiBC;IACjB,GAAGH,kBAAkBO,QAAQC,YAAYC;EAC3C;EACAC,UAAU;IAAEC,OAAO;MAAEC,SAAS;IAAS;EAAE;EACzCC,iBAAiB;IACfC,QAAQb;IACRc,eAAe;MAAEC,cAAc;QAAEC,KAAK;MAAK;IAAE;IAC7Cb,SAAS;MAAE,GAAGA,QAAQc;IAAQ;EAChC;EACAC,OAAO;IACL,GAAGnB,kBAAkBO,QAAQC,YAAYW;IACzC,GAAGjB,YAAYK,QAAQa,KAAKZ,YAAYW;IACxC,wCAAwC;MAAC;MAAQ;QAAEE,qBAAqB;MAAK;;IAC7E,oBAAoB;MAAC;;EACvB;AACF;;;ADxBO,IAAMC,SAA0B;KAAIC;EAAUC;;","names":["config","xyConfig","eslintReactPlugin","tsParser","reactPlugin","eslintReactRefreshPlugin","globals","reactConfig","files","configs","recommended","plugins","settings","react","version","languageOptions","parser","parserOptions","ecmaFeatures","jsx","browser","rules","flat","allowConstantExport","config","xyConfig","reactConfig"]}
@@ -5,6 +5,7 @@ import { config as xyConfig } from "@xylabs/eslint-config-flat";
5
5
  import eslintReactPlugin from "@eslint-react/eslint-plugin";
6
6
  import tsParser from "@typescript-eslint/parser";
7
7
  import reactPlugin from "eslint-plugin-react";
8
+ import eslintReactRefreshPlugin from "eslint-plugin-react-refresh";
8
9
  import globals from "globals";
9
10
  var reactConfig = {
10
11
  files: [
@@ -12,7 +13,8 @@ var reactConfig = {
12
13
  ],
13
14
  ...eslintReactPlugin.configs.recommended,
14
15
  plugins: {
15
- react: reactPlugin,
16
+ "react": reactPlugin,
17
+ "react-refresh": eslintReactRefreshPlugin,
16
18
  ...eslintReactPlugin.configs.recommended.plugins
17
19
  },
18
20
  settings: {
@@ -34,6 +36,12 @@ var reactConfig = {
34
36
  rules: {
35
37
  ...eslintReactPlugin.configs.recommended.rules,
36
38
  ...reactPlugin.configs.flat.recommended.rules,
39
+ "react-refresh/only-export-components": [
40
+ "warn",
41
+ {
42
+ allowConstantExport: true
43
+ }
44
+ ],
37
45
  "react/prop-types": [
38
46
  "off"
39
47
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/react/index.ts"],"sourcesContent":["import { config as xyConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport { reactConfig } from './react/index.ts'\n\nexport const config: Linter.Config[] = [...xyConfig, reactConfig]\n\nexport { reactConfig } from './react/index.ts'\n","import eslintReactPlugin from '@eslint-react/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n// This rule is disabled since we still need the in-scope react rule\n// eslint-disable-next-line depend/ban-dependencies\nimport reactPlugin from 'eslint-plugin-react'\nimport globals from 'globals'\n\nexport const reactConfig = {\n files: ['**/*.{ts,tsx}'],\n ...eslintReactPlugin.configs.recommended,\n plugins: {\n react: reactPlugin,\n ...eslintReactPlugin.configs.recommended.plugins,\n },\n settings: { react: { version: 'detect' } },\n languageOptions: {\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n globals: { ...globals.browser },\n },\n rules: {\n ...eslintReactPlugin.configs.recommended.rules,\n ...reactPlugin.configs.flat.recommended.rules,\n 'react/prop-types': ['off'],\n },\n} as unknown as Linter.Config\n"],"mappings":";AAAA,SAASA,UAAUC,gBAAgB;;;ACAnC,OAAOC,uBAAuB;AAC9B,OAAOC,cAAc;AAIrB,OAAOC,iBAAiB;AACxB,OAAOC,aAAa;AAEb,IAAMC,cAAc;EACzBC,OAAO;IAAC;;EACR,GAAGL,kBAAkBM,QAAQC;EAC7BC,SAAS;IACPC,OAAOP;IACP,GAAGF,kBAAkBM,QAAQC,YAAYC;EAC3C;EACAE,UAAU;IAAED,OAAO;MAAEE,SAAS;IAAS;EAAE;EACzCC,iBAAiB;IACfC,QAAQZ;IACRa,eAAe;MAAEC,cAAc;QAAEC,KAAK;MAAK;IAAE;IAC7Cb,SAAS;MAAE,GAAGA,QAAQc;IAAQ;EAChC;EACAC,OAAO;IACL,GAAGlB,kBAAkBM,QAAQC,YAAYW;IACzC,GAAGhB,YAAYI,QAAQa,KAAKZ,YAAYW;IACxC,oBAAoB;MAAC;;EACvB;AACF;;;ADrBO,IAAME,SAA0B;KAAIC;EAAUC;;","names":["config","xyConfig","eslintReactPlugin","tsParser","reactPlugin","globals","reactConfig","files","configs","recommended","plugins","react","settings","version","languageOptions","parser","parserOptions","ecmaFeatures","jsx","browser","rules","flat","config","xyConfig","reactConfig"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/react/index.ts"],"sourcesContent":["import { config as xyConfig } from '@xylabs/eslint-config-flat'\nimport type { Linter } from 'eslint'\n\nimport { reactConfig } from './react/index.ts'\n\nexport const config: Linter.Config[] = [...xyConfig, reactConfig]\n\nexport { reactConfig } from './react/index.ts'\n","import eslintReactPlugin from '@eslint-react/eslint-plugin'\nimport tsParser from '@typescript-eslint/parser'\nimport type { Linter } from 'eslint'\n// This rule is disabled since we still need the in-scope react rule\n// eslint-disable-next-line depend/ban-dependencies\nimport reactPlugin from 'eslint-plugin-react'\nimport eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'\nimport globals from 'globals'\n\nexport const reactConfig = {\n files: ['**/*.{ts,tsx}'],\n ...eslintReactPlugin.configs.recommended,\n plugins: {\n 'react': reactPlugin,\n 'react-refresh': eslintReactRefreshPlugin,\n ...eslintReactPlugin.configs.recommended.plugins,\n },\n settings: { react: { version: 'detect' } },\n languageOptions: {\n parser: tsParser,\n parserOptions: { ecmaFeatures: { jsx: true } },\n globals: { ...globals.browser },\n },\n rules: {\n ...eslintReactPlugin.configs.recommended.rules,\n ...reactPlugin.configs.flat.recommended.rules,\n 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],\n 'react/prop-types': ['off'],\n },\n} as unknown as Linter.Config\n"],"mappings":";AAAA,SAASA,UAAUC,gBAAgB;;;ACAnC,OAAOC,uBAAuB;AAC9B,OAAOC,cAAc;AAIrB,OAAOC,iBAAiB;AACxB,OAAOC,8BAA8B;AACrC,OAAOC,aAAa;AAEb,IAAMC,cAAc;EACzBC,OAAO;IAAC;;EACR,GAAGN,kBAAkBO,QAAQC;EAC7BC,SAAS;IACP,SAASP;IACT,iBAAiBC;IACjB,GAAGH,kBAAkBO,QAAQC,YAAYC;EAC3C;EACAC,UAAU;IAAEC,OAAO;MAAEC,SAAS;IAAS;EAAE;EACzCC,iBAAiB;IACfC,QAAQb;IACRc,eAAe;MAAEC,cAAc;QAAEC,KAAK;MAAK;IAAE;IAC7Cb,SAAS;MAAE,GAAGA,QAAQc;IAAQ;EAChC;EACAC,OAAO;IACL,GAAGnB,kBAAkBO,QAAQC,YAAYW;IACzC,GAAGjB,YAAYK,QAAQa,KAAKZ,YAAYW;IACxC,wCAAwC;MAAC;MAAQ;QAAEE,qBAAqB;MAAK;;IAC7E,oBAAoB;MAAC;;EACvB;AACF;;;ADxBO,IAAMC,SAA0B;KAAIC;EAAUC;;","names":["config","xyConfig","eslintReactPlugin","tsParser","reactPlugin","eslintReactRefreshPlugin","globals","reactConfig","files","configs","recommended","plugins","settings","react","version","languageOptions","parser","parserOptions","ecmaFeatures","jsx","browser","rules","flat","allowConstantExport","config","xyConfig","reactConfig"]}
package/package.json CHANGED
@@ -11,25 +11,18 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@eslint-react/eslint-plugin": "^1.10.1",
14
- "@xylabs/eslint-config-flat": "^4.0.0-rc.28",
14
+ "@xylabs/eslint-config-flat": "^4.0.0-rc.29",
15
+ "eslint": "^9.9.0",
15
16
  "eslint-plugin-react": "^7.35.0",
17
+ "eslint-plugin-react-refresh": "^0.4.9",
16
18
  "globals": "^15.9.0"
17
19
  },
18
20
  "description": "ESLint Config used throughout XY Labs TypeScript/JavaScript libraries and react projects",
19
21
  "devDependencies": {
20
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.28",
21
- "@xylabs/tsconfig": "^4.0.0-rc.28",
22
- "eslint": "^9.9.0",
22
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.29",
23
+ "@xylabs/tsconfig": "^4.0.0-rc.29",
23
24
  "typescript": "^5.5.4"
24
25
  },
25
- "peerDependencies": {
26
- "eslint": "*"
27
- },
28
- "peerDependenciesMeta": {
29
- "eslint": {
30
- "optional": true
31
- }
32
- },
33
26
  "homepage": "https://github.com/xylabs/eslint-config.git",
34
27
  "keywords": [
35
28
  "xylabs",
@@ -57,7 +50,7 @@
57
50
  "url": "git+https://github.com/xylabs/config.git"
58
51
  },
59
52
  "sideEffects": false,
60
- "version": "4.0.0-rc.28",
53
+ "version": "4.0.0-rc.29",
61
54
  "type": "module",
62
55
  "stableVersion": "3.15.16"
63
56
  }
@@ -4,13 +4,15 @@ import type { Linter } from 'eslint'
4
4
  // This rule is disabled since we still need the in-scope react rule
5
5
  // eslint-disable-next-line depend/ban-dependencies
6
6
  import reactPlugin from 'eslint-plugin-react'
7
+ import eslintReactRefreshPlugin from 'eslint-plugin-react-refresh'
7
8
  import globals from 'globals'
8
9
 
9
10
  export const reactConfig = {
10
11
  files: ['**/*.{ts,tsx}'],
11
12
  ...eslintReactPlugin.configs.recommended,
12
13
  plugins: {
13
- react: reactPlugin,
14
+ 'react': reactPlugin,
15
+ 'react-refresh': eslintReactRefreshPlugin,
14
16
  ...eslintReactPlugin.configs.recommended.plugins,
15
17
  },
16
18
  settings: { react: { version: 'detect' } },
@@ -22,6 +24,7 @@ export const reactConfig = {
22
24
  rules: {
23
25
  ...eslintReactPlugin.configs.recommended.rules,
24
26
  ...reactPlugin.configs.flat.recommended.rules,
27
+ 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
25
28
  'react/prop-types': ['off'],
26
29
  },
27
30
  } as unknown as Linter.Config
package/src/types.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  declare module 'eslint-plugin-react' {
2
2
  const configs: Linter.Plugin
3
3
  }
4
+
5
+ declare module 'eslint-plugin-react-refresh' {
6
+ const configs: Linter.Plugin
7
+ }