Skip to content
Snippets Groups Projects
copy.js 1.7 KiB
Newer Older
const { ncp } = require("ncp")

ncp.limit = 16

const options = {
    clobber: true,  //overwrite dir
    stopOnErr: true,
Benjamin Baer's avatar
Benjamin Baer committed
    filter: /.*(\/dist\/|\/js\/|\/css\/|\/font\/|\/fonts\/|debug.js|min.js|min.js.map|min.css|min.css.map|ttf|svg|woff)$/
}

const target = {
    js: "extension/Resources/Public/JavaScript/",
    css: "extension/Resources/Public/Css/",
    font: "extension/Resources/Public/fonts"
}

const target_dev = {
    js: "js/",
    css: "css/"
}

const todos = [
    {
        name: "bootstrap",
        js: "node_modules/bootstrap/dist/js/",
        css: "node_modules/bootstrap/dist/css/",
        font: "node_modules/bootstrap/dist/fonts/"
    },{
        name: "jquery",
        js: "node_modules/jquery/dist/"
    },{
        name: "tablesorter",
        js: "node_modules/tablesorter/dist/js/"
    },{
        name: "datetimepicker",
        js: "javascript/src/Plugins/bootstrap-datetimepicker.min.js",
        css: "javascript/src/Plugins/bootstrap-datetimepicker.min.css"
    },{
        name: "chart-js",
        js: "node_modules/chart.js/dist/"
Benjamin Baer's avatar
Benjamin Baer committed
    },{
        name: "qfq",
        js: "javascript/build/dist/"
console.log("Async copying files:")
for (const todo of todos) {
    if(todo.hasOwnProperty("js")) {
        ncp(todo.js, target.js, (err) => printProgress(err, todo.name, "js"));
    }
    if(todo.hasOwnProperty("css")) {
        ncp(todo.css, target.css, (err) => printProgress(err, todo.name, "css"));
    }
    if(todo.hasOwnProperty("font")) {
        ncp(todo.font, target.font, (err) => printProgress(err, todo.name, "font"));
    }
}

function printProgress(err, name, type) {
    if (err) {
        return console.error(err);
    }
    console.log(' * copied ' + type + ' ' + name);
}