Newer
Older
const { minify } = require("terser");
const fs = require('fs');
const jsPath = "javascript/build/dist/"
const cssPath = "extension/Resources/Public/Css/"
output: jsPath + "qfq.min.js"
},{
name: "qfqFabric",
input: "javascript/src/Plugins/qfq.fabric.js",
output: jsPath + "qfq.fabric.min.js"
},{
name: "qfqValidator",
input: "javascript/src/Plugins/validator.js",
output: jsPath + "validator.min.js"
},{
name: "codemirror",
input: "node_modules/codemirror/lib/codemirror.js",
output: extPath + "codemirror.min.js"
},{
name: "codemirror sql",
input: "node_modules/codemirror/lib/codemirror.js",
output: extPath + "code-mirror-mode/sql/sql.min.js",
mkdir: extPath + "code-mirror-mode/sql"
}
]
mangle: {
properties: true,
}
};
async function minifySource(input, output, options) {
let sourceCode = fs.readFileSync(input, 'utf8');
minify(sourceCode, options)
.then( (res) => callWriteFile(output, res))
}
function callWriteFile(output, sourceCode) {
//console.log("Source Code", sourceCode)
fs.writeFileSync(output, sourceCode.code)
}
for (const todo of todos) {
console.log("minifying " + todo.name)
let options = defaultOptions
if(todo.hasOwnProperty("options")) options = todo.options
fs.mkdirSync(todo.mkdir, { recursive: true })