Open
Description
Describe the bug
Whenever I add @storybook/addon-react-native-web
package to addons array, @storybook/test package stops working.
When I comment out or remove @storybook/addon-react-native-web from addons array, the error is gone (screenshot of error below)
Here is my setup:
.storybook/main.js file:
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
const config = {
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-webpack5-compiler-swc",
"@storybook/addon-onboarding",
"@chromatic-com/storybook",
"@storybook/addon-interactions",
"storybook-dark-mode",
"@storybook/addon-react-native-web", // it makes @storybook/test not working :D
],
framework: {
name: "@storybook/react-webpack5",
options: {},
},
core: {
builder: "webpack5",
},
webpackFinal: async (config, { configType }) => {
config.plugins.push(new NodePolyfillPlugin());
return config;
},
};
export default config;
.storybook/preview:
const preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},
},
};
export default preview;
.babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react",
"@babel/preset-typescript"
],
"plugins": ["react-native-web"]
}
package.json:
{
"name": "before-storybook",
"version": "1.0.0",
"description": "",
"private": true,
"author": "",
"scripts": {
"dev": "webpack serve --open",
"build": "webpack build",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"dependencies": {
"@babel/core": "latest",
"@babel/preset-env": "latest",
"@babel/preset-react": "latest",
"@babel/preset-typescript": "latest",
"@react-native/babel-preset": "^0.74.86",
"@storybook/addon-react-native-web": "^0.0.24",
"@types/react": "^18",
"@types/react-dom": "^18",
"babel-loader": "latest",
"babel-plugin-react-native-web": "^0.19.12",
"babel-preset-react-app": "latest",
"babel-preset-react-native": "^4.0.1",
"html-webpack-plugin": "latest",
"metro-react-native-babel-preset": "^0.77.0",
"node-polyfill-webpack-plugin": "^4.0.0",
"react": "^18",
"react-dom": "^18.3.1",
"react-native-web": "^0.19.12",
"storybook-dark-mode": "^4.0.2",
"tty-browserify": "^0.0.1",
"typescript": "^4.8",
"webpack": "^5",
"webpack-cli": "latest",
"webpack-dev-server": "latest"
},
"devDependencies": {
"@chromatic-com/storybook": "^1.6.1",
"@storybook/addon-a11y": "8.2.6",
"@storybook/addon-actions": "8.2.6",
"@storybook/addon-backgrounds": "8.2.6",
"@storybook/addon-controls": "8.2.6",
"@storybook/addon-docs": "8.2.6",
"@storybook/addon-essentials": "^8.2.6",
"@storybook/addon-highlight": "8.2.6",
"@storybook/addon-interactions": "^8.2.6",
"@storybook/addon-jest": "8.2.6",
"@storybook/addon-links": "^8.2.6",
"@storybook/addon-mdx-gfm": "8.2.6",
"@storybook/addon-measure": "8.2.6",
"@storybook/addon-onboarding": "^8.2.6",
"@storybook/addon-outline": "8.2.6",
"@storybook/addon-storysource": "8.2.6",
"@storybook/addon-themes": "8.2.6",
"@storybook/addon-toolbars": "8.2.6",
"@storybook/addon-viewport": "8.2.6",
"@storybook/addon-webpack5-compiler-swc": "^1.0.5",
"@storybook/blocks": "^8.2.6",
"@storybook/builder-manager": "8.2.6",
"@storybook/builder-vite": "8.2.6",
"@storybook/builder-webpack5": "8.2.6",
"@storybook/channels": "8.2.6",
"@storybook/cli": "8.2.6",
"@storybook/client-logger": "8.2.6",
"@storybook/codemod": "8.2.6",
"@storybook/components": "8.2.6",
"@storybook/core": "8.2.6",
"@storybook/core-common": "8.2.6",
"@storybook/core-events": "8.2.6",
"@storybook/core-server": "8.2.6",
"@storybook/core-webpack": "8.2.6",
"@storybook/csf-plugin": "8.2.6",
"@storybook/csf-tools": "8.2.6",
"@storybook/docs-tools": "8.2.6",
"@storybook/ember": "8.2.6",
"@storybook/html": "8.2.6",
"@storybook/html-vite": "8.2.6",
"@storybook/html-webpack5": "8.2.6",
"@storybook/instrumenter": "8.2.6",
"@storybook/manager": "8.2.6",
"@storybook/manager-api": "8.2.6",
"@storybook/nextjs": "8.2.6",
"@storybook/node-logger": "8.2.6",
"@storybook/preact": "8.2.6",
"@storybook/preact-vite": "8.2.6",
"@storybook/preact-webpack5": "8.2.6",
"@storybook/preset-create-react-app": "8.2.6",
"@storybook/preset-html-webpack": "8.2.6",
"@storybook/preset-preact-webpack": "8.2.6",
"@storybook/preset-react-webpack": "8.2.6",
"@storybook/preset-server-webpack": "8.2.6",
"@storybook/preset-svelte-webpack": "8.2.6",
"@storybook/preset-vue3-webpack": "8.2.6",
"@storybook/preview": "8.2.6",
"@storybook/preview-api": "8.2.6",
"@storybook/react": "^8.2.6",
"@storybook/react-dom-shim": "8.2.6",
"@storybook/react-vite": "8.2.6",
"@storybook/react-webpack5": "8.2.6",
"@storybook/router": "8.2.6",
"@storybook/server": "8.2.6",
"@storybook/server-webpack5": "8.2.6",
"@storybook/source-loader": "8.2.6",
"@storybook/svelte": "8.2.6",
"@storybook/svelte-vite": "8.2.6",
"@storybook/svelte-webpack5": "8.2.6",
"@storybook/sveltekit": "8.2.6",
"@storybook/telemetry": "8.2.6",
"@storybook/test": "^8.2.6",
"@storybook/theming": "8.2.6",
"@storybook/types": "8.2.6",
"@storybook/vue3": "8.2.6",
"@storybook/vue3-vite": "8.2.6",
"@storybook/vue3-webpack5": "8.2.6",
"@storybook/web-components": "8.2.6",
"@storybook/web-components-vite": "8.2.6",
"@storybook/web-components-webpack5": "8.2.6",
"jackspeak": "2.1.1",
"sb": "8.2.6",
"storybook": "^8.2.6"
}
}
webpack.config.js
const HtmlWebpackPlugin = require("html-webpack-plugin");
process.env.NODE_ENV = "development";
const host = process.env.HOST || "localhost";
module.exports = {
mode: "development",
devtool: "inline-source-map",
entry: "./src/index.tsx",
output: {
filename: "static/js/bundle.js",
},
devServer: {
compress: true,
hot: true,
host,
port: 3000,
},
plugins: [new HtmlWebpackPlugin()],
module: {
rules: [
{
test: /\.(js|jsx|ts|tsx|mjs)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
},
},
],
},
resolve: {
extensions: [".mjs", ".js", ".cjs", ".jsx", ".tsx", ".ts"],
modules: ["node_modules"],
},
};
Screenshots and/or logs
Environment
- OS: macOS
- Node.js version: 18.19.0
- NPM version: 8.5.5