35 lines
800 B
JavaScript
35 lines
800 B
JavaScript
|
const fs = require('fs');
|
||
|
const path = require('path');
|
||
|
|
||
|
function copyRecursively(file, destination) {
|
||
|
const target = path.join(destination, path.basename(file));
|
||
|
if (fs.statSync(file).isDirectory()) {
|
||
|
console.log('mkdir', target);
|
||
|
|
||
|
fs.mkdirSync(target, {recursive: true});
|
||
|
fs.readdirSync(file).forEach(f => {
|
||
|
copyRecursively(path.join(file, f), target);
|
||
|
});
|
||
|
} else {
|
||
|
console.log('> cp ', target);
|
||
|
|
||
|
fs.copyFileSync(file, target);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
[
|
||
|
'yarn.lock',
|
||
|
'README.md',
|
||
|
'config/',
|
||
|
'views/',
|
||
|
].forEach(file => {
|
||
|
copyRecursively(file, 'dist');
|
||
|
});
|
||
|
|
||
|
fs.mkdirSync('dist/types', {recursive: true});
|
||
|
|
||
|
fs.readdirSync('src/types').forEach(file => {
|
||
|
copyRecursively(path.join('src/types', file), 'dist/types');
|
||
|
});
|