Update storybook to v9 (#4645)

* chore: Update storybook to v9

* Pin next-export-i18n + remove outdated mock library

* Replace old mocking library with MSW

* Resolve knip unused code warnings
This commit is contained in:
Gabe Kangas
2025-10-20 21:26:32 -07:00
committed by GitHub
parent 72d5ee8754
commit cc9286416c
68 changed files with 40881 additions and 44059 deletions
+150 -155
View File
@@ -1,156 +1,151 @@
{
"name": "owncast-web",
"version": "0.1.0",
"private": true,
"resolutions": {
"babel-preset-current-node-syntax": "1.1.1"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint --fix --ext .js,.ts,.tsx types/ pages/ components/ stories/ && npm run stylelint",
"stylelint": "stylelint **/*.scss",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"build-styles": "cd ./style-definitions && style-dictionary build && ./build.sh && cd -",
"test": "jest",
"format": "prettier --write **/*.{js,ts,jsx,tsx,css,md,scss}",
"translate": "node scripts/i18n-extract.js"
},
"dependencies": {
"@ant-design/icons": "4.8.3",
"@babel/parser": "^7.28.0",
"@babel/traverse": "^7.28.0",
"@codemirror/lang-css": "6.3.1",
"@codemirror/lang-html": "^6.4.2",
"@codemirror/lang-javascript": "^6.1.2",
"@codemirror/lang-markdown": "6.4.0",
"@codemirror/language-data": "6.5.1",
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@fontsource/inter": "^5.0.0",
"@fontsource/poppins": "5.2.7",
"@next/bundle-analyzer": "^14.0.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@uiw/codemirror-theme-bbedit": "4.25.2",
"@uiw/react-codemirror": "4.25.2",
"@xstate/react": "3.2.2",
"antd": "4.24.16",
"autoprefixer": "^10.4.14",
"babel-plugin-dynamic-import-node": "^2.3.3",
"chart.js": "^4.2.0",
"classnames": "2.5.1",
"date-fns": "^4.0.0",
"glob": "^11.0.3",
"graphemer": "^1.4.0",
"i18next-scanner": "^4.6.0",
"interweave": "^13.0.0",
"interweave-autolink": "^5.1.0",
"lodash": "4.17.21",
"next": "14.2.33",
"next-export-i18n": "^2.0.0",
"next-pwa": "^5.6.0",
"next-with-less": "3.0.1",
"postcss-flexbugs-fixes": "5.0.2",
"react": "18.3.1",
"react-chartjs-2": "^5.2.0",
"react-dom": "18.3.1",
"react-error-boundary": "^5.0.0",
"react-hotkeys-hook": "5.2.1",
"react-linkify": "1.0.0-alpha",
"react-markdown": "10.1.0",
"react-virtuoso": "4.14.1",
"recoil": "0.7.7",
"regexpu-core": "^5.3.2",
"sanitize-html": "^2.11.0",
"semver": "^7.6.3",
"sharp": "0.34.4",
"ua-parser-js": "1.0.41",
"video.js": "^8.3.0",
"workbox-precaching": "^7.0.0",
"workbox-window": "^7.0.0",
"xstate": "4.38.3",
"yaml": "2.8.1"
},
"devDependencies": {
"@babel/core": "7.28.4",
"@babel/preset-react": "^7.25.7",
"@commitlint/cli": "^20.0.0",
"@commitlint/config-conventional": "^20.0.0",
"@mdx-js/react": "3.1.1",
"@storybook/addon-a11y": "^8.3.6",
"@storybook/addon-actions": "^8.3.6",
"@storybook/addon-docs": "^8.3.6",
"@storybook/addon-essentials": "^8.3.6",
"@storybook/addon-links": "^8.3.6",
"@storybook/addon-mdx-gfm": "^8.3.6",
"@storybook/addon-postcss": "2.0.0",
"@storybook/addon-styling-webpack": "^1.0.0",
"@storybook/addon-viewport": "^8.3.6",
"@storybook/cli": "^8.3.6",
"@storybook/mdx2-csf": "1.1.0",
"@storybook/nextjs": "^8.3.6",
"@storybook/preset-scss": "^1.0.3",
"@storybook/react": "^8.3.6",
"@storybook/theming": "^8.3.6",
"@svgr/webpack": "8.1.0",
"@testing-library/react": "^16.3.0",
"@types/jest": "^30.0.0",
"@types/markdown-it": "14.1.2",
"@types/node": "22.18.11",
"@types/prop-types": "15.7.15",
"@types/react": "18.3.26",
"@types/react-linkify": "1.0.4",
"@types/sanitize-html": "^2.9.0",
"@types/ua-parser-js": "0.7.39",
"@types/video.js": "^7.3.50",
"@typescript-eslint/eslint-plugin": "8.46.1",
"@typescript-eslint/parser": "8.46.1",
"babel-loader": "10.0.0",
"chromatic": "13.3.0",
"css-loader": "7.1.2",
"cypress": "^14.0.0",
"eslint": "8.57.1",
"eslint-config-airbnb": "19.0.4",
"eslint-config-next": "14.2.33",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "6.10.2",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "4.6.2",
"eslint-plugin-storybook": "0.12.0",
"handlebars": "^4.7.7",
"html-webpack-plugin": "5.6.4",
"install": "^0.13.0",
"jest-environment-jsdom": "^30.0.4",
"knip": "^5.0.0",
"less": "4.4.2",
"less-loader": "12.3.0",
"mdx-mermaid": "^2.0.0",
"mermaid": "^11.10.0",
"npm": "^11.0.0",
"postcss": "^8.4.31",
"prettier": "3.5.3",
"resolve-url-loader": "^5.0.0",
"sass": "1.93.2",
"sass-loader": "^16.0.0",
"storybook": "^8.3.6",
"storybook-addon-fetch-mock": "^2.0.1",
"storybook-preset-less": "1.1.3",
"style-dictionary": "3.9.2",
"style-loader": "4.0.0",
"stylelint": "^16.0.0",
"stylelint-config-standard": "^39.0.0",
"stylelint-config-standard-scss": "^16.0.0",
"ts-jest": "^29.1.0",
"typescript": "^5.7.3"
},
"overrides": {
"@emoji-mart/react": {
"emoji-mart": "5.2.2"
}
}
}
"name": "owncast-web",
"version": "0.1.0",
"private": true,
"resolutions": {
"babel-preset-current-node-syntax": "1.1.1"
},
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint --fix --ext .js,.ts,.tsx types/ pages/ components/ stories/ && npm run stylelint",
"stylelint": "stylelint **/*.scss",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"build-styles": "cd ./style-definitions && style-dictionary build && ./build.sh && cd -",
"test": "jest",
"format": "prettier --write **/*.{js,ts,jsx,tsx,css,md,scss}",
"translate": "node scripts/i18n-extract.js"
},
"dependencies": {
"@ant-design/icons": "4.8.3",
"@babel/parser": "^7.28.0",
"@babel/traverse": "^7.28.0",
"@codemirror/lang-css": "6.3.1",
"@codemirror/lang-html": "^6.4.2",
"@codemirror/lang-javascript": "^6.1.2",
"@codemirror/lang-markdown": "6.4.0",
"@codemirror/language-data": "6.5.1",
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@fontsource/inter": "^5.0.0",
"@fontsource/poppins": "5.2.7",
"@next/bundle-analyzer": "^14.0.0",
"@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0",
"@uiw/codemirror-theme-bbedit": "4.25.2",
"@uiw/react-codemirror": "4.25.2",
"@xstate/react": "3.2.2",
"antd": "4.24.16",
"autoprefixer": "^10.4.14",
"babel-plugin-dynamic-import-node": "^2.3.3",
"chart.js": "^4.2.0",
"classnames": "2.5.1",
"date-fns": "^4.0.0",
"emoji-mart": "^5.2.2",
"glob": "^11.0.3",
"graphemer": "^1.4.0",
"i18next-scanner": "^4.6.0",
"interweave": "^13.0.0",
"interweave-autolink": "^5.1.0",
"lodash": "4.17.21",
"next": "14.2.33",
"next-export-i18n": "2.3.5",
"next-pwa": "^5.6.0",
"next-with-less": "3.0.1",
"postcss-flexbugs-fixes": "5.0.2",
"react": "18.3.1",
"react-chartjs-2": "^5.2.0",
"react-dom": "18.3.1",
"react-error-boundary": "^5.0.0",
"react-hotkeys-hook": "5.2.1",
"react-linkify": "1.0.0-alpha",
"react-markdown": "10.1.0",
"react-virtuoso": "4.14.1",
"recoil": "0.7.7",
"regexpu-core": "^5.3.2",
"sanitize-html": "^2.11.0",
"semver": "^7.6.3",
"sharp": "0.34.4",
"ua-parser-js": "1.0.41",
"video.js": "^8.3.0",
"workbox-precaching": "^7.0.0",
"workbox-window": "^7.0.0",
"xstate": "4.38.3",
"yaml": "2.8.1"
},
"devDependencies": {
"@babel/core": "7.28.4",
"@babel/preset-react": "^7.25.7",
"@commitlint/cli": "^20.0.0",
"@commitlint/config-conventional": "^20.0.0",
"@mdx-js/react": "3.1.1",
"@storybook/addon-a11y": "^9.1.13",
"@storybook/addon-docs": "^9.1.13",
"@storybook/addon-links": "^9.1.13",
"@storybook/cli": "^9.1.13",
"@storybook/mdx2-csf": "1.1.0",
"@storybook/nextjs": "^9.1.13",
"@svgr/webpack": "8.1.0",
"@testing-library/react": "^16.3.0",
"@types/jest": "^30.0.0",
"@types/markdown-it": "14.1.2",
"@types/node": "22.18.11",
"@types/prop-types": "15.7.15",
"@types/react": "18.3.26",
"@types/react-linkify": "1.0.4",
"@types/sanitize-html": "^2.9.0",
"@types/ua-parser-js": "0.7.39",
"@types/video.js": "^7.3.50",
"@typescript-eslint/eslint-plugin": "8.46.1",
"@typescript-eslint/parser": "8.46.1",
"babel-loader": "10.0.0",
"chromatic": "13.3.0",
"css-loader": "7.1.2",
"cypress": "^14.0.0",
"eslint": "8.57.1",
"eslint-config-airbnb": "19.0.4",
"eslint-config-next": "14.2.33",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "6.10.2",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "4.6.2",
"eslint-plugin-storybook": "9.1.13",
"handlebars": "^4.7.7",
"html-webpack-plugin": "5.6.4",
"install": "^0.13.0",
"jest-environment-jsdom": "^30.0.4",
"knip": "^5.0.0",
"less": "4.4.2",
"less-loader": "12.3.0",
"mdx-mermaid": "^2.0.0",
"mermaid": "^11.10.0",
"msw": "^2.11.6",
"msw-storybook-addon": "^2.0.6",
"npm": "^11.0.0",
"postcss": "^8.4.31",
"prettier": "3.5.3",
"sass": "1.93.2",
"storybook": "^9.1.13",
"style-dictionary": "3.9.2",
"style-loader": "4.0.0",
"stylelint": "^16.0.0",
"stylelint-config-standard": "^39.0.0",
"stylelint-config-standard-scss": "^16.0.0",
"ts-jest": "^29.1.0",
"typescript": "^5.7.3"
},
"overrides": {
"@emoji-mart/react": {
"emoji-mart": "5.2.2"
}
},
"msw": {
"workerDirectory": [
"public/"
]
}
}