@peerigon/configs 6.10.0 → 7.0.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,3 +1,22 @@
1
+ ## [7.0.1](https://github.com/peerigon/configs/compare/v7.0.0...v7.0.1) (2025-07-29)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **typescript:** Exclude common build directories ([cf1f657](https://github.com/peerigon/configs/commit/cf1f657b4595837c685b91fb1b0253f69a2fc3f8))
6
+
7
+ # [7.0.0](https://github.com/peerigon/configs/compare/v6.10.0...v7.0.0) (2025-07-22)
8
+
9
+ ### Features
10
+
11
+ - **prettier:** Use @prettier/plugin-oxc ([ff3223f](https://github.com/peerigon/configs/commit/ff3223f6ffd32783f9f1207dcdf8ff165491a53d))
12
+ - **typescript:** Add erasableSyntaxOnly to base tsconfig ([f3d4468](https://github.com/peerigon/configs/commit/f3d4468c01a0655b0d4e5819822267b0c6e9c5b8))
13
+ - Update all dependencies ([3880e58](https://github.com/peerigon/configs/commit/3880e58db3471688316b4503a475872c98a68574))
14
+
15
+ ### BREAKING CHANGES
16
+
17
+ - **typescript:** We set erasableSyntaxOnly: true as tsconfig default. You might need to disable this in your existing project.
18
+ - Updates eslint-plugin-unicorn@60.0.0 which introduces new eslint rules
19
+
1
20
  # [6.10.0](https://github.com/peerigon/configs/compare/v6.9.0...v6.10.0) (2025-07-14)
2
21
 
3
22
  ### Features
package/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  **Best practice configs for [ESLint](https://eslint.org/), [Prettier](https://prettier.io/), [TypeScript](https://www.typescriptlang.org/) & friends. By [Peerigon](https://www.peerigon.com/).**
4
4
 
5
5
  [![Version on NPM](https://img.shields.io/npm/v/@peerigon/configs?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/configs)
6
+ [![Version on JSR](https://img.shields.io/jsr/v/@peerigon/configs?style=for-the-badge)](https://jsr.io/@peerigon/configs)
6
7
  [![Semantically released](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge)](https://github.com/semantic-release/semantic-release)
7
8
  [![Monthly downloads on NPM](https://img.shields.io/npm/dm/@peerigon/configs?style=for-the-badge)](https://www.npmjs.com/package/@peerigon/configs)<br>
8
9
  [![License](https://img.shields.io/npm/l/@peerigon/configs?style=for-the-badge)](./LICENSE)
@@ -40,9 +41,9 @@ Our configs have been designed with these assumptions in mind.
40
41
 
41
42
  Formatting should follow the community standard. Our config is therefore based on Prettier's default config. Besides that it also:
42
43
 
43
- - auto-sorts `import` statements
44
+ - sorts `import` statements
44
45
  - formats JSDoc comments
45
- - formats `package.json`
46
+ - formats and sorts `package.json` fields
46
47
  - formats and sorts CSS properties
47
48
  - sorts Tailwind CSS class names
48
49
 
@@ -24,6 +24,7 @@ function safeResolve(id) {
24
24
  // Using safeResolve() here because the plugins might not be installed in the parent app/module
25
25
  // and we don't want to rely on the package manager to hoist the dependencies.
26
26
  const plugins = await Promise.all([
27
+ safeResolve("@prettier/plugin-oxc"),
27
28
  safeResolve("@ianvs/prettier-plugin-sort-imports"),
28
29
  safeResolve("prettier-plugin-jsdoc"),
29
30
  safeResolve("prettier-plugin-packagejson"),
@@ -20,6 +20,7 @@
20
20
  // We decided to turn off `exactOptionalPropertyTypes` because it's too strict
21
21
  // by complaining about too much unproblematic code. We may revisit this decision later.
22
22
  "exactOptionalPropertyTypes": false,
23
+ "noPropertyAccessFromIndexSignature": true,
23
24
  // == Module resolution settings ==
24
25
  "resolveJsonModule": true,
25
26
  "rewriteRelativeImportExtensions": true,
@@ -30,14 +31,24 @@
30
31
  "forceConsistentCasingInFileNames": true,
31
32
  // Using noEmit true here because you should have a separate build config anyway
32
33
  "noEmit": true,
33
- "noPropertyAccessFromIndexSignature": true,
34
34
  // Not setting skipLibCheck: true for now because it can hide type conflicts in dependencies.
35
35
  // You can override this in your app if you can't fix it with your package manager.
36
36
  // If you want to learn more about the trade-offs,
37
37
  // see https://www.testim.io/blog/typescript-skiplibcheck/
38
38
  "skipLibCheck": false,
39
- "verbatimModuleSyntax": true
39
+ "verbatimModuleSyntax": true,
40
+ // Recommended for new projects.
41
+ // Disable this if you already have an existing codebase that uses non-erasable syntax.
42
+ "erasableSyntaxOnly": true
40
43
  },
41
- "exclude": ["${configDir}/dist"],
44
+ "exclude": [
45
+ "${configDir}/dist",
46
+ "${configDir}/coverage",
47
+ "${configDir}/node_modules",
48
+ "${configDir}/build",
49
+ "${configDir}/.next",
50
+ "${configDir}/.nuxt",
51
+ "${configDir}/.vercel"
52
+ ],
42
53
  "$schema": "https://json.schemastore.org/tsconfig"
43
54
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerigon/configs",
3
- "version": "6.10.0",
3
+ "version": "7.0.1",
4
4
  "description": "Configs for ESLint, Prettier, TypeScript & friends",
5
5
  "keywords": [
6
6
  "eslint",
@@ -65,47 +65,48 @@
65
65
  "release": "semantic-release"
66
66
  },
67
67
  "dependencies": {
68
- "@eslint-react/eslint-plugin": "^1.30.2",
69
- "@eslint/compat": "^1.2.7",
70
- "@eslint/js": "^9.21.0",
71
- "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
72
- "@sebbo2002/semantic-release-jsr": "^3.0.0",
68
+ "@eslint-react/eslint-plugin": "^1.52.3",
69
+ "@eslint/compat": "^1.3.1",
70
+ "@eslint/js": "^9.32.0",
71
+ "@ianvs/prettier-plugin-sort-imports": "^4.5.1",
72
+ "@prettier/plugin-oxc": "^0.0.4",
73
+ "@sebbo2002/semantic-release-jsr": "^3.0.1",
73
74
  "@semantic-release/changelog": "^6.0.3",
74
- "@semantic-release/exec": "^7.0.3",
75
+ "@semantic-release/exec": "^7.1.0",
75
76
  "@semantic-release/git": "^10.0.1",
76
77
  "@types/eslint-config-prettier": "^6.11.3",
77
78
  "@types/eslint-plugin-jsx-a11y": "^6.10.0",
78
- "eslint-config-prettier": "^10.0.2",
79
+ "eslint-config-prettier": "^10.1.8",
79
80
  "eslint-plugin-jsx-a11y": "^6.10.2",
80
81
  "eslint-plugin-no-only-tests": "^3.3.0",
81
82
  "eslint-plugin-prefer-arrow": "^1.2.3",
82
- "eslint-plugin-react": "^7.37.4",
83
- "eslint-plugin-react-compiler": "^19.0.0-beta-714736e-20250131",
83
+ "eslint-plugin-react": "^7.37.5",
84
+ "eslint-plugin-react-compiler": "^19.1.0-rc.2",
84
85
  "eslint-plugin-react-hooks": "^5.2.0",
85
- "eslint-plugin-react-refresh": "^0.4.19",
86
- "eslint-plugin-unicorn": "^59.0.0",
87
- "globals": "^16.0.0",
86
+ "eslint-plugin-react-refresh": "^0.4.20",
87
+ "eslint-plugin-unicorn": "^60.0.0",
88
+ "globals": "^16.3.0",
88
89
  "prettier-plugin-css-order": "^2.1.2",
89
- "prettier-plugin-jsdoc": "^1.3.2",
90
- "prettier-plugin-packagejson": "^2.5.10",
91
- "prettier-plugin-tailwindcss": "^0.6.11",
92
- "typescript-eslint": "^8.26.0"
90
+ "prettier-plugin-jsdoc": "^1.3.3",
91
+ "prettier-plugin-packagejson": "^2.5.19",
92
+ "prettier-plugin-tailwindcss": "^0.6.14",
93
+ "typescript-eslint": "^8.38.0"
93
94
  },
94
95
  "devDependencies": {
95
96
  "@types/jest": "^30.0.0",
96
- "@types/node": "^24.0.3",
97
- "@types/react": "^19.0.10",
97
+ "@types/node": "^24.1.0",
98
+ "@types/react": "^19.1.8",
98
99
  "@types/signale": "^1.4.7",
99
- "eslint": "^9.21.0",
100
+ "eslint": "^9.32.0",
100
101
  "husky": "^9.1.7",
101
- "lint-staged": "^16.0.0",
102
- "npm-run-all2": "^8.0.1",
103
- "pin-github-action": "^3.1.2",
104
- "prettier": "^3.5.3",
105
- "react": "^19.0.0",
102
+ "lint-staged": "^16.1.2",
103
+ "npm-run-all2": "^8.0.4",
104
+ "pin-github-action": "^3.4.0",
105
+ "prettier": "^3.6.2",
106
+ "react": "^19.1.1",
106
107
  "rimraf": "^6.0.1",
107
- "semantic-release": "^24.2.3",
108
- "typescript": "^5.8.2"
108
+ "semantic-release": "^24.2.7",
109
+ "typescript": "^5.8.3"
109
110
  },
110
111
  "peerDependencies": {
111
112
  "eslint": "^9.21.0",