Skip to content

Commit f08fa40

Browse files
committed
fix esm for storybook-builder
1 parent 1952c69 commit f08fa40

10 files changed

+3878
-2063
lines changed

package-lock.json

+3,855-2,049
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
"dev-to-git": "^1.4.1",
6565
"eslint": "^8.1.0",
6666
"eslint-config-prettier": "^8.3.0",
67+
"fs-extra": "^7.0.1",
6768
"hanbi": "^1.0.1",
6869
"husky": "^8.0.1",
6970
"lint-staged": "^13.0.3",

packages/storybook-builder/package.json

-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
"es-module-lexer": "^1.2.1",
6363
"esbuild": "^0.19.5",
6464
"express": "^4.18.2",
65-
"fs-extra": "^11.1.1",
6665
"glob-promise": "^6.0.3",
6766
"lodash-es": "^4.17.21",
6867
"path-browserify": "^1.0.1",
@@ -72,7 +71,6 @@
7271
},
7372
"devDependencies": {
7473
"@storybook/types": "^7.0.0",
75-
"@types/fs-extra": "^11.0.1",
7674
"@typescript-eslint/eslint-plugin": "^5.3.0",
7775
"@typescript-eslint/parser": "^5.3.0",
7876
"conventional-changelog-cli": "^3.0.0",

packages/storybook-builder/src/generate-iframe-html.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
import { readFile } from 'node:fs/promises';
2+
import { createRequire } from 'node:module';
13
import { normalizeStories } from '@storybook/core-common';
24
import type { CoreConfig, Options } from '@storybook/types';
3-
import { readFile } from 'fs-extra';
45
import { virtualAppFilename } from './virtual-file-names.js';
56

7+
const require = createRequire(import.meta.url);
8+
69
export type PreviewHtml = string | undefined;
710

811
export async function generateIframeHtml(options: Options): Promise<string> {

packages/storybook-builder/src/generate-stories-script.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// based on https://github.com/storybookjs/storybook/blob/v7.0.9/code/lib/builder-vite/src/codegen-importfn-script.ts
22

3+
import * as path from 'node:path';
34
import { normalizePath } from '@rollup/pluginutils';
45
import { logger } from '@storybook/node-logger';
56
import type { Options } from '@storybook/types';
6-
import * as path from 'path';
77
import { listStories } from './list-stories.js';
88

99
/**

packages/storybook-builder/src/get-node-module-dir.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { dirname } from 'path';
1+
import { createRequire } from 'node:module';
2+
import { dirname } from 'node:path';
3+
4+
const require = createRequire(import.meta.url);
25

36
export function getNodeModuleDir(moduleName: string): string {
47
return dirname(require.resolve(`${moduleName}/package.json`));

packages/storybook-builder/src/index.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1+
import { cp } from 'node:fs/promises';
2+
import { join, parse, resolve } from 'node:path';
13
import rollupPluginNodeResolve from '@rollup/plugin-node-resolve';
24
import { getBuilderOptions } from '@storybook/core-common';
35
import { logger } from '@storybook/node-logger';
4-
import { globals } from '@storybook/preview/globals';
6+
import { globalsNameReferenceMap } from '@storybook/preview/globals';
57
import type { Builder, Options, StorybookConfig as StorybookConfigBase } from '@storybook/types';
68
import { DevServerConfig, mergeConfigs, startDevServer } from '@web/dev-server';
79
import type { DevServer } from '@web/dev-server-core';
810
import { fromRollup } from '@web/dev-server-rollup';
911
import { rollupPluginHTML } from '@web/rollup-plugin-html';
1012
import express from 'express';
11-
import * as fs from 'fs-extra';
12-
import { join, parse, resolve } from 'path';
1313
import { OutputOptions, RollupBuild, RollupOptions, rollup } from 'rollup';
1414
import rollupPluginExternalGlobals from 'rollup-plugin-external-globals';
1515
import { generateIframeHtml } from './generate-iframe-html.js';
@@ -74,7 +74,7 @@ export const start: WdsBuilder['start'] = async ({ startTime, options, router, s
7474
},
7575
wdsPluginPrebundleModules(env),
7676
wdsPluginStorybookBuilder(options),
77-
wdsPluginExternalGlobals(globals),
77+
wdsPluginExternalGlobals(globalsNameReferenceMap),
7878
],
7979
};
8080

@@ -146,7 +146,7 @@ export const build: WdsBuilder['build'] = async ({ startTime, options }) => {
146146
rollupPluginNodeResolve(),
147147
rollupPluginPrebundleModules(env),
148148
rollupPluginStorybookBuilder(options),
149-
rollupPluginExternalGlobals(globals),
149+
rollupPluginExternalGlobals(globalsNameReferenceMap),
150150
],
151151
};
152152

@@ -179,7 +179,8 @@ export const build: WdsBuilder['build'] = async ({ startTime, options }) => {
179179

180180
const previewDirOrigin = join(getNodeModuleDir('@storybook/preview'), 'dist');
181181
const previewDirTarget = join(options.outputDir || '', `sb-preview`);
182-
const previewFiles = fs.copy(previewDirOrigin, previewDirTarget, {
182+
const previewFiles = cp(previewDirOrigin, previewDirTarget, {
183+
recursive: true,
183184
filter: src => {
184185
const { ext } = parse(src);
185186
if (ext) {

packages/storybook-builder/src/list-stories.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// based on https://github.com/storybookjs/storybook/blob/v7.0.9/code/lib/builder-vite/src/list-stories.ts
22

3+
import * as path from 'node:path';
34
import { normalizeStories } from '@storybook/core-common';
45
import type { Options } from '@storybook/types';
56
import { promise as glob } from 'glob-promise';
6-
import * as path from 'path';
77

88
export async function listStories(options: Options) {
99
const slash = (await import('slash')).default; // for CJS compatibility

packages/storybook-builder/src/rollup-plugin-prebundle-modules.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import { createRequire } from 'node:module';
2+
import { join } from 'node:path';
13
import { stringifyProcessEnvs } from '@storybook/core-common';
24
import { build } from 'esbuild';
3-
import { join } from 'path';
45
import type { Plugin } from 'rollup';
56
import { getNodeModuleDir } from './get-node-module-dir.js';
67

8+
const require = createRequire(import.meta.url);
9+
710
export const PREBUNDLED_MODULES_DIR = 'node_modules/.prebundled_modules';
811

912
export function rollupPluginPrebundleModules(env: Record<string, string>): Plugin {

packages/storybook-utils/index.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export * from './dist/index.js';
1+
export * from './src/index.js';

0 commit comments

Comments
 (0)