@storybook/react-native-web-vite 9.1.0-alpha.1 → 9.1.0-alpha.10

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/dist/index.d.ts CHANGED
@@ -1,21 +1,27 @@
1
1
  import { CompatibleString } from 'storybook/internal/types';
2
2
  import { FrameworkOptions as FrameworkOptions$1, StorybookConfig as StorybookConfig$1 } from '@storybook/react-vite';
3
- import { Options, BabelOptions } from '@vitejs/plugin-react';
4
- import { BabelPluginOptions } from 'vite-plugin-babel';
3
+ import { Options, BabelOptions } from 'vite-plugin-rnw';
5
4
  export * from '@storybook/react';
6
5
  export { __definePreview as definePreview } from '@storybook/react';
7
6
 
8
7
  type FrameworkOptions = FrameworkOptions$1 & {
8
+ /**
9
+ * Many react native libraries aren't transpiled for the web, add them to this list to make sure
10
+ * they get transpiled before attempting to load them on the web. We will automatically add
11
+ * `react-native`, `@react-native`, `expo`, and `@expo` to this list.
12
+ *
13
+ * @example {modulesToTranspile: ['my-library']}
14
+ */
15
+ modulesToTranspile?: string[];
9
16
  pluginReactOptions?: Omit<Options, 'babel'> & {
10
17
  babel?: BabelOptions;
11
18
  };
12
- pluginBabelOptions?: BabelPluginOptions & {
13
- presetReact?: {
14
- [key: string]: any;
15
- runtime?: 'automatic' | 'classic';
16
- importSource?: string;
17
- };
18
- };
19
+ /**
20
+ * @deprecated These options will be ignored. Use `pluginReactOptions` now for everything and
21
+ * override includes in order to transpile node_modules pluginBabelOptions will be removed in
22
+ * the next major version. To configure babel, use `pluginReactOptions.babel`.
23
+ */
24
+ pluginBabelOptions?: Record<string, unknown>;
19
25
  };
20
26
  type FrameworkName = CompatibleString<'@storybook/react-native-web-vite'>;
21
27
  /** The interface for Storybook configuration in `main.ts` files. */
@@ -1,8 +1,7 @@
1
1
  import { StorybookConfig } from '../index.js';
2
2
  import 'storybook/internal/types';
3
3
  import '@storybook/react-vite';
4
- import '@vitejs/plugin-react';
5
- import 'vite-plugin-babel';
4
+ import 'vite-plugin-rnw';
6
5
  import '@storybook/react';
7
6
 
8
7
  declare function defineMain(config: StorybookConfig): StorybookConfig;
package/dist/preset.d.ts CHANGED
@@ -1,16 +1,13 @@
1
- import { PluginOption } from 'vite';
2
1
  import { StorybookConfig } from './index.js';
3
2
  import 'storybook/internal/types';
4
3
  import '@storybook/react-vite';
5
- import '@vitejs/plugin-react';
6
- import 'vite-plugin-babel';
4
+ import 'vite-plugin-rnw';
7
5
  import '@storybook/react';
8
6
 
9
- declare function reactNativeWeb(): PluginOption;
10
7
  declare const viteFinal: StorybookConfig['viteFinal'];
11
8
  declare const core: {
12
9
  builder: string;
13
10
  renderer: string;
14
11
  };
15
12
 
16
- export { core, reactNativeWeb, viteFinal };
13
+ export { core, viteFinal };
package/dist/preset.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{core:()=>core,reactNativeWeb:()=>reactNativeWeb,viteFinal:()=>viteFinal});module.exports=__toCommonJS(preset_exports);var import_preset=require("@storybook/react-vite/preset"),import_vite_plugin_flow=require("@bunchtogether/vite-plugin-flow"),import_plugin_react=__toESM(require("@vitejs/plugin-react")),import_vite_plugin_babel=__toESM(require("vite-plugin-babel")),import_vite_plugin_commonjs=__toESM(require("vite-plugin-commonjs")),import_vite_tsconfig_paths=__toESM(require("vite-tsconfig-paths"));function reactNativeWeb(){return{name:"vite:react-native-web",config(_userConfig,env){return{define:{"global.__x":{},_frameTimestamp:void 0,_WORKLET:!1,__DEV__:`${env.mode==="development"}`,"process.env.NODE_ENV":JSON.stringify(process.env.NODE_ENV||env.mode)},optimizeDeps:{include:[],esbuildOptions:{jsx:"automatic",resolveExtensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],loader:{".js":"jsx"}}},resolve:{extensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],alias:{"react-native":"react-native-web"}}}}}}var viteFinal=async(config,options)=>{let{mergeConfig}=await import("vite"),{pluginReactOptions={},pluginBabelOptions={}}=await options.presets.apply("frameworkOptions"),isDevelopment=options.configType!=="PRODUCTION",{plugins=[],...reactConfigWithoutPlugins}=await(0,import_preset.viteFinal)(config,options);return mergeConfig(reactConfigWithoutPlugins,{plugins:[(0,import_vite_tsconfig_paths.default)(),(0,import_vite_plugin_flow.flowPlugin)({exclude:[/node_modules\/(?!react-native|@react-native)/]}),(0,import_plugin_react.default)({...pluginReactOptions,jsxRuntime:pluginReactOptions.jsxRuntime||"automatic",babel:{babelrc:!1,configFile:!1,...pluginReactOptions.babel}}),(0,import_vite_plugin_babel.default)({...pluginBabelOptions,include:pluginBabelOptions.include||[/node_modules\/(react-native|@react-native)/],exclude:pluginBabelOptions.exclude,babelConfig:{...pluginBabelOptions.babelConfig,babelrc:!1,configFile:!1,presets:[["@babel/preset-react",{development:isDevelopment,runtime:"automatic",...pluginBabelOptions.presetReact||{}}],...pluginBabelOptions.babelConfig?.presets||[]],plugins:[["@babel/plugin-transform-modules-commonjs",{strict:!1,strictMode:!1,allowTopLevelThis:!0}],...pluginBabelOptions.babelConfig?.plugins||[]]}}),...plugins,reactNativeWeb(),(0,import_vite_plugin_commonjs.default)()],optimizeDeps:{esbuildOptions:{plugins:[(0,import_vite_plugin_flow.esbuildFlowPlugin)(new RegExp(/\.(flow|jsx?)$/),_path=>"jsx")]}}})},core={builder:"@storybook/builder-vite",renderer:"@storybook/react"};0&&(module.exports={core,reactNativeWeb,viteFinal});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{core:()=>core,viteFinal:()=>viteFinal});module.exports=__toCommonJS(preset_exports);var import_preset=require("@storybook/react-vite/preset"),import_vite_plugin_rnw=require("vite-plugin-rnw"),import_vite_tsconfig_paths=__toESM(require("vite-tsconfig-paths")),getExcludeOptions=modulesToTranspile=>{let defaultModulesToTranspile=["react-native","@react-native","expo","@expo"],uniqueModulesToTranspile=Array.from(new Set([...modulesToTranspile,...defaultModulesToTranspile]));return modulesToTranspile.length?{exclude:new RegExp(`/node_modules/(?!${uniqueModulesToTranspile.join("|")})`)}:{}},viteFinal=async(config,options)=>{let{mergeConfig}=await import("vite"),{pluginReactOptions={},modulesToTranspile=[]}=await options.presets.apply("frameworkOptions"),{plugins=[],...reactConfigWithoutPlugins}=await(0,import_preset.viteFinal)(config,options);return mergeConfig(reactConfigWithoutPlugins,{plugins:[(0,import_vite_tsconfig_paths.default)(),(0,import_vite_plugin_rnw.rnw)({...getExcludeOptions(modulesToTranspile),...pluginReactOptions,jsxRuntime:pluginReactOptions.jsxRuntime||"automatic",babel:{babelrc:!1,configFile:!1,...pluginReactOptions.babel}}),...plugins]})},core={builder:"@storybook/builder-vite",renderer:"@storybook/react"};0&&(module.exports={core,viteFinal});
@@ -1,5 +1,5 @@
1
1
  import * as vite from 'vite';
2
2
 
3
- declare const storybookReactNativeWeb: () => vite.PluginOption[];
3
+ declare const storybookReactNativeWeb: () => (vite.Plugin<any> | vite.Plugin<any>[])[];
4
4
 
5
5
  export { storybookReactNativeWeb };
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var vite_plugin_exports={};__export(vite_plugin_exports,{storybookReactNativeWeb:()=>storybookReactNativeWeb});module.exports=__toCommonJS(vite_plugin_exports);var import_plugin_react2=__toESM(require("@vitejs/plugin-react")),import_vite_tsconfig_paths2=__toESM(require("vite-tsconfig-paths"));var import_preset=require("@storybook/react-vite/preset"),import_vite_plugin_flow=require("@bunchtogether/vite-plugin-flow"),import_plugin_react=__toESM(require("@vitejs/plugin-react")),import_vite_plugin_babel=__toESM(require("vite-plugin-babel")),import_vite_plugin_commonjs=__toESM(require("vite-plugin-commonjs")),import_vite_tsconfig_paths=__toESM(require("vite-tsconfig-paths"));function reactNativeWeb(){return{name:"vite:react-native-web",config(_userConfig,env){return{define:{"global.__x":{},_frameTimestamp:void 0,_WORKLET:!1,__DEV__:`${env.mode==="development"}`,"process.env.NODE_ENV":JSON.stringify(process.env.NODE_ENV||env.mode)},optimizeDeps:{include:[],esbuildOptions:{jsx:"automatic",resolveExtensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],loader:{".js":"jsx"}}},resolve:{extensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],alias:{"react-native":"react-native-web"}}}}}}var storybookReactNativeWeb=()=>[(0,import_vite_tsconfig_paths2.default)(),(0,import_plugin_react2.default)({babel:{babelrc:!1,configFile:!1},jsxRuntime:"automatic"}),reactNativeWeb()];0&&(module.exports={storybookReactNativeWeb});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var vite_plugin_exports={};__export(vite_plugin_exports,{storybookReactNativeWeb:()=>storybookReactNativeWeb});module.exports=__toCommonJS(vite_plugin_exports);var import_vite_plugin_rnw=require("vite-plugin-rnw"),import_vite_tsconfig_paths=__toESM(require("vite-tsconfig-paths")),storybookReactNativeWeb=()=>[(0,import_vite_tsconfig_paths.default)(),(0,import_vite_plugin_rnw.rnw)({jsxRuntime:"automatic"})];0&&(module.exports={storybookReactNativeWeb});
@@ -1,10 +1,6 @@
1
- import react2 from '@vitejs/plugin-react';
2
- import tsconfigPaths2 from 'vite-tsconfig-paths';
3
- import '@storybook/react-vite/preset';
4
- import '@bunchtogether/vite-plugin-flow';
5
- import 'vite-plugin-babel';
6
- import 'vite-plugin-commonjs';
1
+ import { rnw } from 'vite-plugin-rnw';
2
+ import tsconfigPaths from 'vite-tsconfig-paths';
7
3
 
8
- function reactNativeWeb(){return {name:"vite:react-native-web",config(_userConfig,env){return {define:{"global.__x":{},_frameTimestamp:void 0,_WORKLET:!1,__DEV__:`${env.mode==="development"}`,"process.env.NODE_ENV":JSON.stringify(process.env.NODE_ENV||env.mode)},optimizeDeps:{include:[],esbuildOptions:{jsx:"automatic",resolveExtensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],loader:{".js":"jsx"}}},resolve:{extensions:[".web.js",".web.ts",".web.tsx",".js",".jsx",".json",".ts",".tsx",".mjs"],alias:{"react-native":"react-native-web"}}}}}}var storybookReactNativeWeb=()=>[tsconfigPaths2(),react2({babel:{babelrc:!1,configFile:!1},jsxRuntime:"automatic"}),reactNativeWeb()];
4
+ var storybookReactNativeWeb=()=>[tsconfigPaths(),rnw({jsxRuntime:"automatic"})];
9
5
 
10
6
  export { storybookReactNativeWeb };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/react-native-web-vite",
3
- "version": "9.1.0-alpha.1",
3
+ "version": "9.1.0-alpha.10",
4
4
  "description": "Develop react-native components an isolated web environment with hot reloading.",
5
5
  "keywords": [
6
6
  "storybook"
@@ -59,13 +59,10 @@
59
59
  "prep": "jiti ../../../scripts/prepare/bundle.ts"
60
60
  },
61
61
  "dependencies": {
62
- "@bunchtogether/vite-plugin-flow": "^1.0.2",
63
- "@storybook/builder-vite": "9.1.0-alpha.1",
64
- "@storybook/react": "9.1.0-alpha.1",
65
- "@storybook/react-vite": "9.1.0-alpha.1",
66
- "@vitejs/plugin-react": "^4.3.2",
67
- "vite-plugin-babel": "^1.3.0",
68
- "vite-plugin-commonjs": "^0.10.4",
62
+ "@storybook/builder-vite": "9.1.0-alpha.10",
63
+ "@storybook/react": "9.1.0-alpha.10",
64
+ "@storybook/react-vite": "9.1.0-alpha.10",
65
+ "vite-plugin-rnw": "^0.0.6",
69
66
  "vite-tsconfig-paths": "^5.1.4"
70
67
  },
71
68
  "devDependencies": {
@@ -77,8 +74,8 @@
77
74
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta",
78
75
  "react-native": ">=0.74.5",
79
76
  "react-native-web": "^0.19.12 || ^0.20.0",
80
- "storybook": "^9.1.0-alpha.1",
81
- "vite": "^5.0.0 || ^6.0.0"
77
+ "storybook": "^9.1.0-alpha.10",
78
+ "vite": "^5.0.0 || ^6.0.0 || ^7.0.0"
82
79
  },
83
80
  "engines": {
84
81
  "node": ">=20.0.0"