anl
Version:
FE command line tool
1 lines • 1.24 kB
JavaScript
const e=require(`../_virtual/rolldown_runtime.cjs`),t=require(`../utils/logger.cjs`);require(`../utils/index.cjs`);let n=require(`fs`);n=e.__toESM(n);let r=require(`path`);r=e.__toESM(r);const i=async e=>{await n.default.promises.mkdir(e,{recursive:!0})},a=async e=>{try{return await n.default.promises.access(e),!0}catch{return!1}},o=async(e,o)=>{if(await a(o)){t.log.info(`${r.default.basename(o)} Already exists, skip generation.`);return}await i(r.default.dirname(o)),await n.default.promises.copyFile(e,o),t.log.success(`${r.default.basename(o)} create done.`)},s=async(e,o,s=!1)=>{let c=await a(o);if(c&&!s){t.log.info(`${r.default.basename(o)} Already exists, skip generation.`);return}await i(r.default.dirname(o)),await n.default.promises.copyFile(e,o),t.log.success(`${r.default.basename(o)} ${c?`update done.`:`create done.`}`)},c=async(e,t,a=!1)=>{if(!(await n.default.promises.stat(e)).isDirectory())throw Error(`${e} is not a directory`);await i(t);let o=await n.default.promises.readdir(e,{withFileTypes:!0});for(let n of o){let i=r.default.join(e,n.name),o=r.default.join(t,n.name);n.isDirectory()?await c(i,o,a):n.isFile()&&await s(i,o,a)}};exports.copyDirectoryRecursive=c,exports.copyFileIfMissing=o,exports.pathExists=a;