@vue-skuilder/cli 0.1.5 ā 0.1.6
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/CLAUDE.md +84 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +46 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pack.js +17 -0
- package/dist/commands/pack.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/pack-courses.d.ts +13 -0
- package/dist/utils/pack-courses.d.ts.map +1 -0
- package/dist/utils/pack-courses.js +54 -0
- package/dist/utils/pack-courses.js.map +1 -0
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js +206 -21
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/template.d.ts +4 -0
- package/dist/utils/template.d.ts.map +1 -1
- package/dist/utils/template.js +54 -4
- package/dist/utils/template.js.map +1 -1
- package/package.json +3 -3
- package/src/commands/init.ts +62 -6
- package/src/commands/pack.ts +24 -1
- package/src/types.ts +6 -0
- package/src/utils/pack-courses.ts +77 -0
- package/src/utils/prompts.ts +252 -39
- package/src/utils/template.ts +61 -5
package/dist/utils/prompts.js
CHANGED
|
@@ -1,6 +1,58 @@
|
|
|
1
1
|
import inquirer from 'inquirer';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
+
import PouchDB from 'pouchdb';
|
|
3
4
|
import { PREDEFINED_THEMES } from '../types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Fetch available courses from a CouchDB server
|
|
7
|
+
*/
|
|
8
|
+
async function fetchAvailableCourses(serverUrl, username, password) {
|
|
9
|
+
const dbUrl = `${serverUrl}/coursedb-lookup`;
|
|
10
|
+
const dbOptions = {};
|
|
11
|
+
if (username && password) {
|
|
12
|
+
dbOptions.auth = {
|
|
13
|
+
username,
|
|
14
|
+
password,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
console.log(chalk.gray(`š” Connecting to: ${dbUrl}`));
|
|
18
|
+
const lookupDB = new PouchDB(dbUrl, dbOptions);
|
|
19
|
+
try {
|
|
20
|
+
await lookupDB.info();
|
|
21
|
+
console.log(chalk.green('ā
Connected to course lookup database'));
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
let errorMessage = 'Unknown error';
|
|
25
|
+
if (error instanceof Error) {
|
|
26
|
+
errorMessage = error.message;
|
|
27
|
+
}
|
|
28
|
+
else if (typeof error === 'string') {
|
|
29
|
+
errorMessage = error;
|
|
30
|
+
}
|
|
31
|
+
else if (error && typeof error === 'object' && 'message' in error) {
|
|
32
|
+
errorMessage = String(error.message);
|
|
33
|
+
}
|
|
34
|
+
throw new Error(`Failed to connect to course lookup database: ${errorMessage}`);
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const result = await lookupDB.allDocs({ include_docs: true });
|
|
38
|
+
const courses = result.rows
|
|
39
|
+
.filter((row) => row.doc && !row.id.startsWith('_'))
|
|
40
|
+
.map((row) => {
|
|
41
|
+
const doc = row.doc;
|
|
42
|
+
return {
|
|
43
|
+
id: row.id,
|
|
44
|
+
name: doc.name || doc.title || `Course ${row.id}`,
|
|
45
|
+
description: doc.description || undefined,
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
console.log(chalk.green(`ā
Found ${courses.length} available courses`));
|
|
49
|
+
return courses;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
console.warn(chalk.yellow('ā ļø Could not list courses from lookup database'));
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
4
56
|
/**
|
|
5
57
|
* Convert hex color to closest ANSI color code
|
|
6
58
|
*/
|
|
@@ -12,7 +64,7 @@ function hexToAnsi(hex) {
|
|
|
12
64
|
const g = parseInt(hex.substr(2, 2), 16);
|
|
13
65
|
const b = parseInt(hex.substr(4, 2), 16);
|
|
14
66
|
// Convert to 256-color ANSI
|
|
15
|
-
const ansiCode = 16 +
|
|
67
|
+
const ansiCode = 16 + 36 * Math.round((r / 255) * 5) + 6 * Math.round((g / 255) * 5) + Math.round((b / 255) * 5);
|
|
16
68
|
return `\x1b[48;5;${ansiCode}m`;
|
|
17
69
|
}
|
|
18
70
|
/**
|
|
@@ -64,7 +116,7 @@ export function displayThemePreview(themeName) {
|
|
|
64
116
|
export async function gatherProjectConfig(projectName, options) {
|
|
65
117
|
console.log(chalk.cyan('\nš Creating a new Skuilder course application\n'));
|
|
66
118
|
let config = {
|
|
67
|
-
projectName
|
|
119
|
+
projectName,
|
|
68
120
|
};
|
|
69
121
|
if (options.interactive) {
|
|
70
122
|
const answers = await inquirer.prompt([
|
|
@@ -73,7 +125,7 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
73
125
|
name: 'title',
|
|
74
126
|
message: 'Course title:',
|
|
75
127
|
default: formatProjectName(projectName),
|
|
76
|
-
validate: (input) => input.trim().length > 0 || 'Course title is required'
|
|
128
|
+
validate: (input) => input.trim().length > 0 || 'Course title is required',
|
|
77
129
|
},
|
|
78
130
|
{
|
|
79
131
|
type: 'list',
|
|
@@ -82,14 +134,14 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
82
134
|
choices: [
|
|
83
135
|
{
|
|
84
136
|
name: 'Dynamic (Connect to CouchDB server)',
|
|
85
|
-
value: 'couch'
|
|
137
|
+
value: 'couch',
|
|
86
138
|
},
|
|
87
139
|
{
|
|
88
140
|
name: 'Static (Self-contained JSON files)',
|
|
89
|
-
value: 'static'
|
|
90
|
-
}
|
|
141
|
+
value: 'static',
|
|
142
|
+
},
|
|
91
143
|
],
|
|
92
|
-
default: options.dataLayer === 'dynamic' ? 'couch' : 'static'
|
|
144
|
+
default: options.dataLayer === 'dynamic' ? 'couch' : 'static',
|
|
93
145
|
},
|
|
94
146
|
{
|
|
95
147
|
type: 'input',
|
|
@@ -107,13 +159,50 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
107
159
|
catch {
|
|
108
160
|
return 'Please enter a valid URL';
|
|
109
161
|
}
|
|
110
|
-
}
|
|
162
|
+
},
|
|
111
163
|
},
|
|
112
164
|
{
|
|
113
165
|
type: 'input',
|
|
114
166
|
name: 'courseId',
|
|
115
167
|
message: 'Course ID to import (optional):',
|
|
116
|
-
when: (answers) => answers.dataLayerType === 'couch'
|
|
168
|
+
when: (answers) => answers.dataLayerType === 'couch',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'confirm',
|
|
172
|
+
name: 'importCourseData',
|
|
173
|
+
message: 'Would you like to import course data from a CouchDB server?',
|
|
174
|
+
default: false,
|
|
175
|
+
when: (answers) => answers.dataLayerType === 'static',
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
type: 'input',
|
|
179
|
+
name: 'importServerUrl',
|
|
180
|
+
message: 'CouchDB server URL:',
|
|
181
|
+
default: 'http://localhost:5984',
|
|
182
|
+
when: (answers) => answers.dataLayerType === 'static' && answers.importCourseData,
|
|
183
|
+
validate: (input) => {
|
|
184
|
+
if (!input.trim())
|
|
185
|
+
return 'CouchDB URL is required';
|
|
186
|
+
try {
|
|
187
|
+
new URL(input);
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return 'Please enter a valid URL';
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: 'input',
|
|
197
|
+
name: 'importUsername',
|
|
198
|
+
message: 'Username:',
|
|
199
|
+
when: (answers) => answers.dataLayerType === 'static' && answers.importCourseData,
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
type: 'password',
|
|
203
|
+
name: 'importPassword',
|
|
204
|
+
message: 'Password:',
|
|
205
|
+
when: (answers) => answers.dataLayerType === 'static' && answers.importCourseData,
|
|
117
206
|
},
|
|
118
207
|
{
|
|
119
208
|
type: 'list',
|
|
@@ -122,23 +211,23 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
122
211
|
choices: [
|
|
123
212
|
{
|
|
124
213
|
name: `Default (Material Blue) ${createThemePreview('default')}`,
|
|
125
|
-
value: 'default'
|
|
214
|
+
value: 'default',
|
|
126
215
|
},
|
|
127
216
|
{
|
|
128
217
|
name: `Medical (Healthcare Green) ${createThemePreview('medical')}`,
|
|
129
|
-
value: 'medical'
|
|
218
|
+
value: 'medical',
|
|
130
219
|
},
|
|
131
220
|
{
|
|
132
221
|
name: `Educational (Academic Orange) ${createThemePreview('educational')}`,
|
|
133
|
-
value: 'educational'
|
|
222
|
+
value: 'educational',
|
|
134
223
|
},
|
|
135
224
|
{
|
|
136
225
|
name: `Corporate (Professional Gray) ${createThemePreview('corporate')}`,
|
|
137
|
-
value: 'corporate'
|
|
138
|
-
}
|
|
226
|
+
value: 'corporate',
|
|
227
|
+
},
|
|
139
228
|
],
|
|
140
|
-
default: options.theme
|
|
141
|
-
}
|
|
229
|
+
default: options.theme,
|
|
230
|
+
},
|
|
142
231
|
]);
|
|
143
232
|
config = {
|
|
144
233
|
...config,
|
|
@@ -146,8 +235,104 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
146
235
|
dataLayerType: answers.dataLayerType,
|
|
147
236
|
couchdbUrl: answers.couchdbUrl,
|
|
148
237
|
course: answers.courseId,
|
|
149
|
-
theme: PREDEFINED_THEMES[answers.themeName]
|
|
238
|
+
theme: PREDEFINED_THEMES[answers.themeName],
|
|
239
|
+
importCourseData: answers.importCourseData,
|
|
240
|
+
importServerUrl: answers.importServerUrl,
|
|
241
|
+
importUsername: answers.importUsername,
|
|
242
|
+
importPassword: answers.importPassword,
|
|
150
243
|
};
|
|
244
|
+
// If user wants to import course data, fetch available courses and let them select
|
|
245
|
+
if (answers.importCourseData && answers.importServerUrl) {
|
|
246
|
+
try {
|
|
247
|
+
console.log(chalk.cyan('\nš Fetching available courses...'));
|
|
248
|
+
const availableCourses = await fetchAvailableCourses(answers.importServerUrl, answers.importUsername, answers.importPassword);
|
|
249
|
+
if (availableCourses.length > 0) {
|
|
250
|
+
const courseSelectionAnswers = await inquirer.prompt([
|
|
251
|
+
{
|
|
252
|
+
type: 'checkbox',
|
|
253
|
+
name: 'selectedCourseIds',
|
|
254
|
+
message: 'Select courses to import:',
|
|
255
|
+
choices: availableCourses.map((course) => ({
|
|
256
|
+
name: `${course.name} (${course.id})`,
|
|
257
|
+
value: course.id,
|
|
258
|
+
short: course.name,
|
|
259
|
+
})),
|
|
260
|
+
validate: (selected) => {
|
|
261
|
+
if (selected.length === 0) {
|
|
262
|
+
return 'Please select at least one course to import';
|
|
263
|
+
}
|
|
264
|
+
return true;
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
]);
|
|
268
|
+
config.importCourseIds = courseSelectionAnswers.selectedCourseIds;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
console.log(chalk.yellow('ā ļø No courses found in the lookup database.'));
|
|
272
|
+
const manualCourseAnswers = await inquirer.prompt([
|
|
273
|
+
{
|
|
274
|
+
type: 'input',
|
|
275
|
+
name: 'manualCourseIds',
|
|
276
|
+
message: 'Enter course IDs to import (comma-separated):',
|
|
277
|
+
validate: (input) => {
|
|
278
|
+
if (!input.trim()) {
|
|
279
|
+
return 'Please enter at least one course ID';
|
|
280
|
+
}
|
|
281
|
+
return true;
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
]);
|
|
285
|
+
config.importCourseIds = manualCourseAnswers.manualCourseIds
|
|
286
|
+
.split(',')
|
|
287
|
+
.map((id) => id.trim())
|
|
288
|
+
.filter((id) => id.length > 0);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
console.error(chalk.red('ā Failed to fetch courses:'));
|
|
293
|
+
let errorMessage = 'Unknown error';
|
|
294
|
+
if (error instanceof Error) {
|
|
295
|
+
errorMessage = error.message;
|
|
296
|
+
}
|
|
297
|
+
else if (typeof error === 'string') {
|
|
298
|
+
errorMessage = error;
|
|
299
|
+
}
|
|
300
|
+
else if (error && typeof error === 'object' && 'message' in error) {
|
|
301
|
+
errorMessage = String(error.message);
|
|
302
|
+
}
|
|
303
|
+
console.error(chalk.red(errorMessage));
|
|
304
|
+
const fallbackAnswers = await inquirer.prompt([
|
|
305
|
+
{
|
|
306
|
+
type: 'confirm',
|
|
307
|
+
name: 'continueAnyway',
|
|
308
|
+
message: 'Continue with manual course ID entry?',
|
|
309
|
+
default: true,
|
|
310
|
+
},
|
|
311
|
+
]);
|
|
312
|
+
if (fallbackAnswers.continueAnyway) {
|
|
313
|
+
const manualCourseAnswers = await inquirer.prompt([
|
|
314
|
+
{
|
|
315
|
+
type: 'input',
|
|
316
|
+
name: 'manualCourseIds',
|
|
317
|
+
message: 'Enter course IDs to import (comma-separated):',
|
|
318
|
+
validate: (input) => {
|
|
319
|
+
if (!input.trim()) {
|
|
320
|
+
return 'Please enter at least one course ID';
|
|
321
|
+
}
|
|
322
|
+
return true;
|
|
323
|
+
},
|
|
324
|
+
},
|
|
325
|
+
]);
|
|
326
|
+
config.importCourseIds = manualCourseAnswers.manualCourseIds
|
|
327
|
+
.split(',')
|
|
328
|
+
.map((id) => id.trim())
|
|
329
|
+
.filter((id) => id.length > 0);
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
config.importCourseData = false;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
151
336
|
// Show comprehensive theme preview
|
|
152
337
|
displayThemePreview(answers.themeName);
|
|
153
338
|
}
|
|
@@ -159,7 +344,7 @@ export async function gatherProjectConfig(projectName, options) {
|
|
|
159
344
|
dataLayerType: options.dataLayer === 'dynamic' ? 'couch' : 'static',
|
|
160
345
|
couchdbUrl: options.couchdbUrl,
|
|
161
346
|
course: options.courseId,
|
|
162
|
-
theme: PREDEFINED_THEMES[options.theme]
|
|
347
|
+
theme: PREDEFINED_THEMES[options.theme],
|
|
163
348
|
};
|
|
164
349
|
// Validate required fields for non-interactive mode
|
|
165
350
|
if (config.dataLayerType === 'couch' && !config.couchdbUrl) {
|
|
@@ -186,15 +371,15 @@ export async function confirmProjectCreation(config, projectPath) {
|
|
|
186
371
|
type: 'confirm',
|
|
187
372
|
name: 'confirmed',
|
|
188
373
|
message: 'Create project with these settings?',
|
|
189
|
-
default: true
|
|
190
|
-
}
|
|
374
|
+
default: true,
|
|
375
|
+
},
|
|
191
376
|
]);
|
|
192
377
|
return confirmed;
|
|
193
378
|
}
|
|
194
379
|
function formatProjectName(projectName) {
|
|
195
380
|
return projectName
|
|
196
381
|
.split(/[-_\s]+/)
|
|
197
|
-
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
382
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
198
383
|
.join(' ');
|
|
199
384
|
}
|
|
200
385
|
//# sourceMappingURL=prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/template.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ export declare function createViteConfig(viteConfigPath: string): Promise<void>;
|
|
|
21
21
|
* Generate skuilder.config.json based on project configuration
|
|
22
22
|
*/
|
|
23
23
|
export declare function generateSkuilderConfig(configPath: string, config: ProjectConfig): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Transform tsconfig.json to be standalone (remove base config reference)
|
|
26
|
+
*/
|
|
27
|
+
export declare function transformTsConfig(tsconfigPath: string): Promise<void>;
|
|
24
28
|
/**
|
|
25
29
|
* Generate .gitignore file for the project
|
|
26
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;AAK5D;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe5D;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,MAAM,EAAgD,GACtE,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D5E;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAC;AAK5D;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe5D;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,eAAe,GAAE,MAAM,EAAgD,GACtE,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8D5E;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B3E;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH5E;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG7F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
|
package/dist/utils/template.js
CHANGED
|
@@ -142,9 +142,14 @@ export async function generateSkuilderConfig(configPath, config) {
|
|
|
142
142
|
title: config.title,
|
|
143
143
|
dataLayerType: config.dataLayerType,
|
|
144
144
|
};
|
|
145
|
-
|
|
145
|
+
// For dynamic data layer, use the specified course ID
|
|
146
|
+
if (config.dataLayerType === 'couch' && config.course) {
|
|
146
147
|
skuilderConfig.course = config.course;
|
|
147
148
|
}
|
|
149
|
+
// For static data layer with imported courses, use the first course as primary
|
|
150
|
+
if (config.dataLayerType === 'static' && config.importCourseIds && config.importCourseIds.length > 0) {
|
|
151
|
+
skuilderConfig.course = config.importCourseIds[0];
|
|
152
|
+
}
|
|
148
153
|
if (config.couchdbUrl) {
|
|
149
154
|
skuilderConfig.couchdbUrl = config.couchdbUrl;
|
|
150
155
|
}
|
|
@@ -153,6 +158,38 @@ export async function generateSkuilderConfig(configPath, config) {
|
|
|
153
158
|
}
|
|
154
159
|
await fs.writeFile(configPath, JSON.stringify(skuilderConfig, null, 2));
|
|
155
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Transform tsconfig.json to be standalone (remove base config reference)
|
|
163
|
+
*/
|
|
164
|
+
export async function transformTsConfig(tsconfigPath) {
|
|
165
|
+
const content = await fs.readFile(tsconfigPath, 'utf-8');
|
|
166
|
+
const tsconfig = JSON.parse(content);
|
|
167
|
+
// Remove the extends reference to the monorepo base config
|
|
168
|
+
delete tsconfig.extends;
|
|
169
|
+
// Merge in the essential settings from the base config that scaffolded apps need
|
|
170
|
+
tsconfig.compilerOptions = {
|
|
171
|
+
...tsconfig.compilerOptions,
|
|
172
|
+
// Essential TypeScript settings from base config
|
|
173
|
+
strict: true,
|
|
174
|
+
skipLibCheck: true,
|
|
175
|
+
forceConsistentCasingInFileNames: true,
|
|
176
|
+
esModuleInterop: true,
|
|
177
|
+
allowSyntheticDefaultImports: true,
|
|
178
|
+
// Keep existing Vue/Vite-specific settings
|
|
179
|
+
target: tsconfig.compilerOptions.target || 'ESNext',
|
|
180
|
+
useDefineForClassFields: tsconfig.compilerOptions.useDefineForClassFields,
|
|
181
|
+
module: tsconfig.compilerOptions.module || 'ESNext',
|
|
182
|
+
moduleResolution: tsconfig.compilerOptions.moduleResolution || 'bundler',
|
|
183
|
+
jsx: tsconfig.compilerOptions.jsx || 'preserve',
|
|
184
|
+
resolveJsonModule: tsconfig.compilerOptions.resolveJsonModule,
|
|
185
|
+
isolatedModules: tsconfig.compilerOptions.isolatedModules,
|
|
186
|
+
lib: tsconfig.compilerOptions.lib || ['ESNext', 'DOM'],
|
|
187
|
+
noEmit: tsconfig.compilerOptions.noEmit,
|
|
188
|
+
baseUrl: tsconfig.compilerOptions.baseUrl || '.',
|
|
189
|
+
types: tsconfig.compilerOptions.types || ['vite/client'],
|
|
190
|
+
};
|
|
191
|
+
await fs.writeFile(tsconfigPath, JSON.stringify(tsconfig, null, 2));
|
|
192
|
+
}
|
|
156
193
|
/**
|
|
157
194
|
* Generate .gitignore file for the project
|
|
158
195
|
*/
|
|
@@ -278,9 +315,17 @@ Thumbs.db
|
|
|
278
315
|
* Generate project README.md
|
|
279
316
|
*/
|
|
280
317
|
export async function generateReadme(readmePath, config) {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
318
|
+
let dataLayerInfo = '';
|
|
319
|
+
if (config.dataLayerType === 'static') {
|
|
320
|
+
dataLayerInfo = 'This project uses a static data layer with JSON files.';
|
|
321
|
+
if (config.importCourseIds && config.importCourseIds.length > 0) {
|
|
322
|
+
const courseList = config.importCourseIds.map(id => `- ${id}`).join('\n');
|
|
323
|
+
dataLayerInfo += `\n\n**Imported Courses:**\n${courseList}\n\nCourse data is stored in \`public/static-courses/\` and loaded automatically.`;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
dataLayerInfo = `This project connects to CouchDB at: ${config.couchdbUrl || '[URL not specified]'}`;
|
|
328
|
+
}
|
|
284
329
|
const readme = `# ${config.title}
|
|
285
330
|
|
|
286
331
|
A Skuilder course application built with Vue 3, Vuetify, and Pinia.
|
|
@@ -387,6 +432,11 @@ export async function processTemplate(projectPath, config, cliVersion) {
|
|
|
387
432
|
if (existsSync(viteConfigPath)) {
|
|
388
433
|
await createViteConfig(viteConfigPath);
|
|
389
434
|
}
|
|
435
|
+
console.log(chalk.blue('š§ Transforming tsconfig.json...'));
|
|
436
|
+
const tsconfigPath = path.join(projectPath, 'tsconfig.json');
|
|
437
|
+
if (existsSync(tsconfigPath)) {
|
|
438
|
+
await transformTsConfig(tsconfigPath);
|
|
439
|
+
}
|
|
390
440
|
console.log(chalk.blue('š§ Generating configuration...'));
|
|
391
441
|
const configPath = path.join(projectPath, 'skuilder.config.json');
|
|
392
442
|
await generateSkuilderConfig(configPath, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/utils/template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.6",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"description": "CLI scaffolding tool for vue-skuilder projects",
|
|
9
9
|
"bin": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"course"
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@vue-skuilder/db": "0.1.
|
|
37
|
-
"@vue-skuilder/standalone-ui": "^0.1.
|
|
36
|
+
"@vue-skuilder/db": "0.1.6",
|
|
37
|
+
"@vue-skuilder/standalone-ui": "^0.1.6",
|
|
38
38
|
"chalk": "^5.3.0",
|
|
39
39
|
"commander": "^11.0.0",
|
|
40
40
|
"fs-extra": "^11.2.0",
|
package/src/commands/init.ts
CHANGED
|
@@ -3,13 +3,14 @@ import { Command } from 'commander';
|
|
|
3
3
|
import { existsSync, readFileSync } from 'fs';
|
|
4
4
|
import path, { dirname, join } from 'path';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
|
-
import { CliOptions } from '../types.js';
|
|
6
|
+
import { CliOptions, PREDEFINED_THEMES } from '../types.js';
|
|
7
7
|
import {
|
|
8
8
|
confirmProjectCreation,
|
|
9
9
|
displayThemePreview,
|
|
10
10
|
gatherProjectConfig,
|
|
11
11
|
} from '../utils/prompts.js';
|
|
12
12
|
import { processTemplate } from '../utils/template.js';
|
|
13
|
+
import { packCourses } from '../utils/pack-courses.js';
|
|
13
14
|
|
|
14
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
15
16
|
const __dirname = dirname(__filename);
|
|
@@ -44,6 +45,18 @@ async function initCommand(projectName: string, options: InitOptions): Promise<v
|
|
|
44
45
|
process.exit(1);
|
|
45
46
|
}
|
|
46
47
|
|
|
48
|
+
// Validate theme option
|
|
49
|
+
const validThemes = Object.keys(PREDEFINED_THEMES);
|
|
50
|
+
if (!validThemes.includes(options.theme)) {
|
|
51
|
+
console.error(
|
|
52
|
+
chalk.red(`ā Invalid theme: "${options.theme}"`)
|
|
53
|
+
);
|
|
54
|
+
console.error(
|
|
55
|
+
chalk.yellow(`Valid themes: ${validThemes.join(', ')}`)
|
|
56
|
+
);
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
59
|
+
|
|
47
60
|
// Check if directory already exists
|
|
48
61
|
const projectPath = path.resolve(process.cwd(), projectName);
|
|
49
62
|
if (existsSync(projectPath)) {
|
|
@@ -82,6 +95,36 @@ async function initCommand(projectName: string, options: InitOptions): Promise<v
|
|
|
82
95
|
// Process template and create project
|
|
83
96
|
await processTemplate(projectPath, config, cliVersion);
|
|
84
97
|
|
|
98
|
+
// Import course data if requested for static data layer
|
|
99
|
+
if (config.dataLayerType === 'static' && config.importCourseData && config.importCourseIds && config.importCourseIds.length > 0) {
|
|
100
|
+
console.log(chalk.cyan('\nš¦ Importing course data...\n'));
|
|
101
|
+
|
|
102
|
+
try {
|
|
103
|
+
await packCourses({
|
|
104
|
+
server: config.importServerUrl!,
|
|
105
|
+
username: config.importUsername,
|
|
106
|
+
password: config.importPassword,
|
|
107
|
+
courseIds: config.importCourseIds,
|
|
108
|
+
targetProjectDir: projectPath
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
console.log(chalk.green('ā
Course data imported successfully!'));
|
|
112
|
+
} catch (error: unknown) {
|
|
113
|
+
console.error(chalk.red('\nā Failed to import course data:'));
|
|
114
|
+
let errorMessage = 'Unknown error';
|
|
115
|
+
if (error instanceof Error) {
|
|
116
|
+
errorMessage = error.message;
|
|
117
|
+
} else if (typeof error === 'string') {
|
|
118
|
+
errorMessage = error;
|
|
119
|
+
} else if (error && typeof error === 'object' && 'message' in error) {
|
|
120
|
+
errorMessage = String((error as { message: unknown }).message);
|
|
121
|
+
}
|
|
122
|
+
console.error(chalk.red(errorMessage));
|
|
123
|
+
console.log(chalk.yellow('\nā ļø Project created successfully, but without course data.'));
|
|
124
|
+
console.log(chalk.yellow('You can import course data later using the pack command.'));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
85
128
|
// Success message
|
|
86
129
|
console.log(chalk.green('\nš Project created successfully!\n'));
|
|
87
130
|
|
|
@@ -104,11 +147,24 @@ async function initCommand(projectName: string, options: InitOptions): Promise<v
|
|
|
104
147
|
);
|
|
105
148
|
}
|
|
106
149
|
} else {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
150
|
+
if (config.importCourseIds && config.importCourseIds.length > 0) {
|
|
151
|
+
console.log(
|
|
152
|
+
chalk.yellow(
|
|
153
|
+
`š Note: This project uses static data with ${config.importCourseIds.length} imported course(s).`
|
|
154
|
+
)
|
|
155
|
+
);
|
|
156
|
+
console.log(
|
|
157
|
+
chalk.yellow(
|
|
158
|
+
`š Course data is available in the public/static-courses/ directory.`
|
|
159
|
+
)
|
|
160
|
+
);
|
|
161
|
+
} else {
|
|
162
|
+
console.log(
|
|
163
|
+
chalk.yellow(
|
|
164
|
+
'š Note: This project uses static data. No course data has been imported.'
|
|
165
|
+
)
|
|
166
|
+
);
|
|
167
|
+
}
|
|
112
168
|
}
|
|
113
169
|
} catch (error: unknown) {
|
|
114
170
|
console.error(chalk.red('\nā Failed to create project:'));
|