@module-federation/storybook-addon 3.0.0 → 3.0.1
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/README.md +34 -0
- package/dist/package.json +14 -12
- package/dist/preset.js +16 -0
- package/dist/src/lib/storybook-addon.js +1 -0
- package/dist/src/lib/storybook-addon.js.map +1 -1
- package/dist/src/utils/with-module-federation-enhanced-rsbuild.d.ts +4 -0
- package/dist/src/utils/with-module-federation-enhanced-rsbuild.js +76 -0
- package/dist/src/utils/with-module-federation-enhanced-rsbuild.js.map +1 -0
- package/package.json +10 -9
package/README.md
CHANGED
|
@@ -43,6 +43,40 @@ module.exports = storybookConfig;
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
+
### Rsbuild App or Rslib Module
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
import { dirname, join } from 'node:path';
|
|
50
|
+
import type { StorybookConfig } from 'storybook-react-rsbuild';
|
|
51
|
+
|
|
52
|
+
function getAbsolutePath(value: string): any {
|
|
53
|
+
return dirname(require.resolve(join(value, 'package.json')));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const config: StorybookConfig = {
|
|
57
|
+
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
58
|
+
framework: {
|
|
59
|
+
name: getAbsolutePath('storybook-react-rsbuild'),
|
|
60
|
+
options: {},
|
|
61
|
+
},
|
|
62
|
+
addons: [
|
|
63
|
+
{
|
|
64
|
+
name: '@module-federation/storybook-addon/preset.js',
|
|
65
|
+
options: {
|
|
66
|
+
// add remote here and then you can load remote in your story
|
|
67
|
+
remotes: {
|
|
68
|
+
'rslib-module':
|
|
69
|
+
'rslib-module@http://localhost:3000/mf/mf-manifest.json',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export default config;
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
|
|
46
80
|
### For the [NX](https://nx.dev/getting-started/intro) projects:
|
|
47
81
|
|
|
48
82
|
Replace NX utils `withModuleFederation` in `webpack.config.js` with our utils `withModuleFederation`.
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/storybook-addon",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Storybook addon to consume remote module federated apps/components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "https://github.com/module-federation/core/tree/main/packages/storybook-addon",
|
|
@@ -34,23 +34,25 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
+
"@module-federation/enhanced": "workspace:*",
|
|
38
|
+
"@module-federation/sdk": "workspace:*",
|
|
39
|
+
"@module-federation/utilities": "workspace:*",
|
|
40
|
+
"@rsbuild/core": "^1.0.19",
|
|
37
41
|
"@storybook/core-common": "7.6.20",
|
|
38
42
|
"@storybook/node-logger": "7.6.20",
|
|
39
|
-
"webpack": "5.
|
|
40
|
-
"webpack-virtual-modules": "0.6.2"
|
|
41
|
-
"@module-federation/utilities": "workspace:*",
|
|
42
|
-
"@nx/react": "^17.1.3",
|
|
43
|
-
"@nx/webpack": "^17.1.3"
|
|
43
|
+
"webpack": "5.93.0",
|
|
44
|
+
"webpack-virtual-modules": "0.6.2"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
47
|
+
"@module-federation/utilities": "^3.1.21",
|
|
48
|
+
"@nx/react": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
49
|
+
"@nx/webpack": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
46
50
|
"@storybook/core-common": "^6.5.16 || ^7.0.0",
|
|
47
51
|
"@storybook/node-logger": "^6.5.16 || ^7.0.0",
|
|
48
52
|
"webpack": "^5.75.0",
|
|
49
|
-
"webpack-virtual-modules": "^0.5.0 || ^0.6.0"
|
|
50
|
-
"@module-federation/utilities": "^3.1.0",
|
|
51
|
-
"@nx/react": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
52
|
-
"@nx/webpack": "~16.0.0 || ~17.0.0 || ~17.2.0"
|
|
53
|
+
"webpack-virtual-modules": "^0.5.0 || ^0.6.0"
|
|
53
54
|
},
|
|
54
55
|
"main": "./src/index.js",
|
|
55
|
-
"type": "commonjs"
|
|
56
|
-
|
|
56
|
+
"type": "commonjs",
|
|
57
|
+
"types": "./src/index.d.ts"
|
|
58
|
+
}
|
package/dist/preset.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const {
|
|
2
|
+
withModuleFederation,
|
|
3
|
+
} = require('./src/utils/with-module-federation-enhanced-rsbuild');
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
rsbuildFinal: (config, options) => {
|
|
7
|
+
const { remotes, shared, name, shareStrategy } = options;
|
|
8
|
+
|
|
9
|
+
return withModuleFederation(config, {
|
|
10
|
+
name,
|
|
11
|
+
remotes,
|
|
12
|
+
shared,
|
|
13
|
+
shareStrategy,
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
};
|
|
@@ -58,6 +58,7 @@ const webpack = async (webpackConfig, options) => {
|
|
|
58
58
|
}
|
|
59
59
|
if (moduleFederationConfig) {
|
|
60
60
|
node_logger_1.logger.info(`=> [MF] Push Module Federation plugin`);
|
|
61
|
+
// @ts-ignore enhanced add new remoteType 'module-import'
|
|
61
62
|
plugins.push(new ModuleFederationPlugin(moduleFederationConfig));
|
|
62
63
|
}
|
|
63
64
|
const entries = await presets.apply('entries');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storybook-addon.js","sourceRoot":"","sources":["../../../src/lib/storybook-addon.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storybook-addon.js","sourceRoot":"","sources":["../../../src/lib/storybook-addon.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RsbuildConfig } from '@rsbuild/core';
|
|
2
|
+
import type { moduleFederationPlugin } from '@module-federation/sdk';
|
|
3
|
+
export declare const withModuleFederation: (rsbuildConfig: RsbuildConfig, options: moduleFederationPlugin.ModuleFederationPluginOptions) => Promise<RsbuildConfig>;
|
|
4
|
+
export default withModuleFederation;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.withModuleFederation = void 0;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const rspack_1 = require("@module-federation/enhanced/rspack");
|
|
10
|
+
const sdk_1 = require("@module-federation/sdk");
|
|
11
|
+
// add bootstrap for host project
|
|
12
|
+
const bootstrapPath = node_path_1.default.resolve(process.cwd(), `node_modules/${sdk_1.TEMP_DIR}/storybook-bootstrap.js`);
|
|
13
|
+
const generateBootstrap = (entryPath) => {
|
|
14
|
+
return `import('${entryPath}')`;
|
|
15
|
+
};
|
|
16
|
+
const writeBootstrap = (entryPath) => {
|
|
17
|
+
if (node_fs_1.default.existsSync(bootstrapPath)) {
|
|
18
|
+
node_fs_1.default.unlinkSync(bootstrapPath);
|
|
19
|
+
}
|
|
20
|
+
node_fs_1.default.writeFileSync(bootstrapPath, generateBootstrap(entryPath));
|
|
21
|
+
};
|
|
22
|
+
const withModuleFederation = async (rsbuildConfig, options) => {
|
|
23
|
+
rsbuildConfig.plugins ??= [];
|
|
24
|
+
rsbuildConfig.source ??= {};
|
|
25
|
+
rsbuildConfig.source.entry ??= {};
|
|
26
|
+
const entry = rsbuildConfig.source.entry;
|
|
27
|
+
for (const entryName in entry) {
|
|
28
|
+
if (Array.isArray(entry[entryName])) {
|
|
29
|
+
writeBootstrap(entry[entryName][0]);
|
|
30
|
+
entry[entryName] = [bootstrapPath];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const rsbuildPlugin = {
|
|
34
|
+
name: 'module-federation-storybook-plugin',
|
|
35
|
+
setup: function (api) {
|
|
36
|
+
api.modifyRsbuildConfig((config, { mergeRsbuildConfig }) => {
|
|
37
|
+
const mfConfig = {
|
|
38
|
+
dev: {
|
|
39
|
+
// remoteEntry already includes one hmr runtime, and an additional one is not necessary.
|
|
40
|
+
hmr: false,
|
|
41
|
+
},
|
|
42
|
+
tools: {
|
|
43
|
+
rspack: (config) => {
|
|
44
|
+
config.output ??= {};
|
|
45
|
+
config.output.chunkLoadingGlobal =
|
|
46
|
+
'module-federation-storybook-addon';
|
|
47
|
+
config.plugins?.push(new rspack_1.ModuleFederationPlugin({
|
|
48
|
+
name: options.name || 'module-federation-storybook-addon',
|
|
49
|
+
shared: {
|
|
50
|
+
react: {
|
|
51
|
+
singleton: true,
|
|
52
|
+
},
|
|
53
|
+
'react-dom': {
|
|
54
|
+
singleton: true,
|
|
55
|
+
},
|
|
56
|
+
...options.shared,
|
|
57
|
+
},
|
|
58
|
+
remotes: {
|
|
59
|
+
...options.remotes,
|
|
60
|
+
},
|
|
61
|
+
shareStrategy: options.shareStrategy,
|
|
62
|
+
}));
|
|
63
|
+
return config;
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
return mergeRsbuildConfig(config, mfConfig);
|
|
68
|
+
});
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
rsbuildConfig.plugins.push(rsbuildPlugin);
|
|
72
|
+
return rsbuildConfig;
|
|
73
|
+
};
|
|
74
|
+
exports.withModuleFederation = withModuleFederation;
|
|
75
|
+
exports.default = exports.withModuleFederation;
|
|
76
|
+
//# sourceMappingURL=with-module-federation-enhanced-rsbuild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-module-federation-enhanced-rsbuild.js","sourceRoot":"","sources":["../../../src/utils/with-module-federation-enhanced-rsbuild.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAC7B,+DAA4E;AAC5E,gDAAkD;AAKlD,iCAAiC;AACjC,MAAM,aAAa,GAAG,mBAAI,CAAC,OAAO,CAChC,OAAO,CAAC,GAAG,EAAE,EACb,gBAAgB,cAAQ,yBAAyB,CAClD,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC9C,OAAO,WAAW,SAAS,IAAI,CAAC;AAClC,CAAC,CAAC;AACF,MAAM,cAAc,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC3C,IAAI,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IACD,iBAAE,CAAC,aAAa,CAAC,aAAa,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC;AACK,MAAM,oBAAoB,GAAG,KAAK,EACvC,aAA4B,EAC5B,OAA6D,EAC7D,EAAE;IACF,aAAa,CAAC,OAAO,KAAK,EAAE,CAAC;IAC7B,aAAa,CAAC,MAAM,KAAK,EAAE,CAAC;IAC5B,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;IACzC,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAkB;QACnC,IAAI,EAAE,oCAAoC;QAC1C,KAAK,EAAE,UAAU,GAAG;YAClB,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;gBACzD,MAAM,QAAQ,GAAkB;oBAC9B,GAAG,EAAE;wBACH,wFAAwF;wBACxF,GAAG,EAAE,KAAK;qBACX;oBACD,KAAK,EAAE;wBACL,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;4BACjB,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC;4BACrB,MAAM,CAAC,MAAM,CAAC,kBAAkB;gCAC9B,mCAAmC,CAAC;4BACtC,MAAM,CAAC,OAAO,EAAE,IAAI,CAClB,IAAI,+BAAsB,CAAC;gCACzB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,mCAAmC;gCACzD,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,SAAS,EAAE,IAAI;qCAChB;oCACD,WAAW,EAAE;wCACX,SAAS,EAAE,IAAI;qCAChB;oCACD,GAAG,OAAO,CAAC,MAAM;iCAClB;gCACD,OAAO,EAAE;oCACP,GAAG,OAAO,CAAC,OAAO;iCACnB;gCACD,aAAa,EAAE,OAAO,CAAC,aAAa;6BACrC,CAAC,CACH,CAAC;4BACF,OAAO,MAAM,CAAC;wBAChB,CAAC;qBACF;iBACF,CAAC;gBAEF,OAAO,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AA3DW,QAAA,oBAAoB,wBA2D/B;AAEF,kBAAe,4BAAoB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/storybook-addon",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Storybook addon to consume remote module federated apps/components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "https://github.com/module-federation/core/tree/main/packages/storybook-addon",
|
|
@@ -34,21 +34,22 @@
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
+
"@rsbuild/core": "^1.0.19",
|
|
37
38
|
"@storybook/core-common": "7.6.20",
|
|
38
39
|
"@storybook/node-logger": "7.6.20",
|
|
39
|
-
"webpack": "5.
|
|
40
|
+
"webpack": "5.93.0",
|
|
40
41
|
"webpack-virtual-modules": "0.6.2",
|
|
41
|
-
"@
|
|
42
|
-
"@
|
|
43
|
-
"@module-federation/utilities": "3.1.
|
|
42
|
+
"@module-federation/enhanced": "0.6.15",
|
|
43
|
+
"@module-federation/sdk": "0.6.15",
|
|
44
|
+
"@module-federation/utilities": "3.1.21"
|
|
44
45
|
},
|
|
45
46
|
"peerDependencies": {
|
|
47
|
+
"@module-federation/utilities": "^3.1.21",
|
|
48
|
+
"@nx/react": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
49
|
+
"@nx/webpack": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
46
50
|
"@storybook/core-common": "^6.5.16 || ^7.0.0",
|
|
47
51
|
"@storybook/node-logger": "^6.5.16 || ^7.0.0",
|
|
48
52
|
"webpack": "^5.75.0",
|
|
49
|
-
"webpack-virtual-modules": "^0.5.0 || ^0.6.0"
|
|
50
|
-
"@module-federation/utilities": "^3.1.0",
|
|
51
|
-
"@nx/react": "~16.0.0 || ~17.0.0 || ~17.2.0",
|
|
52
|
-
"@nx/webpack": "~16.0.0 || ~17.0.0 || ~17.2.0"
|
|
53
|
+
"webpack-virtual-modules": "^0.5.0 || ^0.6.0"
|
|
53
54
|
}
|
|
54
55
|
}
|