@storybook/builder-vite 10.4.0-alpha.6 → 10.4.0-alpha.7

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.
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_yme3hc4m0w from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_yme3hc4m0w from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_yme3hc4m0w from "node:module";
1
+ import CJS_COMPAT_NODE_URL_wz9w23i4nmi from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_wz9w23i4nmi from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_wz9w23i4nmi from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_yme3hc4m0w.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_yme3hc4m0w.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_yme3hc4m0w.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_wz9w23i4nmi.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_wz9w23i4nmi.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_wz9w23i4nmi.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_yme3hc4m0w from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_yme3hc4m0w from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_yme3hc4m0w from "node:module";
1
+ import CJS_COMPAT_NODE_URL_wz9w23i4nmi from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_wz9w23i4nmi from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_wz9w23i4nmi from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_yme3hc4m0w.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_yme3hc4m0w.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_yme3hc4m0w.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_wz9w23i4nmi.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_wz9w23i4nmi.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_wz9w23i4nmi.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -24,7 +24,7 @@ import {
24
24
  normalize,
25
25
  relative,
26
26
  viteCorePlugins
27
- } from "./_node-chunks/chunk-SLF4VG4B.js";
27
+ } from "./_node-chunks/chunk-7LGLSEOZ.js";
28
28
 
29
29
  // ../../../node_modules/picocolors/picocolors.js
30
30
  var require_picocolors = __commonJS({
@@ -93,7 +93,11 @@ var require_picocolors = __commonJS({
93
93
  // src/index.ts
94
94
  import { readFile } from "node:fs/promises";
95
95
  import { fileURLToPath as fileURLToPath3 } from "node:url";
96
- import { NoStatsForViteDevError } from "storybook/internal/server-errors";
96
+ import { logger as logger3 } from "storybook/internal/node-logger";
97
+ import {
98
+ NoStatsForViteDevError,
99
+ ViteModuleGraphSubscriptionError
100
+ } from "storybook/internal/server-errors";
97
101
 
98
102
  // src/build.ts
99
103
  import { logger as logger2 } from "storybook/internal/node-logger";
@@ -1590,29 +1594,78 @@ function iframeHandler(options, server2) {
1590
1594
  res.setHeader("Content-Type", "text/html"), res.statusCode = 200, res.write(transformed), res.end();
1591
1595
  };
1592
1596
  }
1593
- var server, listeners = /* @__PURE__ */ new Set(), debounce, watcherChangeHandler, waitForModuleGraph;
1597
+ var server, listeners = /* @__PURE__ */ new Set(), debounce, watcherChangeHandler, waitForModuleGraph, moduleGraphRegistrationClosed = !1;
1598
+ function clearModuleGraphPolling() {
1599
+ waitForModuleGraph && (clearInterval(waitForModuleGraph), waitForModuleGraph = void 0);
1600
+ }
1594
1601
  function notifyListeners(moduleGraph) {
1595
1602
  listeners.forEach((listener) => {
1596
- listener(moduleGraph);
1603
+ listener({ type: "moduleGraph", moduleGraph });
1604
+ });
1605
+ }
1606
+ function notifyListenersOfStartupFailure(event) {
1607
+ listeners.forEach((listener) => {
1608
+ listener(event);
1597
1609
  });
1598
1610
  }
1599
1611
  async function bail() {
1600
- return watcherChangeHandler && (server?.watcher.off("all", watcherChangeHandler), watcherChangeHandler = void 0), waitForModuleGraph && (clearInterval(waitForModuleGraph), waitForModuleGraph = void 0), debounce && (clearTimeout(debounce), debounce = void 0), listeners.clear(), server?.close();
1612
+ return watcherChangeHandler && (server?.watcher.off("all", watcherChangeHandler), watcherChangeHandler = void 0), clearModuleGraphPolling(), debounce && (clearTimeout(debounce), debounce = void 0), moduleGraphRegistrationClosed = !1, listeners.clear(), server?.close();
1601
1613
  }
1602
- var onModuleGraphChange = (cb) => (listeners.add(cb), () => {
1603
- listeners.delete(cb);
1604
- }), start = async ({
1614
+ var onModuleGraphChange = (cb) => {
1615
+ if (moduleGraphRegistrationClosed)
1616
+ throw new ViteModuleGraphSubscriptionError();
1617
+ return listeners.add(cb), () => {
1618
+ listeners.delete(cb);
1619
+ };
1620
+ }, startChangeDetection = async (options) => {
1621
+ let startTime = process.hrtime(), storyIndex = await (await options.presets.apply("storyIndexGenerator")).getIndex(), importPaths = new Set(Object.values(storyIndex.entries).map((entry) => entry.importPath));
1622
+ await Promise.all(Array.from(importPaths, (importPath) => server.warmupRequest(importPath))), waitForModuleGraph = setInterval(() => {
1623
+ (async () => {
1624
+ try {
1625
+ if (!watcherChangeHandler) {
1626
+ clearModuleGraphPolling();
1627
+ return;
1628
+ }
1629
+ if (process.hrtime(startTime)[0] > 30) {
1630
+ clearModuleGraphPolling();
1631
+ let error = new Error(
1632
+ "Timed out while waiting for the Vite module graph to initialize"
1633
+ );
1634
+ logger3.error("Failed to complete Vite change detection startup"), logger3.error(error), notifyListenersOfStartupFailure({
1635
+ type: "unavailable",
1636
+ reason: error.message,
1637
+ error
1638
+ });
1639
+ return;
1640
+ }
1641
+ if (server.moduleGraph.fileToModulesMap.size > 0) {
1642
+ if (clearModuleGraphPolling(), await server.waitForRequestsIdle(), !watcherChangeHandler)
1643
+ return;
1644
+ server.watcher.on("all", watcherChangeHandler), watcherChangeHandler();
1645
+ }
1646
+ } catch (error) {
1647
+ clearModuleGraphPolling(), logger3.error("Failed to complete Vite change detection startup"), logger3.error(error instanceof Error ? error : String(error)), notifyListenersOfStartupFailure({
1648
+ type: "error",
1649
+ error: error instanceof Error ? error : new Error(String(error))
1650
+ });
1651
+ }
1652
+ })();
1653
+ }, 1e3);
1654
+ }, start = async ({
1605
1655
  startTime,
1606
1656
  options,
1607
1657
  router,
1608
1658
  server: devServer
1609
- }) => (server = await createViteServer(options, devServer), router.get("/iframe.html", iframeHandler(options, server)), router.use(server.middlewares), watcherChangeHandler = () => {
1659
+ }) => (moduleGraphRegistrationClosed = !0, server = await createViteServer(options, devServer), router.get("/iframe.html", iframeHandler(options, server)), router.use(server.middlewares), listeners.size > 0 && (watcherChangeHandler = () => {
1610
1660
  clearTimeout(debounce), debounce = setTimeout(() => {
1611
1661
  notifyListeners(buildModuleGraph(server.moduleGraph.fileToModulesMap));
1612
1662
  }, 100);
1613
- }, server.watcher.on("all", watcherChangeHandler), waitForModuleGraph = setInterval(async () => {
1614
- server.moduleGraph.fileToModulesMap.size > 0 && (clearInterval(waitForModuleGraph), waitForModuleGraph = void 0, await server.waitForRequestsIdle(), watcherChangeHandler?.());
1615
- }, 1e3), {
1663
+ }, startChangeDetection(options).catch((error) => {
1664
+ clearModuleGraphPolling(), logger3.error("Failed to initialize Vite change detection"), logger3.error(error instanceof Error ? error : String(error)), notifyListenersOfStartupFailure({
1665
+ type: "error",
1666
+ error: error instanceof Error ? error : new Error(String(error))
1667
+ });
1668
+ })), {
1616
1669
  bail,
1617
1670
  stats: {
1618
1671
  toJson: () => {
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_yme3hc4m0w from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_yme3hc4m0w from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_yme3hc4m0w from "node:module";
1
+ import CJS_COMPAT_NODE_URL_wz9w23i4nmi from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_wz9w23i4nmi from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_wz9w23i4nmi from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_yme3hc4m0w.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_yme3hc4m0w.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_yme3hc4m0w.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_wz9w23i4nmi.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_wz9w23i4nmi.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_wz9w23i4nmi.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,7 +12,7 @@ var require = CJS_COMPAT_NODE_MODULE_yme3hc4m0w.createRequire(import.meta.url);
12
12
  import {
13
13
  optimizeViteDeps,
14
14
  viteCorePlugins
15
- } from "./_node-chunks/chunk-SLF4VG4B.js";
15
+ } from "./_node-chunks/chunk-7LGLSEOZ.js";
16
16
  export {
17
17
  optimizeViteDeps,
18
18
  viteCorePlugins
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/builder-vite",
3
- "version": "10.4.0-alpha.6",
3
+ "version": "10.4.0-alpha.7",
4
4
  "description": "A Storybook builder to dev and build with Vite",
5
5
  "keywords": [
6
6
  "storybook",
@@ -47,7 +47,7 @@
47
47
  "!src/**/*"
48
48
  ],
49
49
  "dependencies": {
50
- "@storybook/csf-plugin": "10.4.0-alpha.6",
50
+ "@storybook/csf-plugin": "10.4.0-alpha.7",
51
51
  "ts-dedent": "^2.0.0"
52
52
  },
53
53
  "devDependencies": {
@@ -62,7 +62,7 @@
62
62
  "vite": "^7.0.4"
63
63
  },
64
64
  "peerDependencies": {
65
- "storybook": "^10.4.0-alpha.6",
65
+ "storybook": "^10.4.0-alpha.7",
66
66
  "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
67
67
  },
68
68
  "publishConfig": {