pilet-webpack-plugin 0.7.0 → 0.8.3

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 - 2021 Florian Rappl
3
+ Copyright (c) 2020 - 2022 Florian Rappl
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/lib/helpers.js CHANGED
@@ -27,14 +27,14 @@ exports.setEnvironment = setEnvironment;
27
27
  function getDefineVariables(variables) {
28
28
  return Object.entries(variables).reduce(function (obj, _a) {
29
29
  var name = _a[0], value = _a[1];
30
- obj["process.env." + name] = JSON.stringify(value);
30
+ obj["process.env.".concat(name)] = JSON.stringify(value);
31
31
  return obj;
32
32
  }, {});
33
33
  }
34
34
  exports.getDefineVariables = getDefineVariables;
35
35
  function getExternals(piral) {
36
36
  var _a, _b;
37
- var shellPkg = require(piral + "/package.json");
37
+ var shellPkg = require("".concat(piral, "/package.json"));
38
38
  var piralExternals = (_b = (_a = shellPkg.pilets) === null || _a === void 0 ? void 0 : _a.externals) !== null && _b !== void 0 ? _b : [];
39
39
  return __spreadArray(__spreadArray([], piralExternals, true), [
40
40
  '@dbeining/react-atom',
@@ -51,13 +51,14 @@ function getExternals(piral) {
51
51
  exports.getExternals = getExternals;
52
52
  function getDependencies(importmap, compilerOptions) {
53
53
  var dependencies = {};
54
- if (typeof compilerOptions.entry === 'object' && compilerOptions.entry) {
54
+ var entry = compilerOptions.entry, externals = compilerOptions.externals;
55
+ if (typeof entry === 'object' && entry && Array.isArray(externals) && typeof externals[0] === 'object') {
55
56
  for (var _i = 0, importmap_1 = importmap; _i < importmap_1.length; _i++) {
56
57
  var dep = importmap_1[_i];
57
58
  dependencies[dep.id] = dep.ref;
58
- compilerOptions.externals[dep.name] = dep.id;
59
+ externals[0][dep.name] = dep.requireId || dep.id;
59
60
  if (dep.type === 'local') {
60
- compilerOptions.entry[dep.ref.replace(/\.js$/, '')] = dep.entry;
61
+ entry[dep.ref.replace(/\.js$/, '')] = dep.entry;
61
62
  }
62
63
  }
63
64
  }
@@ -65,19 +66,22 @@ function getDependencies(importmap, compilerOptions) {
65
66
  }
66
67
  exports.getDependencies = getDependencies;
67
68
  function withExternals(compilerOptions, externals) {
68
- var current = compilerOptions.externals;
69
- var newExternals = Array.isArray(current)
70
- ? __spreadArray(__spreadArray([], current, true), externals, true) : typeof current === 'string'
71
- ? __spreadArray([current], externals, true) : externals;
72
- if (newExternals !== externals || typeof compilerOptions.externals !== 'object' || !compilerOptions.externals) {
73
- compilerOptions.externals = {};
74
- }
75
- for (var _i = 0, newExternals_1 = newExternals; _i < newExternals_1.length; _i++) {
76
- var external_1 = newExternals_1[_i];
77
- if (typeof external_1 === 'string') {
78
- compilerOptions.externals[external_1] = external_1;
69
+ var current = compilerOptions.externals || [];
70
+ var arrayExternals = Array.isArray(current) ? current : [current];
71
+ var objectExternal = externals.reduce(function (external, dep) {
72
+ external[dep] = dep;
73
+ return external;
74
+ }, {});
75
+ var newExternals = arrayExternals.filter(function (external) {
76
+ if (typeof external === 'object' && Object.keys(external).length) {
77
+ for (var dep in external) {
78
+ objectExternal[dep] = external[dep];
79
+ }
80
+ return false;
79
81
  }
80
- }
82
+ return true;
83
+ });
84
+ compilerOptions.externals = __spreadArray([objectExternal], newExternals, true);
81
85
  }
82
86
  exports.withExternals = withExternals;
83
87
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare class PiletWebpackPlugin implements Plugin {
6
6
  private externals;
7
7
  constructor(options: PiletWebpackPluginOptions);
8
8
  piletVxWebpackConfigEnhancer(compiler: Compiler): DefinePlugin[];
9
+ piletV0WebpackConfigEnhancer(compiler: Compiler): (DefinePlugin | BannerPlugin)[];
9
10
  piletV1WebpackConfigEnhancer(compiler: Compiler): (DefinePlugin | BannerPlugin)[];
10
11
  piletV2WebpackConfigEnhancer(compiler: Compiler): (DefinePlugin | BannerPlugin)[];
11
12
  setup(compiler: Compiler): DefinePlugin[];
package/lib/index.js CHANGED
@@ -27,29 +27,53 @@ var PiletWebpackPlugin = /** @class */ (function () {
27
27
  compiler.hooks.afterEnvironment.tap(pluginName, function () { });
28
28
  return plugins;
29
29
  };
30
+ PiletWebpackPlugin.prototype.piletV0WebpackConfigEnhancer = function (compiler) {
31
+ var name = this.options.name;
32
+ var config = compiler.options;
33
+ var shortName = name.replace(/\W/gi, '');
34
+ var prName = "wp4Chunkpr_".concat(shortName);
35
+ var mainEntry = Object.keys(config.entry)[0];
36
+ (0, helpers_1.setEnvironment)(this.variables);
37
+ (0, helpers_1.withExternals)(config, this.externals);
38
+ var plugins = [
39
+ new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(this.variables)),
40
+ new webpack_1.BannerPlugin({
41
+ banner: "//@pilet v:0",
42
+ entryOnly: true,
43
+ include: "".concat(mainEntry, ".js"),
44
+ raw: true,
45
+ }),
46
+ ];
47
+ compiler.hooks.afterEnvironment.tap(pluginName, function () {
48
+ config.output.jsonpFunction = "".concat(prName);
49
+ config.output.library = name;
50
+ config.output.libraryTarget = 'umd';
51
+ });
52
+ return plugins;
53
+ };
30
54
  PiletWebpackPlugin.prototype.piletV1WebpackConfigEnhancer = function (compiler) {
31
55
  var name = this.options.name;
32
56
  var config = compiler.options;
33
57
  var shortName = name.replace(/\W/gi, '');
34
- var prName = "wp4Chunkpr_" + shortName;
58
+ var prName = "wp4Chunkpr_".concat(shortName);
35
59
  var mainEntry = Object.keys(config.entry)[0];
36
60
  (0, helpers_1.setEnvironment)(this.variables);
37
61
  (0, helpers_1.withExternals)(config, this.externals);
38
62
  var plugins = [
39
63
  new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(this.variables)),
40
64
  new webpack_1.BannerPlugin({
41
- banner: "//@pilet v:1(" + prName + ")",
65
+ banner: "//@pilet v:1(".concat(prName, ")"),
42
66
  entryOnly: true,
43
- include: mainEntry + ".js",
67
+ include: "".concat(mainEntry, ".js"),
44
68
  raw: true,
45
69
  }),
46
70
  ];
47
71
  compiler.hooks.afterEnvironment.tap(pluginName, function () {
48
- config.output.jsonpFunction = "" + prName;
72
+ config.output.jsonpFunction = "".concat(prName);
49
73
  config.output.library = name;
50
74
  config.output.libraryTarget = 'umd';
51
75
  config.output.auxiliaryComment = {
52
- commonjs2: "\nfunction define(d,k){if(typeof document!=='undefined'){var _r=" + prName + ";delete " + prName + ";document.currentScript.app=k.apply(null,d.map(_r))}}define.amd=!0;",
76
+ commonjs2: "\nfunction define(d,k){if(typeof document!=='undefined'){var _r=".concat(prName, ";delete ").concat(prName, ";document.currentScript.app=k.apply(null,d.map(_r))}}define.amd=!0;"),
53
77
  };
54
78
  });
55
79
  return plugins;
@@ -58,7 +82,7 @@ var PiletWebpackPlugin = /** @class */ (function () {
58
82
  var _a = this.options, name = _a.name, importmap = _a.importmap;
59
83
  var config = compiler.options;
60
84
  var shortName = name.replace(/\W/gi, '');
61
- var prName = "wp4Chunkpr_" + shortName;
85
+ var prName = "wp4Chunkpr_".concat(shortName);
62
86
  var mainEntry = Object.keys(config.entry)[0];
63
87
  (0, helpers_1.withExternals)(config, this.externals);
64
88
  (0, helpers_1.setEnvironment)(this.variables);
@@ -66,15 +90,15 @@ var PiletWebpackPlugin = /** @class */ (function () {
66
90
  var plugins = [
67
91
  new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(this.variables)),
68
92
  new webpack_1.BannerPlugin({
69
- banner: "//@pilet v:2(" + prName + "," + JSON.stringify(dependencies) + ")",
93
+ banner: "//@pilet v:2(".concat(prName, ",").concat(JSON.stringify(dependencies), ")"),
70
94
  entryOnly: true,
71
- include: mainEntry + ".js",
95
+ include: "".concat(mainEntry, ".js"),
72
96
  raw: true,
73
97
  }),
74
98
  ];
75
99
  compiler.hooks.afterEnvironment.tap(pluginName, function () {
76
100
  config.module.rules.push({ parser: { system: false } });
77
- config.output.jsonpFunction = "" + prName;
101
+ config.output.jsonpFunction = "".concat(prName);
78
102
  config.output.libraryTarget = 'system';
79
103
  });
80
104
  return plugins;
@@ -85,11 +109,12 @@ var PiletWebpackPlugin = /** @class */ (function () {
85
109
  this.variables = __assign(__assign({}, (0, helpers_1.getVariables)(name, version, environment)), this.options.variables);
86
110
  this.externals = externals;
87
111
  switch (schema) {
112
+ case 'v0':
113
+ return this.piletV0WebpackConfigEnhancer(compiler);
88
114
  case 'v1':
89
115
  return this.piletV1WebpackConfigEnhancer(compiler);
90
116
  case 'v2':
91
117
  return this.piletV2WebpackConfigEnhancer(compiler);
92
- case 'v0':
93
118
  case 'none':
94
119
  default:
95
120
  return this.piletVxWebpackConfigEnhancer(compiler);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAAuE;AACvE,qCAOmB;AAGnB,IAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC;IAIE,4BAAoB,OAAkC;QAAlC,YAAO,GAAP,OAAO,CAA2B;IAAG,CAAC;IAE1D,yDAA4B,GAA5B,UAA6B,QAAkB;QAC7C,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEhC,IAAA,wBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAM,OAAO,GAAG,CAAC,IAAI,sBAAY,CAAC,IAAA,4BAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvE,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,cAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yDAA4B,GAA5B,UAA6B,QAAkB;QACrC,IAAA,IAAI,GAAK,IAAI,CAAC,OAAO,KAAjB,CAAkB;QAC9B,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAM,MAAM,GAAG,gBAAc,SAAW,CAAC;QAClC,IAAA,SAAS,GAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAA7B,CAA8B;QAE9C,IAAA,wBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAM,OAAO,GAAG;YACd,IAAI,sBAAY,CAAC,IAAA,4BAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,sBAAY,CAAC;gBACf,MAAM,EAAE,kBAAgB,MAAM,MAAG;gBACjC,SAAS,EAAE,IAAI;gBACf,OAAO,EAAK,SAAS,QAAK;gBAC1B,GAAG,EAAE,IAAI;aACV,CAAC;SACH,CAAC;QAEF,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,KAAG,MAAQ,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,gBAAgB,GAAG;gBAC/B,SAAS,EAAE,qEAAmE,MAAM,gBAAW,MAAM,wEAAqE;aACpK,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yDAA4B,GAA5B,UAA6B,QAAkB;QACvC,IAAA,KAAsB,IAAI,CAAC,OAAO,EAAhC,IAAI,UAAA,EAAE,SAAS,eAAiB,CAAC;QACzC,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAM,MAAM,GAAG,gBAAc,SAAW,CAAC;QAClC,IAAA,SAAS,GAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAA7B,CAA8B;QAE9C,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAA,wBAAc,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAM,YAAY,GAAG,IAAA,yBAAe,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExD,IAAM,OAAO,GAAG;YACd,IAAI,sBAAY,CAAC,IAAA,4BAAkB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,sBAAY,CAAC;gBACf,MAAM,EAAE,kBAAgB,MAAM,SAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAG;gBACjE,SAAS,EAAE,IAAI;gBACf,OAAO,EAAK,SAAS,QAAK;gBAC1B,GAAG,EAAE,IAAI;aACV,CAAC;SACH,CAAC;QAEF,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,KAAG,MAAQ,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kCAAK,GAAL,UAAM,QAAkB;QAChB,IAAA,KAAoE,IAAI,CAAC,OAAO,EAA9E,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,iBAA+B,EAA/B,SAAS,mBAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,KAAA,EAAE,MAAM,YAAiB,CAAC;QACvF,IAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC;QAC1D,IAAI,CAAC,SAAS,yBACT,IAAA,sBAAY,EAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,GACxC,IAAI,CAAC,OAAO,CAAC,SAAS,CAC1B,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,QAAQ,MAAM,EAAE;YACd,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAK,IAAI;gBACP,OAAO,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC;YACV,KAAK,MAAM,CAAC;YACZ;gBACE,OAAO,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;SACtD;IACH,CAAC;IAED,kCAAK,GAAL,UAAM,QAAkB;QACtB,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAtB,CAAsB,CAAC,CAAC;IACpD,CAAC;IACH,yBAAC;AAAD,CAAC,AAzGD,IAyGC;AAzGY,gDAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export interface SharedDependency {
2
2
  id: string;
3
+ requireId?: string;
3
4
  name: string;
4
5
  ref: string;
5
6
  type: 'local' | 'remote';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pilet-webpack-plugin",
3
- "version": "0.7.0",
3
+ "version": "0.8.3",
4
4
  "description": "Webpack plugin for generating a valid pilet bundle.",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -31,5 +31,5 @@
31
31
  "devDependencies": {
32
32
  "webpack": "4.42.0"
33
33
  },
34
- "gitHead": "8e9061b2c08ebbaf697e227835ff57e5969897b7"
34
+ "gitHead": "92b498c1b830f38f120573b8be16c477529cf39a"
35
35
  }
package/src/helpers.ts CHANGED
@@ -41,14 +41,15 @@ export function getExternals(piral: string) {
41
41
 
42
42
  export function getDependencies(importmap: Array<SharedDependency>, compilerOptions: Configuration) {
43
43
  const dependencies = {};
44
+ const { entry, externals } = compilerOptions;
44
45
 
45
- if (typeof compilerOptions.entry === 'object' && compilerOptions.entry) {
46
+ if (typeof entry === 'object' && entry && Array.isArray(externals) && typeof externals[0] === 'object') {
46
47
  for (const dep of importmap) {
47
48
  dependencies[dep.id] = dep.ref;
48
- compilerOptions.externals[dep.name] = dep.id;
49
+ externals[0][dep.name] = dep.requireId || dep.id;
49
50
 
50
51
  if (dep.type === 'local') {
51
- compilerOptions.entry[dep.ref.replace(/\.js$/, '')] = dep.entry;
52
+ entry[dep.ref.replace(/\.js$/, '')] = dep.entry;
52
53
  }
53
54
  }
54
55
  }
@@ -57,20 +58,23 @@ export function getDependencies(importmap: Array<SharedDependency>, compilerOpti
57
58
  }
58
59
 
59
60
  export function withExternals(compilerOptions: Configuration, externals: Array<string>) {
60
- const current = compilerOptions.externals;
61
- const newExternals = Array.isArray(current)
62
- ? [...(current as Array<string>), ...externals]
63
- : typeof current === 'string'
64
- ? [current, ...externals]
65
- : externals;
61
+ const current = compilerOptions.externals || [];
62
+ const arrayExternals = Array.isArray(current) ? current : [current];
66
63
 
67
- if (newExternals !== externals || typeof compilerOptions.externals !== 'object' || !compilerOptions.externals) {
68
- compilerOptions.externals = {};
69
- }
64
+ const objectExternal = externals.reduce((external, dep) => {
65
+ external[dep] = dep;
66
+ return external;
67
+ }, {});
70
68
 
71
- for (const external of newExternals) {
72
- if (typeof external === 'string') {
73
- compilerOptions.externals[external] = external;
69
+ const newExternals = arrayExternals.filter(external => {
70
+ if (typeof external === 'object' && Object.keys(external).length) {
71
+ for (const dep in external) {
72
+ objectExternal[dep] = external[dep];
73
+ }
74
+ return false;
74
75
  }
75
- }
76
+ return true;
77
+ });
78
+
79
+ compilerOptions.externals = [objectExternal, ...newExternals];
76
80
  }
package/src/index.ts CHANGED
@@ -28,6 +28,35 @@ export class PiletWebpackPlugin implements Plugin {
28
28
  return plugins;
29
29
  }
30
30
 
31
+ piletV0WebpackConfigEnhancer(compiler: Compiler) {
32
+ const { name } = this.options;
33
+ const config = compiler.options;
34
+ const shortName = name.replace(/\W/gi, '');
35
+ const prName = `wp4Chunkpr_${shortName}`;
36
+ const [mainEntry] = Object.keys(config.entry);
37
+
38
+ setEnvironment(this.variables);
39
+ withExternals(config, this.externals);
40
+
41
+ const plugins = [
42
+ new DefinePlugin(getDefineVariables(this.variables)),
43
+ new BannerPlugin({
44
+ banner: `//@pilet v:0`,
45
+ entryOnly: true,
46
+ include: `${mainEntry}.js`,
47
+ raw: true,
48
+ }),
49
+ ];
50
+
51
+ compiler.hooks.afterEnvironment.tap(pluginName, () => {
52
+ config.output.jsonpFunction = `${prName}`;
53
+ config.output.library = name;
54
+ config.output.libraryTarget = 'umd';
55
+ });
56
+
57
+ return plugins;
58
+ }
59
+
31
60
  piletV1WebpackConfigEnhancer(compiler: Compiler) {
32
61
  const { name } = this.options;
33
62
  const config = compiler.options;
@@ -101,11 +130,12 @@ export class PiletWebpackPlugin implements Plugin {
101
130
  this.externals = externals;
102
131
 
103
132
  switch (schema) {
133
+ case 'v0':
134
+ return this.piletV0WebpackConfigEnhancer(compiler);
104
135
  case 'v1':
105
136
  return this.piletV1WebpackConfigEnhancer(compiler);
106
137
  case 'v2':
107
138
  return this.piletV2WebpackConfigEnhancer(compiler);
108
- case 'v0':
109
139
  case 'none':
110
140
  default:
111
141
  return this.piletVxWebpackConfigEnhancer(compiler);
package/src/types.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export interface SharedDependency {
2
2
  id: string;
3
+ requireId?: string;
3
4
  name: string;
4
5
  ref: string;
5
6
  type: 'local' | 'remote';