@storybook/builder-vite 7.0.0-beta.7 → 7.0.0-beta.8
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.js +15 -15
- package/dist/index.mjs +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var Re=Object.create;var
|
|
2
|
-
`),
|
|
1
|
+
"use strict";var Re=Object.create;var O=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var Ie=Object.getPrototypeOf,Fe=Object.prototype.hasOwnProperty;var Ne=(e,r)=>{for(var n in r)O(e,n,{get:r[n],enumerable:!0})},H=(e,r,n,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of De(r))!Fe.call(e,o)&&o!==n&&O(e,o,{get:()=>r[o],enumerable:!(t=_e(r,o))||t.enumerable});return e};var a=(e,r,n)=>(n=e!=null?Re(Ie(e)):{},H(r||!e||!e.__esModule?O(n,"default",{value:e,enumerable:!0}):n,e)),Te=e=>H(O({},"__esModule",{value:!0}),e);var tt={};Ne(tt,{bail:()=>Ae,build:()=>et,hasVitePlugins:()=>V,start:()=>Ze,withoutVitePlugins:()=>T});module.exports=Te(tt);var D=a(require("fs-extra")),ke=a(require("express")),d=require("path");var B=require("@storybook/core-common");async function E(e,r){let{configType:n,features:t,presets:o,serverChannelUrl:i,title:s}=r,l=await o.apply("frameworkOptions"),c=await o.apply("previewHead"),p=await o.apply("previewBody"),v=await o.apply("logLevel",void 0),w=await o.apply("docs"),I=await o.apply("core"),je=(0,B.normalizeStories)(await r.presets.apply("stories",[],r),{configDir:r.configDir,workingDir:process.cwd()}).map($=>({...$,importPathMatcher:$.importPathMatcher.source}));return e.replace("<!-- [TITLE HERE] -->",s||"Storybook").replace("[CONFIG_TYPE HERE]",n||"").replace("[LOGLEVEL HERE]",v||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(l)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(I&&I.channelOptions?I.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(t||{})).replace("'[STORIES HERE]'",JSON.stringify(je||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(w||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(i)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",c||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",p||"")}var Se=require("vite");var we=a(require("path")),P=require("vite"),he=a(require("rollup-plugin-external-globals")),k=require("@storybook/core-common"),be=require("@storybook/preview/globals");var M=require("es-module-lexer"),L=a(require("magic-string")),z=require("vite"),Ve=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],$e=(0,z.createFilter)(Ve),q={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(e,r){if(!$e(r))return;let[,n]=await(0,M.parse)(e);if(n.includes("__namedExportsOrder"))return;let t=new L.default(e),o=n.filter(i=>i!=="default");return t.append(`;export const __namedExportsOrder = ${JSON.stringify(o)};`),{code:t.toString(),map:t.generateMap({hires:!0,source:r})}}};var J=require("vite"),He=e=>e.endsWith("stories.mdx")||e.endsWith("story.mdx");async function U(e){var i;let n=(0,J.createFilter)(/\.mdx?$/),o=((i=(await e.presets.apply("addons",[])).find(s=>[s,s.name].includes("@storybook/addon-docs")))==null?void 0:i.options)??{};return{name:"storybook:mdx-plugin",enforce:"pre",async transform(s,l){if(!n(l))return;let{compile:c}=await import("@storybook/mdx2-csf"),p=await e.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"},jsxOptions:o.jsxOptions});return{code:String(await c(s,{skipCsf:!He(l),...p})),map:null}}}}var G=require("vite"),W=a(require("magic-string"));function Y(){let e=(0,G.createFilter)(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(r,n){if(!e(n))return;let t=new W.default(r);return t.replace(/import\.meta\.hot\.accept\(\);/,""),{code:t.toString(),map:t.generateMap({hires:!0,source:n})}}}}var fe=a(require("fs")),ue=require("vite");var ee=require("@storybook/core-common");var h="/virtual:/@storybook/builder-vite/vite-app.js",m="/virtual:/@storybook/builder-vite/storybook-stories.js",f="/virtual:/@storybook/builder-vite/preview-entry.js",u="/virtual:/@storybook/builder-vite/setup-addons.js";var Z=require("path"),F=a(require("slash"));var K=a(require("path")),Q=require("vite");function X(e){let r=e.split(`node_modules${K.default.sep}`);return(0,Q.normalizePath)(r[r.length-1])}function x(e){if(typeof e=="object")return e.bare;if((e==null?void 0:e.startsWith("./"))||(e==null?void 0:e.startsWith("../")))return(0,F.default)((0,Z.resolve)(e));if(!e)throw new Error("Could not determine path for previewAnnotation");return e.includes("node_modules")?X(e):(0,F.default)(e)}async function te(e){let{presets:r}=e,n=await(0,ee.getRendererName)(e),o=[...await r.apply("previewAnnotations",[],e)].filter(Boolean).map(x),i=(c,p)=>c.map((v,w)=>`import ${p?`* as ${p}_${w} from `:""}'${v}'`).join(`
|
|
2
|
+
`),s=(c,p)=>new Array(p).fill(0).map((v,w)=>`${c}_${w}`);return`
|
|
3
3
|
// Ensure that the client API is initialized by the framework before any other iframe code
|
|
4
4
|
// is loaded. That way our client-apis can assume the existence of the API+store
|
|
5
5
|
import { configure } from '${n}';
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
import * as previewApi from "@storybook/preview-api";
|
|
9
9
|
${i(o,"config")}
|
|
10
10
|
|
|
11
|
-
import * as preview from '${
|
|
12
|
-
import { configStories } from '${
|
|
11
|
+
import * as preview from '${f}';
|
|
12
|
+
import { configStories } from '${m}';
|
|
13
13
|
|
|
14
14
|
const {
|
|
15
15
|
addDecorator,
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
setGlobalRender,
|
|
24
24
|
} = previewApi;
|
|
25
25
|
|
|
26
|
-
const configs = [${
|
|
26
|
+
const configs = [${s("config",o.length).concat("preview.default").join(",")}].filter(Boolean)
|
|
27
27
|
|
|
28
28
|
configs.forEach(config => {
|
|
29
29
|
Object.keys(config).forEach((key) => {
|
|
@@ -83,17 +83,17 @@
|
|
|
83
83
|
*/
|
|
84
84
|
|
|
85
85
|
configStories(configure);
|
|
86
|
-
`.trim()}var S=require("@storybook/core-common");async function re(e){let{presets:r,configDir:n}=e,t=await(0,S.getFrameworkName)(e),o=(0,S.loadPreviewOrConfigFile)({configDir:n}),
|
|
86
|
+
`.trim()}var S=require("@storybook/core-common");async function re(e){let{presets:r,configDir:n}=e,t=await(0,S.getFrameworkName)(e),o=(0,S.loadPreviewOrConfigFile)({configDir:n}),s=[...await r.apply("previewAnnotations",[],e),o].filter(Boolean).map(x),l=p=>p==="@storybook/web-components-vite"?`
|
|
87
87
|
if (import.meta.hot) {
|
|
88
88
|
import.meta.hot.decline();
|
|
89
89
|
}`.trim():`
|
|
90
90
|
if (import.meta.hot) {
|
|
91
|
-
import.meta.hot.accept('${
|
|
91
|
+
import.meta.hot.accept('${m}', (newModule) => {
|
|
92
92
|
// importFn has changed so we need to patch the new one in
|
|
93
93
|
preview.onStoriesChanged({ importFn: newModule.importFn });
|
|
94
94
|
});
|
|
95
95
|
|
|
96
|
-
import.meta.hot.accept(${JSON.stringify(
|
|
96
|
+
import.meta.hot.accept(${JSON.stringify(s)}, ([...newConfigEntries]) => {
|
|
97
97
|
const newGetProjectAnnotations = () => composeConfigs(newConfigEntries);
|
|
98
98
|
|
|
99
99
|
// getProjectAnnotations has changed so we need to patch the new one in
|
|
@@ -102,10 +102,10 @@
|
|
|
102
102
|
}`.trim();return`
|
|
103
103
|
import { composeConfigs, PreviewWeb, ClientApi } from '@storybook/preview-api';
|
|
104
104
|
import '${u}';
|
|
105
|
-
import { importFn } from '${
|
|
105
|
+
import { importFn } from '${m}';
|
|
106
106
|
|
|
107
107
|
const getProjectAnnotations = async () => {
|
|
108
|
-
const configs = await Promise.all([${
|
|
108
|
+
const configs = await Promise.all([${s.map(p=>`import('${p}')`).join(`,
|
|
109
109
|
`)}])
|
|
110
110
|
return composeConfigs(configs);
|
|
111
111
|
}
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
preview.initialize({ importFn, getProjectAnnotations });
|
|
120
120
|
|
|
121
121
|
${l(t)};
|
|
122
|
-
`.trim()}var C=
|
|
122
|
+
`.trim()}var C=a(require("path")),ie=require("vite"),se=require("@storybook/node-logger");var b=a(require("path")),oe=require("glob-promise"),ne=require("@storybook/core-common");async function y(e){return(await Promise.all((0,ne.normalizeStories)(await e.presets.apply("stories",[],e),{configDir:e.configDir,workingDir:e.configDir}).map(({directory:r,files:n})=>{let t=b.join(r,n);return(0,oe.promise)(b.isAbsolute(t)?t:b.join(e.configDir,t),{follow:!0})}))).reduce((r,n)=>r.concat(n),[])}function Be(e){return e.startsWith("../")?e:`./${e}`}async function Me(e){return`
|
|
123
123
|
const importers = {
|
|
124
124
|
${e.map(n=>{let t=C.extname(n),o=(0,ie.normalizePath)(C.relative(process.cwd(),n));return[".js",".jsx",".ts",".tsx",".mdx"].includes(t)||se.logger.warn(`Cannot process ${t} file with storyStoreV7: ${o}`),` '${Be(o)}': async () => import('/@fs/${n}')`}).join(`,
|
|
125
125
|
`)}
|
|
@@ -128,8 +128,8 @@
|
|
|
128
128
|
export async function importFn(path) {
|
|
129
129
|
return importers[path]();
|
|
130
130
|
}
|
|
131
|
-
`}async function ae(e){let r=await
|
|
132
|
-
`);async function ce(e){let r=await
|
|
131
|
+
`}async function ae(e){let r=await y(e);return(await Me(r)).trim()}var pe=require("@storybook/core-common"),N=a(require("slash")),le=require("vite");var Le=(e,r)=>e.map((n,t)=>`import ${r?`* as ${r}_${t} from `:""}'/@fs/${(0,le.normalizePath)(n)}'`).join(`
|
|
132
|
+
`);async function ce(e){let r=await y(e),n=r.reduce((o,i)=>({...o,[i]:i.replace((0,N.default)(process.cwd()),".")}),{}),t=r.map((o,i)=>`${JSON.stringify(o)}: story_${i}`).join(",");return`
|
|
133
133
|
${Le(r,"story")}
|
|
134
134
|
|
|
135
135
|
function loadable(key) {
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
configure(loadable, { hot: import.meta.hot }, false);
|
|
146
146
|
}
|
|
147
147
|
`.trim()}async function me({configDir:e}){let r=(0,pe.loadPreviewOrConfigFile)({configDir:e});return r?`import * as preview from '${(0,N.default)(r)}';
|
|
148
|
-
export default preview;`:""}async function
|
|
148
|
+
export default preview;`:""}async function de(){return`
|
|
149
149
|
import { createChannel as createPostMessageChannel } from '@storybook/channel-postmessage';
|
|
150
150
|
import { createChannel as createWebSocketChannel } from '@storybook/channel-websocket';
|
|
151
151
|
import { addons } from '@storybook/preview-api';
|
|
@@ -160,4 +160,4 @@
|
|
|
160
160
|
addons.setServerChannel(serverChannel);
|
|
161
161
|
window.__STORYBOOK_SERVER_CHANNEL__ = serverChannel;
|
|
162
162
|
}
|
|
163
|
-
`.trim()}function
|
|
163
|
+
`.trim()}function ye(e){let r=require.resolve("@storybook/builder-vite/input/iframe.html"),n;return{name:"storybook:code-generator-plugin",enforce:"pre",configureServer(t){t.watcher.on("change",()=>{let o=t.moduleGraph.getModuleById(h);o&&t.moduleGraph.invalidateModule(o);let i=t.moduleGraph.getModuleById(m);i&&t.moduleGraph.invalidateModule(i)}),t.watcher.on("add",o=>{(/\.stories\.([tj])sx?$/.test(o)||/\.(story|stories).mdx$/.test(o))&&t.watcher.emit("change",m)})},config(t,{command:o}){o==="build"&&(t.build||(t.build={}),t.build.rollupOptions={...t.build.rollupOptions,input:r});try{require.resolve("react-dom/client",{paths:[t.root||process.cwd()]})}catch(i){ze(i)&&i.code==="MODULE_NOT_FOUND"&&(t.resolve=(0,ue.mergeConfig)(t.resolve??{},{alias:{"react-dom/client":require.resolve("@storybook/builder-vite/input/react-dom-client-placeholder.js")}}))}},configResolved(t){n=`${t.root}/iframe.html`},resolveId(t){if(t===h)return h;if(t===r)return n;if(t===m)return m;if(t===f)return f;if(t===u)return u},async load(t){var i;let o=(i=e.features)==null?void 0:i.storyStoreV7;if(t===m)return o?ae(e):ce(e);if(t===u)return de();if(t===f&&!o)return me(e);if(t===h)return o?re(e):te(e);if(t===n)return fe.readFileSync(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8")},async transformIndexHtml(t,o){if(o.path==="/iframe.html")return E(t,e)}}}var ze=e=>e instanceof Error;var ge=require("@storybook/csf-plugin");async function ve(e){var o;let{presets:r}=e,t=((o=(await r.apply("addons",[])).find(i=>[i,i.name].includes("@storybook/addon-docs")))==null?void 0:o.options)??{};return(0,ge.vite)(t==null?void 0:t.csfPluginOptions)}var qe={mode:"development",command:"serve",ssrBuild:!1},Je={mode:"production",command:"build",ssrBuild:!1};async function A(e,r){let n=r==="development"?qe:Je,{config:{build:t=void 0,...o}={}}=await(0,P.loadConfigFromFile)(n)??{},i={configFile:!1,cacheDir:"node_modules/.cache/.vite-storybook",root:we.resolve(e.configDir,".."),base:"./",plugins:await Ue(e),resolve:{preserveSymlinks:(0,k.isPreservingSymlinks)(),alias:{assert:require.resolve("browser-assert")}},envPrefix:o.envPrefix?"STORYBOOK_":["VITE_","STORYBOOK_"]};return(0,P.mergeConfig)(o,i)}async function Ue(e){let r=await(0,k.getFrameworkName)(e),n=[ye(e),await ve(e),U(e),q,Y(),{name:"storybook:allow-storybook-dir",enforce:"post",config(t){var o,i;(i=(o=t==null?void 0:t.server)==null?void 0:o.fs)!=null&&i.allow&&t.server.fs.allow.push(".storybook")}},(0,he.default)(be.globals)];if(r==="@storybook/preact-vite"&&n.push(require("@preact/preset-vite").default()),r==="@storybook/glimmerx-vite"){let t=require("vite-plugin-glimmerx/index.cjs");n.push(t.default())}return n}var Oe=a(require("path")),j=require("vite");var Ge=["@base2/pretty-print-object","@emotion/core","@emotion/is-prop-valid","@emotion/styled","@mdx-js/react","@storybook/addon-docs > acorn-jsx","@storybook/addon-docs","@storybook/channel-postmessage","@storybook/channel-websocket","@storybook/client-api","@storybook/client-logger","@storybook/core/client","@storybook/preview-api","@storybook/preview-web","@storybook/react > acorn-jsx","@storybook/react","@storybook/svelte","@storybook/types","@storybook/vue3","acorn-jsx","acorn-walk","acorn","airbnb-js-shims","ansi-to-html","axe-core","color-convert","deep-object-diff","doctrine","emotion-theming","escodegen","estraverse","fast-deep-equal","global","html-tags","isobject","jest-mock","loader-utils","lodash/cloneDeep","lodash/isFunction","lodash/isPlainObject","lodash/isString","lodash/mapKeys","lodash/mapValues","lodash/pick","lodash/pickBy","lodash/startCase","lodash/throttle","lodash/uniq","markdown-to-jsx","memoizerific","overlayscrollbars","polished","prettier/parser-babel","prettier/parser-flow","prettier/parser-typescript","prop-types","qs","react-dom","react-dom/client","react-fast-compare","react-is","react-textarea-autosize","react","react/jsx-runtime","refractor/core","refractor/lang/bash.js","refractor/lang/css.js","refractor/lang/graphql.js","refractor/lang/js-extras.js","refractor/lang/json.js","refractor/lang/jsx.js","refractor/lang/markdown.js","refractor/lang/markup.js","refractor/lang/tsx.js","refractor/lang/typescript.js","refractor/lang/yaml.js","regenerator-runtime/runtime.js","slash","store2","synchronous-promise","telejson","ts-dedent","unfetch","util-deprecate","uuid-browser/v4","vue","warning"],We=async(e,r)=>Promise.all(e.map(r)).then(n=>e.filter((t,o)=>n[o]));async function Ee(e,r){let{root:n=process.cwd()}=e,o=(await y(r)).map(p=>(0,j.normalizePath)(Oe.relative(n,p))),s=(await(0,j.resolveConfig)(e,"serve","development")).createResolver({asSrc:!1}),l=await We(Ge,async p=>Boolean(await s(p)));return{entries:o,include:l}}var xe=require("@storybook/core-common"),Ye=["STORYBOOK","BASE_URL","MODE","DEV","PROD","SSR"];function Ke(e,r){let n={},t=Object.entries(e).reduce((o,[i,s])=>((Ye.includes(i)||Array.isArray(r)&&!!r.find(l=>i.startsWith(l))||typeof r=="string"&&i.startsWith(r))&&(o[`import.meta.env.${i}`]=JSON.stringify(s),n[i]=s),o),{});return t["import.meta.env"]=JSON.stringify((0,xe.stringifyEnvs)(n)),t}async function R(e,r){let{presets:n}=e,t=await n.apply("env"),{define:o}=r;if(Object.keys(t).length){let i=Ke(t,r.envPrefix);o={...o,...i}}return{...r,define:o}}async function Ce(e,r){let{presets:n}=e,t=await A(e,"development"),o={...t,server:{middlewareMode:!0,hmr:{port:e.port,server:r},fs:{strict:!0}},appType:"custom",optimizeDeps:await Ee(t,e)},i=await n.apply("viteFinal",o,e);return(0,Se.createServer)(await R(e,i))}var _=require("vite");async function Pe(e){let{presets:r}=e,n=await A(e,"build");n.build=(0,_.mergeConfig)(n,{build:{outDir:e.outputDir,emptyOutDir:!1,sourcemap:!0,rollupOptions:{external:["./sb-preview/runtime.mjs"]}}}).build;let t=await r.apply("viteFinal",n,e);await(0,_.build)(await R(e,t))}var T=async(e=[],r)=>{let n=[],t=await Promise.all(e);for(let o of t)Array.isArray(o)&&n.push(await T(o,r)),o&&"name"in o&&!r.includes(o.name)&&n.push(o);return n};function Qe(e,r){return e!==null&&typeof e=="object"&&"name"in e&&r.includes(e.name)}async function V(e,r){let n=await Promise.all(e);for(let t of n)if(Array.isArray(t)&&Boolean(await V(t,r))||Qe(t,r))return!0;return!1}function Xe(e,r){return async(n,t,o)=>{if(!n.url.match(/^\/iframe\.html($|\?)/)){o();return}if(n.query["html-proxy"]!==void 0){o();return}let i=await D.readFile(require.resolve("@storybook/builder-vite/input/iframe.html"),"utf-8"),s=await E(i,e),l=await r.transformIndexHtml("/iframe.html",s);t.setHeader("Content-Type","text/html"),t.status(200).send(l)}}var g;async function Ae(){return g==null?void 0:g.close()}var Ze=async({startTime:e,options:r,router:n,server:t})=>{g=await Ce(r,t);let o=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),i=(0,d.join)(o,"dist");return n.use("/sb-preview",ke.default.static(i,{immutable:!0,maxAge:"5m"})),n.use(Xe(r,g)),n.use(g.middlewares),{bail:Ae,stats:{toJson:()=>null},totalTime:process.hrtime(e)}},et=async({options:e})=>{let r=Pe(e),n=(0,d.dirname)(require.resolve("@storybook/preview/package.json")),t=(0,d.join)(n,"dist"),o=(0,d.join)(e.outputDir||"","sb-preview"),i=D.copy(t,o,{filter:l=>{let{ext:c}=(0,d.parse)(l);return c?c===".mjs":!0}}),[s]=await Promise.all([r,i]);return s};0&&(module.exports={bail,build,hasVitePlugins,start,withoutVitePlugins});
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});import*as fs2 from"fs-extra";import express from"express";import{dirname,join as join2,parse as parse2}from"path";import{normalizeStories}from"@storybook/core-common";async function transformIframeHtml(html,options){let{configType,features,presets,serverChannelUrl,title}=options,frameworkOptions=await presets.apply("frameworkOptions"),headHtmlSnippet=await presets.apply("previewHead"),bodyHtmlSnippet=await presets.apply("previewBody"),logLevel=await presets.apply("logLevel",void 0),docsOptions=await presets.apply("docs"),coreOptions=await presets.apply("core"),stories=normalizeStories(await options.presets.apply("stories",[],options),{configDir:options.configDir,workingDir:process.cwd()}).map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source}));return html.replace("<!-- [TITLE HERE] -->",title||"Storybook").replace("[CONFIG_TYPE HERE]",configType||"").replace("[LOGLEVEL HERE]",logLevel||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(frameworkOptions)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(coreOptions&&coreOptions.channelOptions?coreOptions.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(features||{})).replace("'[STORIES HERE]'",JSON.stringify(stories||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(docsOptions||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(serverChannelUrl)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",headHtmlSnippet||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",bodyHtmlSnippet||"")}import{createServer}from"vite";import*as path4 from"path";import{loadConfigFromFile,mergeConfig as mergeConfig2}from"vite";import externalGlobals from"rollup-plugin-external-globals";import{isPreservingSymlinks,getFrameworkName as getFrameworkName2}from"@storybook/core-common";import{globals}from"@storybook/preview/globals";import{parse}from"es-module-lexer";import MagicString from"magic-string";import{createFilter}from"vite";var include=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],filter=createFilter(include),injectExportOrderPlugin={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(code,id){if(!filter(id))return;let[,exports]=await parse(code);if(exports.includes("__namedExportsOrder"))return;let s=new MagicString(code),orderedExports=exports.filter(e=>e!=="default");return s.append(`;export const __namedExportsOrder = ${JSON.stringify(orderedExports)};`),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}};import{createFilter as createFilter2}from"vite";var isStorybookMdx=id=>id.endsWith("stories.mdx")||id.endsWith("story.mdx");function mdxPlugin(options){let filter2=createFilter2(/\.mdx?$/);return{name:"storybook:mdx-plugin",enforce:"pre",async transform(src,id){if(!filter2(id))return;let{compile}=await import("@storybook/mdx2-csf"),mdxLoaderOptions=await options.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"}});return{code:String(await compile(src,{skipCsf:!isStorybookMdx(id),...mdxLoaderOptions})),map:null}}}}import{createFilter as createFilter3}from"vite";import MagicString2 from"magic-string";function stripStoryHMRBoundary(){let filter2=createFilter3(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(src,id){if(!filter2(id))return;let s=new MagicString2(src);return s.replace(/import\.meta\.hot\.accept\(\);/,""),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}}}import*as fs from"fs";import{mergeConfig}from"vite";import{getRendererName}from"@storybook/core-common";var virtualFileId="/virtual:/@storybook/builder-vite/vite-app.js",virtualStoriesFile="/virtual:/@storybook/builder-vite/storybook-stories.js",virtualPreviewFile="/virtual:/@storybook/builder-vite/preview-entry.js",virtualAddonSetupFile="/virtual:/@storybook/builder-vite/setup-addons.js";import{resolve}from"path";import slash from"slash";import path from"path";import{normalizePath}from"vite";function transformAbsPath(absPath){let splits=absPath.split(`node_modules${path.sep}`);return normalizePath(splits[splits.length-1])}function processPreviewAnnotation(path6){if(typeof path6=="object")return path6.bare;if(path6?.startsWith("./")||path6?.startsWith("../"))return slash(resolve(path6));if(!path6)throw new Error("Could not determine path for previewAnnotation");return path6.includes("node_modules")?transformAbsPath(path6):slash(path6)}async function generateIframeScriptCode(options){let{presets}=options,rendererName=await getRendererName(options),configEntries=[...await presets.apply("previewAnnotations",[],options)].filter(Boolean).map(processPreviewAnnotation),filesToImport=(files,name)=>files.map((el,i)=>`import ${name?`* as ${name}_${i} from `:""}'${el}'`).join(`
|
|
1
|
+
var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});import*as fs2 from"fs-extra";import express from"express";import{dirname,join as join2,parse as parse2}from"path";import{normalizeStories}from"@storybook/core-common";async function transformIframeHtml(html,options){let{configType,features,presets,serverChannelUrl,title}=options,frameworkOptions=await presets.apply("frameworkOptions"),headHtmlSnippet=await presets.apply("previewHead"),bodyHtmlSnippet=await presets.apply("previewBody"),logLevel=await presets.apply("logLevel",void 0),docsOptions=await presets.apply("docs"),coreOptions=await presets.apply("core"),stories=normalizeStories(await options.presets.apply("stories",[],options),{configDir:options.configDir,workingDir:process.cwd()}).map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source}));return html.replace("<!-- [TITLE HERE] -->",title||"Storybook").replace("[CONFIG_TYPE HERE]",configType||"").replace("[LOGLEVEL HERE]",logLevel||"").replace("'[FRAMEWORK_OPTIONS HERE]'",JSON.stringify(frameworkOptions)).replace("'[CHANNEL_OPTIONS HERE]'",JSON.stringify(coreOptions&&coreOptions.channelOptions?coreOptions.channelOptions:{})).replace("'[FEATURES HERE]'",JSON.stringify(features||{})).replace("'[STORIES HERE]'",JSON.stringify(stories||{})).replace("'[DOCS_OPTIONS HERE]'",JSON.stringify(docsOptions||{})).replace("'[SERVER_CHANNEL_URL HERE]'",JSON.stringify(serverChannelUrl)).replace("<!-- [HEAD HTML SNIPPET HERE] -->",headHtmlSnippet||"").replace("<!-- [BODY HTML SNIPPET HERE] -->",bodyHtmlSnippet||"")}import{createServer}from"vite";import*as path4 from"path";import{loadConfigFromFile,mergeConfig as mergeConfig2}from"vite";import externalGlobals from"rollup-plugin-external-globals";import{isPreservingSymlinks,getFrameworkName as getFrameworkName2}from"@storybook/core-common";import{globals}from"@storybook/preview/globals";import{parse}from"es-module-lexer";import MagicString from"magic-string";import{createFilter}from"vite";var include=[/\.stories\.([tj])sx?$/,/(stories|story).mdx$/],filter=createFilter(include),injectExportOrderPlugin={name:"storybook:inject-export-order-plugin",enforce:"post",async transform(code,id){if(!filter(id))return;let[,exports]=await parse(code);if(exports.includes("__namedExportsOrder"))return;let s=new MagicString(code),orderedExports=exports.filter(e=>e!=="default");return s.append(`;export const __namedExportsOrder = ${JSON.stringify(orderedExports)};`),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}};import{createFilter as createFilter2}from"vite";var isStorybookMdx=id=>id.endsWith("stories.mdx")||id.endsWith("story.mdx");async function mdxPlugin(options){let filter2=createFilter2(/\.mdx?$/),docsOptions=(await options.presets.apply("addons",[])).find(a=>[a,a.name].includes("@storybook/addon-docs"))?.options??{};return{name:"storybook:mdx-plugin",enforce:"pre",async transform(src,id){if(!filter2(id))return;let{compile}=await import("@storybook/mdx2-csf"),mdxLoaderOptions=await options.presets.apply("mdxLoaderOptions",{mdxCompileOptions:{providerImportSource:"@storybook/addon-docs/mdx-react-shim"},jsxOptions:docsOptions.jsxOptions});return{code:String(await compile(src,{skipCsf:!isStorybookMdx(id),...mdxLoaderOptions})),map:null}}}}import{createFilter as createFilter3}from"vite";import MagicString2 from"magic-string";function stripStoryHMRBoundary(){let filter2=createFilter3(/\.stories\.([tj])sx?$/);return{name:"storybook:strip-hmr-boundary-plugin",enforce:"post",async transform(src,id){if(!filter2(id))return;let s=new MagicString2(src);return s.replace(/import\.meta\.hot\.accept\(\);/,""),{code:s.toString(),map:s.generateMap({hires:!0,source:id})}}}}import*as fs from"fs";import{mergeConfig}from"vite";import{getRendererName}from"@storybook/core-common";var virtualFileId="/virtual:/@storybook/builder-vite/vite-app.js",virtualStoriesFile="/virtual:/@storybook/builder-vite/storybook-stories.js",virtualPreviewFile="/virtual:/@storybook/builder-vite/preview-entry.js",virtualAddonSetupFile="/virtual:/@storybook/builder-vite/setup-addons.js";import{resolve}from"path";import slash from"slash";import path from"path";import{normalizePath}from"vite";function transformAbsPath(absPath){let splits=absPath.split(`node_modules${path.sep}`);return normalizePath(splits[splits.length-1])}function processPreviewAnnotation(path6){if(typeof path6=="object")return path6.bare;if(path6?.startsWith("./")||path6?.startsWith("../"))return slash(resolve(path6));if(!path6)throw new Error("Could not determine path for previewAnnotation");return path6.includes("node_modules")?transformAbsPath(path6):slash(path6)}async function generateIframeScriptCode(options){let{presets}=options,rendererName=await getRendererName(options),configEntries=[...await presets.apply("previewAnnotations",[],options)].filter(Boolean).map(processPreviewAnnotation),filesToImport=(files,name)=>files.map((el,i)=>`import ${name?`* as ${name}_${i} from `:""}'${el}'`).join(`
|
|
2
2
|
`),importArray=(name,length)=>new Array(length).fill(0).map((_,i)=>`${name}_${i}`);return`
|
|
3
3
|
// Ensure that the client API is initialized by the framework before any other iframe code
|
|
4
4
|
// is loaded. That way our client-apis can assume the existence of the API+store
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/builder-vite",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.8",
|
|
4
4
|
"description": "A plugin to run and build Storybooks with Vite",
|
|
5
5
|
"homepage": "https://github.com/storybookjs/storybook/tree/main/code/lib/builder-vite/#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@joshwooding/vite-plugin-react-docgen-typescript": "0.0.5",
|
|
45
|
-
"@storybook/client-logger": "7.0.0-beta.
|
|
46
|
-
"@storybook/core-common": "7.0.0-beta.
|
|
47
|
-
"@storybook/csf-plugin": "7.0.0-beta.
|
|
45
|
+
"@storybook/client-logger": "7.0.0-beta.8",
|
|
46
|
+
"@storybook/core-common": "7.0.0-beta.8",
|
|
47
|
+
"@storybook/csf-plugin": "7.0.0-beta.8",
|
|
48
48
|
"@storybook/mdx2-csf": "next",
|
|
49
|
-
"@storybook/node-logger": "7.0.0-beta.
|
|
50
|
-
"@storybook/preview": "7.0.0-beta.
|
|
51
|
-
"@storybook/preview-api": "7.0.0-beta.
|
|
52
|
-
"@storybook/types": "7.0.0-beta.
|
|
49
|
+
"@storybook/node-logger": "7.0.0-beta.8",
|
|
50
|
+
"@storybook/preview": "7.0.0-beta.8",
|
|
51
|
+
"@storybook/preview-api": "7.0.0-beta.8",
|
|
52
|
+
"@storybook/types": "7.0.0-beta.8",
|
|
53
53
|
"browser-assert": "^1.2.1",
|
|
54
54
|
"es-module-lexer": "^0.9.3",
|
|
55
55
|
"express": "^4.17.3",
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
],
|
|
94
94
|
"platform": "node"
|
|
95
95
|
},
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "5340574d89a799ec10959edc16ca140852cf355c"
|
|
97
97
|
}
|