constatic
Version:
Constatic cli
2 lines (1 loc) • 1.04 kB
JavaScript
import{copy as n,divider as p,log as f,sleep as u,uiMessage as a}from"#helpers";import{menus as c}from"#menus";import{withDefaults as d}from"#prompts";import{input as l}from"@inquirer/prompts";import P from"chalk";import{mkdir as g}from"node:fs/promises";import s from"node:path";import{modifyScriptPresetMenu as w}from"./actions/modify.js";async function x(e){const r=e.conf.get("presets.scripts",[]),t={name:"",type:"default",id:new Date().getTime().toString(),files:[]};if(await w(e,t)==="cancel"){c.presets.scripts.main(e);return}t.name=await l(d({message:a({"en-US":"Preset name:","pt-BR":"Nome da predefini\xE7\xE3o:"})})),p();const i=s.join(e.configdir,"presets/scripts",t.id);await g(i,{recursive:!0}),await Promise.all(t.files.map(({path:o,dist:m=o})=>n(s.join(e.cwd,o),s.join(i,m)).catch(()=>null))),r.push(t),e.conf.set("presets.scripts",r),f.success(a({"en-US":"Preset created successfully!","pt-BR":"Predefini\xE7\xE3o criada com sucesso!"},P.green)),await u(400),c.presets.scripts.main(e)}export{x as presetsScriptsNewMenu};