@pplancq/react-template 2.7.16 → 2.8.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/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## @pplancq/react-template [2.8.0](https://github.com/pplancq/dev-tools/compare/@pplancq/react-template@2.7.16...@pplancq/react-template@2.8.0) (2026-01-20)
2
+
3
+ ### Features
4
+
5
+ * **react-template:** add rsbuild-plugin-stylelint dependency and update config ([7794c90](https://github.com/pplancq/dev-tools/commit/7794c909a9787de571fd3297e87d79f2c7efb8be))
6
+
7
+ ### Bug Fixes
8
+
9
+ * **react-template:** correct eslint plugin enable logic and add options ([ffbd2d3](https://github.com/pplancq/dev-tools/commit/ffbd2d3581a3cc68bdca44d35478d18986ac0c13))
10
+ * **deps:** update dependency @tanstack/react-query to ^5.90.18 ([96ec60d](https://github.com/pplancq/dev-tools/commit/96ec60d0519b0a97330781821f3990c0e824ea80))
11
+ * **deps:** update dependency react-hook-form to ^7.71.1 ([4da0585](https://github.com/pplancq/dev-tools/commit/4da05851ff912aeebbeb23eafd0b6b29d8b4dce1))
12
+
13
+
14
+ ### Dependencies
15
+
16
+ * **@pplancq/eslint-config:** upgraded to 5.0.22
17
+ * **@pplancq/postcss-config:** upgraded to 3.0.0
18
+ * **@pplancq/stylelint-config:** upgraded to 4.1.0
19
+
1
20
  ## @pplancq/react-template [2.7.16](https://github.com/pplancq/dev-tools/compare/@pplancq/react-template@2.7.15...@pplancq/react-template@2.7.16) (2026-01-12)
2
21
 
3
22
  ### Bug Fixes
package/mise.toml CHANGED
@@ -1,3 +1,3 @@
1
1
  [tools]
2
2
  npm = "11.7.0"
3
- node = "24.12.0"
3
+ node = "24.13.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pplancq/react-template",
3
- "version": "2.7.16",
3
+ "version": "2.8.0",
4
4
  "license": "MIT",
5
5
  "description": "react template",
6
6
  "author": "pplancq <paul.plancq@outlook.fr>",
@@ -49,18 +49,18 @@
49
49
  ],
50
50
  "dependencies": {
51
51
  "@hookform/resolvers": "^5.2.2",
52
- "@tanstack/react-query": "^5.90.16",
52
+ "@tanstack/react-query": "^5.90.18",
53
53
  "@tanstack/react-query-devtools": "^5.91.2",
54
54
  "react": "^19.2.3",
55
55
  "react-dom": "^19.2.3",
56
- "react-hook-form": "^7.70.0",
56
+ "react-hook-form": "^7.71.1",
57
57
  "react-router": "^7.12.0",
58
58
  "yup": "^1.7.1"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@bdellegrazie/playwright-sonar-reporter": "^0.4.0",
62
62
  "@commitlint/cli": "^20.3.1",
63
- "@msw/playwright": "^0.4.2",
63
+ "@msw/playwright": "^0.4.5",
64
64
  "@playwright/test": "^1.57.0",
65
65
  "@pplancq/commitlint-config": "*",
66
66
  "@pplancq/eslint-config": "*",
@@ -68,37 +68,42 @@
68
68
  "@pplancq/prettier-config": "*",
69
69
  "@pplancq/stylelint-config": "*",
70
70
  "@rsbuild/core": "^1.7.2",
71
- "@rsbuild/plugin-eslint": "^1.2.0",
72
- "@rsbuild/plugin-react": "^1.4.2",
73
- "@rsbuild/plugin-sass": "^1.4.0",
71
+ "@rsbuild/plugin-eslint": "^1.2.1",
72
+ "@rsbuild/plugin-react": "^1.4.3",
73
+ "@rsbuild/plugin-sass": "^1.4.1",
74
74
  "@testing-library/jest-dom": "^6.9.1",
75
75
  "@testing-library/react": "^16.3.1",
76
76
  "@testing-library/user-event": "^14.6.1",
77
- "@types/react": "^19.2.7",
77
+ "@types/react": "^19.2.8",
78
78
  "@types/react-dom": "^19.2.3",
79
79
  "@vitejs/plugin-react-swc": "^4.2.2",
80
- "@vitest/coverage-v8": "^4.0.16",
80
+ "@vitest/coverage-v8": "^4.0.17",
81
81
  "concurrently": "^9.2.1",
82
82
  "eslint": "^9.39.2",
83
- "eslint-plugin-prettier": "^5.5.4",
83
+ "eslint-plugin-prettier": "^5.5.5",
84
84
  "husky": "^9.1.7",
85
85
  "jsdom": "^27.4.0",
86
86
  "lint-staged": "^16.2.7",
87
87
  "monocart-coverage-reports": "^2.12.9",
88
88
  "msw": "^2.12.7",
89
89
  "nodemon": "^3.1.11",
90
- "prettier": "^3.7.4",
91
- "stylelint": "^16.26.1",
90
+ "prettier": "^3.8.0",
91
+ "rsbuild-plugin-stylelint": "^1.0.1",
92
+ "stylelint": "^17.0.0",
92
93
  "stylelint-prettier": "^5.0.3",
93
- "stylelint-webpack-plugin": "^5.0.1",
94
94
  "tsc-files": "^1.1.4",
95
95
  "typescript": "^5.9.3",
96
96
  "vite-plugin-svgr": "^4.5.0",
97
- "vite-tsconfig-paths": "^6.0.3",
98
- "vitest": "^4.0.16",
97
+ "vite-tsconfig-paths": "^6.0.4",
98
+ "vitest": "^4.0.17",
99
99
  "vitest-axe": "^1.0.0-pre.5",
100
100
  "vitest-sonar-reporter": "^3.0.0"
101
101
  },
102
+ "overrides": {
103
+ "rsbuild-plugin-stylelint": {
104
+ "stylelint": "$stylelint"
105
+ }
106
+ },
102
107
  "engines": {
103
108
  "node": ">=20.12.2"
104
109
  },
package/rsbuild.config.ts CHANGED
@@ -2,7 +2,7 @@ import { defineConfig, loadEnv } from '@rsbuild/core';
2
2
  import { pluginEslint } from '@rsbuild/plugin-eslint';
3
3
  import { pluginReact } from '@rsbuild/plugin-react';
4
4
  import { pluginSass } from '@rsbuild/plugin-sass';
5
- import StylelintPlugin from 'stylelint-webpack-plugin';
5
+ import { pluginStylelint } from 'rsbuild-plugin-stylelint';
6
6
  import packageJson from './package.json';
7
7
 
8
8
  const resolveModule = (module: string) => {
@@ -19,8 +19,6 @@ const { publicVars } = loadEnv({ prefixes: [process.env.ENV_PREFIX ?? 'FRONT_']
19
19
  const publicUrl = process.env.PUBLIC_URL ?? (packageJson as { homepage?: string }).homepage ?? '/';
20
20
  const publicPath = new URL(publicUrl.endsWith('/') ? publicUrl : `${publicUrl}/`, 'http://localhost').pathname;
21
21
  const disableSourceMap = (process.env.DISABLE_SOURCE_MAP ?? 'false') === 'true' ? false : 'source-map';
22
- const disableStyleLintPlugin =
23
- (process.env.DISABLE_STYLELINT_PLUGIN ?? 'false') === 'true' || !resolveModule('stylelint');
24
22
 
25
23
  export default defineConfig(({ env }) => {
26
24
  const isProduction = env === 'production';
@@ -31,7 +29,14 @@ export default defineConfig(({ env }) => {
31
29
  pluginSass(),
32
30
  !isProduction &&
33
31
  pluginEslint({
34
- enable: (process.env.DISABLE_ESLINT_PLUGIN ?? 'false') === 'true' || !resolveModule('eslint'),
32
+ enable: (process.env.DISABLE_ESLINT_PLUGIN ?? 'false') === 'false' && resolveModule('eslint'),
33
+ eslintPluginOptions: {
34
+ configType: 'flat',
35
+ },
36
+ }),
37
+ !isProduction &&
38
+ pluginStylelint({
39
+ enable: (process.env.DISABLE_STYLELINT_PLUGIN ?? 'false') === 'false' && resolveModule('stylelint'),
35
40
  }),
36
41
  ].filter(Boolean),
37
42
  source: {
@@ -60,19 +65,6 @@ export default defineConfig(({ env }) => {
60
65
  port: parseInt(process.env.PORT ?? '3000', 10),
61
66
  open: (process.env.BROWSER ?? 'false') === 'true',
62
67
  },
63
- tools: {
64
- rspack: {
65
- plugins: [
66
- !disableStyleLintPlugin &&
67
- new StylelintPlugin({
68
- extensions: ['css', 'scss', 'sass'],
69
- stylelintPath: require.resolve('stylelint'),
70
- failOnError: isProduction,
71
- context: 'src',
72
- }),
73
- ].filter(Boolean),
74
- },
75
- },
76
68
  html: {
77
69
  template: './index.html',
78
70
  },