1
0
mirror of https://github.com/S2-/minifyfromhtml.git synced 2025-08-02 20:00:05 +02:00

make minify work for scripts

This commit is contained in:
s2
2018-05-05 15:54:55 +02:00
parent e76e795120
commit fd70d5486b
2 changed files with 24 additions and 6 deletions

2
example/dist/dist.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,5 @@
let argv = require('minimist')(process.argv.slice(2));
var fs = require('fs');
let jsdom = require('jsdom');
let JSDOM = jsdom.JSDOM;
let babel = require("babel-core");
@@ -13,17 +14,17 @@ let usage = `usage:
minifyfromhtml -o dist < example/index.html
`;
let inputFile = argv.i;
let outputDir = argv.o;
if (argv.h) {
console.log(usage);
return;
}
let execute = function(command, callback) {
exec(command, function(error, stdout, stderr) {
callback(stdout);
});
};
if (!argv.o) {
console.log(usage);
return;
}
let readStdin = function(cb) {
let stdin = '';
@@ -54,6 +55,7 @@ readStdin(function(html) {
return scripts;
}
//process scripts
let scripts = getTagAttrs(dom, 'script', 'src');
let processedScripts = {};
for (let i = 0; i < scripts.length; i++) {
@@ -65,6 +67,20 @@ readStdin(function(html) {
return;
}
processedScripts[script] = result.code;
if (Object.keys(processedScripts).length === scripts.length) {
//write scripts
//clear out dist file
fs.writeFileSync(outputDir + '/dist.js', '');
//write files
for (let i = 0; i < scripts.length; i++) {
const script = scripts[i];
fs.appendFileSync(outputDir + '/dist.js', processedScripts[script] + '\n');
}
}
});
}