UNPKG

sdin

Version:

JavaScript package builder.

2 lines 2.1 kB
import{resolve as u}from"path";import{readSdinTemplateMetaList as h}from"./template";import{isEmail as d,isPackageName as j,isPackageVersion as v}from"../../utils/check";import{readPackageInfo as f}from"../../utils/npm";import{readGlobalGitInfo as w}from"../../utils/git";import{getRootPath as P,getWorkPath as y,withWorkPath as N}from"../../utils/path";import{extraFolderName as k}from"../../tools/string";import{SdinCreatingError as g}from"../../tools/errors";import{select as E,input as W}from"../../utils/enquire";import{prompt as V}from"enquirer";import{camelCase as D}from"lodash";async function e(e){var t=await h();let a=await E({key:"templateName",value:e.templateName,title:"which project template do you want to use?",options:t.map(e=>({value:e.name,label:e.name,desc:e.description}))});t=t.find(e=>e.name===a);if(!t)throw new g(g.FIND_TEMPLATE_FAILED,"Find template ".concat(a," failed."));var r=await w(),o=await W({key:"projectParentPath",value:e.projectParentPath,preset:y(),title:"Where do you want the project to be generated?",output:e=>N(e)}),i=await W({key:"projectName",value:e.projectName,title:"What is your project name?",validate:j}),s=await W({key:"projectVersion",value:e.projectVersion,preset:"0.0.1",title:"What is your project version?",validate:v}),m=await W({key:"projectDescription",value:e.projectDescription,title:"What is your project description?"}),p=await W({key:"authorName",value:e.authorName,preset:null==r?void 0:r.userName,title:"What is your project author name?"}),e=await W({key:"authorEmail",value:e.authorEmail,preset:null==r?void 0:r.userEmail,title:"What is your project author email?",validate:d});let l={};t.questions&&(l=await V(t.questions));var r=k(i),n=D(i),c=u(o,r);return{sdinVersion:f(P(),!0).version,templateName:t.name,templatePath:t.root,templateParams:l,projectParentPath:o,projectFolderName:r,projectVariableName:n,projectPath:c,projectName:i,projectVersion:s,projectDescription:m,authorMark:"".concat(p," <").concat(e,">"),authorName:p,authorEmail:e}}export{e as enquireSdinCreatingQuestions}; //# sourceMappingURL=enquire.js.map