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 +1 -1
- package/lib/helpers.js +21 -17
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +35 -10
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +1 -0
- package/package.json +2 -2
- package/src/helpers.ts +20 -16
- package/src/index.ts +31 -1
- package/src/types.ts +1 -0
package/LICENSE
CHANGED
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."
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
59
|
+
externals[0][dep.name] = dep.requireId || dep.id;
|
|
59
60
|
if (dep.type === 'local') {
|
|
60
|
-
|
|
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
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,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,UAAA,GAAG,IAAI,OAAA,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAnC,CAAmC,CAAC,CAAC;AAC7E,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,SAAiC;IAClE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,EAAa;YAAZ,IAAI,QAAA,EAAE,KAAK,QAAA;QACxD,GAAG,CAAC,
|
|
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_"
|
|
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("
|
|
65
|
+
banner: "//@pilet v:1(".concat(prName, ")"),
|
|
42
66
|
entryOnly: true,
|
|
43
|
-
include: mainEntry
|
|
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 = ""
|
|
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="
|
|
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_"
|
|
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("
|
|
93
|
+
banner: "//@pilet v:2(".concat(prName, ",").concat(JSON.stringify(dependencies), ")"),
|
|
70
94
|
entryOnly: true,
|
|
71
|
-
include: mainEntry
|
|
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 = ""
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pilet-webpack-plugin",
|
|
3
|
-
"version": "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": "
|
|
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
|
|
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.requireId || 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
|
}
|
|
@@ -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
|
|
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
|
-
|
|
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);
|