@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 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.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.89.0",
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.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.89.0",
40
+ "webpack": "5.93.0",
40
41
  "webpack-virtual-modules": "0.6.2",
41
- "@nx/react": "^17.1.3",
42
- "@nx/webpack": "^17.1.3",
43
- "@module-federation/utilities": "3.1.0"
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
  }