Skip to content

Commit 3da1d47

Browse files
committed
Use swc for compact=minify and compact=mangle
1 parent 1928d66 commit 3da1d47

File tree

5 files changed

+18
-27
lines changed

5 files changed

+18
-27
lines changed

lib/bundle/config.js

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ function generateConfig({ externals, format, exports, // eslint-disable-next-lin
5252
let plugins = [];
5353
let extensions = [".js"];
5454

55-
if(esnext || typescript || jsx) {
55+
if(esnext || typescript || jsx || compact === "minify" || compact === "mangle") {
5656
// TODO: Improve error message (correct extension name)
5757
let { default: swc } = loadExtension("rollup-plugin-swc",
5858
"failed to activate SWC");
@@ -68,7 +68,8 @@ function generateConfig({ externals, format, exports, // eslint-disable-next-lin
6868
typescript,
6969
jsx,
7070
sourcemaps,
71-
browsers
71+
browsers,
72+
compact
7273
});
7374
plugins.push(swc(swcConfig));
7475
}
@@ -79,7 +80,9 @@ function generateConfig({ externals, format, exports, // eslint-disable-next-lin
7980
]);
8081
if(compact) {
8182
cfg.compact = true;
82-
plugins = plugins.concat(determineCompacting(compact));
83+
}
84+
if(compact === true || compact === "compact") {
85+
plugins = plugins.concat(require("rollup-plugin-cleanup")());
8386
}
8487
cfg.plugins = plugins;
8588

@@ -124,23 +127,3 @@ function determineModuleFormat(format = "esm") {
124127
return _format;
125128
}
126129
}
127-
128-
function determineCompacting(type = true) {
129-
switch(type) {
130-
case true: // default
131-
case "compact":
132-
return require("rollup-plugin-cleanup")();
133-
case "minify":
134-
var options = { compress: false, mangle: false }; // eslint-disable-line no-var
135-
break;
136-
case "mangle":
137-
options = { compress: false, mangle: true };
138-
break;
139-
default:
140-
abort(`unknown compacting option ${type}`);
141-
}
142-
143-
let { terser } = loadExtension("rollup-plugin-terser",
144-
"failed to activate minification", "faucet-pipeline-jsmin");
145-
return terser(options);
146-
}

lib/bundle/swc.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
exports.generateSWCConfig = function({ esnext, typescript, jsx, sourcemaps, browsers }) {
1+
exports.generateSWCConfig = function({ esnext, typescript, jsx, sourcemaps, browsers, compact }) {
22
let env;
33
let rollup = {};
44
let jsc = {
@@ -50,7 +50,14 @@ exports.generateSWCConfig = function({ esnext, typescript, jsx, sourcemaps, brow
5050
return /^\.{0,2}\//.test(pkg) ? pkg : `node_modules/${pkg}/**`;
5151
});
5252

53+
let mangle = compact === "mangle";
54+
if(mangle || compact === "minify") {
55+
var minify = true; // eslint-disable-line no-var
56+
jsc.minify = { compress: false, mangle };
57+
}
58+
5359
return {
60+
minify,
5461
rollup,
5562
env,
5663
jsc

pkg/faucet-pipeline-jsmin/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"url": "https://github.com/faucet-pipeline/faucet-pipeline-js/issues"
1414
},
1515
"dependencies": {
16-
"rollup-plugin-terser": "^7.0.2"
16+
"@swc/core": "^1.2.145",
17+
"rollup-plugin-swc": "^0.2.1"
1718
}
1819
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
var n="UTIL";function o(){console.log(`[…] ${n}`)}function c(){o()}c();
1+
var b = "UTIL";function c(){console.log(`[…] ${b}`);}function a(){c();}a();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
var util="UTIL";function info(){console.log(`[…] ${util}`)}function help(){info()}help();
1+
var util = "UTIL";function info(){console.log(`[…] ${util}`);}function help(){info();}help();

0 commit comments

Comments
 (0)