Skip to content

Commit 94d72ed

Browse files
fix(enhanced): update share options of share plugin
1 parent 358ba00 commit 94d72ed

30 files changed

+85
-29
lines changed

packages/enhanced/src/lib/sharing/ConsumeSharedModule.ts

+2-6
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,10 @@ class ConsumeSharedModule extends Module {
139139
singleton,
140140
eager,
141141
layer,
142-
issuerLayer,
143142
} = this.options;
144143
return `${WEBPACK_MODULE_TYPE_CONSUME_SHARED_MODULE}|${shareScope}|${shareKey}|${
145144
requiredVersion && rangeToString(requiredVersion)
146-
}|${strictVersion}|${importResolved}|${singleton}|${eager}|${layer}|${issuerLayer}`;
145+
}|${strictVersion}|${importResolved}|${singleton}|${eager}|${layer}`;
147146
}
148147

149148
/**
@@ -160,17 +159,14 @@ class ConsumeSharedModule extends Module {
160159
singleton,
161160
eager,
162161
layer,
163-
issuerLayer,
164162
} = this.options;
165163
return `consume shared module (${shareScope}) ${shareKey}@${
166164
requiredVersion ? rangeToString(requiredVersion) : '*'
167165
}${strictVersion ? ' (strict)' : ''}${singleton ? ' (singleton)' : ''}${
168166
importResolved
169167
? ` (fallback: ${requestShortener.shorten(importResolved)})`
170168
: ''
171-
}${eager ? ' (eager)' : ''}${layer ? ` (${layer})` : ''}${
172-
issuerLayer ? ` (issuer: ${issuerLayer})` : ''
173-
}`;
169+
}${eager ? ' (eager)' : ''}${layer ? ` (${layer})` : ''}`;
174170
}
175171

176172
/**

packages/enhanced/src/lib/sharing/SharePlugin.ts

-2
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,6 @@ class SharePlugin {
6868
requiredVersion: options.requiredVersion,
6969
strictVersion: options.strictVersion,
7070
singleton: options.singleton,
71-
issuerLayer: options.issuerLayer,
72-
requiredLayer: options.requiredLayer,
7371
},
7472
}));
7573
//@ts-ignore
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from 'react';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
it('should load module with correct layer from entry layer', async () => {
2+
const { version, layer } = await import('./async-boundary');
3+
expect(version).toBe('1.0.0');
4+
expect(layer).toBe('module-layer');
5+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import './index-test';
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
module.exports = function layerLoader(source) {
22
// Inject the layer name as an export
3-
return [
4-
source,
5-
'export const layer = "react-layer";'
6-
].join('\n');
3+
return [source, 'export const layer = "module-layer";'].join('\n');
74
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
const { ConsumeSharedPlugin } = require('../../../../dist/src');
2+
const path = require('path');
3+
4+
module.exports = {
5+
mode: 'development',
6+
devtool: false,
7+
entry: {
8+
main: {
9+
import: './index.js',
10+
layer: 'entry-layer',
11+
},
12+
},
13+
experiments: {
14+
layers: true,
15+
},
16+
module: {
17+
rules: [
18+
{
19+
test: /async-boundary\.js$/,
20+
issuerLayer: 'entry-layer',
21+
use: [
22+
{
23+
loader: path.resolve(__dirname, './layer-exporter.js'),
24+
},
25+
],
26+
},
27+
],
28+
},
29+
plugins: [
30+
new ConsumeSharedPlugin({
31+
consumes: {
32+
react: {
33+
singleton: true,
34+
shareKey: 'react',
35+
},
36+
},
37+
}),
38+
],
39+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules/.federation
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from 'react';
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
module.exports = function layerLoader(source) {
22
// Inject the layer name as an export
3-
return [
4-
source,
5-
'export const layer = "differing-layer";'
6-
].join('\n');
3+
return [source, 'export const layer = "differing-layer";'].join('\n');
74
};
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
it('Module graph should have a layer different layer', async () => {
2-
const {version, layer} = (await import('react'));
2+
const { version, layer } = await import('react');
33
expect(version).toBe('1.0.0');
44
expect(layer).toBe('differing-layer');
55
});
66

77
it('Module graph should have a layer set explicitly thats not the inherited issuerLayer', async () => {
8-
const {dix, layer} = (await import('react/index2'));
8+
const { dix, layer } = await import('react/index2');
99
expect(dix).toBe('1.0.0');
1010
expect(layer).toBe('explicit-layer');
1111
});
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
module.exports = function layerLoader(source) {
22
// Inject the layer name as an export
3-
return [
4-
source,
5-
'export const layer = "explicit-layer";'
6-
].join('\n');
3+
return [source, 'export const layer = "explicit-layer";'].join('\n');
74
};
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
it('Module Graph should have layerd share', async () => {
2-
const {version, layer} = (await import('./async-boundary'));
2+
const { version, layer } = await import('./async-boundary');
33
expect(version).toBe('1.0.0');
44
expect(layer).toBe('react-layer');
55
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import './index-test';
2+
import './other-test';
3+
import './differing-test';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = function layerLoader(source) {
2+
// Inject the layer name as an export
3+
return [source, 'export const layer = "react-layer";'].join('\n');
4+
};

packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index.js

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

packages/enhanced/test/configCases/sharing/layers-consume-loader/node_modules/react/index2.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
it('Module Graph should unlayered share', async () => {
2-
const {version, layer} = (await import('./async-boundary'));
2+
const { version, layer } = await import('./async-boundary');
33
expect(version).toBe('1.0.0');
44
expect(layer).toBeUndefined();
55
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import './other-test';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "layered-react-test",
3+
"version": "1.0.0",
4+
"private": true,
5+
"scripts": {
6+
"build": "webpack --config=webpack.config.js"
7+
},
8+
"dependencies": {
9+
"react": "1.0.0"
10+
}
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
layers: true,
3+
findBundle: function () {
4+
return ['bundle0.js'];
5+
},
6+
};

packages/enhanced/test/configCases/sharing/layers/async-boundary.js

-1
This file was deleted.

packages/enhanced/test/configCases/sharing/layers/index.js

-3
This file was deleted.

packages/enhanced/test/configCases/sharing/layers/other.js

-1
This file was deleted.

0 commit comments

Comments
 (0)