fruitsconfits
Version:
FruitsConfits - A well typed and sugared parser combinator framework for TypeScript/JavaScript.
33 lines (25 loc) • 958 B
JavaScript
const fs = require('fs');
const path = require('path');
function copyAsMjs(srcDir, destDir, options) {
const opts = Object.assign({}, {
srcExt: '.js',
destExt: '.mjs',
}, options || {});
if (! fs.existsSync(destDir)) {
fs.mkdirSync(destDir, { recursive: true });
}
if (fs.lstatSync(srcDir).isDirectory()) {
const files = fs.readdirSync(srcDir);
for (const entry of files) {
const srcEntryPath = path.join(srcDir, entry);
if (fs.lstatSync(srcEntryPath).isDirectory()) {
copyAsMjs(srcEntryPath, path.join(destDir, entry), opts);
} else {
if (entry.toLowerCase().endsWith(opts.srcExt)) {
fs.copyFileSync(srcEntryPath, path.join(destDir, entry.slice(0, -(opts.srcExt.length)) + opts.destExt));
}
}
}
}
}
exports.copyAsMjs = copyAsMjs;