create-make 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,149 +1,31 @@
1
- 'use strict';
2
-
3
- const yargs = require('yargs');
4
- const helpers = require('yargs/helpers');
5
- const node_fs = require('node:fs');
6
- const node_child_process = require('node:child_process');
7
- const node_path = require('node:path');
8
- const inquirer = require('inquirer');
9
-
10
- var OS_NAME=process.platform;var OS_APP_HOME=process.env.APPDATA||(OS_NAME=="darwin"?process.env.HOME+"/Library/Preferences":process.env.HOME+"/.local/share");var APP_PATH="".concat(OS_APP_HOME,"/create-make");var CONFIG_PATH="".concat(APP_PATH,"/config.json");var DEFAULT_CATEGORIES={TypeScript:{"vite-vanilla-ts":{name:"Vanilla",repo:"https://github.com/z-starter/vite-vanilla-ts.git",args:[{str:"vite-vanilla-ts",value:"projectName"}]},"vite-phaser-ts":{name:"Phaser",repo:"https://github.com/z-starter/vite-phaser-ts.git",args:[{str:"vite-phaser-ts",value:"projectName"}]},"vite-node-ts":{name:"Vite Node",repo:"https://github.com/z-starter/vite-node-ts.git",args:[{str:"vite-node-ts",value:"projectName"}]},"vite-monorepo-ts":{name:"Vite Monorepo",repo:"https://github.com/z-starter/vite-monorepo-ts.git",args:[{str:"vite-monorepo-ts",value:"projectName"}]},"vite-lib-ts":{name:"Vite Library",repo:"https://github.com/z-starter/vite-lib-ts.git",args:[{str:"vite-lib-ts",value:"projectName"}]},"vite-cli-ts":{name:"Vite Cli",repo:"https://github.com/z-starter/vite-cli-ts.git",args:[{str:"vite-cli-ts",value:"projectName"}]}}};var SCHEMA_PATH="".concat(APP_PATH,"/schema.json");var DEFAULT_SCHEMA={$schema:"https://json-schema.org/draft-07/schema",$id:"https://example.com/product.schema.json",title:"Create Make",description:"An advanced CLI tool for creating projects from GitHub repositories or custom templates with lightning-fast setup.",type:"object",properties:{categories:{type:"object",additionalProperties:{type:"object",additionalProperties:{type:"object",properties:{name:{type:"string",default:"templateName"},repo:{type:"string",default:"repoUrl"},args:{type:"array",items:{type:"object",properties:{str:{type:"string",default:"contentToReplace"},value:{type:"string",default:"projectName"}}}}}}}}}};
11
-
12
- function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
13
- try {
14
- var info = gen[key](arg);
15
- var value = info.value;
16
- } catch (error) {
17
- reject(error);
18
- return;
19
- }
20
- if (info.done) {
21
- resolve(value);
22
- } else {
23
- Promise.resolve(value).then(_next, _throw);
24
- }
25
- }
26
- function _async_to_generator$2(fn) {
27
- return function() {
28
- var self = this, args = arguments;
29
- return new Promise(function(resolve, reject) {
30
- var gen = fn.apply(self, args);
31
- function _next(value) {
32
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
33
- }
34
- function _throw(err) {
35
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
36
- }
37
- _next(void 0);
38
- });
39
- };
40
- }
41
- function _ts_generator$2(thisArg, body) {
42
- var f, y, t, _ = { label: 0, sent: function() {
43
- if (t[0] & 1) throw t[1];
44
- return t[1];
45
- }, trys: [], ops: [] }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
46
- return d(g, "next", { value: verb(0) }), d(g, "throw", { value: verb(1) }), d(g, "return", { value: verb(2) }), typeof Symbol === "function" && d(g, Symbol.iterator, { value: function() {
47
- return this;
48
- } }), g;
49
- function verb(n) {
50
- return function(v) {
51
- return step([n, v]);
52
- };
53
- }
54
- function step(op) {
55
- if (f) throw new TypeError("Generator is already executing.");
56
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
57
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
58
- if (y = 0, t) op = [op[0] & 2, t.value];
59
- switch (op[0]) {
60
- case 0:
61
- case 1:
62
- t = op;
63
- break;
64
- case 4:
65
- _.label++;
66
- return { value: op[1], done: false };
67
- case 5:
68
- _.label++;
69
- y = op[1];
70
- op = [0];
71
- continue;
72
- case 7:
73
- op = _.ops.pop();
74
- _.trys.pop();
75
- continue;
76
- default:
77
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
78
- _ = 0;
79
- continue;
80
- }
81
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
82
- _.label = op[1];
83
- break;
84
- }
85
- if (op[0] === 6 && _.label < t[1]) {
86
- _.label = t[1];
87
- t = op;
88
- break;
89
- }
90
- if (t && _.label < t[2]) {
91
- _.label = t[2];
92
- _.ops.push(op);
93
- break;
94
- }
95
- if (t[2]) _.ops.pop();
96
- _.trys.pop();
97
- continue;
98
- }
99
- op = body.call(thisArg, _);
100
- } catch (e) {
101
- op = [6, e];
102
- y = 0;
103
- } finally {
104
- f = t = 0;
105
- }
106
- if (op[0] & 5) throw op[1];
107
- return { value: op[0] ? op[1] : void 0, done: true };
108
- }
109
- }
110
- var getCli = function getCli2() {
111
- return _async_to_generator$2(function() {
112
- var version, yargsInstance, argv, projectName, template, otherTemplate;
113
- return _ts_generator$2(this, function(_state) {
114
- switch (_state.label) {
115
- case 0:
116
- version = "0.9.0";
117
- yargsInstance = yargs(helpers.hideBin(process.argv)).scriptName("create-make").usage("Usage: $0 [projectName] [options]").epilogue("\n\u{1F4E6} Create projects in seconds with built-in or custom templates!\n\nQuick Start:\n \u2022 Interactive mode: $0 (Guided setup)\n \u2022 Built-in template: $0 my-app -t vite-vanilla-ts (Skip prompts)\n \u2022 Custom template: $0 my-project -o express-api (Use custom config)\n\n\u{1F4A1} Tips:\n \u2022 When using --template or --other-template, projectName is required\n \u2022 Omit projectName to be prompted for it\n \u2022 Add custom templates via config file at ".concat(CONFIG_PATH, "\n\nFor more information, visit: https://github.com/z-npm/create-make\n")).example("$0", "Start interactive mode - guided project setup").example("$0 my-project", "Set project name, then choose template interactively").example("$0 my-app --template vite-vanilla-ts", "Create Vite web project (skips prompts)").example("$0 my-api -t vite-node-ts", "Create Vite Node project (alias, skips prompts)").example("$0 my-project --other-template my-backend", "Use custom template from config").example("$0 my-site -o react-starter", "Use custom template (alias)").option("template", { alias: "t", type: "string", describe: "Use built-in template (skips category/template selection)", requiresArg: true, conflicts: "other-template" }).option("other-template", { alias: "o", type: "string", describe: "Use custom template from config (skips to custom template selection)", requiresArg: true, conflicts: "template" }).option("help", { alias: "h", type: "boolean", describe: "Show help information" }).check(function(argv2) {
118
- if ((argv2.template || argv2["other-template"]) && !argv2._[0]) {
119
- throw new Error("Project name is required when using --template or --other-template");
120
- }
121
- return true;
122
- }).help("help", "Show this help message").alias("help", "h").version(version).alias("v", "version").demandCommand(0, 1, "Provide at most one project name").strict();
123
- return [4, yargsInstance.parseAsync()];
124
- case 1:
125
- argv = _state.sent();
126
- projectName = argv._[0];
127
- template = argv.template;
128
- otherTemplate = argv.otherTemplate;
129
- if ((template || otherTemplate) && !projectName) {
130
- console.error("\u274C Error: Project name is required");
131
- console.error("\u{1F4D6} Usage: create-make <project-name>");
132
- console.error("\u{1F4A1} Example: create-make my-project");
133
- process.exit(2);
134
- }
135
- return [2, { projectName, template, otherTemplate }];
136
- }
137
- });
138
- })();
139
- };
140
-
141
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}var mkdir=function mkdir(path){return node_fs.mkdirSync(path,{recursive:true})};var rmRF=function rmRF(path){return node_fs.rmSync(path,{recursive:true,force:true})};var pathExists=function pathExists(path){return node_fs.existsSync(path)};var readFile=function readFile(path){return node_fs.readFileSync(path,{encoding:"utf8"})};var writeFile=function writeFile(path,data){return node_fs.writeFileSync(path,data,{encoding:"utf8"})};var cmd=function cmd(command){var path=arguments.length>1&&arguments[1]!==void 0?arguments[1]:process.cwd();return node_child_process.execSync(command,{stdio:[0,1,2],cwd:path})};var gitClone=function gitClone(repo,projectName){return cmd("git clone --depth=1 ".concat(repo," ").concat(projectName))};var findFile=function findFile1(dir,fileName){var exclude=arguments.length>2&&arguments[2]!==void 0?arguments[2]:["node_modules",".git"];var finds=[];node_fs.readdirSync(dir).forEach(function(file){var filePath=node_path.join(dir,file);if(!exclude.includes(filePath)){var fileStat=node_fs.statSync(filePath);if(fileStat.isDirectory())finds=_to_consumable_array(finds).concat(_to_consumable_array(findFile(filePath,fileName)));else finds.push(filePath);}});return finds};var filesChangeContent=function filesChangeContent(path,oldContent,newContent){findFile(path,true).map(function(item){var content=node_fs.readFileSync(item,{encoding:"utf-8"});if(new RegExp("\\b"+oldContent+"\\b").test(content)){node_fs.writeFileSync(item,content.replaceAll(oldContent,newContent),{encoding:"utf-8"});}});};
142
-
143
- function _define_property$1(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else {obj[key]=value;}return obj}function _object_spread$1(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}));}ownKeys.forEach(function(key){_define_property$1(target,key,source[key]);});}return target}function ownKeys$1(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);keys.push.apply(keys,symbols);}return keys}function _object_spread_props$1(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else {ownKeys$1(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}var getConfig=function getConfig(){var needInit=false;var config={$schema:"./schema.json",categories:{}};if(pathExists(CONFIG_PATH))config=JSON.parse(readFile(CONFIG_PATH));else needInit=true;if(needInit){mkdir(APP_PATH);writeFile(SCHEMA_PATH,JSON.stringify(DEFAULT_SCHEMA,null,2));writeFile(CONFIG_PATH,JSON.stringify(config,null,2));}return _object_spread_props$1(_object_spread$1({},config),{needInit:needInit,defaultCategories:DEFAULT_CATEGORIES})};
144
-
145
- function asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return}if(info.done){resolve(value);}else {Promise.resolve(value).then(_next,_throw);}}function _async_to_generator$1(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else {obj[key]=value;}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}));}ownKeys.forEach(function(key){_define_property(target,key,source[key]);});}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);keys.push.apply(keys,symbols);}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else {ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}function _ts_generator$1(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return {value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throw op[1];return {value:op[0]?op[1]:void 0,done:true}}}var projectPrompt=function projectPrompt(cli,config){return _async_to_generator$1(function(){var dcArr,tStrArr,args,repo,ucArr,tStrArr1,args1,repo1,eMsg,prompt1,defaultCategories,userDefineCategories,_answers1,_projectName,answers1,isUserDefineCategories,templates,tobj,tobj1,answers2,repo2,args2,error;return _ts_generator$1(this,function(_state){switch(_state.label){case 0:if(cli.projectName&&cli.template){dcArr=config.defaultCategories;tStrArr=[];for(var category in dcArr){for(var template in dcArr[category]){args=dcArr[category][template].args;repo=dcArr[category][template].repo;tStrArr.push(template);if(args[0].str===cli.template)return [2,{category:category,template:template,projectName:cli.projectName,args:args,repo:repo}]}}console.error('❌ Error: Template "'.concat(cli.template,'" was not found.\n')+"Available templates:\n"+" • ".concat(tStrArr.join("\n • "),"\n")+"Please select one of the templates above.");process.exit(2);}if(cli.projectName&&cli.otherTemplate){ucArr=config.categories;tStrArr1=[];for(var category1 in ucArr){for(var template1 in ucArr[category1]){args1=ucArr[category1][template1].args;repo1=ucArr[category1][template1].repo;tStrArr1.push(template1);if(args1[0].str===cli.otherTemplate)return [2,{category:category1,template:template1,projectName:cli.projectName,args:args1,repo:repo1}]}}eMsg=tStrArr1.length>0?"Available templates:\n"+" • ".concat(tStrArr1.join("\n • "),"\n")+"Please select one of the templates above.":"\nNo custom templates are currently configured.\n"+"Please check your configuration at:\n ".concat(CONFIG_PATH,"\n\n")+"To add templates, edit the configuration file and add template definitions.";console.error('❌ Error: Template "'.concat(cli.otherTemplate,'" was not found.\n').concat(eMsg));process.exit(2);}prompt1=[];defaultCategories=Object.keys(config.defaultCategories);userDefineCategories=Object.keys(config.categories);if(userDefineCategories.length>0)defaultCategories.push("Others");if(!cli.projectName)prompt1.push({type:"input",name:"projectName",message:"Project name:",default:"my-project"});prompt1.push({type:"select",name:"category",message:"Select a category:",choices:defaultCategories});_state.label=1;case 1:_state.trys.push([1,6,,7]);return [4,inquirer.prompt(prompt1)];case 2:answers1=_state.sent();(_projectName=(_answers1=answers1).projectName)!==null&&_projectName!==void 0?_projectName:_answers1.projectName=cli.projectName;isUserDefineCategories=answers1.category==="Others";if(!isUserDefineCategories)return [3,4];return [4,inquirer.prompt([{type:"select",name:"category",message:"Select a category:",choices:userDefineCategories}])];case 3:answers1.category=_state.sent().category;_state.label=4;case 4:templates=[];if(isUserDefineCategories)for(var key in config.categories[answers1.category]){tobj=config.categories[answers1.category][key];if(tobj.name)templates.push({name:"".concat(tobj.name,"(").concat(key,")"),value:key});else templates.push({name:key,value:key});}else for(var key1 in config.defaultCategories[answers1.category]){tobj1=config.defaultCategories[answers1.category][key1];if(tobj1.name)templates.push({name:"".concat(tobj1.name,"(").concat(key1,")"),value:key1});else templates.push({name:key1,value:key1});}return [4,inquirer.prompt([{type:"select",name:"template",message:"Select a template:",choices:templates}])];case 5:answers2=_state.sent();repo2=isUserDefineCategories?config.categories[answers1.category][answers2.template].repo:config.defaultCategories[answers1.category][answers2.template].repo;args2=isUserDefineCategories?config.categories[answers1.category][answers2.template].args:config.defaultCategories[answers1.category][answers2.template].args;return [2,_object_spread_props(_object_spread({},answers1,answers2),{repo:repo2,args:args2})];case 6:error=_state.sent();if(error.name==="ExitPromptError"){console.log("\nProcess interrupted. Exiting gracefully.");process.exit(0);}else {throw error}return [3,7];case 7:return [2]}})})()};
146
-
147
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return}if(info.done){resolve(value);}else {Promise.resolve(value).then(_next,_throw);}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return {value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throw op[1];return {value:op[0]?op[1]:void 0,done:true}}}var boot=function boot(){return _async_to_generator(function(){var config,cli,answer,PROJECT_PATH,PROJECT_GIT_PATH;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log();config=getConfig();return [4,getCli()];case 1:cli=_state.sent();return [4,projectPrompt(cli,config)];case 2:answer=_state.sent();PROJECT_PATH="".concat(process.cwd(),"/").concat(answer.projectName);PROJECT_GIT_PATH="".concat(PROJECT_PATH,"/.git");if(pathExists(PROJECT_PATH)){console.error('❌ Error: Cannot create project "'.concat(answer.projectName,'".\n')+"A directory with this name already exists.\n"+"Please choose a different name or delete the existing folder.");process.exit(1);}gitClone(answer.repo,answer.projectName);rmRF(PROJECT_GIT_PATH);answer.args.forEach(function(item){var value=item.value==="projectName"?answer.projectName:item.value;filesChangeContent(PROJECT_PATH,item.str,value);});return [2]}})})()};
148
-
149
- module.exports = boot;
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`yargs`);c=s(c);let l=require(`yargs/helpers`),u=require(`node:fs`),d=require(`node:child_process`),f=require(`node:path`),p=require(`inquirer`);p=s(p);var m=process.platform,h=`${process.env.APPDATA||(m==`darwin`?process.env.HOME+`/Library/Preferences`:process.env.HOME+`/.local/share`)}/create-make`,g=`${h}/config.json`,_={TypeScript:{"vite-vanilla-ts":{name:`Vanilla`,repo:`https://github.com/z-starter/vite-vanilla-ts.git`,args:[{str:`vite-vanilla-ts`,value:`projectName`}]},"vite-phaser-ts":{name:`Phaser`,repo:`https://github.com/z-starter/vite-phaser-ts.git`,args:[{str:`vite-phaser-ts`,value:`projectName`}]},"vite-node-ts":{name:`Vite Node`,repo:`https://github.com/z-starter/vite-node-ts.git`,args:[{str:`vite-node-ts`,value:`projectName`}]},"vite-monorepo-ts":{name:`Vite Monorepo`,repo:`https://github.com/z-starter/vite-monorepo-ts.git`,args:[{str:`vite-monorepo-ts`,value:`projectName`}]},"vite-lib-ts":{name:`Vite Library`,repo:`https://github.com/z-starter/vite-lib-ts.git`,args:[{str:`vite-lib-ts`,value:`projectName`}]},"vite-cli-ts":{name:`Vite Cli`,repo:`https://github.com/z-starter/vite-cli-ts.git`,args:[{str:`vite-cli-ts`,value:`projectName`}]}}},v=`${h}/schema.json`,y={$schema:`https://json-schema.org/draft-07/schema`,$id:`https://example.com/product.schema.json`,title:`Create Make`,description:`An advanced CLI tool for creating projects from GitHub repositories or custom templates with lightning-fast setup.`,type:`object`,properties:{categories:{type:`object`,additionalProperties:{type:`object`,additionalProperties:{type:`object`,properties:{name:{type:`string`,default:`templateName`},repo:{type:`string`,default:`repoUrl`},args:{type:`array`,items:{type:`object`,properties:{str:{type:`string`,default:`contentToReplace`},value:{type:`string`,default:`projectName`}}}}}}}}}};function b(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function x(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){b(a,r,i,o,s,`next`,e)}function s(e){b(a,r,i,o,s,`throw`,e)}o(void 0)})}}function S(e,t){var n,r,i,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype),s=Object.defineProperty;return s(o,`next`,{value:c(0)}),s(o,`throw`,{value:c(1)}),s(o,`return`,{value:c(2)}),typeof Symbol==`function`&&s(o,Symbol.iterator,{value:function(){return this}}),o;function c(e){return function(t){return l([e,t])}}function l(s){if(n)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=s[0]&2?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if((i=a.trys,!(i=i.length>0&&i[i.length-1]))&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(s[0]===6&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}var C=function(){return x(function(){var e,t,n,r,i,a;return S(this,function(o){switch(o.label){case 0:return e=`0.10.0`,t=(0,c.default)((0,l.hideBin)(process.argv)).scriptName(`create-make`).usage(`Usage: $0 [projectName] [options]`).epilogue(`
2
+ 📦 Create projects in seconds with built-in or custom templates!
3
+
4
+ Quick Start:
5
+ Interactive mode: \$0 (Guided setup)
6
+ Built-in template: \$0 my-app -t vite-vanilla-ts (Skip prompts)
7
+ Custom template: \$0 my-project -o express-api (Use custom config)
8
+
9
+ 💡 Tips:
10
+ When using --template or --other-template, projectName is required
11
+ • Omit projectName to be prompted for it
12
+ Add custom templates via config file at ${g}
13
+
14
+ For more information, visit: https://github.com/z-npm/create-make
15
+ `).example(`$0`,`Start interactive mode - guided project setup`).example(`$0 my-project`,`Set project name, then choose template interactively`).example(`$0 my-app --template vite-vanilla-ts`,`Create Vite web project (skips prompts)`).example(`$0 my-api -t vite-node-ts`,`Create Vite Node project (alias, skips prompts)`).example(`$0 my-project --other-template my-backend`,`Use custom template from config`).example(`$0 my-site -o react-starter`,`Use custom template (alias)`).option(`template`,{alias:`t`,type:`string`,describe:`Use built-in template (skips category/template selection)`,requiresArg:!0,conflicts:`other-template`}).option(`other-template`,{alias:`o`,type:`string`,describe:`Use custom template from config (skips to custom template selection)`,requiresArg:!0,conflicts:`template`}).option(`help`,{alias:`h`,type:`boolean`,describe:`Show help information`}).check(function(e){if((e.template||e[`other-template`])&&!e._[0])throw Error(`Project name is required when using --template or --other-template`);return!0}).help(`help`,`Show this help message`).alias(`help`,`h`).version(e).alias(`v`,`version`).demandCommand(0,1,`Provide at most one project name`).strict(),[4,t.parseAsync()];case 1:return n=o.sent(),r=n._[0],i=n.template,a=n.otherTemplate,(i||a)&&!r&&(console.error(`❌ Error: Project name is required`),console.error(`📖 Usage: create-make <project-name>`),console.error(`💡 Example: create-make my-project`),process.exit(2)),[2,{projectName:r,template:i,otherTemplate:a}]}})})()};function w(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function T(e){if(Array.isArray(e))return w(e)}function E(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function D(){throw TypeError(`Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O(e){return T(e)||E(e)||k(e)||D()}function k(e,t){if(e){if(typeof e==`string`)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(n);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return w(e,t)}}var A=function(e){return(0,u.mkdirSync)(e,{recursive:!0})},j=function(e){return(0,u.rmSync)(e,{recursive:!0,force:!0})},M=function(e){return(0,u.existsSync)(e)},N=function(e){return(0,u.readFileSync)(e,{encoding:`utf8`})},P=function(e,t){return(0,u.writeFileSync)(e,t,{encoding:`utf8`})},F=function(e){return(0,d.execSync)(e,{stdio:[0,1,2],cwd:arguments.length>1&&arguments[1]!==void 0?arguments[1]:process.cwd()})},I=function(e,t){return F(`git clone --depth=1 ${e} ${t}`)},L=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[`node_modules`,`.git`],r=[];return(0,u.readdirSync)(e).forEach(function(i){var a=(0,f.join)(e,i);n.includes(a)||((0,u.statSync)(a).isDirectory()?r=O(r).concat(O(L(a,t))):(t===!0||RegExp(`\\b`+t+`\\b`).test((0,f.basename)(i)))&&r.push(a))}),r},R=function(e,t,n){L(e,!0).map(function(e){var r=(0,u.readFileSync)(e,{encoding:`utf-8`});RegExp(`\\b`+t+`\\b`).test(r)&&(0,u.writeFileSync)(e,r.replaceAll(t,n),{encoding:`utf-8`})})};function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){z(e,t,n[t])})}return e}function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function H(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):V(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}var U=function(){var e=!1,t={$schema:`./schema.json`,categories:{}};return M(g)?t=JSON.parse(N(g)):e=!0,e&&(A(h),P(v,JSON.stringify(y,null,2)),P(g,JSON.stringify(t,null,2))),H(B({},t),{needInit:e,defaultCategories:_})};function W(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function G(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){W(a,r,i,o,s,`next`,e)}function s(e){W(a,r,i,o,s,`throw`,e)}o(void 0)})}}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t],r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Y(e,t){return t??={},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):J(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function X(e,t){var n,r,i,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype),s=Object.defineProperty;return s(o,`next`,{value:c(0)}),s(o,`throw`,{value:c(1)}),s(o,`return`,{value:c(2)}),typeof Symbol==`function`&&s(o,Symbol.iterator,{value:function(){return this}}),o;function c(e){return function(t){return l([e,t])}}function l(s){if(n)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=s[0]&2?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if((i=a.trys,!(i=i.length>0&&i[i.length-1]))&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(s[0]===6&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}var Z=function(e,t){return G(function(){var n,r,i,a,o,s,c,l,u,d,f,m,h,_,v,y,b,x,S,C,w,T;return X(this,function(E){switch(E.label){case 0:if(e.projectName&&e.template){for(var D in n=t.defaultCategories,r=[],n)for(var O in n[D])if(i=n[D][O].args,a=n[D][O].repo,r.push(O),i[0].str===e.template)return[2,{category:D,template:O,projectName:e.projectName,args:i,repo:a}];console.error(`❌ Error: Template "${e.template}" was not found.
16
+ Available templates:
17
+ • ${r.join(`
18
+ • `)}
19
+ Please select one of the templates above.`),process.exit(2)}if(e.projectName&&e.otherTemplate){for(var k in o=t.categories,s=[],o)for(var A in o[k])if(c=o[k][A].args,l=o[k][A].repo,s.push(A),c[0].str===e.otherTemplate)return[2,{category:k,template:A,projectName:e.projectName,args:c,repo:l}];u=s.length>0?`Available templates:
20
+ ${s.join(`
21
+ • `)}
22
+ Please select one of the templates above.`:`
23
+ No custom templates are currently configured.
24
+ Please check your configuration at:
25
+ ${g}
26
+
27
+ To add templates, edit the configuration file and add template definitions.`,console.error(`❌ Error: Template "${e.otherTemplate}" was not found.
28
+ ${u}`),process.exit(2)}d=[],f=Object.keys(t.defaultCategories),m=Object.keys(t.categories),m.length>0&&f.push(`Others`),e.projectName||d.push({type:`input`,name:`projectName`,message:`Project name:`,default:`my-project`}),d.push({type:`select`,name:`category`,message:`Select a category:`,choices:f}),E.label=1;case 1:return E.trys.push([1,6,,7]),[4,p.default.prompt(d)];case 2:return _=E.sent(),(h=_).projectName??(h.projectName=e.projectName),v=_.category===`Others`,v?[4,p.default.prompt([{type:`select`,name:`category`,message:`Select a category:`,choices:m}])]:[3,4];case 3:_.category=E.sent().category,E.label=4;case 4:if(y=[],v)for(var j in t.categories[_.category])b=t.categories[_.category][j],b.name?y.push({name:`${b.name}(${j})`,value:j}):y.push({name:j,value:j});else for(var M in t.defaultCategories[_.category])x=t.defaultCategories[_.category][M],x.name?y.push({name:`${x.name}(${M})`,value:M}):y.push({name:M,value:M});return[4,p.default.prompt([{type:`select`,name:`template`,message:`Select a template:`,choices:y}])];case 5:return S=E.sent(),C=v?t.categories[_.category][S.template].repo:t.defaultCategories[_.category][S.template].repo,w=v?t.categories[_.category][S.template].args:t.defaultCategories[_.category][S.template].args,[2,Y(q({},_,S),{repo:C,args:w})];case 6:if(T=E.sent(),T.name===`ExitPromptError`)console.log(`
29
+ Process interrupted. Exiting gracefully.`),process.exit(0);else throw T;return[3,7];case 7:return[2]}})})()};function Q(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function $(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){Q(a,r,i,o,s,`next`,e)}function s(e){Q(a,r,i,o,s,`throw`,e)}o(void 0)})}}function ee(e,t){var n,r,i,a={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==`function`?Iterator:Object).prototype),s=Object.defineProperty;return s(o,`next`,{value:c(0)}),s(o,`throw`,{value:c(1)}),s(o,`return`,{value:c(2)}),typeof Symbol==`function`&&s(o,Symbol.iterator,{value:function(){return this}}),o;function c(e){return function(t){return l([e,t])}}function l(s){if(n)throw TypeError(`Generator is already executing.`);for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=s[0]&2?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if((i=a.trys,!(i=i.length>0&&i[i.length-1]))&&(s[0]===6||s[0]===2)){a=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(s[0]===6&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}var te=function(){return $(function(){var e,t,n,r,i;return ee(this,function(a){switch(a.label){case 0:return console.log(),e=U(),[4,C()];case 1:return t=a.sent(),[4,Z(t,e)];case 2:return n=a.sent(),r=`${process.cwd()}/${n.projectName}`,i=`${r}/.git`,M(r)&&(console.error(`❌ Error: Cannot create project "${n.projectName}".
30
+ A directory with this name already exists.
31
+ Please choose a different name or delete the existing folder.`),process.exit(1)),I(n.repo,n.projectName),j(i),n.args.forEach(function(e){var t=e.value===`projectName`?n.projectName:e.value;R(r,e.str,t)}),[2]}})})()};module.exports=te;
package/dist/index.js CHANGED
@@ -1,147 +1,691 @@
1
- import yargs from 'yargs';
2
- import { hideBin } from 'yargs/helpers';
3
- import { existsSync, rmSync, readFileSync, writeFileSync, readdirSync, statSync, mkdirSync } from 'node:fs';
4
- import { execSync } from 'node:child_process';
5
- import { join } from 'node:path';
6
- import inquirer from 'inquirer';
7
-
8
- var OS_NAME=process.platform;var OS_APP_HOME=process.env.APPDATA||(OS_NAME=="darwin"?process.env.HOME+"/Library/Preferences":process.env.HOME+"/.local/share");var APP_PATH="".concat(OS_APP_HOME,"/create-make");var CONFIG_PATH="".concat(APP_PATH,"/config.json");var DEFAULT_CATEGORIES={TypeScript:{"vite-vanilla-ts":{name:"Vanilla",repo:"https://github.com/z-starter/vite-vanilla-ts.git",args:[{str:"vite-vanilla-ts",value:"projectName"}]},"vite-phaser-ts":{name:"Phaser",repo:"https://github.com/z-starter/vite-phaser-ts.git",args:[{str:"vite-phaser-ts",value:"projectName"}]},"vite-node-ts":{name:"Vite Node",repo:"https://github.com/z-starter/vite-node-ts.git",args:[{str:"vite-node-ts",value:"projectName"}]},"vite-monorepo-ts":{name:"Vite Monorepo",repo:"https://github.com/z-starter/vite-monorepo-ts.git",args:[{str:"vite-monorepo-ts",value:"projectName"}]},"vite-lib-ts":{name:"Vite Library",repo:"https://github.com/z-starter/vite-lib-ts.git",args:[{str:"vite-lib-ts",value:"projectName"}]},"vite-cli-ts":{name:"Vite Cli",repo:"https://github.com/z-starter/vite-cli-ts.git",args:[{str:"vite-cli-ts",value:"projectName"}]}}};var SCHEMA_PATH="".concat(APP_PATH,"/schema.json");var DEFAULT_SCHEMA={$schema:"https://json-schema.org/draft-07/schema",$id:"https://example.com/product.schema.json",title:"Create Make",description:"An advanced CLI tool for creating projects from GitHub repositories or custom templates with lightning-fast setup.",type:"object",properties:{categories:{type:"object",additionalProperties:{type:"object",additionalProperties:{type:"object",properties:{name:{type:"string",default:"templateName"},repo:{type:"string",default:"repoUrl"},args:{type:"array",items:{type:"object",properties:{str:{type:"string",default:"contentToReplace"},value:{type:"string",default:"projectName"}}}}}}}}}};
9
-
10
- function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
11
- try {
12
- var info = gen[key](arg);
13
- var value = info.value;
14
- } catch (error) {
15
- reject(error);
16
- return;
17
- }
18
- if (info.done) {
19
- resolve(value);
20
- } else {
21
- Promise.resolve(value).then(_next, _throw);
22
- }
23
- }
24
- function _async_to_generator$2(fn) {
25
- return function() {
26
- var self = this, args = arguments;
27
- return new Promise(function(resolve, reject) {
28
- var gen = fn.apply(self, args);
29
- function _next(value) {
30
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
31
- }
32
- function _throw(err) {
33
- asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
34
- }
35
- _next(void 0);
36
- });
37
- };
38
- }
39
- function _ts_generator$2(thisArg, body) {
40
- var f, y, t, _ = { label: 0, sent: function() {
41
- if (t[0] & 1) throw t[1];
42
- return t[1];
43
- }, trys: [], ops: [] }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
44
- return d(g, "next", { value: verb(0) }), d(g, "throw", { value: verb(1) }), d(g, "return", { value: verb(2) }), typeof Symbol === "function" && d(g, Symbol.iterator, { value: function() {
45
- return this;
46
- } }), g;
47
- function verb(n) {
48
- return function(v) {
49
- return step([n, v]);
50
- };
51
- }
52
- function step(op) {
53
- if (f) throw new TypeError("Generator is already executing.");
54
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
55
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
56
- if (y = 0, t) op = [op[0] & 2, t.value];
57
- switch (op[0]) {
58
- case 0:
59
- case 1:
60
- t = op;
61
- break;
62
- case 4:
63
- _.label++;
64
- return { value: op[1], done: false };
65
- case 5:
66
- _.label++;
67
- y = op[1];
68
- op = [0];
69
- continue;
70
- case 7:
71
- op = _.ops.pop();
72
- _.trys.pop();
73
- continue;
74
- default:
75
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
76
- _ = 0;
77
- continue;
78
- }
79
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
80
- _.label = op[1];
81
- break;
82
- }
83
- if (op[0] === 6 && _.label < t[1]) {
84
- _.label = t[1];
85
- t = op;
86
- break;
87
- }
88
- if (t && _.label < t[2]) {
89
- _.label = t[2];
90
- _.ops.push(op);
91
- break;
92
- }
93
- if (t[2]) _.ops.pop();
94
- _.trys.pop();
95
- continue;
96
- }
97
- op = body.call(thisArg, _);
98
- } catch (e) {
99
- op = [6, e];
100
- y = 0;
101
- } finally {
102
- f = t = 0;
103
- }
104
- if (op[0] & 5) throw op[1];
105
- return { value: op[0] ? op[1] : void 0, done: true };
106
- }
107
- }
108
- var getCli = function getCli2() {
109
- return _async_to_generator$2(function() {
110
- var version, yargsInstance, argv, projectName, template, otherTemplate;
111
- return _ts_generator$2(this, function(_state) {
112
- switch (_state.label) {
113
- case 0:
114
- version = "0.9.0";
115
- yargsInstance = yargs(hideBin(process.argv)).scriptName("create-make").usage("Usage: $0 [projectName] [options]").epilogue("\n\u{1F4E6} Create projects in seconds with built-in or custom templates!\n\nQuick Start:\n \u2022 Interactive mode: $0 (Guided setup)\n \u2022 Built-in template: $0 my-app -t vite-vanilla-ts (Skip prompts)\n \u2022 Custom template: $0 my-project -o express-api (Use custom config)\n\n\u{1F4A1} Tips:\n \u2022 When using --template or --other-template, projectName is required\n \u2022 Omit projectName to be prompted for it\n \u2022 Add custom templates via config file at ".concat(CONFIG_PATH, "\n\nFor more information, visit: https://github.com/z-npm/create-make\n")).example("$0", "Start interactive mode - guided project setup").example("$0 my-project", "Set project name, then choose template interactively").example("$0 my-app --template vite-vanilla-ts", "Create Vite web project (skips prompts)").example("$0 my-api -t vite-node-ts", "Create Vite Node project (alias, skips prompts)").example("$0 my-project --other-template my-backend", "Use custom template from config").example("$0 my-site -o react-starter", "Use custom template (alias)").option("template", { alias: "t", type: "string", describe: "Use built-in template (skips category/template selection)", requiresArg: true, conflicts: "other-template" }).option("other-template", { alias: "o", type: "string", describe: "Use custom template from config (skips to custom template selection)", requiresArg: true, conflicts: "template" }).option("help", { alias: "h", type: "boolean", describe: "Show help information" }).check(function(argv2) {
116
- if ((argv2.template || argv2["other-template"]) && !argv2._[0]) {
117
- throw new Error("Project name is required when using --template or --other-template");
118
- }
119
- return true;
120
- }).help("help", "Show this help message").alias("help", "h").version(version).alias("v", "version").demandCommand(0, 1, "Provide at most one project name").strict();
121
- return [4, yargsInstance.parseAsync()];
122
- case 1:
123
- argv = _state.sent();
124
- projectName = argv._[0];
125
- template = argv.template;
126
- otherTemplate = argv.otherTemplate;
127
- if ((template || otherTemplate) && !projectName) {
128
- console.error("\u274C Error: Project name is required");
129
- console.error("\u{1F4D6} Usage: create-make <project-name>");
130
- console.error("\u{1F4A1} Example: create-make my-project");
131
- process.exit(2);
132
- }
133
- return [2, { projectName, template, otherTemplate }];
134
- }
135
- });
136
- })();
1
+ import e from "yargs";
2
+ import { hideBin as t } from "yargs/helpers";
3
+ import { existsSync as n, mkdirSync as r, readFileSync as i, readdirSync as a, rmSync as o, statSync as s, writeFileSync as c } from "node:fs";
4
+ import { execSync as l } from "node:child_process";
5
+ import { basename as u, join as d } from "node:path";
6
+ import f from "inquirer";
7
+ //#region src/constant.ts
8
+ var p = process.platform, m = `${process.env.APPDATA || (p == "darwin" ? process.env.HOME + "/Library/Preferences" : process.env.HOME + "/.local/share")}/create-make`, h = `${m}/config.json`, g = { TypeScript: {
9
+ "vite-vanilla-ts": {
10
+ name: "Vanilla",
11
+ repo: "https://github.com/z-starter/vite-vanilla-ts.git",
12
+ args: [{
13
+ str: "vite-vanilla-ts",
14
+ value: "projectName"
15
+ }]
16
+ },
17
+ "vite-phaser-ts": {
18
+ name: "Phaser",
19
+ repo: "https://github.com/z-starter/vite-phaser-ts.git",
20
+ args: [{
21
+ str: "vite-phaser-ts",
22
+ value: "projectName"
23
+ }]
24
+ },
25
+ "vite-node-ts": {
26
+ name: "Vite Node",
27
+ repo: "https://github.com/z-starter/vite-node-ts.git",
28
+ args: [{
29
+ str: "vite-node-ts",
30
+ value: "projectName"
31
+ }]
32
+ },
33
+ "vite-monorepo-ts": {
34
+ name: "Vite Monorepo",
35
+ repo: "https://github.com/z-starter/vite-monorepo-ts.git",
36
+ args: [{
37
+ str: "vite-monorepo-ts",
38
+ value: "projectName"
39
+ }]
40
+ },
41
+ "vite-lib-ts": {
42
+ name: "Vite Library",
43
+ repo: "https://github.com/z-starter/vite-lib-ts.git",
44
+ args: [{
45
+ str: "vite-lib-ts",
46
+ value: "projectName"
47
+ }]
48
+ },
49
+ "vite-cli-ts": {
50
+ name: "Vite Cli",
51
+ repo: "https://github.com/z-starter/vite-cli-ts.git",
52
+ args: [{
53
+ str: "vite-cli-ts",
54
+ value: "projectName"
55
+ }]
56
+ }
57
+ } }, _ = `${m}/schema.json`, v = {
58
+ $schema: "https://json-schema.org/draft-07/schema",
59
+ $id: "https://example.com/product.schema.json",
60
+ title: "Create Make",
61
+ description: "An advanced CLI tool for creating projects from GitHub repositories or custom templates with lightning-fast setup.",
62
+ type: "object",
63
+ properties: { categories: {
64
+ type: "object",
65
+ additionalProperties: {
66
+ type: "object",
67
+ additionalProperties: {
68
+ type: "object",
69
+ properties: {
70
+ name: {
71
+ type: "string",
72
+ default: "templateName"
73
+ },
74
+ repo: {
75
+ type: "string",
76
+ default: "repoUrl"
77
+ },
78
+ args: {
79
+ type: "array",
80
+ items: {
81
+ type: "object",
82
+ properties: {
83
+ str: {
84
+ type: "string",
85
+ default: "contentToReplace"
86
+ },
87
+ value: {
88
+ type: "string",
89
+ default: "projectName"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ } }
137
98
  };
99
+ //#endregion
100
+ //#region src/cli.ts
101
+ function y(e, t, n, r, i, a, o) {
102
+ try {
103
+ var s = e[a](o), c = s.value;
104
+ } catch (e) {
105
+ n(e);
106
+ return;
107
+ }
108
+ s.done ? t(c) : Promise.resolve(c).then(r, i);
109
+ }
110
+ function b(e) {
111
+ return function() {
112
+ var t = this, n = arguments;
113
+ return new Promise(function(r, i) {
114
+ var a = e.apply(t, n);
115
+ function o(e) {
116
+ y(a, r, i, o, s, "next", e);
117
+ }
118
+ function s(e) {
119
+ y(a, r, i, o, s, "throw", e);
120
+ }
121
+ o(void 0);
122
+ });
123
+ };
124
+ }
125
+ function x(e, t) {
126
+ var n, r, i, a = {
127
+ label: 0,
128
+ sent: function() {
129
+ if (i[0] & 1) throw i[1];
130
+ return i[1];
131
+ },
132
+ trys: [],
133
+ ops: []
134
+ }, o = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype), s = Object.defineProperty;
135
+ return s(o, "next", { value: c(0) }), s(o, "throw", { value: c(1) }), s(o, "return", { value: c(2) }), typeof Symbol == "function" && s(o, Symbol.iterator, { value: function() {
136
+ return this;
137
+ } }), o;
138
+ function c(e) {
139
+ return function(t) {
140
+ return l([e, t]);
141
+ };
142
+ }
143
+ function l(s) {
144
+ if (n) throw TypeError("Generator is already executing.");
145
+ for (; o && (o = 0, s[0] && (a = 0)), a;) try {
146
+ if (n = 1, r && (i = s[0] & 2 ? r.return : s[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, s[1])).done) return i;
147
+ switch (r = 0, i && (s = [s[0] & 2, i.value]), s[0]) {
148
+ case 0:
149
+ case 1:
150
+ i = s;
151
+ break;
152
+ case 4: return a.label++, {
153
+ value: s[1],
154
+ done: !1
155
+ };
156
+ case 5:
157
+ a.label++, r = s[1], s = [0];
158
+ continue;
159
+ case 7:
160
+ s = a.ops.pop(), a.trys.pop();
161
+ continue;
162
+ default:
163
+ if ((i = a.trys, !(i = i.length > 0 && i[i.length - 1])) && (s[0] === 6 || s[0] === 2)) {
164
+ a = 0;
165
+ continue;
166
+ }
167
+ if (s[0] === 3 && (!i || s[1] > i[0] && s[1] < i[3])) {
168
+ a.label = s[1];
169
+ break;
170
+ }
171
+ if (s[0] === 6 && a.label < i[1]) {
172
+ a.label = i[1], i = s;
173
+ break;
174
+ }
175
+ if (i && a.label < i[2]) {
176
+ a.label = i[2], a.ops.push(s);
177
+ break;
178
+ }
179
+ i[2] && a.ops.pop(), a.trys.pop();
180
+ continue;
181
+ }
182
+ s = t.call(e, a);
183
+ } catch (e) {
184
+ s = [6, e], r = 0;
185
+ } finally {
186
+ n = i = 0;
187
+ }
188
+ if (s[0] & 5) throw s[1];
189
+ return {
190
+ value: s[0] ? s[1] : void 0,
191
+ done: !0
192
+ };
193
+ }
194
+ }
195
+ var S = function() {
196
+ return b(function() {
197
+ var n, r, i, a, o, s;
198
+ return x(this, function(c) {
199
+ switch (c.label) {
200
+ case 0: return n = "0.10.0", r = e(t(process.argv)).scriptName("create-make").usage("Usage: $0 [projectName] [options]").epilogue(`
201
+ 📦 Create projects in seconds with built-in or custom templates!
138
202
 
139
- function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}var mkdir=function mkdir(path){return mkdirSync(path,{recursive:true})};var rmRF=function rmRF(path){return rmSync(path,{recursive:true,force:true})};var pathExists=function pathExists(path){return existsSync(path)};var readFile=function readFile(path){return readFileSync(path,{encoding:"utf8"})};var writeFile=function writeFile(path,data){return writeFileSync(path,data,{encoding:"utf8"})};var cmd=function cmd(command){var path=arguments.length>1&&arguments[1]!==void 0?arguments[1]:process.cwd();return execSync(command,{stdio:[0,1,2],cwd:path})};var gitClone=function gitClone(repo,projectName){return cmd("git clone --depth=1 ".concat(repo," ").concat(projectName))};var findFile=function findFile1(dir,fileName){var exclude=arguments.length>2&&arguments[2]!==void 0?arguments[2]:["node_modules",".git"];var finds=[];readdirSync(dir).forEach(function(file){var filePath=join(dir,file);if(!exclude.includes(filePath)){var fileStat=statSync(filePath);if(fileStat.isDirectory())finds=_to_consumable_array(finds).concat(_to_consumable_array(findFile(filePath,fileName)));else finds.push(filePath);}});return finds};var filesChangeContent=function filesChangeContent(path,oldContent,newContent){findFile(path,true).map(function(item){var content=readFileSync(item,{encoding:"utf-8"});if(new RegExp("\\b"+oldContent+"\\b").test(content)){writeFileSync(item,content.replaceAll(oldContent,newContent),{encoding:"utf-8"});}});};
140
-
141
- function _define_property$1(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else {obj[key]=value;}return obj}function _object_spread$1(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}));}ownKeys.forEach(function(key){_define_property$1(target,key,source[key]);});}return target}function ownKeys$1(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);keys.push.apply(keys,symbols);}return keys}function _object_spread_props$1(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else {ownKeys$1(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}var getConfig=function getConfig(){var needInit=false;var config={$schema:"./schema.json",categories:{}};if(pathExists(CONFIG_PATH))config=JSON.parse(readFile(CONFIG_PATH));else needInit=true;if(needInit){mkdir(APP_PATH);writeFile(SCHEMA_PATH,JSON.stringify(DEFAULT_SCHEMA,null,2));writeFile(CONFIG_PATH,JSON.stringify(config,null,2));}return _object_spread_props$1(_object_spread$1({},config),{needInit:needInit,defaultCategories:DEFAULT_CATEGORIES})};
203
+ Quick Start:
204
+ • Interactive mode: \$0 (Guided setup)
205
+ Built-in template: \$0 my-app -t vite-vanilla-ts (Skip prompts)
206
+ • Custom template: \$0 my-project -o express-api (Use custom config)
142
207
 
143
- function asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return}if(info.done){resolve(value);}else {Promise.resolve(value).then(_next,_throw);}}function _async_to_generator$1(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep$1(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);})}}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else {obj[key]=value;}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}));}ownKeys.forEach(function(key){_define_property(target,key,source[key]);});}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);keys.push.apply(keys,symbols);}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source));}else {ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target}function _ts_generator$1(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return {value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throw op[1];return {value:op[0]?op[1]:void 0,done:true}}}var projectPrompt=function projectPrompt(cli,config){return _async_to_generator$1(function(){var dcArr,tStrArr,args,repo,ucArr,tStrArr1,args1,repo1,eMsg,prompt1,defaultCategories,userDefineCategories,_answers1,_projectName,answers1,isUserDefineCategories,templates,tobj,tobj1,answers2,repo2,args2,error;return _ts_generator$1(this,function(_state){switch(_state.label){case 0:if(cli.projectName&&cli.template){dcArr=config.defaultCategories;tStrArr=[];for(var category in dcArr){for(var template in dcArr[category]){args=dcArr[category][template].args;repo=dcArr[category][template].repo;tStrArr.push(template);if(args[0].str===cli.template)return [2,{category:category,template:template,projectName:cli.projectName,args:args,repo:repo}]}}console.error('❌ Error: Template "'.concat(cli.template,'" was not found.\n')+"Available templates:\n"+" • ".concat(tStrArr.join("\n • "),"\n")+"Please select one of the templates above.");process.exit(2);}if(cli.projectName&&cli.otherTemplate){ucArr=config.categories;tStrArr1=[];for(var category1 in ucArr){for(var template1 in ucArr[category1]){args1=ucArr[category1][template1].args;repo1=ucArr[category1][template1].repo;tStrArr1.push(template1);if(args1[0].str===cli.otherTemplate)return [2,{category:category1,template:template1,projectName:cli.projectName,args:args1,repo:repo1}]}}eMsg=tStrArr1.length>0?"Available templates:\n"+" • ".concat(tStrArr1.join("\n • "),"\n")+"Please select one of the templates above.":"\nNo custom templates are currently configured.\n"+"Please check your configuration at:\n ".concat(CONFIG_PATH,"\n\n")+"To add templates, edit the configuration file and add template definitions.";console.error('❌ Error: Template "'.concat(cli.otherTemplate,'" was not found.\n').concat(eMsg));process.exit(2);}prompt1=[];defaultCategories=Object.keys(config.defaultCategories);userDefineCategories=Object.keys(config.categories);if(userDefineCategories.length>0)defaultCategories.push("Others");if(!cli.projectName)prompt1.push({type:"input",name:"projectName",message:"Project name:",default:"my-project"});prompt1.push({type:"select",name:"category",message:"Select a category:",choices:defaultCategories});_state.label=1;case 1:_state.trys.push([1,6,,7]);return [4,inquirer.prompt(prompt1)];case 2:answers1=_state.sent();(_projectName=(_answers1=answers1).projectName)!==null&&_projectName!==void 0?_projectName:_answers1.projectName=cli.projectName;isUserDefineCategories=answers1.category==="Others";if(!isUserDefineCategories)return [3,4];return [4,inquirer.prompt([{type:"select",name:"category",message:"Select a category:",choices:userDefineCategories}])];case 3:answers1.category=_state.sent().category;_state.label=4;case 4:templates=[];if(isUserDefineCategories)for(var key in config.categories[answers1.category]){tobj=config.categories[answers1.category][key];if(tobj.name)templates.push({name:"".concat(tobj.name,"(").concat(key,")"),value:key});else templates.push({name:key,value:key});}else for(var key1 in config.defaultCategories[answers1.category]){tobj1=config.defaultCategories[answers1.category][key1];if(tobj1.name)templates.push({name:"".concat(tobj1.name,"(").concat(key1,")"),value:key1});else templates.push({name:key1,value:key1});}return [4,inquirer.prompt([{type:"select",name:"template",message:"Select a template:",choices:templates}])];case 5:answers2=_state.sent();repo2=isUserDefineCategories?config.categories[answers1.category][answers2.template].repo:config.defaultCategories[answers1.category][answers2.template].repo;args2=isUserDefineCategories?config.categories[answers1.category][answers2.template].args:config.defaultCategories[answers1.category][answers2.template].args;return [2,_object_spread_props(_object_spread({},answers1,answers2),{repo:repo2,args:args2})];case 6:error=_state.sent();if(error.name==="ExitPromptError"){console.log("\nProcess interrupted. Exiting gracefully.");process.exit(0);}else {throw error}return [3,7];case 7:return [2]}})})()};
208
+ 💡 Tips:
209
+ • When using --template or --other-template, projectName is required
210
+ • Omit projectName to be prompted for it
211
+ • Add custom templates via config file at ${h}
144
212
 
145
- function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return}if(info.done){resolve(value);}else {Promise.resolve(value).then(_next,_throw);}}function _async_to_generator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);})}}function _ts_generator(thisArg,body){var f,y,t,_={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},g=Object.create((typeof Iterator==="function"?Iterator:Object).prototype),d=Object.defineProperty;return d(g,"next",{value:verb(0)}),d(g,"throw",{value:verb(1)}),d(g,"return",{value:verb(2)}),typeof Symbol==="function"&&d(g,Symbol.iterator,{value:function(){return this}}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return {value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||op[1]>t[0]&&op[1]<t[3])){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throw op[1];return {value:op[0]?op[1]:void 0,done:true}}}var boot=function boot(){return _async_to_generator(function(){var config,cli,answer,PROJECT_PATH,PROJECT_GIT_PATH;return _ts_generator(this,function(_state){switch(_state.label){case 0:console.log();config=getConfig();return [4,getCli()];case 1:cli=_state.sent();return [4,projectPrompt(cli,config)];case 2:answer=_state.sent();PROJECT_PATH="".concat(process.cwd(),"/").concat(answer.projectName);PROJECT_GIT_PATH="".concat(PROJECT_PATH,"/.git");if(pathExists(PROJECT_PATH)){console.error('❌ Error: Cannot create project "'.concat(answer.projectName,'".\n')+"A directory with this name already exists.\n"+"Please choose a different name or delete the existing folder.");process.exit(1);}gitClone(answer.repo,answer.projectName);rmRF(PROJECT_GIT_PATH);answer.args.forEach(function(item){var value=item.value==="projectName"?answer.projectName:item.value;filesChangeContent(PROJECT_PATH,item.str,value);});return [2]}})})()};
213
+ For more information, visit: https://github.com/z-npm/create-make
214
+ `).example("$0", "Start interactive mode - guided project setup").example("$0 my-project", "Set project name, then choose template interactively").example("$0 my-app --template vite-vanilla-ts", "Create Vite web project (skips prompts)").example("$0 my-api -t vite-node-ts", "Create Vite Node project (alias, skips prompts)").example("$0 my-project --other-template my-backend", "Use custom template from config").example("$0 my-site -o react-starter", "Use custom template (alias)").option("template", {
215
+ alias: "t",
216
+ type: "string",
217
+ describe: "Use built-in template (skips category/template selection)",
218
+ requiresArg: !0,
219
+ conflicts: "other-template"
220
+ }).option("other-template", {
221
+ alias: "o",
222
+ type: "string",
223
+ describe: "Use custom template from config (skips to custom template selection)",
224
+ requiresArg: !0,
225
+ conflicts: "template"
226
+ }).option("help", {
227
+ alias: "h",
228
+ type: "boolean",
229
+ describe: "Show help information"
230
+ }).check(function(e) {
231
+ if ((e.template || e["other-template"]) && !e._[0]) throw Error("Project name is required when using --template or --other-template");
232
+ return !0;
233
+ }).help("help", "Show this help message").alias("help", "h").version(n).alias("v", "version").demandCommand(0, 1, "Provide at most one project name").strict(), [4, r.parseAsync()];
234
+ case 1: return i = c.sent(), a = i._[0], o = i.template, s = i.otherTemplate, (o || s) && !a && (console.error("❌ Error: Project name is required"), console.error("📖 Usage: create-make <project-name>"), console.error("💡 Example: create-make my-project"), process.exit(2)), [2, {
235
+ projectName: a,
236
+ template: o,
237
+ otherTemplate: s
238
+ }];
239
+ }
240
+ });
241
+ })();
242
+ };
243
+ //#endregion
244
+ //#region src/utils.ts
245
+ function C(e, t) {
246
+ (t == null || t > e.length) && (t = e.length);
247
+ for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
248
+ return r;
249
+ }
250
+ function w(e) {
251
+ if (Array.isArray(e)) return C(e);
252
+ }
253
+ function T(e) {
254
+ if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
255
+ }
256
+ function E() {
257
+ throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
258
+ }
259
+ function D(e) {
260
+ return w(e) || T(e) || O(e) || E();
261
+ }
262
+ function O(e, t) {
263
+ if (e) {
264
+ if (typeof e == "string") return C(e, t);
265
+ var n = Object.prototype.toString.call(e).slice(8, -1);
266
+ if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(n);
267
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return C(e, t);
268
+ }
269
+ }
270
+ var k = function(e) {
271
+ return r(e, { recursive: !0 });
272
+ }, A = function(e) {
273
+ return o(e, {
274
+ recursive: !0,
275
+ force: !0
276
+ });
277
+ }, j = function(e) {
278
+ return n(e);
279
+ }, M = function(e) {
280
+ return i(e, { encoding: "utf8" });
281
+ }, N = function(e, t) {
282
+ return c(e, t, { encoding: "utf8" });
283
+ }, P = function(e) {
284
+ return l(e, {
285
+ stdio: [
286
+ 0,
287
+ 1,
288
+ 2
289
+ ],
290
+ cwd: arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : process.cwd()
291
+ });
292
+ }, F = function(e, t) {
293
+ return P(`git clone --depth=1 ${e} ${t}`);
294
+ }, I = function(e, t) {
295
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ["node_modules", ".git"], r = [];
296
+ return a(e).forEach(function(i) {
297
+ var a = d(e, i);
298
+ n.includes(a) || (s(a).isDirectory() ? r = D(r).concat(D(I(a, t))) : (t === !0 || RegExp("\\b" + t + "\\b").test(u(i))) && r.push(a));
299
+ }), r;
300
+ }, L = function(e, t, n) {
301
+ I(e, !0).map(function(e) {
302
+ var r = i(e, { encoding: "utf-8" });
303
+ RegExp("\\b" + t + "\\b").test(r) && c(e, r.replaceAll(t, n), { encoding: "utf-8" });
304
+ });
305
+ };
306
+ //#endregion
307
+ //#region src/config.ts
308
+ function R(e, t, n) {
309
+ return t in e ? Object.defineProperty(e, t, {
310
+ value: n,
311
+ enumerable: !0,
312
+ configurable: !0,
313
+ writable: !0
314
+ }) : e[t] = n, e;
315
+ }
316
+ function z(e) {
317
+ for (var t = 1; t < arguments.length; t++) {
318
+ var n = arguments[t] == null ? {} : arguments[t], r = Object.keys(n);
319
+ typeof Object.getOwnPropertySymbols == "function" && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
320
+ return Object.getOwnPropertyDescriptor(n, e).enumerable;
321
+ }))), r.forEach(function(t) {
322
+ R(e, t, n[t]);
323
+ });
324
+ }
325
+ return e;
326
+ }
327
+ function B(e, t) {
328
+ var n = Object.keys(e);
329
+ if (Object.getOwnPropertySymbols) {
330
+ var r = Object.getOwnPropertySymbols(e);
331
+ t && (r = r.filter(function(t) {
332
+ return Object.getOwnPropertyDescriptor(e, t).enumerable;
333
+ })), n.push.apply(n, r);
334
+ }
335
+ return n;
336
+ }
337
+ function V(e, t) {
338
+ return t ??= {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : B(Object(t)).forEach(function(n) {
339
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
340
+ }), e;
341
+ }
342
+ var H = function() {
343
+ var e = !1, t = {
344
+ $schema: "./schema.json",
345
+ categories: {}
346
+ };
347
+ return j(h) ? t = JSON.parse(M(h)) : e = !0, e && (k(m), N(_, JSON.stringify(v, null, 2)), N(h, JSON.stringify(t, null, 2))), V(z({}, t), {
348
+ needInit: e,
349
+ defaultCategories: g
350
+ });
351
+ };
352
+ //#endregion
353
+ //#region src/prompt.ts
354
+ function U(e, t, n, r, i, a, o) {
355
+ try {
356
+ var s = e[a](o), c = s.value;
357
+ } catch (e) {
358
+ n(e);
359
+ return;
360
+ }
361
+ s.done ? t(c) : Promise.resolve(c).then(r, i);
362
+ }
363
+ function W(e) {
364
+ return function() {
365
+ var t = this, n = arguments;
366
+ return new Promise(function(r, i) {
367
+ var a = e.apply(t, n);
368
+ function o(e) {
369
+ U(a, r, i, o, s, "next", e);
370
+ }
371
+ function s(e) {
372
+ U(a, r, i, o, s, "throw", e);
373
+ }
374
+ o(void 0);
375
+ });
376
+ };
377
+ }
378
+ function G(e, t, n) {
379
+ return t in e ? Object.defineProperty(e, t, {
380
+ value: n,
381
+ enumerable: !0,
382
+ configurable: !0,
383
+ writable: !0
384
+ }) : e[t] = n, e;
385
+ }
386
+ function K(e) {
387
+ for (var t = 1; t < arguments.length; t++) {
388
+ var n = arguments[t] == null ? {} : arguments[t], r = Object.keys(n);
389
+ typeof Object.getOwnPropertySymbols == "function" && (r = r.concat(Object.getOwnPropertySymbols(n).filter(function(e) {
390
+ return Object.getOwnPropertyDescriptor(n, e).enumerable;
391
+ }))), r.forEach(function(t) {
392
+ G(e, t, n[t]);
393
+ });
394
+ }
395
+ return e;
396
+ }
397
+ function q(e, t) {
398
+ var n = Object.keys(e);
399
+ if (Object.getOwnPropertySymbols) {
400
+ var r = Object.getOwnPropertySymbols(e);
401
+ t && (r = r.filter(function(t) {
402
+ return Object.getOwnPropertyDescriptor(e, t).enumerable;
403
+ })), n.push.apply(n, r);
404
+ }
405
+ return n;
406
+ }
407
+ function J(e, t) {
408
+ return t ??= {}, Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : q(Object(t)).forEach(function(n) {
409
+ Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n));
410
+ }), e;
411
+ }
412
+ function Y(e, t) {
413
+ var n, r, i, a = {
414
+ label: 0,
415
+ sent: function() {
416
+ if (i[0] & 1) throw i[1];
417
+ return i[1];
418
+ },
419
+ trys: [],
420
+ ops: []
421
+ }, o = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype), s = Object.defineProperty;
422
+ return s(o, "next", { value: c(0) }), s(o, "throw", { value: c(1) }), s(o, "return", { value: c(2) }), typeof Symbol == "function" && s(o, Symbol.iterator, { value: function() {
423
+ return this;
424
+ } }), o;
425
+ function c(e) {
426
+ return function(t) {
427
+ return l([e, t]);
428
+ };
429
+ }
430
+ function l(s) {
431
+ if (n) throw TypeError("Generator is already executing.");
432
+ for (; o && (o = 0, s[0] && (a = 0)), a;) try {
433
+ if (n = 1, r && (i = s[0] & 2 ? r.return : s[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, s[1])).done) return i;
434
+ switch (r = 0, i && (s = [s[0] & 2, i.value]), s[0]) {
435
+ case 0:
436
+ case 1:
437
+ i = s;
438
+ break;
439
+ case 4: return a.label++, {
440
+ value: s[1],
441
+ done: !1
442
+ };
443
+ case 5:
444
+ a.label++, r = s[1], s = [0];
445
+ continue;
446
+ case 7:
447
+ s = a.ops.pop(), a.trys.pop();
448
+ continue;
449
+ default:
450
+ if ((i = a.trys, !(i = i.length > 0 && i[i.length - 1])) && (s[0] === 6 || s[0] === 2)) {
451
+ a = 0;
452
+ continue;
453
+ }
454
+ if (s[0] === 3 && (!i || s[1] > i[0] && s[1] < i[3])) {
455
+ a.label = s[1];
456
+ break;
457
+ }
458
+ if (s[0] === 6 && a.label < i[1]) {
459
+ a.label = i[1], i = s;
460
+ break;
461
+ }
462
+ if (i && a.label < i[2]) {
463
+ a.label = i[2], a.ops.push(s);
464
+ break;
465
+ }
466
+ i[2] && a.ops.pop(), a.trys.pop();
467
+ continue;
468
+ }
469
+ s = t.call(e, a);
470
+ } catch (e) {
471
+ s = [6, e], r = 0;
472
+ } finally {
473
+ n = i = 0;
474
+ }
475
+ if (s[0] & 5) throw s[1];
476
+ return {
477
+ value: s[0] ? s[1] : void 0,
478
+ done: !0
479
+ };
480
+ }
481
+ }
482
+ var X = function(e, t) {
483
+ return W(function() {
484
+ var n, r, i, a, o, s, c, l, u, d, p, m, g, _, v, y, b, x, S, C, w, T;
485
+ return Y(this, function(E) {
486
+ switch (E.label) {
487
+ case 0:
488
+ if (e.projectName && e.template) {
489
+ for (var D in n = t.defaultCategories, r = [], n) for (var O in n[D]) if (i = n[D][O].args, a = n[D][O].repo, r.push(O), i[0].str === e.template) return [2, {
490
+ category: D,
491
+ template: O,
492
+ projectName: e.projectName,
493
+ args: i,
494
+ repo: a
495
+ }];
496
+ console.error(`❌ Error: Template "${e.template}" was not found.
497
+ Available templates:
498
+ • ${r.join("\n • ")}
499
+ Please select one of the templates above.`), process.exit(2);
500
+ }
501
+ if (e.projectName && e.otherTemplate) {
502
+ for (var k in o = t.categories, s = [], o) for (var A in o[k]) if (c = o[k][A].args, l = o[k][A].repo, s.push(A), c[0].str === e.otherTemplate) return [2, {
503
+ category: k,
504
+ template: A,
505
+ projectName: e.projectName,
506
+ args: c,
507
+ repo: l
508
+ }];
509
+ u = s.length > 0 ? `Available templates:
510
+ • ${s.join("\n • ")}
511
+ Please select one of the templates above.` : `
512
+ No custom templates are currently configured.
513
+ Please check your configuration at:
514
+ ${h}
146
515
 
147
- export { boot as default };
516
+ To add templates, edit the configuration file and add template definitions.`, console.error(`❌ Error: Template "${e.otherTemplate}" was not found.
517
+ ${u}`), process.exit(2);
518
+ }
519
+ d = [], p = Object.keys(t.defaultCategories), m = Object.keys(t.categories), m.length > 0 && p.push("Others"), e.projectName || d.push({
520
+ type: "input",
521
+ name: "projectName",
522
+ message: "Project name:",
523
+ default: "my-project"
524
+ }), d.push({
525
+ type: "select",
526
+ name: "category",
527
+ message: "Select a category:",
528
+ choices: p
529
+ }), E.label = 1;
530
+ case 1: return E.trys.push([
531
+ 1,
532
+ 6,
533
+ ,
534
+ 7
535
+ ]), [4, f.prompt(d)];
536
+ case 2: return _ = E.sent(), (g = _).projectName ?? (g.projectName = e.projectName), v = _.category === "Others", v ? [4, f.prompt([{
537
+ type: "select",
538
+ name: "category",
539
+ message: "Select a category:",
540
+ choices: m
541
+ }])] : [3, 4];
542
+ case 3: _.category = E.sent().category, E.label = 4;
543
+ case 4:
544
+ if (y = [], v) for (var j in t.categories[_.category]) b = t.categories[_.category][j], b.name ? y.push({
545
+ name: `${b.name}(${j})`,
546
+ value: j
547
+ }) : y.push({
548
+ name: j,
549
+ value: j
550
+ });
551
+ else for (var M in t.defaultCategories[_.category]) x = t.defaultCategories[_.category][M], x.name ? y.push({
552
+ name: `${x.name}(${M})`,
553
+ value: M
554
+ }) : y.push({
555
+ name: M,
556
+ value: M
557
+ });
558
+ return [4, f.prompt([{
559
+ type: "select",
560
+ name: "template",
561
+ message: "Select a template:",
562
+ choices: y
563
+ }])];
564
+ case 5: return S = E.sent(), C = v ? t.categories[_.category][S.template].repo : t.defaultCategories[_.category][S.template].repo, w = v ? t.categories[_.category][S.template].args : t.defaultCategories[_.category][S.template].args, [2, J(K({}, _, S), {
565
+ repo: C,
566
+ args: w
567
+ })];
568
+ case 6:
569
+ if (T = E.sent(), T.name === "ExitPromptError") console.log("\nProcess interrupted. Exiting gracefully."), process.exit(0);
570
+ else throw T;
571
+ return [3, 7];
572
+ case 7: return [2];
573
+ }
574
+ });
575
+ })();
576
+ };
577
+ //#endregion
578
+ //#region src/index.ts
579
+ function Z(e, t, n, r, i, a, o) {
580
+ try {
581
+ var s = e[a](o), c = s.value;
582
+ } catch (e) {
583
+ n(e);
584
+ return;
585
+ }
586
+ s.done ? t(c) : Promise.resolve(c).then(r, i);
587
+ }
588
+ function Q(e) {
589
+ return function() {
590
+ var t = this, n = arguments;
591
+ return new Promise(function(r, i) {
592
+ var a = e.apply(t, n);
593
+ function o(e) {
594
+ Z(a, r, i, o, s, "next", e);
595
+ }
596
+ function s(e) {
597
+ Z(a, r, i, o, s, "throw", e);
598
+ }
599
+ o(void 0);
600
+ });
601
+ };
602
+ }
603
+ function $(e, t) {
604
+ var n, r, i, a = {
605
+ label: 0,
606
+ sent: function() {
607
+ if (i[0] & 1) throw i[1];
608
+ return i[1];
609
+ },
610
+ trys: [],
611
+ ops: []
612
+ }, o = Object.create((typeof Iterator == "function" ? Iterator : Object).prototype), s = Object.defineProperty;
613
+ return s(o, "next", { value: c(0) }), s(o, "throw", { value: c(1) }), s(o, "return", { value: c(2) }), typeof Symbol == "function" && s(o, Symbol.iterator, { value: function() {
614
+ return this;
615
+ } }), o;
616
+ function c(e) {
617
+ return function(t) {
618
+ return l([e, t]);
619
+ };
620
+ }
621
+ function l(s) {
622
+ if (n) throw TypeError("Generator is already executing.");
623
+ for (; o && (o = 0, s[0] && (a = 0)), a;) try {
624
+ if (n = 1, r && (i = s[0] & 2 ? r.return : s[0] ? r.throw || ((i = r.return) && i.call(r), 0) : r.next) && !(i = i.call(r, s[1])).done) return i;
625
+ switch (r = 0, i && (s = [s[0] & 2, i.value]), s[0]) {
626
+ case 0:
627
+ case 1:
628
+ i = s;
629
+ break;
630
+ case 4: return a.label++, {
631
+ value: s[1],
632
+ done: !1
633
+ };
634
+ case 5:
635
+ a.label++, r = s[1], s = [0];
636
+ continue;
637
+ case 7:
638
+ s = a.ops.pop(), a.trys.pop();
639
+ continue;
640
+ default:
641
+ if ((i = a.trys, !(i = i.length > 0 && i[i.length - 1])) && (s[0] === 6 || s[0] === 2)) {
642
+ a = 0;
643
+ continue;
644
+ }
645
+ if (s[0] === 3 && (!i || s[1] > i[0] && s[1] < i[3])) {
646
+ a.label = s[1];
647
+ break;
648
+ }
649
+ if (s[0] === 6 && a.label < i[1]) {
650
+ a.label = i[1], i = s;
651
+ break;
652
+ }
653
+ if (i && a.label < i[2]) {
654
+ a.label = i[2], a.ops.push(s);
655
+ break;
656
+ }
657
+ i[2] && a.ops.pop(), a.trys.pop();
658
+ continue;
659
+ }
660
+ s = t.call(e, a);
661
+ } catch (e) {
662
+ s = [6, e], r = 0;
663
+ } finally {
664
+ n = i = 0;
665
+ }
666
+ if (s[0] & 5) throw s[1];
667
+ return {
668
+ value: s[0] ? s[1] : void 0,
669
+ done: !0
670
+ };
671
+ }
672
+ }
673
+ var ee = function() {
674
+ return Q(function() {
675
+ var e, t, n, r, i;
676
+ return $(this, function(a) {
677
+ switch (a.label) {
678
+ case 0: return console.log(), e = H(), [4, S()];
679
+ case 1: return t = a.sent(), [4, X(t, e)];
680
+ case 2: return n = a.sent(), r = `${process.cwd()}/${n.projectName}`, i = `${r}/.git`, j(r) && (console.error(`❌ Error: Cannot create project "${n.projectName}".
681
+ A directory with this name already exists.
682
+ Please choose a different name or delete the existing folder.`), process.exit(1)), F(n.repo, n.projectName), A(i), n.args.forEach(function(e) {
683
+ var t = e.value === "projectName" ? n.projectName : e.value;
684
+ L(r, e.str, t);
685
+ }), [2];
686
+ }
687
+ });
688
+ })();
689
+ };
690
+ //#endregion
691
+ export { ee as default };
package/dist/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "0.9.0"
2
+ "version": "0.10.0"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-make",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "An advanced CLI tool for creating projects from GitHub repositories or custom templates with lightning-fast setup.",
5
5
  "homepage": "https://github.com/z-npm/create-make#readme",
6
6
  "docs": "https://github.com/z-npm/create-make#readme",
@@ -62,16 +62,16 @@
62
62
  "local": "yarn build && yarn unlink && yarn link && yarn create make"
63
63
  },
64
64
  "devDependencies": {
65
- "@o.z/vite-plugin-swc": "^0.6.1",
65
+ "@o.z/vite-plugin-swc": "^0.7.0",
66
66
  "@types/inquirer": "^9.0.9",
67
- "@types/node": "^25.2.3",
67
+ "@types/node": "^25.5.0",
68
68
  "@types/yargs": "^17.0.35",
69
69
  "rollup-plugin-node-externals": "^8.1.2",
70
- "typescript": "^5.9.3",
71
- "vite": "^7.3.1"
70
+ "typescript": "^6.0.2",
71
+ "vite": "^8.0.2"
72
72
  },
73
73
  "dependencies": {
74
- "inquirer": "^13.2.4",
74
+ "inquirer": "^13.3.2",
75
75
  "yargs": "^18.0.0"
76
76
  },
77
77
  "engines": {
@@ -82,5 +82,5 @@
82
82
  "access": "public",
83
83
  "registry": "https://registry.npmjs.org/"
84
84
  },
85
- "packageManager": "yarn@4.12.0"
85
+ "packageManager": "yarn@4.13.0"
86
86
  }