vona-cli-set-api 1.0.415 → 1.0.419
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/cli/templates/create/module/boilerplate/_package.json +1 -1
- package/cli/templates/create/project/basic/boilerplate/_.gitignore +2 -0
- package/cli/templates/create/project/basic/boilerplate/package.original.json +1 -1
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-base/package.json +2 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-index/package.json +2 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/package.json +2 -2
- package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/package.json +1 -1
- package/dist/index.js +13 -2
- package/dist-cli/templates/create/module/snippets/package.json.d.ts +7 -0
- package/dist-cli/templates/create/module/snippets/package.json.js +10 -0
- package/dist-cli/templates/create/module/snippets/tsconfig.json.d.ts +7 -0
- package/dist-cli/templates/create/module/snippets/tsconfig.json.js +12 -0
- package/dist-cli/templates/tools/crud/snippets/1-package.json.d.ts +7 -0
- package/dist-cli/templates/tools/crud/snippets/1-package.json.js +9 -0
- package/dist-cli/templates/tools/crud/snippets/2-meta.index.d.ts +7 -0
- package/dist-cli/templates/tools/crud/snippets/2-meta.index.js +44 -0
- package/dist-cli/templates/tools/crud/snippets/2-meta.version.d.ts +7 -0
- package/dist-cli/templates/tools/crud/snippets/2-meta.version.js +39 -0
- package/dist-cli/templates/tools/crud/snippets/3-en-us.d.ts +8 -0
- package/dist-cli/templates/tools/crud/snippets/3-en-us.js +25 -0
- package/dist-cli/templates/tools/crud/snippets/4-zh-cn.d.ts +2 -0
- package/dist-cli/templates/tools/crud/snippets/4-zh-cn.js +10 -0
- package/dist-cli/templates/tools/crud/utils.d.ts +5 -0
- package/dist-cli/templates/tools/crud/utils.js +13 -0
- package/package.json +5 -4
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json",
|
|
32
32
|
"prepublishOnly": "npm run tsc:publish",
|
|
33
33
|
"prepack": "clean-package",
|
|
34
|
-
"postpack": "clean-package restore"
|
|
34
|
+
"postpack": "clean-package restore && npm run clean"
|
|
35
35
|
},
|
|
36
36
|
"clean-package": {
|
|
37
37
|
"indent": 2,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-home-base",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.14",
|
|
5
5
|
"title": "home-base",
|
|
6
6
|
"vonaModule": {
|
|
7
7
|
"dependencies": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json",
|
|
34
34
|
"prepublishOnly": "npm run tsc:publish",
|
|
35
35
|
"prepack": "clean-package",
|
|
36
|
-
"postpack": "clean-package restore",
|
|
36
|
+
"postpack": "clean-package restore && npm run clean",
|
|
37
37
|
"version": "node ../../../../../scripts/version-home.ts"
|
|
38
38
|
},
|
|
39
39
|
"clean-package": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-home-index",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.14",
|
|
5
5
|
"title": "home-index",
|
|
6
6
|
"vonaModule": {
|
|
7
7
|
"dependencies": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json",
|
|
34
34
|
"prepublishOnly": "npm run tsc:publish",
|
|
35
35
|
"prepack": "clean-package",
|
|
36
|
-
"postpack": "clean-package restore",
|
|
36
|
+
"postpack": "clean-package restore && npm run clean",
|
|
37
37
|
"version": "node ../../../../../scripts/version-home.ts"
|
|
38
38
|
},
|
|
39
39
|
"clean-package": {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-home-user",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.22",
|
|
5
5
|
"title": "home-user",
|
|
6
6
|
"vonaModule": {
|
|
7
7
|
"fileVersion": 1,
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"tsc:publish": "npm run clean && vona :bin:buildModule && tsc -p tsconfig.build.json",
|
|
35
35
|
"prepublishOnly": "npm run tsc:publish",
|
|
36
36
|
"prepack": "clean-package",
|
|
37
|
-
"postpack": "clean-package restore",
|
|
37
|
+
"postpack": "clean-package restore && npm run clean",
|
|
38
38
|
"version": "node ../../../../../scripts/version-home.ts"
|
|
39
39
|
},
|
|
40
40
|
"clean-package": {
|
package/dist/index.js
CHANGED
|
@@ -1068,12 +1068,13 @@ class CliCreateBean extends BeanCliBase {
|
|
|
1068
1068
|
const boilerplates = this._getBoilerplatesOrSnippets('boilerplate', argv.boilerplate);
|
|
1069
1069
|
const snippetsName = snippets[`${sceneName}:${argv.beanName}`] || snippets[sceneName];
|
|
1070
1070
|
const boilerplateName = boilerplates[`${sceneName}:${argv.beanName}`] || boilerplates[sceneName];
|
|
1071
|
+
const boilerplatePath = `cli/${boilerplateName}`;
|
|
1071
1072
|
// render
|
|
1072
1073
|
await this.template.renderBoilerplateAndSnippets({
|
|
1073
1074
|
targetDir: beanDir,
|
|
1074
1075
|
setName: __ThisSetName__,
|
|
1075
1076
|
snippetsPath: snippetsName,
|
|
1076
|
-
boilerplatePath
|
|
1077
|
+
boilerplatePath
|
|
1077
1078
|
});
|
|
1078
1079
|
// tools.metadata
|
|
1079
1080
|
if (!argv.nometadata) {
|
|
@@ -2205,7 +2206,10 @@ async function generateMetadataCustom(cli, sceneName, sceneMeta, moduleName, mod
|
|
|
2205
2206
|
const globFiles = await globBeanFiles(sceneName, sceneMeta, moduleName, modulePath);
|
|
2206
2207
|
if (globFiles.length === 0) return '';
|
|
2207
2208
|
// custom
|
|
2208
|
-
|
|
2209
|
+
let jsFile = path.join(sceneMeta.module.root, 'dist-cli', sceneMeta.metadataCustom.replace('.ts', '.js'));
|
|
2210
|
+
if (!fse.existsSync(jsFile)) {
|
|
2211
|
+
jsFile = path.join(sceneMeta.module.root, 'cli', sceneMeta.metadataCustom);
|
|
2212
|
+
}
|
|
2209
2213
|
return await cli.helper.importDynamic(jsFile, async instance => {
|
|
2210
2214
|
const options = {
|
|
2211
2215
|
cli,
|
|
@@ -2691,6 +2695,13 @@ export { ScopeModule${relativeNameCapitalize} as ScopeModule } from './index.ts'
|
|
|
2691
2695
|
changed = true;
|
|
2692
2696
|
pkg.files.push('cli');
|
|
2693
2697
|
}
|
|
2698
|
+
if (pkg.scripts['tsc:publish'].includes('tsconfig.cli.json')) {
|
|
2699
|
+
const index = pkg.files.indexOf('dist-cli');
|
|
2700
|
+
if (index === -1) {
|
|
2701
|
+
changed = true;
|
|
2702
|
+
pkg.files.push('dist-cli');
|
|
2703
|
+
}
|
|
2704
|
+
}
|
|
2694
2705
|
}
|
|
2695
2706
|
// save
|
|
2696
2707
|
if (changed) {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
2
|
+
export default metadataCustomSnippet({
|
|
3
|
+
file: 'package.json',
|
|
4
|
+
language: 'json',
|
|
5
|
+
async transform({ /* cli, */ ast, argv }) {
|
|
6
|
+
ast.dependencies[`vona-module-${argv.name}`] = '^5.0.0';
|
|
7
|
+
// ok
|
|
8
|
+
return ast;
|
|
9
|
+
},
|
|
10
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
2
|
+
export default metadataCustomSnippet({
|
|
3
|
+
file: 'tsconfig.json',
|
|
4
|
+
language: 'json',
|
|
5
|
+
async transform({ /* cli, */ ast, argv }) {
|
|
6
|
+
ast.references.push({
|
|
7
|
+
path: `modules/${argv.name}/tsconfig.build.json`,
|
|
8
|
+
});
|
|
9
|
+
// ok
|
|
10
|
+
return ast;
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
2
|
+
export default metadataCustomSnippet({
|
|
3
|
+
file: 'package.json',
|
|
4
|
+
language: 'json',
|
|
5
|
+
async transform({ ast, argv }) {
|
|
6
|
+
argv.fileVersion = ast.vonaModule.fileVersion = 1 + (ast.vonaModule.fileVersion ?? 0);
|
|
7
|
+
return ast;
|
|
8
|
+
},
|
|
9
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
3
|
+
import { catchError } from '@cabloy/utils';
|
|
4
|
+
const __snippet_import1 = 'import { $tableColumns } from \'vona-module-a-orm\';';
|
|
5
|
+
const __snippet_import2 = 'import { Entity<%=argv.resourceNameCapitalize%> } from \'../entity/<%=argv.resourceName%>.ts\';';
|
|
6
|
+
const __snippet_update = '...$tableColumns(() => Entity<%=argv.resourceNameCapitalize%>, \'name\'),';
|
|
7
|
+
export default metadataCustomSnippet({
|
|
8
|
+
file: 'src/bean/meta.index.ts',
|
|
9
|
+
language: 'plain',
|
|
10
|
+
format: true,
|
|
11
|
+
init: async ({ cli, argv, targetFile }) => {
|
|
12
|
+
await catchError(() => {
|
|
13
|
+
return cli.helper.invokeCli([
|
|
14
|
+
':create:bean',
|
|
15
|
+
'meta',
|
|
16
|
+
'index',
|
|
17
|
+
`--module=${argv.module}`,
|
|
18
|
+
'--nometadata',
|
|
19
|
+
'--noformat',
|
|
20
|
+
], { cwd: argv.projectPath });
|
|
21
|
+
});
|
|
22
|
+
return fs.readFileSync(targetFile).toString('utf8');
|
|
23
|
+
},
|
|
24
|
+
async transform({ cli, ast }) {
|
|
25
|
+
// import1
|
|
26
|
+
if (!ast.includes(__snippet_import1)) {
|
|
27
|
+
const code = await cli.template.renderContent({ content: __snippet_import1 });
|
|
28
|
+
ast = ast.replace('import { Meta } from \'vona-module-a-meta\';', `import { Meta } from 'vona-module-a-meta';\n${code}`);
|
|
29
|
+
}
|
|
30
|
+
// import2
|
|
31
|
+
let code = await cli.template.renderContent({ content: __snippet_import2 });
|
|
32
|
+
ast = ast.replace('import { $tableColumns } from \'vona-module-a-orm\';', `import { $tableColumns } from 'vona-module-a-orm';\n${code}`);
|
|
33
|
+
// update
|
|
34
|
+
code = await cli.template.renderContent({ content: __snippet_update });
|
|
35
|
+
if (ast.includes('indexes: {}')) {
|
|
36
|
+
ast = ast.replace('indexes: {', `indexes: {\n ${code}\n `);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
ast = ast.replace('indexes: {', `indexes: {\n ${code}`);
|
|
40
|
+
}
|
|
41
|
+
// ok
|
|
42
|
+
return ast;
|
|
43
|
+
},
|
|
44
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
3
|
+
import { catchError } from '@cabloy/utils';
|
|
4
|
+
const __snippet_update = `if (options.version === <%=argv.fileVersion%>) {
|
|
5
|
+
const entity<%=argv.resourceNameCapitalize%> = this.scope.entity.<%=argv.resourceName%>;
|
|
6
|
+
await this.bean.model.createTable(entity<%=argv.resourceNameCapitalize%>.$table, table => {
|
|
7
|
+
table.comment(entity<%=argv.resourceNameCapitalize%>.$comment.$table);
|
|
8
|
+
table.basicFields();
|
|
9
|
+
table.string(entity<%=argv.resourceNameCapitalize%>.name, 50).defaultTo(entity<%=argv.resourceNameCapitalize%>.$default.name).comment(entity<%=argv.resourceNameCapitalize%>.$comment.name);
|
|
10
|
+
table.string(entity<%=argv.resourceNameCapitalize%>.description, 255).comment(entity<%=argv.resourceNameCapitalize%>.$comment.description);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
export default metadataCustomSnippet({
|
|
15
|
+
file: 'src/bean/meta.version.ts',
|
|
16
|
+
language: 'gogo',
|
|
17
|
+
format: true,
|
|
18
|
+
init: async ({ cli, argv, targetFile }) => {
|
|
19
|
+
await catchError(() => {
|
|
20
|
+
return cli.helper.invokeCli([
|
|
21
|
+
':create:bean',
|
|
22
|
+
'meta',
|
|
23
|
+
'version',
|
|
24
|
+
`--module=${argv.module}`,
|
|
25
|
+
'--nometadata',
|
|
26
|
+
'--noformat',
|
|
27
|
+
], { cwd: argv.projectPath });
|
|
28
|
+
});
|
|
29
|
+
return fs.readFileSync(targetFile).toString('utf8');
|
|
30
|
+
},
|
|
31
|
+
async transform({ cli, ast }) {
|
|
32
|
+
// update
|
|
33
|
+
ast.replace('async update(_options: IMetaVersionUpdateOptions) {$$$1}', 'async update(options: IMetaVersionUpdateOptions) {$$$1}');
|
|
34
|
+
const code = await cli.template.renderContent({ content: __snippet_update });
|
|
35
|
+
ast.replace('async update($$$0) {$$$1}', `async update($$$0) {\n $$$1\n ${code}}`);
|
|
36
|
+
// ok
|
|
37
|
+
return ast;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
3
|
+
import { catchError } from '@cabloy/utils';
|
|
4
|
+
import { locale_transform } from "../utils.js";
|
|
5
|
+
const __resources = { Name: 'Name', Description: 'Description' };
|
|
6
|
+
export default metadataCustomSnippet({
|
|
7
|
+
file: 'src/config/locale/en-us.ts',
|
|
8
|
+
language: 'plain',
|
|
9
|
+
init: async ({ cli, argv, targetFile }) => {
|
|
10
|
+
await catchError(() => {
|
|
11
|
+
return cli.helper.invokeCli([
|
|
12
|
+
':init:locale',
|
|
13
|
+
argv.module,
|
|
14
|
+
'--nometadata',
|
|
15
|
+
'--noformat',
|
|
16
|
+
], {
|
|
17
|
+
cwd: argv.projectPath,
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
return fs.readFileSync(targetFile).toString('utf8');
|
|
21
|
+
},
|
|
22
|
+
async transform({ ast, argv }) {
|
|
23
|
+
return locale_transform({ ast, argv, resources: __resources });
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { metadataCustomSnippet } from '@cabloy/cli';
|
|
2
|
+
import { locale_transform } from "../utils.js";
|
|
3
|
+
const __resources = { Name: '名称', Description: '描述' };
|
|
4
|
+
export default metadataCustomSnippet({
|
|
5
|
+
file: 'src/config/locale/zh-cn.ts',
|
|
6
|
+
language: 'plain',
|
|
7
|
+
async transform({ ast, argv }) {
|
|
8
|
+
return locale_transform({ ast, argv, resources: __resources });
|
|
9
|
+
},
|
|
10
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { evaluateSimple } from '@cabloy/utils';
|
|
2
|
+
export async function locale_transform({ ast, argv, resources }) {
|
|
3
|
+
const values = evaluateSimple(ast.replace('export default', '').replace(';', ''));
|
|
4
|
+
resources = Object.assign({}, resources, { [argv.resourceNameCapitalize]: argv.resourceNameCapitalize }, values);
|
|
5
|
+
const keys = Object.keys(resources).sort();
|
|
6
|
+
let content = '';
|
|
7
|
+
for (const key of keys) {
|
|
8
|
+
content += ` ${key}: '${resources[key].replaceAll('\'', '\\\'')}',\n`;
|
|
9
|
+
}
|
|
10
|
+
ast = `export default {\n${content}};\n`;
|
|
11
|
+
// ok
|
|
12
|
+
return ast;
|
|
13
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-cli-set-api",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.419",
|
|
5
5
|
"description": "vona cli-set-api",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"files": [
|
|
26
26
|
"cli",
|
|
27
27
|
"dist",
|
|
28
|
+
"dist-cli",
|
|
28
29
|
"dist-toolsIsolate",
|
|
29
30
|
"templates"
|
|
30
31
|
],
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
"@babel/plugin-proposal-decorators": "^7.25.9",
|
|
33
34
|
"@babel/plugin-transform-class-properties": "^7.25.9",
|
|
34
35
|
"@babel/plugin-transform-typescript": "^7.26.8",
|
|
35
|
-
"@cabloy/cli": "^3.0.
|
|
36
|
+
"@cabloy/cli": "^3.0.73",
|
|
36
37
|
"@cabloy/dotenv": "^1.1.12",
|
|
37
38
|
"@cabloy/extend": "^3.1.11",
|
|
38
39
|
"@cabloy/module-glob": "^5.2.35",
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
},
|
|
70
71
|
"gitHead": "0eab9dc4a5622caffe89e7b1b3f02c08ccbc4c4b",
|
|
71
72
|
"scripts": {
|
|
72
|
-
"clean": "rimraf dist dist-toolsIsolate tsconfig.build.tsbuildinfo tsconfig.isolate.tsbuildinfo",
|
|
73
|
-
"tsc:publish": "npm run clean && vona :bin:buildGeneral && tsc -p tsconfig.build.json && tsc -p tsconfig.isolate.json"
|
|
73
|
+
"clean": "rimraf dist dist-cli dist-toolsIsolate tsconfig.build.tsbuildinfo tsconfig.cli.tsbuildinfo tsconfig.isolate.tsbuildinfo",
|
|
74
|
+
"tsc:publish": "npm run clean && vona :bin:buildGeneral && tsc -p tsconfig.build.json && tsc -p tsconfig.cli.json && tsc -p tsconfig.isolate.json"
|
|
74
75
|
}
|
|
75
76
|
}
|