piral-cli-webpack5 1.4.0-beta.6288 → 1.4.0-beta.6313

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.
@@ -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>, externals: Array<string>): {};
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,30 @@ function getDefineVariables(variables) {
23
23
  }, {});
24
24
  }
25
25
  exports.getDefineVariables = getDefineVariables;
26
+ function getShared(importmap, externals) {
27
+ const shared = {};
28
+ for (const external of externals) {
29
+ shared[external] = {
30
+ import: false,
31
+ requiredVersion: '*',
32
+ packageName: external,
33
+ singleton: true,
34
+ };
35
+ }
36
+ for (const dep of importmap) {
37
+ if (dep.type === 'local') {
38
+ shared[dep.name] = {
39
+ eager: false,
40
+ requiredVersion: dep.requireId.split('@').pop(),
41
+ version: dep.id.split('@').pop(),
42
+ packageName: dep.entry,
43
+ singleton: true,
44
+ };
45
+ }
46
+ }
47
+ return shared;
48
+ }
49
+ exports.getShared = getShared;
26
50
  function getDependencies(importmap, compilerOptions) {
27
51
  const dependencies = {};
28
52
  const { entry, externals } = compilerOptions;
@@ -62,7 +86,7 @@ function withExternals(compilerOptions, externals) {
62
86
  external[dep] = dep;
63
87
  return external;
64
88
  }, {});
65
- const newExternals = arrayExternals.filter(external => {
89
+ const newExternals = arrayExternals.filter((external) => {
66
90
  if (typeof external === 'object' && Object.keys(external).length) {
67
91
  for (const dep in external) {
68
92
  objectExternal[dep] = external[dep];
@@ -1 +1 @@
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,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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/enhancers/pilet-webpack-config-enhancer/helpers.ts"],"names":[],"mappings":"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"}
@@ -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.setEnvironment)(variables);
106
+ const plugins = [
107
+ new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(variables)),
108
+ new ModuleFederationPlugin({
109
+ filename: file,
110
+ name: name.replace(/^@/, '').replace('/', '-').replace(/\-/g, '_'),
111
+ exposes: {
112
+ './pilet': compiler.entry[entry],
113
+ },
114
+ shared: (0, helpers_1.getShared)(importmap, externals),
115
+ })
116
+ ];
117
+ compiler.entry = {};
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":"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"}
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.6288",
3
+ "version": "1.4.0-beta.6313",
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.6288",
52
+ "piral-cli": "1.4.0-beta.6313",
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": "2749c4e56ade8ec89564bcd7062b535d653f5ac2"
80
+ "gitHead": "7d4435e0f368bb36b2095f3b15dfb57f57932c29"
81
81
  }
@@ -23,6 +23,33 @@ export function getDefineVariables(variables: Record<string, string>) {
23
23
  }, {});
24
24
  }
25
25
 
26
+ export function getShared(importmap: Array<SharedDependency>, externals: Array<string>) {
27
+ const shared = {};
28
+
29
+ for (const external of externals) {
30
+ shared[external] = {
31
+ import: false,
32
+ requiredVersion: '*',
33
+ packageName: external,
34
+ singleton: true,
35
+ };
36
+ }
37
+
38
+ for (const dep of importmap) {
39
+ if (dep.type === 'local') {
40
+ shared[dep.name] = {
41
+ eager: false,
42
+ requiredVersion: dep.requireId.split('@').pop(),
43
+ version: dep.id.split('@').pop(),
44
+ packageName: dep.entry,
45
+ singleton: true,
46
+ };
47
+ }
48
+ }
49
+
50
+ return shared;
51
+ }
52
+
26
53
  export function getDependencies(importmap: Array<SharedDependency>, compilerOptions: Configuration) {
27
54
  const dependencies = {};
28
55
  const { entry, externals } = compilerOptions;
@@ -68,7 +95,7 @@ export function withExternals(compilerOptions: Configuration, externals: Array<s
68
95
  return external;
69
96
  }, {});
70
97
 
71
- const newExternals = arrayExternals.filter(external => {
98
+ const newExternals = arrayExternals.filter((external) => {
72
99
  if (typeof external === 'object' && Object.keys(external).length) {
73
100
  for (const dep in external) {
74
101
  objectExternal[dep] = external[dep];
@@ -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
+ setEnvironment(variables);
205
+
206
+ const plugins = [
207
+ new DefinePlugin(getDefineVariables(variables)),
208
+ new ModuleFederationPlugin({
209
+ filename: file,
210
+ name: name.replace(/^@/, '').replace('/', '-').replace(/\-/g, '_'),
211
+ exposes: {
212
+ './pilet': compiler.entry[entry],
213
+ },
214
+ shared: getShared(importmap, externals),
215
+ })
216
+ ];
217
+
218
+ compiler.entry = {};
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);