pilet-webpack-plugin 0.7.0-pre.699 → 0.8.2
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/index.js +7 -7
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers.ts +19 -15
- package/src/index.ts +31 -1
package/lib/index.js
CHANGED
|
@@ -31,25 +31,25 @@ var PiletWebpackPlugin = /** @class */ (function () {
|
|
|
31
31
|
var name = this.options.name;
|
|
32
32
|
var config = compiler.options;
|
|
33
33
|
var shortName = name.replace(/\W/gi, '');
|
|
34
|
-
var
|
|
34
|
+
var jsonpFunction = "pr_" + shortName;
|
|
35
35
|
var mainEntry = Object.keys(config.entry)[0];
|
|
36
36
|
(0, helpers_1.setEnvironment)(this.variables);
|
|
37
37
|
(0, helpers_1.withExternals)(config, this.externals);
|
|
38
38
|
var plugins = [
|
|
39
39
|
new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(this.variables)),
|
|
40
40
|
new webpack_1.BannerPlugin({
|
|
41
|
-
banner: "//@pilet v:1(" +
|
|
41
|
+
banner: "//@pilet v:1(wp4Chunk" + jsonpFunction + ")",
|
|
42
42
|
entryOnly: true,
|
|
43
43
|
include: mainEntry + ".js",
|
|
44
44
|
raw: true,
|
|
45
45
|
}),
|
|
46
46
|
];
|
|
47
47
|
compiler.hooks.afterEnvironment.tap(pluginName, function () {
|
|
48
|
-
config.output.jsonpFunction = "" +
|
|
48
|
+
config.output.jsonpFunction = "wp4Chunk" + jsonpFunction;
|
|
49
49
|
config.output.library = name;
|
|
50
50
|
config.output.libraryTarget = 'umd';
|
|
51
51
|
config.output.auxiliaryComment = {
|
|
52
|
-
commonjs2: "\nfunction define(d,k){if(typeof document!=='undefined'){var _r=" +
|
|
52
|
+
commonjs2: "\nfunction define(d,k){if(typeof document!=='undefined'){var _r=" + jsonpFunction + ";delete " + jsonpFunction + ";document.currentScript.app=k.apply(null,d.map(_r))}}define.amd=!0;",
|
|
53
53
|
};
|
|
54
54
|
});
|
|
55
55
|
return plugins;
|
|
@@ -58,7 +58,7 @@ var PiletWebpackPlugin = /** @class */ (function () {
|
|
|
58
58
|
var _a = this.options, name = _a.name, importmap = _a.importmap;
|
|
59
59
|
var config = compiler.options;
|
|
60
60
|
var shortName = name.replace(/\W/gi, '');
|
|
61
|
-
var
|
|
61
|
+
var jsonpFunction = "pr_" + shortName;
|
|
62
62
|
var mainEntry = Object.keys(config.entry)[0];
|
|
63
63
|
(0, helpers_1.withExternals)(config, this.externals);
|
|
64
64
|
(0, helpers_1.setEnvironment)(this.variables);
|
|
@@ -66,7 +66,7 @@ var PiletWebpackPlugin = /** @class */ (function () {
|
|
|
66
66
|
var plugins = [
|
|
67
67
|
new webpack_1.DefinePlugin((0, helpers_1.getDefineVariables)(this.variables)),
|
|
68
68
|
new webpack_1.BannerPlugin({
|
|
69
|
-
banner: "//@pilet v:2(" +
|
|
69
|
+
banner: "//@pilet v:2(wp4Chunk" + jsonpFunction + "," + JSON.stringify(dependencies) + ")",
|
|
70
70
|
entryOnly: true,
|
|
71
71
|
include: mainEntry + ".js",
|
|
72
72
|
raw: true,
|
|
@@ -74,7 +74,7 @@ var PiletWebpackPlugin = /** @class */ (function () {
|
|
|
74
74
|
];
|
|
75
75
|
compiler.hooks.afterEnvironment.tap(pluginName, function () {
|
|
76
76
|
config.module.rules.push({ parser: { system: false } });
|
|
77
|
-
config.output.jsonpFunction = "" +
|
|
77
|
+
config.output.jsonpFunction = "wp4Chunk" + jsonpFunction;
|
|
78
78
|
config.output.libraryTarget = 'system';
|
|
79
79
|
});
|
|
80
80
|
return plugins;
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pilet-webpack-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.2",
|
|
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": "
|
|
34
|
+
"gitHead": "b03ec9ab419f7fdfdabd0c46558b1993229067c4"
|
|
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
|
|
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
|
-
|
|
49
|
+
externals[0][dep.name] = dep.id;
|
|
49
50
|
|
|
50
51
|
if (dep.type === 'local') {
|
|
51
|
-
|
|
52
|
+
entry[dep.ref.replace(/\.js$/, '')] = dep.entry;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
}
|
|
@@ -58,19 +59,22 @@ export function getDependencies(importmap: Array<SharedDependency>, compilerOpti
|
|
|
58
59
|
|
|
59
60
|
export function withExternals(compilerOptions: Configuration, externals: Array<string>) {
|
|
60
61
|
const current = compilerOptions.externals;
|
|
61
|
-
const
|
|
62
|
-
? [...(current as Array<string>), ...externals]
|
|
63
|
-
: typeof current === 'string'
|
|
64
|
-
? [current, ...externals]
|
|
65
|
-
: externals;
|
|
62
|
+
const arrayExternals = Array.isArray(current) ? current : [current];
|
|
66
63
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
const objectExternal = externals.reduce((external, dep) => {
|
|
65
|
+
external[dep] = dep;
|
|
66
|
+
return external;
|
|
67
|
+
}, {});
|
|
70
68
|
|
|
71
|
-
|
|
72
|
-
if (typeof external === '
|
|
73
|
-
|
|
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);
|