@4mbl/lint 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @4mbl/lint
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - d17fc69: Fix react template export
8
+
9
+ ## 0.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 6d969e6: Add react template
14
+ - 6d969e6: Upgrade eslint and config dependencies
15
+
3
16
  ## 0.2.1
4
17
 
5
18
  ### Patch 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
@@ -24,15 +24,31 @@ import defaultConfig, { type Config } from '@4mbl/lint/next'; // <-- change `nex
24
24
  export default [...defaultConfig] satisfies Config[];
25
25
  ```
26
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
40
+ ```
41
+
27
42
  ## Available templates
28
43
 
29
44
  There is currently one config template.
30
45
 
31
46
  - **Next** - Linting configuration extending the Next.js default config.
47
+ - **React** - Linting configuration extending the Vite-React default config.
32
48
 
33
49
  ## Versioning
34
50
 
35
- **Until v1.0.0 is released, breaking changes may be introduced in minor releases without prior warnings.**
51
+ _Until v1.0.0 is released, breaking changes may be introduced in minor releases without prior warnings._
36
52
 
37
53
  The package follows the following versioning scheme: `X.Y.Z`.
38
54
 
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
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
+ "./react": "./src/react.ts"
11
12
  },
12
13
  "files": [
13
14
  "src",
@@ -24,14 +25,16 @@
24
25
  "lint"
25
26
  ],
26
27
  "dependencies": {
27
- "@eslint/js": "^9.38.0",
28
- "eslint": "^9.38.0",
29
- "eslint-config-next": "^16.0.1",
28
+ "@eslint/js": "^9.39.1",
29
+ "eslint": "^9.39.1",
30
+ "eslint-config-next": "^16.0.3",
30
31
  "eslint-config-prettier": "^10.1.8",
31
32
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
32
33
  "eslint-plugin-react-hooks": "^7.0.1",
34
+ "eslint-plugin-react-refresh": "^0.4.24",
35
+ "globals": "^16.5.0",
33
36
  "jiti": "^2.6.1",
34
- "typescript-eslint": "^8.46.2"
37
+ "typescript-eslint": "^8.47.0"
35
38
  },
36
39
  "scripts": {}
37
40
  }
package/src/next.ts CHANGED
@@ -2,11 +2,11 @@
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 { Config, defineConfig, globalIgnores } from 'eslint/config';
9
+ import tseslint from 'typescript-eslint';
10
10
 
11
11
  export { Config };
12
12
 
package/src/react.ts ADDED
@@ -0,0 +1,32 @@
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 } from 'eslint/config';
6
+ import globals from 'globals';
7
+ import tseslint from 'typescript-eslint';
8
+
9
+ export default defineConfig([
10
+ js.configs.recommended,
11
+ tseslint.configs.recommended,
12
+
13
+ reactHooks.configs.flat.recommended,
14
+ reactRefresh.configs.recommended,
15
+
16
+ globalIgnores(['dist']),
17
+ {
18
+ files: ['**/*.{ts,tsx}'],
19
+ languageOptions: {
20
+ ecmaVersion: 2020,
21
+ globals: globals.browser,
22
+ },
23
+ rules: {
24
+ 'react-refresh/only-export-components': [
25
+ 'warn',
26
+ { allowConstantExport: true },
27
+ ],
28
+ },
29
+ },
30
+
31
+ prettier,
32
+ ]);