@loom-framework/core 0.1.0-alpha.100 → 0.1.0-alpha.101
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/backend/routes/data.d.ts.map +1 -1
- package/dist/backend/routes/data.js +19 -3
- package/dist/backend/routes/data.js.map +1 -1
- package/dist/cli/commands/generate-dashboard.d.ts.map +1 -1
- package/dist/cli/commands/generate-dashboard.js +41 -16
- package/dist/cli/commands/generate-dashboard.js.map +1 -1
- package/dist/cli/commands/generate-page.d.ts.map +1 -1
- package/dist/cli/commands/generate-page.js +56 -5
- package/dist/cli/commands/generate-page.js.map +1 -1
- package/dist/cli/helpers/app-tsx-wiring.d.ts +2 -0
- package/dist/cli/helpers/app-tsx-wiring.d.ts.map +1 -1
- package/dist/cli/helpers/app-tsx-wiring.js +22 -3
- package/dist/cli/helpers/app-tsx-wiring.js.map +1 -1
- package/dist/cli/helpers/column-template.d.ts +3 -3
- package/dist/cli/helpers/column-template.d.ts.map +1 -1
- package/dist/cli/helpers/column-template.js +8 -6
- package/dist/cli/helpers/column-template.js.map +1 -1
- package/dist/cli/helpers/field-template.d.ts.map +1 -1
- package/dist/cli/helpers/field-template.js +19 -17
- package/dist/cli/helpers/field-template.js.map +1 -1
- package/dist/cli/templates/frontend-entry.d.ts.map +1 -1
- package/dist/cli/templates/frontend-entry.js +22 -12
- package/dist/cli/templates/frontend-entry.js.map +1 -1
- package/dist/cli/templates/loom-config.js +6 -6
- package/dist/cli/templates/loom-config.js.map +1 -1
- package/dist/config.d.ts +54 -45
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -5
- package/dist/config.js.map +1 -1
- package/dist/dashboard-config.d.ts +10 -10
- package/dist/dashboard-config.d.ts.map +1 -1
- package/dist/dashboard-config.js +3 -2
- package/dist/dashboard-config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/ai.d.ts +2 -1
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/config.d.ts +3 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/dashboard.d.ts +5 -4
- package/dist/types/dashboard.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/locale.d.ts +21 -0
- package/dist/types/locale.d.ts.map +1 -0
- package/dist/types/locale.js +36 -0
- package/dist/types/locale.js.map +1 -0
- package/dist/types/model.d.ts +5 -2
- package/dist/types/model.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"app-tsx-wiring.js","sourceRoot":"","sources":["../../../src/cli/helpers/app-tsx-wiring.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Extracted from generate-page.ts for testability and reuse.
|
|
5
5
|
*/
|
|
6
|
-
import type { FieldDefinition, AIButtonConfig } from '../../index.js';
|
|
6
|
+
import type { FieldDefinition, AIButtonConfig, LocaleString } from '../../index.js';
|
|
7
7
|
/** Semantic color mapping for common enum values */
|
|
8
8
|
export declare const SEMANTIC_COLORS: Record<string, string>;
|
|
9
9
|
export declare const TAG_PALETTE: string[];
|
|
@@ -13,6 +13,6 @@ export declare function generateTagColors(fields: FieldDefinition[]): string;
|
|
|
13
13
|
export declare function getColumnWidth(field: FieldDefinition): number;
|
|
14
14
|
/** Generate table columns from model fields — server-side filter & sort */
|
|
15
15
|
export declare function generateColumns(fields: FieldDefinition[], modelName: string, aiButtons?: AIButtonConfig[], useSchema?: boolean): string;
|
|
16
|
-
/** Build display label from model description */
|
|
17
|
-
export declare function buildLabel(description:
|
|
16
|
+
/** Build display label from model description (resolves LocaleString) */
|
|
17
|
+
export declare function buildLabel(description: LocaleString | undefined, pascalName: string): string;
|
|
18
18
|
//# sourceMappingURL=column-template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-template.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/column-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"column-template.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/column-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKpF,oDAAoD;AACpD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUlD,CAAC;AAEF,eAAO,MAAM,WAAW,UAA6F,CAAC;AAEtH,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAanE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAU7D;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CA2FvI;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG5F"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Extracted from generate-page.ts for testability and reuse.
|
|
5
5
|
*/
|
|
6
|
+
import { resolveLocale } from '../../index.js';
|
|
6
7
|
import { toPascalCase } from './naming.js';
|
|
7
|
-
import { isLongTextField
|
|
8
|
+
import { isLongTextField } from './field-template.js';
|
|
8
9
|
/** Semantic color mapping for common enum values */
|
|
9
10
|
export const SEMANTIC_COLORS = {
|
|
10
11
|
'active': 'green', 'inactive': 'default', 'pending': 'orange',
|
|
@@ -57,7 +58,7 @@ export function generateColumns(fields, modelName, aiButtons, useSchema) {
|
|
|
57
58
|
const cols = fields
|
|
58
59
|
.filter((f) => f.name !== 'id') // skip id column in form
|
|
59
60
|
.map((f) => {
|
|
60
|
-
const
|
|
61
|
+
const labelKey = `model.${modelName}.field.${f.name}`;
|
|
61
62
|
const width = getColumnWidth(f);
|
|
62
63
|
const extras = [` width: ${width},`];
|
|
63
64
|
const renders = [];
|
|
@@ -66,7 +67,7 @@ export function generateColumns(fields, modelName, aiButtons, useSchema) {
|
|
|
66
67
|
}
|
|
67
68
|
else if (f.enum) {
|
|
68
69
|
// Enum columns: Tag render + server-side column filter
|
|
69
|
-
renders.push(` render: (val: string) => val ? <Tag color={tagColors?.['${f.name}']?.[val] || 'blue'}>{val}</Tag> : '-',`);
|
|
70
|
+
renders.push(` render: (val: string) => val ? <Tag color={tagColors?.['${f.name}']?.[val] || 'blue'}>{enumLabel(schema, '${f.name}', val)}</Tag> : '-',`);
|
|
70
71
|
if (useSchema) {
|
|
71
72
|
extras.push(` filters: filterOptions(schema, '${f.name}'),`);
|
|
72
73
|
}
|
|
@@ -117,7 +118,7 @@ export function generateColumns(fields, modelName, aiButtons, useSchema) {
|
|
|
117
118
|
extras.push(` ellipsis: true,`);
|
|
118
119
|
}
|
|
119
120
|
return ` {
|
|
120
|
-
title: '${
|
|
121
|
+
title: t('${labelKey}'),
|
|
121
122
|
dataIndex: '${f.name}',
|
|
122
123
|
key: '${f.name}',
|
|
123
124
|
${extras.join('\n')}${renders.join('\n')} },`;
|
|
@@ -149,8 +150,9 @@ ${extras.join('\n')}${renders.join('\n')} },`;
|
|
|
149
150
|
),
|
|
150
151
|
},`;
|
|
151
152
|
}
|
|
152
|
-
/** Build display label from model description */
|
|
153
|
+
/** Build display label from model description (resolves LocaleString) */
|
|
153
154
|
export function buildLabel(description, pascalName) {
|
|
154
|
-
|
|
155
|
+
const resolved = resolveLocale(description, 'zh-CN');
|
|
156
|
+
return resolved || pascalName;
|
|
155
157
|
}
|
|
156
158
|
//# sourceMappingURL=column-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column-template.js","sourceRoot":"","sources":["../../../src/cli/helpers/column-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"column-template.js","sourceRoot":"","sources":["../../../src/cli/helpers/column-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-template.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/field-template.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"field-template.d.ts","sourceRoot":"","sources":["../../../src/cli/helpers/field-template.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAYzD;AAED,iEAAiE;AACjE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAG5D;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAe/D;AAgBD,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAoDtG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Field-to-template utilities - extracted for testability
|
|
3
3
|
*/
|
|
4
|
+
import { resolveLocale } from '../../index.js';
|
|
4
5
|
/** Map FieldType to Ant Design table column render hint */
|
|
5
6
|
export function fieldToColumnType(type) {
|
|
6
7
|
switch (type) {
|
|
@@ -21,7 +22,8 @@ export const FALLBACK_LABELS = {
|
|
|
21
22
|
updatedAt: '更新时间',
|
|
22
23
|
};
|
|
23
24
|
export function getFieldLabel(field) {
|
|
24
|
-
|
|
25
|
+
const desc = resolveLocale(field.description, 'zh-CN');
|
|
26
|
+
return desc || FALLBACK_LABELS[field.name] || field.name;
|
|
25
27
|
}
|
|
26
28
|
/** Guess if a field is a long-text field (should use TextArea instead of Input) */
|
|
27
29
|
export function isLongTextField(field) {
|
|
@@ -54,52 +56,52 @@ function getRequiredRule(field, label) {
|
|
|
54
56
|
/** Generate Ant Design form item for a field */
|
|
55
57
|
export function fieldToFormItem(field, modelName, useSchema) {
|
|
56
58
|
const name = field.name;
|
|
57
|
-
const
|
|
58
|
-
const requiredRule = field.required ? getRequiredRule(field,
|
|
59
|
+
const labelCode = `t('model.${modelName}.field.${name}')`;
|
|
60
|
+
const requiredRule = field.required ? getRequiredRule(field, labelCode) : '';
|
|
59
61
|
if (field.enum) {
|
|
60
62
|
if (useSchema) {
|
|
61
|
-
return ` <Form.Item name="${name}" label=
|
|
62
|
-
<Select placeholder={\`\${t('form.select')}${
|
|
63
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
64
|
+
<Select placeholder={\`\${t('form.select')}\${${labelCode}}\`} options={selectOptions(schema, '${name}')} />
|
|
63
65
|
</Form.Item>`;
|
|
64
66
|
}
|
|
65
67
|
const options = field.enum.map((v) => ` <Select.Option value="${v}">${v}</Select.Option>`).join('\n');
|
|
66
|
-
return ` <Form.Item name="${name}" label=
|
|
67
|
-
<Select placeholder={\`\${t('form.select')}${
|
|
68
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
69
|
+
<Select placeholder={\`\${t('form.select')}\${${labelCode}}\`}>
|
|
68
70
|
${options}
|
|
69
71
|
</Select>
|
|
70
72
|
</Form.Item>`;
|
|
71
73
|
}
|
|
72
74
|
switch (field.type) {
|
|
73
75
|
case 'boolean':
|
|
74
|
-
return ` <Form.Item name="${name}" label=
|
|
76
|
+
return ` <Form.Item name="${name}" label={${labelCode}} valuePropName="checked">
|
|
75
77
|
<Switch />
|
|
76
78
|
</Form.Item>`;
|
|
77
79
|
case 'number':
|
|
78
80
|
case 'number[]':
|
|
79
|
-
return ` <Form.Item name="${name}" label=
|
|
81
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
80
82
|
<InputNumber style={{ width: '100%' }} />
|
|
81
83
|
</Form.Item>`;
|
|
82
84
|
case 'string[]':
|
|
83
|
-
return ` <Form.Item name="${name}" label=
|
|
84
|
-
<Select mode="tags" placeholder={\`\${t('form.input')}${
|
|
85
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
86
|
+
<Select mode="tags" placeholder={\`\${t('form.input')}\${${labelCode}}\`} />
|
|
85
87
|
</Form.Item>`;
|
|
86
88
|
case 'json':
|
|
87
|
-
return ` <Form.Item name="${name}" label=
|
|
89
|
+
return ` <Form.Item name="${name}" label={${labelCode}}>
|
|
88
90
|
<Input.TextArea rows={4} placeholder={t('form.inputJson')} />
|
|
89
91
|
</Form.Item>`;
|
|
90
92
|
case 'date':
|
|
91
|
-
return ` <Form.Item name="${name}" label=
|
|
93
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
92
94
|
<DatePicker style={{ width: '100%' }} />
|
|
93
95
|
</Form.Item>`;
|
|
94
96
|
default:
|
|
95
97
|
// Long text fields use TextArea
|
|
96
98
|
if (isLongTextField(field)) {
|
|
97
|
-
return ` <Form.Item name="${name}" label=
|
|
98
|
-
<Input.TextArea rows={3} placeholder={\`\${t('form.input')}${
|
|
99
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
100
|
+
<Input.TextArea rows={3} placeholder={\`\${t('form.input')}\${${labelCode}}\`} />
|
|
99
101
|
</Form.Item>`;
|
|
100
102
|
}
|
|
101
|
-
return ` <Form.Item name="${name}" label=
|
|
102
|
-
<Input placeholder={\`\${t('form.input')}${
|
|
103
|
+
return ` <Form.Item name="${name}" label={${labelCode}}${requiredRule}>
|
|
104
|
+
<Input placeholder={\`\${t('form.input')}\${${labelCode}}\`} />
|
|
103
105
|
</Form.Item>`;
|
|
104
106
|
}
|
|
105
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-template.js","sourceRoot":"","sources":["../../../src/cli/helpers/field-template.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"field-template.js","sourceRoot":"","sources":["../../../src/cli/helpers/field-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-entry.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"frontend-entry.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,IAAI,MAAM,CAWtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAyD1E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CAc7E"}
|
|
@@ -15,23 +15,33 @@ ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
|
15
15
|
}
|
|
16
16
|
export function createAppTsx(options) {
|
|
17
17
|
return `import React, { useState } from 'react';
|
|
18
|
-
import { AppShell, useLoomTheme } from '@loom-framework/frontend-antd';
|
|
18
|
+
import { AppShell, useLoomTheme, useLocale, registerMessages } from '@loom-framework/frontend-antd';
|
|
19
19
|
import type { BreadcrumbItem } from '@loom-framework/frontend-antd';
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'':
|
|
28
|
-
'skill-management':
|
|
29
|
-
|
|
30
|
-
// 'model-name': [{ title: '数据实体名' }],
|
|
31
|
-
};
|
|
21
|
+
// Register i18n keys for nav items and breadcrumbs
|
|
22
|
+
registerMessages('zh-CN', {
|
|
23
|
+
'nav.home': '${options.name}',
|
|
24
|
+
'nav.skill-management': 'Skill 管理',
|
|
25
|
+
});
|
|
26
|
+
registerMessages('en-US', {
|
|
27
|
+
'nav.home': '${options.name}',
|
|
28
|
+
'nav.skill-management': 'Skill Management',
|
|
29
|
+
});
|
|
32
30
|
|
|
33
31
|
export default function App() {
|
|
34
32
|
const [selectedKey, setSelectedKey] = useState('');
|
|
33
|
+
const { t } = useLocale();
|
|
34
|
+
|
|
35
|
+
const navItems = [
|
|
36
|
+
// Add nav items as you generate pages:
|
|
37
|
+
// { key: 'model-name', label: t('nav.model-name') },
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
const breadcrumbMap: Record<string, BreadcrumbItem[]> = {
|
|
41
|
+
'': [{ title: t('nav.home') }],
|
|
42
|
+
'skill-management': [{ title: t('nav.skill-management') }],
|
|
43
|
+
// Add breadcrumb mappings as you generate pages:
|
|
44
|
+
};
|
|
35
45
|
|
|
36
46
|
const renderPage = () => {
|
|
37
47
|
switch (selectedKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-entry.js","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAqC;IAChE,OAAO
|
|
1
|
+
{"version":3,"file":"frontend-entry.js","sourceRoot":"","sources":["../../../src/cli/templates/frontend-entry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;CASR,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAqC;IAChE,OAAO;;;;;;iBAMQ,OAAO,CAAC,IAAI;;;;iBAIZ,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;kBAwBX,OAAO,CAAC,IAAI;iBACb,OAAO,CAAC,WAAW,IAAI,qBAAqB;;;;;;;;;eAS9C,OAAO,CAAC,IAAI;;;;;;;;;;;CAW1B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAqC;IACnE,OAAO;;;;;aAKI,OAAO,CAAC,IAAI;;;;;;;CAOxB,CAAC;AACF,CAAC"}
|
|
@@ -7,7 +7,8 @@ export function createLoomConfig(options) {
|
|
|
7
7
|
export default defineConfig({
|
|
8
8
|
project: {
|
|
9
9
|
name: '${options.name}',
|
|
10
|
-
|
|
10
|
+
// 多语言描述:支持 string 或 { 'zh-CN': '...', 'en-US': '...' }
|
|
11
|
+
description: { 'zh-CN': '${options.description}', 'en-US': '${options.name}' },
|
|
11
12
|
},
|
|
12
13
|
data: {
|
|
13
14
|
defaultAdapter: '${options.adapter}',
|
|
@@ -16,12 +17,11 @@ export default defineConfig({
|
|
|
16
17
|
name: 'items',
|
|
17
18
|
fields: [
|
|
18
19
|
{ name: 'id', type: 'string', required: true },
|
|
19
|
-
{ name: 'name', type: 'string', required: true },
|
|
20
|
-
{ name: 'description', type: 'string' },
|
|
21
|
-
{ name: 'createdAt', type: 'date' },
|
|
20
|
+
{ name: 'name', type: 'string', required: true, description: { 'zh-CN': '名称', 'en-US': 'Name' } },
|
|
21
|
+
{ name: 'description', type: 'string', description: { 'zh-CN': '描述', 'en-US': 'Description' } },
|
|
22
|
+
{ name: 'createdAt', type: 'date', description: { 'zh-CN': '创建时间', 'en-US': 'Created At' } },
|
|
22
23
|
],
|
|
23
|
-
|
|
24
|
-
description: 'Example items model - customize or remove',
|
|
24
|
+
description: { 'zh-CN': '示例数据', 'en-US': 'Example Items' },
|
|
25
25
|
},
|
|
26
26
|
],
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loom-config.js","sourceRoot":"","sources":["../../../src/cli/templates/loom-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,OAAO;;;;aAII,OAAO,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"loom-config.js","sourceRoot":"","sources":["../../../src/cli/templates/loom-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,OAAO;;;;aAII,OAAO,CAAC,IAAI;;+BAEM,OAAO,CAAC,WAAW,gBAAgB,OAAO,CAAC,IAAI;;;uBAGvD,OAAO,CAAC,OAAO;;;;;;;;;;;;;;;;;;;CAmBrC,CAAC;AACF,CAAC"}
|