create-asterui 0.1.2 → 0.1.3
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.js +29 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -140,6 +140,15 @@ async function main() {
|
|
|
140
140
|
.map((pm) => ({ value: pm, label: pm })),
|
|
141
141
|
],
|
|
142
142
|
}),
|
|
143
|
+
optionalDeps: () => p.multiselect({
|
|
144
|
+
message: 'Optional components (require extra dependencies)',
|
|
145
|
+
options: [
|
|
146
|
+
{ value: 'chart', label: 'Chart', hint: 'apexcharts' },
|
|
147
|
+
{ value: 'qrcode', label: 'QRCode', hint: 'qrcode' },
|
|
148
|
+
{ value: 'virtuallist', label: 'VirtualList', hint: '@tanstack/react-virtual' },
|
|
149
|
+
],
|
|
150
|
+
required: false,
|
|
151
|
+
}),
|
|
143
152
|
}, {
|
|
144
153
|
onCancel: () => {
|
|
145
154
|
p.cancel('Operation cancelled.');
|
|
@@ -156,7 +165,7 @@ async function main() {
|
|
|
156
165
|
// Copy template files
|
|
157
166
|
copyDir(templateDir, projectDir);
|
|
158
167
|
// Generate package.json
|
|
159
|
-
const packageJson = generatePackageJson(options.projectName, options.language);
|
|
168
|
+
const packageJson = generatePackageJson(options.projectName, options.language, options.optionalDeps);
|
|
160
169
|
fs.writeFileSync(path.join(projectDir, 'package.json'), JSON.stringify(packageJson, null, 2));
|
|
161
170
|
// Generate index.css with theme config
|
|
162
171
|
const themes = getThemes(options.themePreset, options.customThemes);
|
|
@@ -199,7 +208,7 @@ function copyDir(src, dest) {
|
|
|
199
208
|
}
|
|
200
209
|
}
|
|
201
210
|
}
|
|
202
|
-
function generatePackageJson(name, language) {
|
|
211
|
+
function generatePackageJson(name, language, optionalDeps = []) {
|
|
203
212
|
const isTs = language === 'ts';
|
|
204
213
|
const pkg = {
|
|
205
214
|
name,
|
|
@@ -225,10 +234,25 @@ function generatePackageJson(name, language) {
|
|
|
225
234
|
vite: '^7.0.0',
|
|
226
235
|
},
|
|
227
236
|
};
|
|
237
|
+
// Add optional dependencies
|
|
238
|
+
const deps = pkg.dependencies;
|
|
239
|
+
if (optionalDeps.includes('chart')) {
|
|
240
|
+
deps['apexcharts'] = '^5.0.0';
|
|
241
|
+
}
|
|
242
|
+
if (optionalDeps.includes('qrcode')) {
|
|
243
|
+
deps['qrcode'] = '^1.5.0';
|
|
244
|
+
}
|
|
245
|
+
if (optionalDeps.includes('virtuallist')) {
|
|
246
|
+
deps['@tanstack/react-virtual'] = '^3.0.0';
|
|
247
|
+
}
|
|
228
248
|
if (isTs) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
249
|
+
const devDeps = pkg.devDependencies;
|
|
250
|
+
devDeps['typescript'] = '^5.6.0';
|
|
251
|
+
devDeps['@types/react'] = '^19.0.0';
|
|
252
|
+
devDeps['@types/react-dom'] = '^19.0.0';
|
|
253
|
+
if (optionalDeps.includes('qrcode')) {
|
|
254
|
+
devDeps['@types/qrcode'] = '^1.5.0';
|
|
255
|
+
}
|
|
232
256
|
}
|
|
233
257
|
return pkg;
|
|
234
258
|
}
|