@4mbl/lint 0.0.0-beta.3a223fe → 0.0.0-beta.41539bf

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/CHANGELOG.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # @4mbl/lint
2
2
 
3
+ ## 0.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5040323: Upgrade config dependencies
8
+
9
+ ## 0.14.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 794dbfb: Upgrade config dependencies
14
+ - e6a08fd: Upgrade to ESLint 10
15
+
16
+ ## 0.13.0
17
+
18
+ ### Minor Changes
19
+
20
+ - ac23f1d: Upgrade config dependencies
21
+
22
+ ## 0.12.0
23
+
24
+ ### Minor Changes
25
+
26
+ - dd16619: Upgrade config dependencies
27
+
28
+ ## 0.11.0
29
+
30
+ ### Minor Changes
31
+
32
+ - e011cd6: Upgrade config dependencies
33
+
34
+ ## 0.10.0
35
+
36
+ ### Minor Changes
37
+
38
+ - 774cb2a: Upgrade config dependencies
39
+
40
+ ## 0.9.0
41
+
42
+ ### Minor Changes
43
+
44
+ - aee78b7: Upgrade config dependencies
45
+
46
+ ## 0.8.0
47
+
48
+ ### Minor Changes
49
+
50
+ - 152396b: Upgrade config dependencies
51
+
52
+ ## 0.7.0
53
+
54
+ ### Minor Changes
55
+
56
+ - 8e46d6b: Upgrade config dependencies
57
+
58
+ ### Patch Changes
59
+
60
+ - 8e46d6b: Re-export types with type-keyword to fix verbatimModuleSyntax
61
+
62
+ ## 0.6.0
63
+
64
+ ### Minor Changes
65
+
66
+ - 46d0443: Upgrade config dependencies
67
+
68
+ ## 0.5.0
69
+
70
+ ### Minor Changes
71
+
72
+ - 55c3db6: Export `defineConfig` from eslint
73
+ - f7d30bb: Upgrade config dependencies
74
+
75
+ ## 0.4.0
76
+
77
+ ### Minor Changes
78
+
79
+ - 00cfefd: Add node template
80
+
81
+ ## 0.3.2
82
+
83
+ ### Patch Changes
84
+
85
+ - df1c48b: Re-export eslint Config type from react template
86
+
87
+ ## 0.3.1
88
+
89
+ ### Patch Changes
90
+
91
+ - d17fc69: Fix react template export
92
+
93
+ ## 0.3.0
94
+
95
+ ### Minor Changes
96
+
97
+ - 6d969e6: Add react template
98
+ - 6d969e6: Upgrade eslint and config dependencies
99
+
100
+ ## 0.2.1
101
+
102
+ ### Patch Changes
103
+
104
+ - 3a223fe: Use flat config version of eslint-plugin-react-hooks
105
+
3
106
  ## 0.2.0
4
107
 
5
108
  ### Minor Changes
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ## Usage
12
12
 
13
- Install the [`@4mbl/lint`](https://www.npmjs.com/package/@4mbl/lint) npm package.
13
+ Install the [`@4mbl/lint`](https://www.npmjs.com/package/@4mbl/lint) package.
14
14
 
15
15
  ```shell
16
16
  npm install -D @4mbl/lint
@@ -19,20 +19,37 @@ npm install -D @4mbl/lint
19
19
  Create a `eslint.config.ts` file in the root of your project with the desired configuration. This package currently uses eslint. That might change in a future major release.
20
20
 
21
21
  ```js
22
- import defaultConfig, { type Config } from '@4mbl/lint/next'; // <-- change `next` to the desired template
22
+ import defaultConfig, { defineConfig } from '@4mbl/lint/next'; // <-- change `next` to the desired template
23
23
 
24
- export default [...defaultConfig] satisfies Config[];
24
+ export default defineConfig([...defaultConfig]);
25
+ ```
26
+
27
+ Set a script that uses the linting package.
28
+
29
+ ```shell
30
+ npm pkg set scripts.lint="eslint src"
31
+ ```
32
+
33
+ You may need to explicitly allow the underlying linting packages to be used by your scripts.
34
+
35
+ For example, when using pnpm, you need to set `publicHoistPattern` in your `pnpm-workspace.yaml` for ESLint.
36
+
37
+ ```yaml
38
+ publicHoistPattern:
39
+ - eslint
25
40
  ```
26
41
 
27
42
  ## Available templates
28
43
 
29
- There is currently one config template.
44
+ These are the currently available config templates.
30
45
 
31
- - **Next** - Linting configuration extending the Next.js default config.
46
+ - **Next** - Extending the Next.js linting config.
47
+ - **Node** - Linting configuration for Node.js.
48
+ - **React** - Extending the Vite-React linting config.
32
49
 
33
50
  ## Versioning
34
51
 
35
- **Until v1.0.0 is released, breaking changes may be introduced in minor releases without prior warnings.**
52
+ _Until v1.0.0 is released, breaking changes may be introduced in minor releases without prior warnings._
36
53
 
37
54
  The package follows the following versioning scheme: `X.Y.Z`.
38
55
 
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "0.0.0-beta.3a223fe",
3
+ "version": "0.0.0-beta.41539bf",
4
4
  "description": "Linting configuration for various environments.",
5
5
  "type": "module",
6
6
  "author": "4mbl",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/4mbl/config/tree/main/packages/lint#readme",
9
9
  "exports": {
10
- "./next": "./src/next.ts"
10
+ "./next": "./src/next.ts",
11
+ "./node": "./src/node.ts",
12
+ "./react": "./src/react.ts"
11
13
  },
12
14
  "files": [
13
15
  "src",
@@ -24,14 +26,16 @@
24
26
  "lint"
25
27
  ],
26
28
  "dependencies": {
27
- "@eslint/js": "^9.38.0",
28
- "eslint": "^9.38.0",
29
- "eslint-config-next": "^16.0.1",
29
+ "@eslint/js": "^10.0.1",
30
+ "eslint": "^10.0.2",
31
+ "eslint-config-next": "^16.1.6",
30
32
  "eslint-config-prettier": "^10.1.8",
31
33
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
32
34
  "eslint-plugin-react-hooks": "^7.0.1",
35
+ "eslint-plugin-react-refresh": "^0.5.2",
36
+ "globals": "^17.4.0",
33
37
  "jiti": "^2.6.1",
34
- "typescript-eslint": "^8.46.2"
38
+ "typescript-eslint": "^8.56.1"
35
39
  },
36
40
  "scripts": {}
37
41
  }
package/src/next.ts CHANGED
@@ -2,13 +2,13 @@
2
2
  import js from '@eslint/js';
3
3
  import nextVitals from 'eslint-config-next/core-web-vitals';
4
4
  import nextTs from 'eslint-config-next/typescript';
5
- import * as reactCompiler from 'eslint-plugin-react-compiler';
6
- import { defineConfig, globalIgnores, Config } from 'eslint/config';
7
- import tseslint from 'typescript-eslint';
8
5
  import prettier from 'eslint-config-prettier/flat';
6
+ import * as reactCompiler from 'eslint-plugin-react-compiler';
9
7
  import reactHooks from 'eslint-plugin-react-hooks';
8
+ import { type Config, defineConfig, globalIgnores } from 'eslint/config';
9
+ import tseslint from 'typescript-eslint';
10
10
 
11
- export { Config };
11
+ export { type Config, defineConfig };
12
12
 
13
13
  export default defineConfig([
14
14
  js.configs.recommended,
package/src/node.ts ADDED
@@ -0,0 +1,14 @@
1
+ import js from '@eslint/js';
2
+ import { defineConfig, globalIgnores, type Config } from 'eslint/config';
3
+ import globals from 'globals';
4
+ import tseslint from 'typescript-eslint';
5
+
6
+ export { type Config, defineConfig };
7
+
8
+ export default defineConfig([
9
+ globalIgnores(['dist/**']),
10
+ { files: ['**/*.{js,mjs,cjs,ts}'] },
11
+ { languageOptions: { globals: globals.node } },
12
+ js.configs.recommended,
13
+ ...tseslint.configs.recommended,
14
+ ]) satisfies Config[];
package/src/react.ts ADDED
@@ -0,0 +1,34 @@
1
+ import js from '@eslint/js';
2
+ import prettier from 'eslint-config-prettier/flat';
3
+ import reactHooks from 'eslint-plugin-react-hooks';
4
+ import reactRefresh from 'eslint-plugin-react-refresh';
5
+ import { defineConfig, globalIgnores, type Config } from 'eslint/config';
6
+ import globals from 'globals';
7
+ import tseslint from 'typescript-eslint';
8
+
9
+ export { type Config, defineConfig };
10
+
11
+ export default defineConfig([
12
+ js.configs.recommended,
13
+ tseslint.configs.recommended,
14
+
15
+ reactHooks.configs.flat.recommended,
16
+ reactRefresh.configs.recommended,
17
+
18
+ globalIgnores(['dist']),
19
+ {
20
+ files: ['**/*.{ts,tsx}'],
21
+ languageOptions: {
22
+ ecmaVersion: 2020,
23
+ globals: globals.browser,
24
+ },
25
+ rules: {
26
+ 'react-refresh/only-export-components': [
27
+ 'warn',
28
+ { allowConstantExport: true },
29
+ ],
30
+ },
31
+ },
32
+
33
+ prettier,
34
+ ]) satisfies Config[];