const { basename, join, resolve } = require('path'); const fs = require('fs'); const { exec } = require('child_process'); const distDir = 'www/lib'; const filelist = fs.readFileSync('lib_list.txt', 'utf-8').split(/\r?\n/); exec(`mkdir -p ${distDir}`, () => { filelist.forEach(path => { path = resolve(path); const filename = basename(path); const dest = fs.lstatSync(path).isDirectory() ? distDir : join(distDir, filename); const cmd = `rsync -ru ${path} ${dest}`; console.log(cmd); exec(cmd); }); }); if (!fs.existsSync('src/config.json')) { const cmd = `rsync -ru src/config.sample.json src/config.json`; console.log(cmd); exec(cmd); }