@modern-js/storybook-builder 2.49.4 → 2.51.0
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/cjs/build.js +21 -33
- package/dist/cjs/core.js +4 -4
- package/dist/cjs/plugin-storybook.js +19 -3
- package/dist/cjs/preset.js +1 -9
- package/dist/esm/build.js +22 -31
- package/dist/esm/core.js +3 -3
- package/dist/esm/plugin-storybook.js +18 -3
- package/dist/esm/preset.js +1 -11
- package/dist/types/core.d.ts +2 -2
- package/dist/types/preset.d.ts +1 -1
- package/package.json +9 -13
package/dist/cjs/build.js
CHANGED
@@ -35,8 +35,6 @@ __export(build_exports, {
|
|
35
35
|
});
|
36
36
|
module.exports = __toCommonJS(build_exports);
|
37
37
|
var import_path = require("path");
|
38
|
-
var import_webpack_dev_middleware = __toESM(require("webpack-dev-middleware"));
|
39
|
-
var import_webpack_hot_middleware = __toESM(require("webpack-hot-middleware"));
|
40
38
|
var import_serve_static = __toESM(require("serve-static"));
|
41
39
|
var import_utils = require("@modern-js/utils");
|
42
40
|
var import_core = require("./core");
|
@@ -48,7 +46,7 @@ const getConfig = async (options) => {
|
|
48
46
|
};
|
49
47
|
const build = async ({ options }) => {
|
50
48
|
const config = await getConfig(options);
|
51
|
-
const
|
49
|
+
const builder = await (0, import_core.createBuilder)(process.cwd(), config, options);
|
52
50
|
const previewResolvedDir = (0, import_path.dirname)(require.resolve("@storybook/preview/package.json"));
|
53
51
|
const previewDirOrigin = (0, import_path.join)(previewResolvedDir, "dist");
|
54
52
|
const previewDirTarget = (0, import_path.join)(options.outputDir || "", `sb-preview`);
|
@@ -61,22 +59,18 @@ const build = async ({ options }) => {
|
|
61
59
|
return true;
|
62
60
|
}
|
63
61
|
});
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
reject(err);
|
68
|
-
} else {
|
69
|
-
resolve(stats2);
|
70
|
-
}
|
71
|
-
});
|
62
|
+
let stats;
|
63
|
+
builder.onAfterBuild((params) => {
|
64
|
+
stats = params.stats;
|
72
65
|
});
|
73
|
-
|
74
|
-
|
66
|
+
await Promise.all([
|
67
|
+
builder.build(),
|
75
68
|
previewFiles
|
76
69
|
]);
|
77
70
|
return stats;
|
78
71
|
};
|
79
|
-
|
72
|
+
let server;
|
73
|
+
const start = async ({ options, router, startTime, server: storybookServer }) => {
|
80
74
|
const previewResolvedDir = (0, import_path.dirname)(require.resolve("@storybook/preview/package.json"));
|
81
75
|
const previewDirOrigin = (0, import_path.join)(previewResolvedDir, "dist");
|
82
76
|
router.use(`/sb-preview`, (0, import_serve_static.default)(previewDirOrigin, {
|
@@ -84,28 +78,21 @@ const start = async ({ options, router, startTime }) => {
|
|
84
78
|
maxAge: "5m"
|
85
79
|
}));
|
86
80
|
const config = await getConfig(options);
|
87
|
-
const
|
88
|
-
const
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
router.use(middleware);
|
94
|
-
router.use((0, import_webpack_hot_middleware.default)(compiler, {
|
95
|
-
log: false
|
96
|
-
}));
|
97
|
-
const stats = await new Promise((resolve) => {
|
98
|
-
middleware.waitUntilValid((stats2) => {
|
81
|
+
const builder = await (0, import_core.createBuilder)(process.cwd(), config, options);
|
82
|
+
const waitFirstCompileDone = new Promise((resolve) => {
|
83
|
+
builder.onDevCompileDone(({ stats: stats2, isFirstCompile }) => {
|
84
|
+
if (!isFirstCompile) {
|
85
|
+
return;
|
86
|
+
}
|
99
87
|
resolve(stats2);
|
100
88
|
});
|
101
89
|
});
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
}
|
90
|
+
const rsbuildServer = await builder.createDevServer();
|
91
|
+
server = rsbuildServer;
|
92
|
+
router.use(rsbuildServer.middlewares);
|
93
|
+
storybookServer.on("upgrade", rsbuildServer.onHTTPUpgrade);
|
94
|
+
await rsbuildServer.afterListen();
|
95
|
+
const stats = await waitFirstCompileDone;
|
109
96
|
return {
|
110
97
|
bail,
|
111
98
|
stats,
|
@@ -114,6 +101,7 @@ const start = async ({ options, router, startTime }) => {
|
|
114
101
|
};
|
115
102
|
const bail = async () => {
|
116
103
|
await (0, import_plugin_storybook.finalize)();
|
104
|
+
await (server === null || server === void 0 ? void 0 : server.close());
|
117
105
|
};
|
118
106
|
// Annotate the CommonJS export names for ESM import in node:
|
119
107
|
0 && (module.exports = {
|
package/dist/cjs/core.js
CHANGED
@@ -18,7 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
19
19
|
var core_exports = {};
|
20
20
|
__export(core_exports, {
|
21
|
-
|
21
|
+
createBuilder: () => createBuilder
|
22
22
|
});
|
23
23
|
module.exports = __toCommonJS(core_exports);
|
24
24
|
var import_uni_builder = require("@modern-js/uni-builder");
|
@@ -26,7 +26,7 @@ var import_core = require("@rsbuild/core");
|
|
26
26
|
var import_core2 = require("@modern-js/core");
|
27
27
|
var import_utils = require("./utils");
|
28
28
|
var import_plugin_storybook = require("./plugin-storybook");
|
29
|
-
async function
|
29
|
+
async function createBuilder(cwd, builderOptions, options) {
|
30
30
|
const { bundler } = builderOptions;
|
31
31
|
const { presets } = options;
|
32
32
|
const entries = await presets.apply("entries", []);
|
@@ -49,9 +49,9 @@ async function getCompiler(cwd, builderOptions, options) {
|
|
49
49
|
(0, import_plugin_storybook.pluginStorybook)(cwd, options),
|
50
50
|
...finalConfig.builderPlugins || []
|
51
51
|
]);
|
52
|
-
return builder
|
52
|
+
return builder;
|
53
53
|
}
|
54
54
|
// Annotate the CommonJS export names for ESM import in node:
|
55
55
|
0 && (module.exports = {
|
56
|
-
|
56
|
+
createBuilder
|
57
57
|
});
|
@@ -74,7 +74,8 @@ const pluginStorybook = (cwd, options) => {
|
|
74
74
|
await applyDefines(builderConfig, options);
|
75
75
|
await applyHTML(builderConfig, options);
|
76
76
|
await applyReact(builderConfig, options);
|
77
|
-
|
77
|
+
applyOutput(builderConfig);
|
78
|
+
applyServerConfig(builderConfig, options);
|
78
79
|
});
|
79
80
|
const modifyConfig = async (config) => {
|
80
81
|
var _config;
|
@@ -250,7 +251,20 @@ async function applyMdxLoader(config, options) {
|
|
250
251
|
]
|
251
252
|
});
|
252
253
|
}
|
253
|
-
function
|
254
|
+
function applyServerConfig(builderConfig, options) {
|
255
|
+
var _builderConfig;
|
256
|
+
var _server;
|
257
|
+
(_server = (_builderConfig = builderConfig).server) !== null && _server !== void 0 ? _server : _builderConfig.server = {};
|
258
|
+
builderConfig.server = {
|
259
|
+
...builderConfig.server || {},
|
260
|
+
port: options.port,
|
261
|
+
host: "localhost",
|
262
|
+
htmlFallback: false,
|
263
|
+
strictPort: true,
|
264
|
+
printUrls: false
|
265
|
+
};
|
266
|
+
}
|
267
|
+
function applyOutput(builderConfig) {
|
254
268
|
var _builderConfig_output;
|
255
269
|
const config = (0, import_core.mergeRsbuildConfig)({
|
256
270
|
output: {
|
@@ -259,7 +273,9 @@ function applyExternals(builderConfig) {
|
|
259
273
|
}
|
260
274
|
}, {
|
261
275
|
output: {
|
262
|
-
externals: import_globals.globalsNameReferenceMap
|
276
|
+
externals: import_globals.globalsNameReferenceMap,
|
277
|
+
// storybook will generator other files in other pipeline
|
278
|
+
cleanDistPath: false
|
263
279
|
}
|
264
280
|
});
|
265
281
|
builderConfig.output = config.output;
|
package/dist/cjs/preset.js
CHANGED
@@ -34,7 +34,6 @@ __export(preset_exports, {
|
|
34
34
|
});
|
35
35
|
module.exports = __toCommonJS(preset_exports);
|
36
36
|
var import_path = require("path");
|
37
|
-
var import_build = require("./build");
|
38
37
|
var import_utils = require("./utils");
|
39
38
|
const previewMainTemplate = () => {
|
40
39
|
return require.resolve("@modern-js/storybook-builder/templates/preview.ejs");
|
@@ -42,15 +41,8 @@ const previewMainTemplate = () => {
|
|
42
41
|
function getStoriesConfigPath(cwd) {
|
43
42
|
return (0, import_path.resolve)((0, import_path.join)(cwd, import_utils.STORYBOOK_CONFIG_ENTRY));
|
44
43
|
}
|
45
|
-
const entries = async (_
|
44
|
+
const entries = async (_) => {
|
46
45
|
const result = [];
|
47
|
-
const { bundler } = await (0, import_build.getConfig)(options);
|
48
|
-
if (options.configType === "DEVELOPMENT") {
|
49
|
-
result.push(...[
|
50
|
-
`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`,
|
51
|
-
bundler === "rspack" ? require.resolve("@rspack/plugin-react-refresh/react-refresh-entry") : null
|
52
|
-
].filter(Boolean));
|
53
|
-
}
|
54
46
|
result.push(getStoriesConfigPath(process.cwd()));
|
55
47
|
return result;
|
56
48
|
};
|
package/dist/esm/build.js
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
import { dirname, join, parse } from "path";
|
2
|
-
import webpackDevMiddleware from "webpack-dev-middleware";
|
3
|
-
import webpackHotMiddleware from "webpack-hot-middleware";
|
4
2
|
import serveStatic from "serve-static";
|
5
3
|
import { fs } from "@modern-js/utils";
|
6
|
-
import {
|
4
|
+
import { createBuilder } from "./core";
|
7
5
|
import { finalize } from "./plugin-storybook";
|
8
6
|
const getConfig = async (options) => {
|
9
7
|
const { presets } = options;
|
@@ -12,7 +10,7 @@ const getConfig = async (options) => {
|
|
12
10
|
};
|
13
11
|
const build = async ({ options }) => {
|
14
12
|
const config = await getConfig(options);
|
15
|
-
const
|
13
|
+
const builder = await createBuilder(process.cwd(), config, options);
|
16
14
|
const previewResolvedDir = dirname(
|
17
15
|
require.resolve("@storybook/preview/package.json")
|
18
16
|
);
|
@@ -27,22 +25,19 @@ const build = async ({ options }) => {
|
|
27
25
|
return true;
|
28
26
|
}
|
29
27
|
});
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
reject(err);
|
34
|
-
} else {
|
35
|
-
resolve(stats2);
|
36
|
-
}
|
37
|
-
});
|
28
|
+
let stats;
|
29
|
+
builder.onAfterBuild((params) => {
|
30
|
+
stats = params.stats;
|
38
31
|
});
|
39
|
-
|
32
|
+
await Promise.all([builder.build(), previewFiles]);
|
40
33
|
return stats;
|
41
34
|
};
|
35
|
+
let server;
|
42
36
|
const start = async ({
|
43
37
|
options,
|
44
38
|
router,
|
45
|
-
startTime
|
39
|
+
startTime,
|
40
|
+
server: storybookServer
|
46
41
|
}) => {
|
47
42
|
const previewResolvedDir = dirname(
|
48
43
|
require.resolve("@storybook/preview/package.json")
|
@@ -53,26 +48,21 @@ const start = async ({
|
|
53
48
|
serveStatic(previewDirOrigin, { immutable: true, maxAge: "5m" })
|
54
49
|
);
|
55
50
|
const config = await getConfig(options);
|
56
|
-
const
|
57
|
-
const
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
router.use(middleware);
|
63
|
-
router.use(webpackHotMiddleware(compiler, { log: false }));
|
64
|
-
const stats = await new Promise((resolve) => {
|
65
|
-
middleware.waitUntilValid((stats2) => {
|
51
|
+
const builder = await createBuilder(process.cwd(), config, options);
|
52
|
+
const waitFirstCompileDone = new Promise((resolve) => {
|
53
|
+
builder.onDevCompileDone(({ stats: stats2, isFirstCompile }) => {
|
54
|
+
if (!isFirstCompile) {
|
55
|
+
return;
|
56
|
+
}
|
66
57
|
resolve(stats2);
|
67
58
|
});
|
68
59
|
});
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
}
|
60
|
+
const rsbuildServer = await builder.createDevServer();
|
61
|
+
server = rsbuildServer;
|
62
|
+
router.use(rsbuildServer.middlewares);
|
63
|
+
storybookServer.on("upgrade", rsbuildServer.onHTTPUpgrade);
|
64
|
+
await rsbuildServer.afterListen();
|
65
|
+
const stats = await waitFirstCompileDone;
|
76
66
|
return {
|
77
67
|
bail,
|
78
68
|
stats,
|
@@ -81,6 +71,7 @@ const start = async ({
|
|
81
71
|
};
|
82
72
|
const bail = async () => {
|
83
73
|
await finalize();
|
74
|
+
await (server == null ? void 0 : server.close());
|
84
75
|
};
|
85
76
|
export {
|
86
77
|
bail,
|
package/dist/esm/core.js
CHANGED
@@ -3,7 +3,7 @@ import { mergeRsbuildConfig } from "@rsbuild/core";
|
|
3
3
|
import { loadConfig } from "@modern-js/core";
|
4
4
|
import { getConfigFileName, runWithErrorMsg } from "./utils";
|
5
5
|
import { pluginStorybook, addonBabelAdapter } from "./plugin-storybook";
|
6
|
-
async function
|
6
|
+
async function createBuilder(cwd, builderOptions, options) {
|
7
7
|
const { bundler } = builderOptions;
|
8
8
|
const { presets } = options;
|
9
9
|
const entries = await presets.apply("entries", []);
|
@@ -32,8 +32,8 @@ async function getCompiler(cwd, builderOptions, options) {
|
|
32
32
|
pluginStorybook(cwd, options),
|
33
33
|
...finalConfig.builderPlugins || []
|
34
34
|
]);
|
35
|
-
return builder
|
35
|
+
return builder;
|
36
36
|
}
|
37
37
|
export {
|
38
|
-
|
38
|
+
createBuilder
|
39
39
|
};
|
@@ -62,7 +62,8 @@ const pluginStorybook = (cwd, options) => {
|
|
62
62
|
await applyDefines(builderConfig, options);
|
63
63
|
await applyHTML(builderConfig, options);
|
64
64
|
await applyReact(builderConfig, options);
|
65
|
-
|
65
|
+
applyOutput(builderConfig);
|
66
|
+
applyServerConfig(builderConfig, options);
|
66
67
|
});
|
67
68
|
const modifyConfig = async (config) => {
|
68
69
|
var _a;
|
@@ -252,7 +253,19 @@ async function applyMdxLoader(config, options) {
|
|
252
253
|
}
|
253
254
|
);
|
254
255
|
}
|
255
|
-
function
|
256
|
+
function applyServerConfig(builderConfig, options) {
|
257
|
+
var _a;
|
258
|
+
(_a = builderConfig.server) != null ? _a : builderConfig.server = {};
|
259
|
+
builderConfig.server = {
|
260
|
+
...builderConfig.server || {},
|
261
|
+
port: options.port,
|
262
|
+
host: "localhost",
|
263
|
+
htmlFallback: false,
|
264
|
+
strictPort: true,
|
265
|
+
printUrls: false
|
266
|
+
};
|
267
|
+
}
|
268
|
+
function applyOutput(builderConfig) {
|
256
269
|
var _a;
|
257
270
|
const config = mergeRsbuildConfig(
|
258
271
|
{
|
@@ -263,7 +276,9 @@ function applyExternals(builderConfig) {
|
|
263
276
|
},
|
264
277
|
{
|
265
278
|
output: {
|
266
|
-
externals: globalsNameReferenceMap
|
279
|
+
externals: globalsNameReferenceMap,
|
280
|
+
// storybook will generator other files in other pipeline
|
281
|
+
cleanDistPath: false
|
267
282
|
}
|
268
283
|
}
|
269
284
|
);
|
package/dist/esm/preset.js
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { join, resolve } from "path";
|
2
|
-
import { getConfig } from "./build";
|
3
2
|
import { STORYBOOK_CONFIG_ENTRY } from "./utils";
|
4
3
|
const previewMainTemplate = () => {
|
5
4
|
return require.resolve("@modern-js/storybook-builder/templates/preview.ejs");
|
@@ -7,17 +6,8 @@ const previewMainTemplate = () => {
|
|
7
6
|
function getStoriesConfigPath(cwd) {
|
8
7
|
return resolve(join(cwd, STORYBOOK_CONFIG_ENTRY));
|
9
8
|
}
|
10
|
-
const entries = async (_
|
9
|
+
const entries = async (_) => {
|
11
10
|
const result = [];
|
12
|
-
const { bundler } = await getConfig(options);
|
13
|
-
if (options.configType === "DEVELOPMENT") {
|
14
|
-
result.push(
|
15
|
-
...[
|
16
|
-
`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`,
|
17
|
-
bundler === "rspack" ? require.resolve("@rspack/plugin-react-refresh/react-refresh-entry") : null
|
18
|
-
].filter(Boolean)
|
19
|
-
);
|
20
|
-
}
|
21
11
|
result.push(getStoriesConfigPath(process.cwd()));
|
22
12
|
return result;
|
23
13
|
};
|
package/dist/types/core.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
+
import { UniBuilderInstance } from '@modern-js/uni-builder';
|
1
2
|
import type { Options } from '@storybook/types';
|
2
|
-
import type { Compiler } from 'webpack-dev-middleware';
|
3
3
|
import type { BuilderOptions } from './types';
|
4
|
-
export declare function
|
4
|
+
export declare function createBuilder(cwd: string, builderOptions: BuilderOptions, options: Options): Promise<UniBuilderInstance>;
|
package/dist/types/preset.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { Options } from '@storybook/types';
|
2
2
|
import type { UniBuilderConfig } from '@modern-js/uni-builder';
|
3
3
|
export declare const previewMainTemplate: () => string;
|
4
|
-
export declare const entries: (_: unknown
|
4
|
+
export declare const entries: (_: unknown) => Promise<string[]>;
|
5
5
|
export declare const modern: (builderConfig: UniBuilderConfig, options: Options) => UniBuilderConfig;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@modern-js/storybook-builder",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.51.0",
|
4
4
|
"description": "modern.js support for storybook",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -51,9 +51,8 @@
|
|
51
51
|
},
|
52
52
|
"license": "MIT",
|
53
53
|
"dependencies": {
|
54
|
-
"@rsbuild/shared": "0.
|
55
|
-
"@rsbuild/core": "0.
|
56
|
-
"@rspack/plugin-react-refresh": "0.4.5",
|
54
|
+
"@rsbuild/shared": "0.7.1",
|
55
|
+
"@rsbuild/core": "0.7.1",
|
57
56
|
"@storybook/components": "~7.6.12",
|
58
57
|
"@storybook/core-common": "~7.6.12",
|
59
58
|
"@storybook/csf-plugin": "~7.6.12",
|
@@ -72,21 +71,18 @@
|
|
72
71
|
"remark-slug": "^7.0.1",
|
73
72
|
"serve-static": "^1.14.1",
|
74
73
|
"tinypool": "^0.8.0",
|
75
|
-
"
|
76
|
-
"
|
77
|
-
"@modern-js/
|
78
|
-
"@modern-js/
|
79
|
-
"@modern-js/runtime": "2.49.4",
|
80
|
-
"@modern-js/utils": "2.49.4"
|
74
|
+
"@modern-js/uni-builder": "2.51.0",
|
75
|
+
"@modern-js/core": "2.51.0",
|
76
|
+
"@modern-js/runtime": "2.51.0",
|
77
|
+
"@modern-js/utils": "2.51.0"
|
81
78
|
},
|
82
79
|
"devDependencies": {
|
83
80
|
"@storybook/types": "~7.6.12",
|
84
81
|
"@types/babel__core": "^7.20.1",
|
85
82
|
"@types/serve-static": "^1.13.10",
|
86
|
-
"@types/webpack-hot-middleware": "^2.25.6",
|
87
83
|
"typescript": "^5.2.2",
|
88
|
-
"@
|
89
|
-
"@
|
84
|
+
"@modern-js/core": "2.51.0",
|
85
|
+
"@scripts/build": "2.51.0"
|
90
86
|
},
|
91
87
|
"publishConfig": {
|
92
88
|
"registry": "https://registry.npmjs.org/",
|