Skip to content

Commit 055b601

Browse files
authored
feat: support react 19 (#1236)
* test: make tests pass * test: upgrade prettier too * fix: import type JSX from react to make it work with react 19 * fix: make storybook work * build: upgrade typescript * fix: fix types and building * fix: test typings * fix: simplify test setup * fix: test setup typings * chore: update chartjs-plugin-annotation
1 parent 4b3e718 commit 055b601

23 files changed

+4348
-12416
lines changed

.eslintrc.json

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{
22
"parser": "@typescript-eslint/parser",
3-
"plugins": ["@typescript-eslint"],
3+
"plugins": ["@typescript-eslint", "prettier"],
44
"extends": [
55
"standard",
66
"standard-react",
7-
"plugin:prettier/recommended",
8-
"plugin:@typescript-eslint/recommended"
7+
"plugin:@typescript-eslint/recommended",
8+
"plugin:prettier/recommended"
99
],
1010
"env": {
1111
"browser": true
@@ -40,6 +40,8 @@
4040
"semi": [2, "always"],
4141
"strict": 0,
4242
"no-use-before-define": 0,
43-
"@typescript-eslint/no-use-before-define": 2
43+
"@typescript-eslint/no-use-before-define": 2,
44+
"@typescript-eslint/consistent-type-imports": "error",
45+
"@typescript-eslint/no-import-type-side-effects": "error"
4446
}
4547
}

.storybook/main.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ const path = require('path');
22
const { mergeConfig } = require('vite');
33

44
module.exports = {
5-
core: {
6-
builder: '@storybook/builder-vite',
7-
},
85
viteFinal(config) {
96
return mergeConfig(config, {
107
resolve: {
@@ -20,4 +17,9 @@ module.exports = {
2017
'@storybook/addon-controls',
2118
'@storybook/addon-actions',
2219
],
20+
framework: {
21+
name: '@storybook/react-vite',
22+
options: {},
23+
},
24+
docs: {},
2325
};

.storybook/manager.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { addons } from '@storybook/addons';
1+
import { addons } from '@storybook/manager-api';
22

33
import { theme } from './theme';
44

package.json

+36-35
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
"postpublish": "del ./package",
4343
"emitDeclarations": "tsc --emitDeclarationOnly",
4444
"build": "rollup -c && pnpm emitDeclarations",
45-
"start:storybook": "start-storybook -p 6006 --ci",
46-
"build:storybook": "del ./storybook-static; NODE_ENV=production build-storybook",
45+
"start:storybook": "storybook dev -p 6006 --ci",
46+
"build:storybook": "del ./storybook-static; NODE_ENV=production storybook build",
4747
"test:lint": "eslint \"src/**/*.{ts,tsx}\" \"stories/**/*.{ts,tsx}\" \"sandboxes/**/*.{ts,tsx}\" \"test/**/*.{ts,tsx}\"",
4848
"test:unit": "vitest run --coverage",
4949
"test:unit:watch": "vitest watch",
@@ -59,68 +59,69 @@
5959
},
6060
"peerDependencies": {
6161
"chart.js": "^4.1.1",
62-
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
62+
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
6363
},
6464
"devDependencies": {
6565
"@commitlint/cli": "^17.0.0",
6666
"@commitlint/config-conventional": "^17.0.0",
6767
"@commitlint/cz-commitlint": "^17.0.0",
6868
"@rollup/plugin-node-resolve": "^16.0.0",
6969
"@size-limit/preset-big-lib": "^8.0.0",
70-
"@storybook/addon-actions": "^6.3.12",
71-
"@storybook/addon-controls": "^6.3.12",
72-
"@storybook/addon-docs": "^6.3.12",
73-
"@storybook/addons": "^6.3.12",
74-
"@storybook/builder-vite": "^0.4.0",
75-
"@storybook/client-api": "^6.5.13",
76-
"@storybook/client-logger": "^6.5.13",
77-
"@storybook/react": "^6.3.12",
78-
"@swc/core": "^1.3.17",
79-
"@swc/helpers": "^0.5.0",
80-
"@testing-library/jest-dom": "^5.5.0",
81-
"@testing-library/react": "^13.0.0",
70+
"@storybook/addon-actions": "^8.4.7",
71+
"@storybook/addon-controls": "^8.4.7",
72+
"@storybook/addon-docs": "^8.4.7",
73+
"@storybook/preview-api": "^8.4.7",
74+
"@storybook/client-logger": "^8.4.7",
75+
"@storybook/manager-api": "^8.4.7",
76+
"@storybook/react": "^8.4.7",
77+
"@storybook/react-vite": "^8.4.7",
78+
"@storybook/theming": "^8.4.7",
79+
"@swc/core": "^1.10.1",
80+
"@swc/helpers": "^0.5.15",
81+
"@testing-library/dom": "^10.4.0",
82+
"@testing-library/jest-dom": "^6.6.3",
83+
"@testing-library/react": "^16.1.0",
8284
"@types/faker": "^5.5.8",
8385
"@types/node": "^18.0.0",
84-
"@types/react": "^18.0.0",
85-
"@types/react-dom": "^18.0.0",
86-
"@types/testing-library__jest-dom": "^5.14.5",
87-
"@typescript-eslint/eslint-plugin": "^5.0.0",
88-
"@typescript-eslint/parser": "^5.0.0",
86+
"@types/react": "^19.0.2",
87+
"@types/react-dom": "^19.0.2",
88+
"@typescript-eslint/eslint-plugin": "^8.18.0",
89+
"@typescript-eslint/parser": "^8.18.0",
8990
"@vitejs/plugin-react": "^4.3.4",
9091
"@vitest/coverage-v8": "^2.1.8",
91-
"browserslist": "^4.17.3",
92-
"chart.js": "^4.1.1",
92+
"browserslist": "^4.24.2",
93+
"chart.js": "^4.4.7",
9394
"chartjs-adapter-date-fns": "^3.0.0",
94-
"chartjs-plugin-annotation": "^2.0.1",
95-
"chartjs-plugin-zoom": "^2.0.0",
95+
"chartjs-plugin-annotation": "^3.1.0",
96+
"chartjs-plugin-zoom": "^2.2.0",
9697
"clean-publish": "^5.0.0",
9798
"commitizen": "^4.2.4",
9899
"date-fns": "^2.25.0",
99100
"del-cli": "^6.0.0",
100-
"eslint": "^7.32.0",
101-
"eslint-config-prettier": "^8.3.0",
102-
"eslint-config-standard": "^17.0.0",
101+
"eslint": "^8.57.1",
102+
"eslint-config-prettier": "^9.1.0",
103+
"eslint-config-standard": "^17.1.0",
103104
"eslint-config-standard-react": "^13.0.0",
104105
"eslint-plugin-import": "^2.25.1",
105-
"eslint-plugin-n": "^14.0.0",
106-
"eslint-plugin-prettier": "^4.0.0",
107-
"eslint-plugin-promise": "^5.1.0",
106+
"eslint-plugin-n": "^16.0.0",
107+
"eslint-plugin-prettier": "^5.2.1",
108+
"eslint-plugin-promise": "^6.0.0",
108109
"eslint-plugin-react": "^7.17.0",
109110
"faker": "^5.5.3",
110111
"happy-dom": "^16.1.0",
111112
"nano-staged": "^0.8.0",
112-
"prettier": "^2.0.4",
113-
"react": "^18.0.0",
114-
"react-dom": "^18.0.0",
115-
"react-test-renderer": "^18.0.0",
113+
"prettier": "^3.4.2",
114+
"react": "^19.0.0",
115+
"react-dom": "^19.0.0",
116116
"rollup": "^4.0.0",
117117
"rollup-plugin-swc3": "^0.12.0",
118118
"simple-git-hooks": "^2.6.1",
119119
"simple-github-release": "^1.0.0",
120120
"size-limit": "^8.0.0",
121121
"standard-version": "^9.3.1",
122+
"storybook": "^8.4.7",
122123
"tsd": "^0.31.0",
123-
"typescript": "^4.9.4",
124+
"typescript": "^5.7.2",
124125
"vite": "^6.0.6",
125126
"vitest": "^2.1.8",
126127
"vitest-canvas-mock": "^0.3.3"

0 commit comments

Comments
 (0)