MCPcopy Create free account
hub / github.com/Easy-Editor/EasyEditor / initCommand

Function initCommand

packages/easypack/src/cli/commands/init.ts:66–140  ·  view source on GitHub ↗
(argv: CliArgs)

Source from the content-addressed store, hash-verified

64`
65
66export async function initCommand(argv: CliArgs): Promise<void> {
67 const cwd = process.cwd()
68 const configPath = path.join(cwd, 'easypack.config.ts')
69
70 // 检查是否已存在配置文件
71 if (fs.existsSync(configPath)) {
72 const overwrite = await prompts.confirm({
73 message: 'easypack.config.ts already exists. Overwrite?',
74 })
75
76 if (prompts.isCancel(overwrite) || !overwrite) {
77 prompts.cancel('Operation cancelled')
78 return
79 }
80 }
81
82 // 选择预设
83 let preset = argv.preset
84 if (!preset) {
85 const selected = await prompts.select({
86 message: 'Select a preset:',
87 options: [
88 {
89 label: 'material',
90 value: 'material',
91 hint: 'For EasyMaterials components',
92 },
93 {
94 label: 'setter',
95 value: 'setter',
96 hint: 'For EasySetters package',
97 },
98 {
99 label: 'library',
100 value: 'library',
101 hint: 'For general React libraries',
102 },
103 ],
104 })
105
106 if (prompts.isCancel(selected)) {
107 prompts.cancel('Operation cancelled')
108 return
109 }
110
111 preset = selected as string
112 }
113
114 // 根据预设选择模板
115 let template: string
116 switch (preset) {
117 case 'material':
118 template = MATERIAL_TEMPLATE
119 break
120 case 'setter':
121 template = SETTER_TEMPLATE
122 break
123 case 'library':

Callers 1

cliFunction · 0.90

Calls 3

cancelMethod · 0.80
selectMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected