piral-cli-webpack5 1.4.0-beta.6288 → 1.4.0-beta.6305
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/lib/enhancers/pilet-webpack-config-enhancer/helpers.d.ts +1 -0
- package/lib/enhancers/pilet-webpack-config-enhancer/helpers.js +17 -1
- package/lib/enhancers/pilet-webpack-config-enhancer/helpers.js.map +1 -1
- package/lib/enhancers/pilet-webpack-config-enhancer/index.d.ts +1 -1
- package/lib/enhancers/pilet-webpack-config-enhancer/index.js +22 -0
- package/lib/enhancers/pilet-webpack-config-enhancer/index.js.map +1 -1
- package/package.json +3 -3
- package/src/enhancers/pilet-webpack-config-enhancer/helpers.ts +18 -0
- package/src/enhancers/pilet-webpack-config-enhancer/index.ts +30 -2
|
@@ -3,6 +3,7 @@ import { Configuration } from 'webpack';
|
|
|
3
3
|
export declare function getVariables(name: string, version: string, env: string): Record<string, string>;
|
|
4
4
|
export declare function setEnvironment(variables: Record<string, string>): void;
|
|
5
5
|
export declare function getDefineVariables(variables: Record<string, string>): {};
|
|
6
|
+
export declare function getShared(importmap: Array<SharedDependency>): {};
|
|
6
7
|
export declare function getDependencies(importmap: Array<SharedDependency>, compilerOptions: Configuration): {};
|
|
7
8
|
export declare function withSetPath(compilerOptions: Configuration): void;
|
|
8
9
|
export declare function withExternals(compilerOptions: Configuration, externals: Array<string>): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withExternals = exports.withSetPath = exports.getDependencies = exports.getDefineVariables = exports.setEnvironment = exports.getVariables = void 0;
|
|
3
|
+
exports.withExternals = exports.withSetPath = exports.getDependencies = exports.getShared = exports.getDefineVariables = exports.setEnvironment = exports.getVariables = void 0;
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
function getVariables(name, version, env) {
|
|
6
6
|
return {
|
|
@@ -23,6 +23,22 @@ function getDefineVariables(variables) {
|
|
|
23
23
|
}, {});
|
|
24
24
|
}
|
|
25
25
|
exports.getDefineVariables = getDefineVariables;
|
|
26
|
+
function getShared(importmap) {
|
|
27
|
+
const shared = {};
|
|
28
|
+
for (const dep of importmap) {
|
|
29
|
+
if (dep.type === 'local') {
|
|
30
|
+
shared[dep.name] = {
|
|
31
|
+
eager: false,
|
|
32
|
+
requiredVersion: dep.requireId.split('@').pop(),
|
|
33
|
+
version: dep.id.split('@').pop(),
|
|
34
|
+
packageName: dep.entry,
|
|
35
|
+
singleton: true,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return shared;
|
|
40
|
+
}
|
|
41
|
+
exports.getShared = getShared;
|
|
26
42
|
function getDependencies(importmap, compilerOptions) {
|
|
27
43
|
const dependencies = {};
|
|
28
44
|
const { entry, externals } = compilerOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/enhancers/pilet-webpack-config-enhancer/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/enhancers/pilet-webpack-config-enhancer/helpers.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAI5B,SAAgB,YAAY,CAAC,IAAY,EAAE,OAAe,EAAE,GAAW;IACrE,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE;QACrC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACzC,kBAAkB,EAAE,OAAO;QAC3B,eAAe,EAAE,IAAI;KACtB,CAAC;AACJ,CAAC;AARD,oCAQC;AAED,SAAgB,cAAc,CAAC,SAAiC;IAC9D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,SAAiC;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC7D,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AALD,gDAKC;AAED,SAAgB,SAAS,CAAC,SAAkC;IAC1D,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;YACxB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;gBACjB,KAAK,EAAE,KAAK;gBACZ,eAAe,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBAC/C,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;gBAChC,WAAW,EAAE,GAAG,CAAC,KAAK;gBACtB,SAAS,EAAE,IAAI;aAChB,CAAC;SACH;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,8BAgBC;AAED,SAAgB,eAAe,CAAC,SAAkC,EAAE,eAA8B;IAChG,MAAM,YAAY,GAAG,EAAE,CAAC;IACxB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC;IAE7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;QACtG,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;YAC/B,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;YAEvC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;gBACxB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;aACjD;SACF;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,0CAgBC;AAED,SAAgB,WAAW,CAAC,eAA8B;IACxD,IAAI,OAAO,eAAe,CAAC,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,KAAK,EAAE;QACtE,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YACxC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACxC;aAAM;YACL,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;gBACpD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACxB;aACF;SACF;KACF;AACH,CAAC;AAhBD,kCAgBC;AAED,SAAgB,aAAa,CAAC,eAA8B,EAAE,SAAwB;IACpF,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACxD,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;YAChE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;gBAC1B,cAAc,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,SAAS,GAAG,CAAC,cAAc,EAAE,GAAG,YAAY,CAAC,CAAC;AAChE,CAAC;AApBD,sCAoBC"}
|
|
@@ -24,7 +24,7 @@ export interface PiletWebpackConfigEnhancerOptions {
|
|
|
24
24
|
/**
|
|
25
25
|
* The schema version. By default, v1 is used.
|
|
26
26
|
*/
|
|
27
|
-
schema?: 'v0' | 'v1' | 'v2' | 'v3' | 'none';
|
|
27
|
+
schema?: 'v0' | 'v1' | 'v2' | 'v3' | 'mf' | 'none';
|
|
28
28
|
/**
|
|
29
29
|
* The shared dependencies. By default, these are read from the
|
|
30
30
|
* Piral instance.
|
|
@@ -99,6 +99,26 @@ function piletV3WebpackConfigEnhancer(options, compiler) {
|
|
|
99
99
|
compiler.target = 'node';
|
|
100
100
|
return compiler;
|
|
101
101
|
}
|
|
102
|
+
function piletMfWebpackConfigEnhancer(options, compiler) {
|
|
103
|
+
const { name, variables, externals, file, importmap, entry } = options;
|
|
104
|
+
const { ModuleFederationPlugin } = webpack_1.container;
|
|
105
|
+
(0, helpers_1.withExternals)(compiler, externals);
|
|
106
|
+
(0, helpers_1.setEnvironment)(variables);
|
|
107
|
+
const plugins = [
|
|
108
|
+
new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(variables)),
|
|
109
|
+
new ModuleFederationPlugin({
|
|
110
|
+
filename: file,
|
|
111
|
+
name: name.replace(/^@/, '').replace('/', '-').replace(/\-/g, '_'),
|
|
112
|
+
exposes: {
|
|
113
|
+
'./pilet': entry,
|
|
114
|
+
},
|
|
115
|
+
shared: (0, helpers_1.getShared)(importmap),
|
|
116
|
+
})
|
|
117
|
+
];
|
|
118
|
+
compiler.output.publicPath = 'auto';
|
|
119
|
+
compiler.plugins = [...compiler.plugins, ...plugins];
|
|
120
|
+
return compiler;
|
|
121
|
+
}
|
|
102
122
|
const piletWebpackConfigEnhancer = (details) => (compiler) => {
|
|
103
123
|
const { externals = [], schema, importmap } = details;
|
|
104
124
|
const environment = process.env.NODE_ENV || 'development';
|
|
@@ -122,6 +142,8 @@ const piletWebpackConfigEnhancer = (details) => (compiler) => {
|
|
|
122
142
|
return piletV2WebpackConfigEnhancer(options, compiler);
|
|
123
143
|
case 'v3':
|
|
124
144
|
return piletV3WebpackConfigEnhancer(options, compiler);
|
|
145
|
+
case 'mf':
|
|
146
|
+
return piletMfWebpackConfigEnhancer(options, compiler);
|
|
125
147
|
case 'none':
|
|
126
148
|
default:
|
|
127
149
|
return piletVxWebpackConfigEnhancer(options, compiler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enhancers/pilet-webpack-config-enhancer/index.ts"],"names":[],"mappings":";;;AAAA,4GAA4G;AAE5G,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/enhancers/pilet-webpack-config-enhancer/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-cli-webpack5",
|
|
3
|
-
"version": "1.4.0-beta.
|
|
3
|
+
"version": "1.4.0-beta.6305",
|
|
4
4
|
"description": "Provides debug and build capabilities for pilets and Piral instances using Webpack v5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral-cli",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@types/node": "18.0.1",
|
|
50
50
|
"@types/terser-webpack-plugin": "^5.2.0",
|
|
51
51
|
"@types/yargs": "^15.0.4",
|
|
52
|
-
"piral-cli": "1.4.0-beta.
|
|
52
|
+
"piral-cli": "1.4.0-beta.6305",
|
|
53
53
|
"strip-ansi": "^6.0.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"ts-loader": "^9.4.4",
|
|
78
78
|
"webpack": "^5.82.1"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "4ddcf6082aa220a6b39817319f73d5a73603ff42"
|
|
81
81
|
}
|
|
@@ -23,6 +23,24 @@ export function getDefineVariables(variables: Record<string, string>) {
|
|
|
23
23
|
}, {});
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
export function getShared(importmap: Array<SharedDependency>) {
|
|
27
|
+
const shared = {};
|
|
28
|
+
|
|
29
|
+
for (const dep of importmap) {
|
|
30
|
+
if (dep.type === 'local') {
|
|
31
|
+
shared[dep.name] = {
|
|
32
|
+
eager: false,
|
|
33
|
+
requiredVersion: dep.requireId.split('@').pop(),
|
|
34
|
+
version: dep.id.split('@').pop(),
|
|
35
|
+
packageName: dep.entry,
|
|
36
|
+
singleton: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return shared;
|
|
42
|
+
}
|
|
43
|
+
|
|
26
44
|
export function getDependencies(importmap: Array<SharedDependency>, compilerOptions: Configuration) {
|
|
27
45
|
const dependencies = {};
|
|
28
46
|
const { entry, externals } = compilerOptions;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as SystemJSPublicPathWebpackPlugin from 'systemjs-webpack-interop/SystemJSPublicPathWebpackPlugin';
|
|
2
2
|
import type { SharedDependency } from 'piral-cli';
|
|
3
|
-
import { Configuration, BannerPlugin, DefinePlugin } from 'webpack';
|
|
3
|
+
import { Configuration, BannerPlugin, DefinePlugin, container } from 'webpack';
|
|
4
4
|
import {
|
|
5
5
|
setEnvironment,
|
|
6
6
|
getDefineVariables,
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
withSetPath,
|
|
9
9
|
withExternals,
|
|
10
10
|
getDependencies,
|
|
11
|
+
getShared,
|
|
11
12
|
} from './helpers';
|
|
12
13
|
import StylesPlugin from '../../plugins/StylesPlugin';
|
|
13
14
|
import SheetPlugin from '../../plugins/SheetPlugin';
|
|
@@ -38,7 +39,7 @@ export interface PiletWebpackConfigEnhancerOptions {
|
|
|
38
39
|
/**
|
|
39
40
|
* The schema version. By default, v1 is used.
|
|
40
41
|
*/
|
|
41
|
-
schema?: 'v0' | 'v1' | 'v2' | 'v3' | 'none';
|
|
42
|
+
schema?: 'v0' | 'v1' | 'v2' | 'v3' | 'mf' | 'none';
|
|
42
43
|
/**
|
|
43
44
|
* The shared dependencies. By default, these are read from the
|
|
44
45
|
* Piral instance.
|
|
@@ -196,6 +197,31 @@ function piletV3WebpackConfigEnhancer(options: SchemaEnhancerOptions, compiler:
|
|
|
196
197
|
return compiler;
|
|
197
198
|
}
|
|
198
199
|
|
|
200
|
+
function piletMfWebpackConfigEnhancer(options: SchemaEnhancerOptions, compiler: Configuration) {
|
|
201
|
+
const { name, variables, externals, file, importmap, entry } = options;
|
|
202
|
+
const { ModuleFederationPlugin } = container;
|
|
203
|
+
|
|
204
|
+
withExternals(compiler, externals);
|
|
205
|
+
setEnvironment(variables);
|
|
206
|
+
|
|
207
|
+
const plugins = [
|
|
208
|
+
new DefinePlugin(getDefineVariables(variables)),
|
|
209
|
+
new ModuleFederationPlugin({
|
|
210
|
+
filename: file,
|
|
211
|
+
name: name.replace(/^@/, '').replace('/', '-').replace(/\-/g, '_'),
|
|
212
|
+
exposes: {
|
|
213
|
+
'./pilet': entry,
|
|
214
|
+
},
|
|
215
|
+
shared: getShared(importmap),
|
|
216
|
+
})
|
|
217
|
+
];
|
|
218
|
+
|
|
219
|
+
compiler.output.publicPath = 'auto';
|
|
220
|
+
compiler.plugins = [...compiler.plugins, ...plugins];
|
|
221
|
+
|
|
222
|
+
return compiler;
|
|
223
|
+
}
|
|
224
|
+
|
|
199
225
|
export const piletWebpackConfigEnhancer = (details: PiletWebpackConfigEnhancerOptions) => (compiler: Configuration) => {
|
|
200
226
|
const { externals = [], schema, importmap } = details;
|
|
201
227
|
const environment = process.env.NODE_ENV || 'development';
|
|
@@ -220,6 +246,8 @@ export const piletWebpackConfigEnhancer = (details: PiletWebpackConfigEnhancerOp
|
|
|
220
246
|
return piletV2WebpackConfigEnhancer(options, compiler);
|
|
221
247
|
case 'v3':
|
|
222
248
|
return piletV3WebpackConfigEnhancer(options, compiler);
|
|
249
|
+
case 'mf':
|
|
250
|
+
return piletMfWebpackConfigEnhancer(options, compiler);
|
|
223
251
|
case 'none':
|
|
224
252
|
default:
|
|
225
253
|
return piletVxWebpackConfigEnhancer(options, compiler);
|