@loom-framework/core 0.1.0-alpha.165 → 0.1.0-alpha.166
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/builtin-skills/loom/SKILL.md +9 -6
- package/builtin-skills/loom/references/eject.md +102 -0
- package/dist/cli/commands/eject.d.ts.map +1 -1
- package/dist/cli/commands/eject.js +52 -285
- package/dist/cli/commands/eject.js.map +1 -1
- package/dist/cli/commands/generate-system-settings.d.ts +3 -3
- package/dist/cli/commands/generate-system-settings.d.ts.map +1 -1
- package/dist/cli/commands/generate-system-settings.js +29 -204
- package/dist/cli/commands/generate-system-settings.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +27 -44
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/helpers/app-tsx-utils.d.ts +12 -0
- package/dist/cli/helpers/app-tsx-utils.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-utils.js +22 -0
- package/dist/cli/helpers/app-tsx-utils.js.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.d.ts +70 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.d.ts.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.js +546 -0
- package/dist/cli/helpers/app-tsx-wiring-engine.js.map +1 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts +4 -39
- package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -1
- package/dist/cli/helpers/app-tsx-wiring.js +5 -608
- package/dist/cli/helpers/app-tsx-wiring.js.map +1 -1
- package/dist/cli/helpers/system-page-config.d.ts +27 -0
- package/dist/cli/helpers/system-page-config.d.ts.map +1 -0
- package/dist/cli/helpers/system-page-config.js +73 -0
- package/dist/cli/helpers/system-page-config.js.map +1 -0
- package/dist/cli/templates/login-page.d.ts +2 -3
- package/dist/cli/templates/login-page.d.ts.map +1 -1
- package/dist/cli/templates/login-page.js +18 -29
- package/dist/cli/templates/login-page.js.map +1 -1
- package/dist/cli/templates/model-management-page.d.ts +2 -3
- package/dist/cli/templates/model-management-page.d.ts.map +1 -1
- package/dist/cli/templates/model-management-page.js +11 -9
- package/dist/cli/templates/model-management-page.js.map +1 -1
- package/dist/cli/templates/notification-center-page.d.ts +2 -3
- package/dist/cli/templates/notification-center-page.d.ts.map +1 -1
- package/dist/cli/templates/notification-center-page.js +25 -62
- package/dist/cli/templates/notification-center-page.js.map +1 -1
- package/dist/cli/templates/notification-detail-page.d.ts +2 -3
- package/dist/cli/templates/notification-detail-page.d.ts.map +1 -1
- package/dist/cli/templates/notification-detail-page.js +13 -41
- package/dist/cli/templates/notification-detail-page.js.map +1 -1
- package/dist/cli/templates/process-management-page.d.ts +3 -3
- package/dist/cli/templates/process-management-page.d.ts.map +1 -1
- package/dist/cli/templates/process-management-page.js +75 -565
- package/dist/cli/templates/process-management-page.js.map +1 -1
- package/dist/cli/templates/skill-management-page.d.ts +2 -3
- package/dist/cli/templates/skill-management-page.d.ts.map +1 -1
- package/dist/cli/templates/skill-management-page.js +12 -15
- package/dist/cli/templates/skill-management-page.js.map +1 -1
- package/dist/cli/templates/user-management-page.d.ts +2 -4
- package/dist/cli/templates/user-management-page.d.ts.map +1 -1
- package/dist/cli/templates/user-management-page.js +21 -22
- package/dist/cli/templates/user-management-page.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,147 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* loom generate system-settings <model|skill|user|login|process|notification>
|
|
3
3
|
*
|
|
4
|
-
* System management pages are
|
|
5
|
-
*
|
|
6
|
-
* Use
|
|
4
|
+
* System management pages are built into @loom-framework/frontend-antd.
|
|
5
|
+
* This command wires npm imports into App.tsx.
|
|
6
|
+
* Use `loom eject system-settings <type>` to create a local editable copy.
|
|
7
7
|
*/
|
|
8
8
|
import chalk from 'chalk';
|
|
9
|
-
import { promises as fs } from 'fs';
|
|
10
|
-
import path from 'path';
|
|
11
9
|
import { resolveProjectRoot } from '../utils.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { backupFile } from '../helpers/backup.js';
|
|
15
|
-
const VALID_TYPES = ['model', 'skill', 'user', 'login', 'process', 'notification'];
|
|
16
|
-
const PAGE_CONFIG = {
|
|
17
|
-
model: {
|
|
18
|
-
pascalName: 'ModelManagement',
|
|
19
|
-
fileName: 'ModelManagement.tsx',
|
|
20
|
-
navKey: 'model-management',
|
|
21
|
-
navLabelZh: '模型管理',
|
|
22
|
-
navLabelEn: 'Model Management',
|
|
23
|
-
npmComponent: 'ModelManagementPage',
|
|
24
|
-
template: modelManagementPageTemplate,
|
|
25
|
-
},
|
|
26
|
-
skill: {
|
|
27
|
-
pascalName: 'SkillManagement',
|
|
28
|
-
fileName: 'SkillManagement.tsx',
|
|
29
|
-
navKey: 'skill-management',
|
|
30
|
-
navLabelZh: '技能管理',
|
|
31
|
-
navLabelEn: 'Skill Management',
|
|
32
|
-
npmComponent: 'SkillManagementPage',
|
|
33
|
-
template: skillManagementPageTemplate,
|
|
34
|
-
},
|
|
35
|
-
user: {
|
|
36
|
-
pascalName: 'UserManagement',
|
|
37
|
-
fileName: 'UserManagement.tsx',
|
|
38
|
-
navKey: 'user-management',
|
|
39
|
-
navLabelZh: '用户管理',
|
|
40
|
-
navLabelEn: 'User Management',
|
|
41
|
-
npmComponent: 'UserManagementPage',
|
|
42
|
-
template: userManagementPageTemplate,
|
|
43
|
-
},
|
|
44
|
-
login: {
|
|
45
|
-
pascalName: 'Login',
|
|
46
|
-
fileName: 'Login.tsx',
|
|
47
|
-
// No navKey — Login is rendered by AuthGuard, not in navigation
|
|
48
|
-
npmComponent: 'LoginPage',
|
|
49
|
-
template: loginPageTemplate,
|
|
50
|
-
isLogin: true,
|
|
51
|
-
},
|
|
52
|
-
process: {
|
|
53
|
-
pascalName: 'ProcessManagement',
|
|
54
|
-
fileName: 'ProcessManagement.tsx',
|
|
55
|
-
navKey: 'process-management',
|
|
56
|
-
navLabelZh: '过程管理',
|
|
57
|
-
navLabelEn: 'Process Management',
|
|
58
|
-
npmComponent: 'ProcessManagementPage',
|
|
59
|
-
template: processManagementPageTemplate,
|
|
60
|
-
},
|
|
61
|
-
notification: {
|
|
62
|
-
pascalName: 'NotificationCenter',
|
|
63
|
-
fileName: 'NotificationCenter.tsx',
|
|
64
|
-
navKey: 'notifications',
|
|
65
|
-
navLabelZh: '通知',
|
|
66
|
-
navLabelEn: 'Notifications',
|
|
67
|
-
npmComponent: 'NotificationCenterPage',
|
|
68
|
-
template: notificationCenterPageTemplate,
|
|
69
|
-
extraFiles: [{
|
|
70
|
-
pascalName: 'NotificationDetail',
|
|
71
|
-
fileName: 'NotificationDetail.tsx',
|
|
72
|
-
navKey: 'notification-detail',
|
|
73
|
-
navLabelZh: '通知详情',
|
|
74
|
-
navLabelEn: 'Notification Detail',
|
|
75
|
-
npmComponent: 'NotificationDetailPage',
|
|
76
|
-
template: notificationDetailPageTemplate,
|
|
77
|
-
}],
|
|
78
|
-
},
|
|
79
|
-
};
|
|
10
|
+
import { wireAppTsx } from '../helpers/app-tsx-wiring-engine.js';
|
|
11
|
+
import { SYSTEM_PAGE_CONFIG, VALID_SYSTEM_PAGE_TYPES } from '../helpers/system-page-config.js';
|
|
80
12
|
export function registerGenerateSystemSettingsCommand(program) {
|
|
81
13
|
program
|
|
82
14
|
.command('system-settings <type>')
|
|
83
|
-
.description(`Generate a system management page (${
|
|
84
|
-
.
|
|
85
|
-
.
|
|
86
|
-
|
|
87
|
-
.action(async (type, cmdOptions) => {
|
|
88
|
-
if (!VALID_TYPES.includes(type)) {
|
|
89
|
-
console.error(chalk.red(`Invalid type "${type}". Use: ${VALID_TYPES.join(', ')}.`));
|
|
15
|
+
.description(`Generate a system management page (${VALID_SYSTEM_PAGE_TYPES.join('|')})`)
|
|
16
|
+
.action(async (type) => {
|
|
17
|
+
if (!VALID_SYSTEM_PAGE_TYPES.includes(type)) {
|
|
18
|
+
console.error(chalk.red(`Invalid type "${type}". Use: ${VALID_SYSTEM_PAGE_TYPES.join(', ')}.`));
|
|
90
19
|
process.exit(1);
|
|
91
20
|
}
|
|
92
21
|
const pageType = type;
|
|
93
|
-
const config =
|
|
94
|
-
const useLocal = cmdOptions.local;
|
|
22
|
+
const config = SYSTEM_PAGE_CONFIG[pageType];
|
|
95
23
|
try {
|
|
96
24
|
const projectRoot = await resolveProjectRoot();
|
|
97
|
-
|
|
98
|
-
|
|
25
|
+
// Default: wire npm import
|
|
26
|
+
console.log(chalk.blue(`ℹ System page "${type}" is available from @loom-framework/frontend-antd.`));
|
|
27
|
+
console.log(` Import: import { ${config.npmComponent} } from '@loom-framework/frontend-antd';`);
|
|
28
|
+
console.log(chalk.dim(` Run "loom eject system-settings ${type}" to create a local editable copy.`));
|
|
29
|
+
console.log();
|
|
30
|
+
// Wire main page
|
|
31
|
+
const mainResult = await wireAppTsx({ projectRoot, pageConfig: config, action: 'add-npm' });
|
|
32
|
+
if (mainResult.modified) {
|
|
33
|
+
console.log(chalk.green(' ✓'), `App.tsx wired with npm import for ${config.pascalName}`);
|
|
99
34
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// Wire npm import into App.tsx
|
|
107
|
-
if (config.navKey) {
|
|
108
|
-
// Notification pages are accessed via bell icon, not sidebar navigation
|
|
109
|
-
const skipNav = pageType === 'notification';
|
|
110
|
-
const wired = await wireAppTsxForNpmSystemSettings(projectRoot, config.pascalName, config.navKey, config.navLabelZh, config.navLabelEn, skipNav ? { skipNav: true } : undefined);
|
|
111
|
-
if (wired) {
|
|
112
|
-
console.log(chalk.green(' ✓'), `App.tsx wired with npm import for ${config.pascalName}`);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
// Wire extra files (notification detail etc.)
|
|
116
|
-
if (config.extraFiles) {
|
|
117
|
-
for (const extra of config.extraFiles) {
|
|
118
|
-
if (extra.navKey) {
|
|
119
|
-
// Notification pages are accessed via bell icon, not sidebar navigation
|
|
120
|
-
const skipNav = pageType === 'notification';
|
|
121
|
-
const wired = await wireAppTsxForNpmSystemSettings(projectRoot, extra.pascalName, extra.navKey, extra.navLabelZh, extra.navLabelEn, skipNav ? { skipNav: true } : undefined);
|
|
122
|
-
if (wired) {
|
|
123
|
-
console.log(chalk.green(' ✓'), `App.tsx wired with npm import for ${extra.pascalName}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
// For login type, just note that AuthGuard handles it
|
|
129
|
-
if (config.isLogin) {
|
|
130
|
-
console.log(chalk.dim(' LoginPage is rendered by AuthGuard, no navigation entry needed.'));
|
|
131
|
-
}
|
|
132
|
-
// For user type, wire AuthProvider
|
|
133
|
-
if (pageType === 'user') {
|
|
134
|
-
await wireAuthProviders(projectRoot);
|
|
135
|
-
}
|
|
136
|
-
// For notification type, wire NotificationCenter
|
|
137
|
-
if (pageType === 'notification') {
|
|
138
|
-
const { wireAppTsxForNotification } = await import('../helpers/app-tsx-wiring.js');
|
|
139
|
-
const notifWired = await wireAppTsxForNotification(projectRoot);
|
|
140
|
-
if (notifWired) {
|
|
141
|
-
console.log(chalk.green(' ✓'), 'NotificationCenter wired into App.tsx');
|
|
35
|
+
// Wire extra files (e.g., NotificationDetail for notification type)
|
|
36
|
+
if (config.extraFiles) {
|
|
37
|
+
for (const extra of config.extraFiles) {
|
|
38
|
+
const extraResult = await wireAppTsx({ projectRoot, pageConfig: extra, action: 'add-npm' });
|
|
39
|
+
if (extraResult.modified) {
|
|
40
|
+
console.log(chalk.green(' ✓'), `App.tsx wired with npm import for ${extra.pascalName}`);
|
|
142
41
|
}
|
|
143
42
|
}
|
|
144
43
|
}
|
|
44
|
+
// For login type, note that AuthGuard renders it
|
|
45
|
+
if (config.wiringMode === 'auth-fallback') {
|
|
46
|
+
console.log(chalk.dim(' LoginPage is rendered by AuthGuard, no navigation entry needed.'));
|
|
47
|
+
}
|
|
145
48
|
}
|
|
146
49
|
catch (err) {
|
|
147
50
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -150,82 +53,4 @@ export function registerGenerateSystemSettingsCommand(program) {
|
|
|
150
53
|
}
|
|
151
54
|
});
|
|
152
55
|
}
|
|
153
|
-
async function generateLocalPages(projectRoot, config, force) {
|
|
154
|
-
const pageDir = path.join(projectRoot, 'frontend', 'src', 'components', 'pages');
|
|
155
|
-
// Generate main page file
|
|
156
|
-
await generateLocalPage(projectRoot, pageDir, {
|
|
157
|
-
pascalName: config.pascalName,
|
|
158
|
-
fileName: config.fileName,
|
|
159
|
-
navKey: config.navKey,
|
|
160
|
-
navLabelZh: config.navLabelZh,
|
|
161
|
-
navLabelEn: config.navLabelEn,
|
|
162
|
-
npmComponent: config.npmComponent,
|
|
163
|
-
template: config.template,
|
|
164
|
-
isLogin: config.isLogin,
|
|
165
|
-
}, force);
|
|
166
|
-
// Generate extra files (e.g., NotificationDetail)
|
|
167
|
-
if (config.extraFiles) {
|
|
168
|
-
for (const extra of config.extraFiles) {
|
|
169
|
-
await generateLocalPage(projectRoot, pageDir, extra, force);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
async function generateLocalPage(projectRoot, pageDir, config, force) {
|
|
174
|
-
const pagePath = path.join(pageDir, config.fileName);
|
|
175
|
-
// Check if page already exists
|
|
176
|
-
try {
|
|
177
|
-
await fs.access(pagePath);
|
|
178
|
-
if (!force) {
|
|
179
|
-
console.error(chalk.red(`Page "${config.pascalName}" already exists at ${pagePath}`));
|
|
180
|
-
console.error(chalk.yellow('Use --force to overwrite.'));
|
|
181
|
-
process.exit(1);
|
|
182
|
-
}
|
|
183
|
-
console.log(chalk.yellow(`Overwriting existing page "${config.pascalName}"`));
|
|
184
|
-
const backupPath = await backupFile(projectRoot, pagePath);
|
|
185
|
-
if (backupPath)
|
|
186
|
-
console.log(chalk.dim(` Backup: ${path.relative(projectRoot, backupPath)}`));
|
|
187
|
-
}
|
|
188
|
-
catch {
|
|
189
|
-
// File does not exist, proceed
|
|
190
|
-
}
|
|
191
|
-
// Generate page file
|
|
192
|
-
const template = config.template();
|
|
193
|
-
await fs.mkdir(pageDir, { recursive: true });
|
|
194
|
-
await fs.writeFile(pagePath, template, 'utf-8');
|
|
195
|
-
console.log(chalk.green('Page created successfully!'));
|
|
196
|
-
console.log();
|
|
197
|
-
console.log(chalk.bold(' Page:'), config.pascalName);
|
|
198
|
-
console.log(chalk.bold(' Path:'), path.join('frontend', 'src', 'components', 'pages', config.fileName));
|
|
199
|
-
// Wire App.tsx
|
|
200
|
-
if (config.navKey) {
|
|
201
|
-
const wired = await wireAppTsxForSystemSettings(projectRoot, config.pascalName, config.navKey, config.navLabelZh, config.navLabelEn);
|
|
202
|
-
if (wired) {
|
|
203
|
-
console.log(chalk.green(' App.tsx wired automatically'));
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
// For login type, wire AuthProvider
|
|
207
|
-
if (config.isLogin) {
|
|
208
|
-
const authWired = await wireAppTsxForAuth(projectRoot);
|
|
209
|
-
if (authWired) {
|
|
210
|
-
console.log(chalk.green(' ✓'), 'AuthProvider wired into App.tsx');
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
async function wireAuthProviders(projectRoot) {
|
|
215
|
-
// LoginPage is NOT wired into navigation — AuthGuard renders it automatically
|
|
216
|
-
// Wire AuthProvider into App.tsx
|
|
217
|
-
const authWired = await wireAppTsxForAuth(projectRoot);
|
|
218
|
-
if (authWired) {
|
|
219
|
-
console.log(chalk.green(' ✓'), 'AuthProvider wired into App.tsx');
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
console.log(chalk.dim(' AuthProvider already wired or could not be modified'));
|
|
223
|
-
}
|
|
224
|
-
// Import wireAppTsxForNotification and wire NotificationCenter
|
|
225
|
-
const { wireAppTsxForNotification } = await import('../helpers/app-tsx-wiring.js');
|
|
226
|
-
const notifWired = await wireAppTsxForNotification(projectRoot);
|
|
227
|
-
if (notifWired) {
|
|
228
|
-
console.log(chalk.green(' ✓'), 'NotificationCenter wired into App.tsx');
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
56
|
//# sourceMappingURL=generate-system-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-system-settings.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-system-settings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-system-settings.js","sourceRoot":"","sources":["../../../src/cli/commands/generate-system-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAe1D"}
|
|
@@ -9,7 +9,8 @@ import path from 'path';
|
|
|
9
9
|
import crypto from 'crypto';
|
|
10
10
|
import { fileURLToPath } from 'url';
|
|
11
11
|
import { createLoomConfig, createPackageJson, createReadme, createTsconfig, createFrontendTsconfig, createViteConfig, createMainTsx, createAppTsx, createIndexHtml, createBackendEntry, createGitignore, } from '../templates/index.js';
|
|
12
|
-
import {
|
|
12
|
+
import { wireAppTsx } from '../helpers/app-tsx-wiring-engine.js';
|
|
13
|
+
import { SYSTEM_PAGE_CONFIG } from '../helpers/system-page-config.js';
|
|
13
14
|
/** Read current framework version from core package.json */
|
|
14
15
|
function getFrameworkVersion() {
|
|
15
16
|
const pkgPath = path.join(import.meta.dirname, '../../../package.json');
|
|
@@ -264,52 +265,34 @@ async function installDependencies(targetDir) {
|
|
|
264
265
|
async function generateSystemSettingsPages(targetDir) {
|
|
265
266
|
// Use npm-first approach: import page components from @loom-framework/frontend-antd
|
|
266
267
|
// No local page files are generated for system settings pages
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
// Wire Notification pages (npm import) — skipNav since they're accessed via bell icon, not sidebar
|
|
291
|
-
const notifCenterWired = await wireAppTsxForNpmSystemSettings(targetDir, 'NotificationCenter', 'notifications', '通知', 'Notifications', { skipNav: true });
|
|
292
|
-
if (notifCenterWired) {
|
|
293
|
-
console.log(chalk.green(' ✓'), 'NotificationCenter (npm) + App.tsx wired');
|
|
294
|
-
}
|
|
295
|
-
const notifDetailWired = await wireAppTsxForNpmSystemSettings(targetDir, 'NotificationDetail', 'notification-detail', '通知详情', 'Notification Detail', { skipNav: true });
|
|
296
|
-
if (notifDetailWired) {
|
|
297
|
-
console.log(chalk.green(' ✓'), 'NotificationDetail (npm) + App.tsx wired');
|
|
298
|
-
}
|
|
299
|
-
// Wire AuthProvider into App.tsx
|
|
300
|
-
const authWired = await wireAppTsxForAuth(targetDir);
|
|
301
|
-
if (authWired) {
|
|
302
|
-
console.log(chalk.green(' ✓'), 'AuthProvider wired into App.tsx');
|
|
268
|
+
// All wiring is driven by SYSTEM_PAGE_CONFIG — adding a new page type there
|
|
269
|
+
// automatically includes it in `loom init`.
|
|
270
|
+
for (const pageType of Object.keys(SYSTEM_PAGE_CONFIG)) {
|
|
271
|
+
const config = SYSTEM_PAGE_CONFIG[pageType];
|
|
272
|
+
try {
|
|
273
|
+
// Wire main page
|
|
274
|
+
const result = await wireAppTsx({ projectRoot: targetDir, pageConfig: config, action: 'add-npm' });
|
|
275
|
+
if (result.modified) {
|
|
276
|
+
console.log(chalk.green(' ✓'), `${config.pascalName} (npm) + App.tsx wired`);
|
|
277
|
+
}
|
|
278
|
+
// Wire extra files (e.g., NotificationDetail for notification type)
|
|
279
|
+
if (config.extraFiles) {
|
|
280
|
+
for (const extra of config.extraFiles) {
|
|
281
|
+
const extraResult = await wireAppTsx({ projectRoot: targetDir, pageConfig: extra, action: 'add-npm' });
|
|
282
|
+
if (extraResult.modified) {
|
|
283
|
+
console.log(chalk.green(' ✓'), `${extra.pascalName} (npm) + App.tsx wired`);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// For login type, AuthGuard renders it automatically — no navigation entry needed
|
|
288
|
+
if (config.wiringMode === 'auth-fallback') {
|
|
289
|
+
console.log(chalk.dim(` LoginPage is rendered by AuthGuard, no navigation entry needed.`));
|
|
290
|
+
}
|
|
303
291
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
if (notifProviderWired) {
|
|
307
|
-
console.log(chalk.green(' ✓'), 'NotificationCenter wired into App.tsx');
|
|
292
|
+
catch {
|
|
293
|
+
// Config file might not exist yet, skip this page type
|
|
308
294
|
}
|
|
309
295
|
}
|
|
310
|
-
catch {
|
|
311
|
-
// Config file might not exist yet, skip auth wiring
|
|
312
|
-
}
|
|
313
296
|
}
|
|
314
297
|
async function verifySqliteNativeModule(targetDir) {
|
|
315
298
|
const { execSync } = await import('child_process');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared App.tsx string manipulation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Used by app-tsx-wiring.ts (CRUD pages), app-tsx-wiring-engine.ts
|
|
5
|
+
* (system settings engine), and eject.ts (inline helpers during migration).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Find the position right after the last import statement.
|
|
9
|
+
* Returns the index of the newline after the last `import ... from '...'` or `import ...` line.
|
|
10
|
+
*/
|
|
11
|
+
export declare function findLastImportEnd(content: string): number | null;
|
|
12
|
+
//# sourceMappingURL=app-tsx-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-tsx-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAShE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared App.tsx string manipulation utilities.
|
|
3
|
+
*
|
|
4
|
+
* Used by app-tsx-wiring.ts (CRUD pages), app-tsx-wiring-engine.ts
|
|
5
|
+
* (system settings engine), and eject.ts (inline helpers during migration).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Find the position right after the last import statement.
|
|
9
|
+
* Returns the index of the newline after the last `import ... from '...'` or `import ...` line.
|
|
10
|
+
*/
|
|
11
|
+
export function findLastImportEnd(content) {
|
|
12
|
+
const importRegex = /^import\s.+;?\s*$/gm;
|
|
13
|
+
let lastMatch = null;
|
|
14
|
+
let m;
|
|
15
|
+
while ((m = importRegex.exec(content)) !== null) {
|
|
16
|
+
lastMatch = m;
|
|
17
|
+
}
|
|
18
|
+
if (!lastMatch)
|
|
19
|
+
return null;
|
|
20
|
+
return lastMatch.index + lastMatch[0].length;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=app-tsx-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-tsx-utils.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,qBAAqB,CAAC;IAC1C,IAAI,SAAS,GAA2B,IAAI,CAAC;IAC7C,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,SAAS,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified App.tsx wiring engine for system settings pages.
|
|
3
|
+
*
|
|
4
|
+
* Driven by SYSTEM_PAGE_CONFIG and WiringMode, this replaces the scattered
|
|
5
|
+
* inline wiring helpers in eject.ts and the per-page-type functions in
|
|
6
|
+
* app-tsx-wiring.ts.
|
|
7
|
+
*
|
|
8
|
+
* Pure step functions are individually testable. The main `wireAppTsx()`
|
|
9
|
+
* dispatches steps based on WiringMode + action.
|
|
10
|
+
*/
|
|
11
|
+
import type { SystemPageConfig } from './system-page-config.js';
|
|
12
|
+
export type WiringAction = 'add-npm' | 'add-local' | 'eject' | 'uneject';
|
|
13
|
+
export interface WiringOptions {
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
pageConfig: SystemPageConfig;
|
|
16
|
+
action: WiringAction;
|
|
17
|
+
force?: boolean;
|
|
18
|
+
/** For notification type: extra files to also wire */
|
|
19
|
+
extraFiles?: SystemPageConfig[];
|
|
20
|
+
}
|
|
21
|
+
/** Add a name to the npm import from @loom-framework/frontend-antd. */
|
|
22
|
+
export declare function ensureNpmImport(content: string, componentName: string): string;
|
|
23
|
+
/** Remove a name from the npm import from @loom-framework/frontend-antd. */
|
|
24
|
+
export declare function removeNpmImportName(content: string, name: string): string;
|
|
25
|
+
/** Add a local import line: import XPage from './components/pages/X'; */
|
|
26
|
+
export declare function ensureLocalImport(content: string, pascalName: string): string;
|
|
27
|
+
/** Remove a local import line. */
|
|
28
|
+
export declare function removeLocalImport(content: string, pascalName: string): string;
|
|
29
|
+
/** Ensure registerMessages is imported from @loom-framework/frontend-antd. */
|
|
30
|
+
export declare function ensureRegisterMessagesImport(content: string): string;
|
|
31
|
+
/** Register i18n keys for nav.system-settings and the page's nav key. */
|
|
32
|
+
export declare function ensureI18nRegistration(content: string, navKey: string, navLabelZh: string, navLabelEn: string): string;
|
|
33
|
+
/** Ensure navItem in system-settings submenu. If skipNav, only ensures submenu exists without adding child. */
|
|
34
|
+
export declare function ensureNavItem(content: string, navKey: string, navLabelZh: string, navLabelEn: string, skipNav?: boolean): string;
|
|
35
|
+
/** Add a switch case before the default case. */
|
|
36
|
+
export declare function ensureSwitchCase(content: string, navKey: string, componentName: string): string;
|
|
37
|
+
/** Replace the component in a switch case. */
|
|
38
|
+
export declare function replaceSwitchCase(content: string, navKey: string, oldComponent: string, newComponent: string): string;
|
|
39
|
+
/** Ensure breadcrumb mapping for a nav key. */
|
|
40
|
+
export declare function ensureBreadcrumb(content: string, navKey: string, navLabelZh: string, navLabelEn: string): string;
|
|
41
|
+
/** Ensure system-settings breadcrumb exists if system-settings nav exists. */
|
|
42
|
+
export declare function ensureSystemSettingsBreadcrumb(content: string): string;
|
|
43
|
+
/** Add AuthGuard fallback prop: <AuthGuard> → <AuthGuard fallback={<LoginPage />}> */
|
|
44
|
+
export declare function ensureAuthGuardFallback(content: string, componentName: string): string;
|
|
45
|
+
/** Remove AuthGuard fallback prop: <AuthGuard fallback={<LoginPage />}> → <AuthGuard> */
|
|
46
|
+
export declare function removeAuthGuardFallback(content: string, componentName: string): string;
|
|
47
|
+
/** Ensure AuthProvider + AuthGuard wrapping in App.tsx. */
|
|
48
|
+
export declare function ensureAuthProviderWrapping(content: string): string;
|
|
49
|
+
/** Ensure NotificationCenterProvider wrapping and notification props on AppShell. */
|
|
50
|
+
export declare function ensureNotificationProvider(content: string): string;
|
|
51
|
+
/** Register i18n keys for notification pages. */
|
|
52
|
+
export declare function ensureNotificationI18n(content: string): string;
|
|
53
|
+
/** Add notification switch cases. */
|
|
54
|
+
export declare function ensureNotificationSwitchCases(content: string, centerComponent: string, detailComponent: string): string;
|
|
55
|
+
/** Ensure notification breadcrumbs. */
|
|
56
|
+
export declare function ensureNotificationBreadcrumbs(content: string): string;
|
|
57
|
+
/** Add onNotificationViewAll + onNotificationClick props to AppShell. */
|
|
58
|
+
export declare function ensureNotificationAppShellProps(content: string): string;
|
|
59
|
+
/** Migration: ensure breadcrumbsMap prop on AppShell. */
|
|
60
|
+
export declare function ensureMigrationCleanups(content: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Wire App.tsx for a system settings page.
|
|
63
|
+
*
|
|
64
|
+
* Reads the config's wiringMode to determine which steps to apply
|
|
65
|
+
* based on the action (add-npm, add-local, eject, uneject).
|
|
66
|
+
*/
|
|
67
|
+
export declare function wireAppTsx(options: WiringOptions): Promise<{
|
|
68
|
+
modified: boolean;
|
|
69
|
+
}>;
|
|
70
|
+
//# sourceMappingURL=app-tsx-wiring-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-tsx-wiring-engine.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring-engine.ts"],"names":[],"mappings":"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"}
|