Skip to content

Commit bede2c6

Browse files
committed
chore: fix 30 of 31 security advisories in devDependencies
- Upgrade Storybook v7 → v10 (resolves critical Handlebars injection, clears lodash/tar/minimatch chains from the webpack5 builder) - Upgrade rollup v1 → v4 + migrate to @rollup/plugin-* (resolves DOM clobbering and path traversal advisories) - Upgrade rimraf v3 → v5 (drops old glob → minimatch chain) - Add yarn resolutions to force patched versions of: handlebars, lodash, flatted, yaml, serialize-javascript, picomatch - Exclude src/stories from main tsconfig; add tsconfig.storybook.json with moduleResolution:bundler for Storybook v10 type compat Audit: 213 paths (31 advisories) → 1 path (1 low advisory). Published package is unaffected — zero runtime dependencies.
1 parent 92b3249 commit bede2c6

5 files changed

Lines changed: 806 additions & 3674 deletions

File tree

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ module.exports = {
1818
'plugin:@typescript-eslint/recommended',
1919
'plugin:@typescript-eslint/recommended-requiring-type-checking',
2020
'prettier',
21+
'plugin:storybook/recommended',
2122
],
2223
settings: {
2324
react: {

.storybook/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const config: StorybookConfig = {
55
'../src/**/*.stories.@(js|jsx|ts|tsx)',
66
'../src/stories/stories.tsx',
77
],
8-
addons: ['@storybook/addon-webpack5-compiler-babel'],
8+
addons: ['@storybook/addon-docs', '@storybook/addon-webpack5-compiler-babel'],
99
framework: {
1010
name: '@storybook/react-webpack5',
1111
options: {},

package.json

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@
7575
"@babel/preset-env": "^7.28.5",
7676
"@babel/preset-react": "^7.28.5",
7777
"@babel/preset-typescript": "^7.28.5",
78-
"@size-limit/preset-small-lib": "^12.0.1",
79-
"@storybook/addon-essentials": "^7.6.0",
80-
"@storybook/react": "^7.6.0",
81-
"@storybook/react-webpack5": "^7.6.0",
8278
"@rollup/plugin-node-resolve": "^15.0.0",
8379
"@rollup/plugin-typescript": "^11.0.0",
80+
"@size-limit/preset-small-lib": "^12.0.1",
81+
"@storybook/addon-docs": "^10.3.5",
82+
"@storybook/react": "^10.3.5",
83+
"@storybook/react-webpack5": "^10.3.5",
8484
"@testing-library/react": "^12.1.5",
8585
"@types/jest": "^29.5.14",
8686
"@types/react": "^17.0.0",
@@ -91,17 +91,18 @@
9191
"eslint": "^8",
9292
"eslint-config-prettier": "^10.1.8",
9393
"eslint-plugin-react": "^7.37.5",
94+
"eslint-plugin-storybook": "10.3.5",
9495
"husky": "^9.0.0",
9596
"jest": "^29.7.0",
9697
"jest-environment-jsdom": "^29.7.0",
9798
"lint-staged": "^15.0.0",
9899
"prettier": "^2.8.0",
99100
"react": "^17.0.2",
100101
"react-dom": "^17.0.2",
101-
"rimraf": "^3.0.0",
102+
"rimraf": "^5.0.0",
102103
"rollup": "^4.0.0",
103104
"size-limit": "^12.0.1",
104-
"storybook": "^7.6.0",
105+
"storybook": "^10.3.5",
105106
"ts-jest": "^29.4.6",
106107
"typescript": "^5.4.0"
107108
},
@@ -116,6 +117,14 @@
116117
"limit": "6 kB"
117118
}
118119
],
120+
"resolutions": {
121+
"picomatch": ">=2.3.2",
122+
"handlebars": ">=4.7.9",
123+
"lodash": ">=4.17.23",
124+
"flatted": ">=3.4.2",
125+
"yaml": ">=2.8.3",
126+
"serialize-javascript": ">=7.0.5"
127+
},
119128
"lint-staged": {
120129
"*.{js,css,json,md}": [
121130
"prettier --write"

tsconfig.storybook.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"moduleResolution": "bundler",
5+
"noEmit": true
6+
},
7+
"include": ["src/stories/**/*", ".storybook/**/*"]
8+
}

0 commit comments

Comments
 (0)