@codenotch/codenotch.cli 1.0.34 → 1.0.36
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/commands/generate/index.d.ts +3 -0
- package/dist/commands/generate/index.js +42 -0
- package/dist/commands/generate/index.js.map +1 -0
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/project/new.js +135 -1
- package/dist/commands/project/new.js.map +1 -1
- package/dist/commands/system/info.js +0 -7
- package/dist/commands/system/info.js.map +1 -1
- package/dist/commands/validation/ValidationUtils.d.ts +3 -13
- package/dist/commands/validation/ValidationUtils.js +2 -58
- package/dist/commands/validation/ValidationUtils.js.map +1 -1
- package/dist/commands/validation/files/AppManifestValidator.js +5 -20
- package/dist/commands/validation/files/AppManifestValidator.js.map +1 -1
- package/dist/commands/validation/files/ScriptValidator.d.ts +6 -2
- package/dist/commands/validation/files/ScriptValidator.js.map +1 -1
- package/dist/commands/validation/validate.js +8 -44
- package/dist/commands/validation/validate.js.map +1 -1
- package/dist/models/Codenotch.d.ts +0 -205
- package/dist/models/Codenotch.js +0 -211
- package/dist/models/Codenotch.js.map +1 -1
- package/dist/utils/BuildUtils.d.ts +6 -21
- package/dist/utils/BuildUtils.js +5 -109
- package/dist/utils/BuildUtils.js.map +1 -1
- package/dist/utils/ConsoleUtils.d.ts +5 -0
- package/dist/utils/ConsoleUtils.js +25 -0
- package/dist/utils/ConsoleUtils.js.map +1 -1
- package/dist/utils/GitHubAuthUtils.js.map +1 -1
- package/dist/utils/ManifestUtils.d.ts +24 -0
- package/dist/utils/ManifestUtils.js +53 -0
- package/dist/utils/ManifestUtils.js.map +1 -0
- package/dist/utils/ProjectCompilationUtils.d.ts +4 -30
- package/dist/utils/ProjectCompilationUtils.js +64 -750
- package/dist/utils/ProjectCompilationUtils.js.map +1 -1
- package/dist/utils/ProjectUtils.d.ts +2 -2
- package/dist/utils/ProjectUtils.js +0 -29
- package/dist/utils/ProjectUtils.js.map +1 -1
- package/dist/utils/ServeUtils.d.ts +0 -1
- package/dist/utils/ServeUtils.js +1 -24
- package/dist/utils/ServeUtils.js.map +1 -1
- package/dist/utils/ShellUtils.js.map +1 -1
- package/package.json +2 -3
- package/dist/commands/validation/files/BpmnValidator.d.ts +0 -5
- package/dist/commands/validation/files/BpmnValidator.js +0 -32
- package/dist/commands/validation/files/BpmnValidator.js.map +0 -1
- package/dist/commands/validation/files/DbSchemaValidator.d.ts +0 -5
- package/dist/commands/validation/files/DbSchemaValidator.js +0 -16
- package/dist/commands/validation/files/DbSchemaValidator.js.map +0 -1
- package/dist/commands/validation/files/DocumentValidator.d.ts +0 -5
- package/dist/commands/validation/files/DocumentValidator.js +0 -12
- package/dist/commands/validation/files/DocumentValidator.js.map +0 -1
- package/dist/commands/validation/files/I18nValidator.d.ts +0 -5
- package/dist/commands/validation/files/I18nValidator.js +0 -13
- package/dist/commands/validation/files/I18nValidator.js.map +0 -1
- package/dist/commands/validation/files/ManifestCacheValidator.d.ts +0 -5
- package/dist/commands/validation/files/ManifestCacheValidator.js +0 -121
- package/dist/commands/validation/files/ManifestCacheValidator.js.map +0 -1
- package/dist/commands/validation/files/ManifestValidator.d.ts +0 -5
- package/dist/commands/validation/files/ManifestValidator.js +0 -14
- package/dist/commands/validation/files/ManifestValidator.js.map +0 -1
- package/dist/commands/validation/files/TableValidator.d.ts +0 -5
- package/dist/commands/validation/files/TableValidator.js +0 -19
- package/dist/commands/validation/files/TableValidator.js.map +0 -1
- package/dist/models/DbModels.d.ts +0 -221
- package/dist/models/DbModels.js +0 -130
- package/dist/models/DbModels.js.map +0 -1
- package/dist/models/OpenApiModels.d.ts +0 -115
- package/dist/models/OpenApiModels.js +0 -103
- package/dist/models/OpenApiModels.js.map +0 -1
- package/dist/utils/I18nUtils.d.ts +0 -9
- package/dist/utils/I18nUtils.js +0 -54
- package/dist/utils/I18nUtils.js.map +0 -1
- package/dist/utils/OpenAPIUtils.d.ts +0 -33
- package/dist/utils/OpenAPIUtils.js +0 -279
- package/dist/utils/OpenAPIUtils.js.map +0 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.registerGenerateCommands = registerGenerateCommands;
|
|
7
|
+
exports.registerGenerateManifest = registerGenerateManifest;
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
const FileUtils_1 = __importDefault(require("../../utils/FileUtils"));
|
|
11
|
+
const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
|
|
12
|
+
const ManifestUtils_1 = __importDefault(require("../../utils/ManifestUtils"));
|
|
13
|
+
function registerGenerateCommands(program) {
|
|
14
|
+
const generate = program
|
|
15
|
+
.command('generate')
|
|
16
|
+
.description('Generate Codenotch project files (manifest, ...)');
|
|
17
|
+
registerGenerateManifest(generate);
|
|
18
|
+
}
|
|
19
|
+
function registerGenerateManifest(generate) {
|
|
20
|
+
generate
|
|
21
|
+
.command('manifest')
|
|
22
|
+
.description('Generate the manifest.json of a Codenotch project in the current directory')
|
|
23
|
+
.action(async () => {
|
|
24
|
+
const projectPath = process.cwd();
|
|
25
|
+
const filePath = (0, path_1.join)(projectPath, 'manifest.json');
|
|
26
|
+
if (await FileUtils_1.default.exists(filePath)) {
|
|
27
|
+
const overwrite = await ConsoleUtils_1.default.confirm(`'${filePath}' already exists. Overwrite it?`, false);
|
|
28
|
+
if (!overwrite) {
|
|
29
|
+
console.error(chalk_1.default.yellow(`Aborted: '${filePath}' already exists, use --force to overwrite it.`));
|
|
30
|
+
process.exitCode = 1;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const manifest = ManifestUtils_1.default.createManifest('');
|
|
35
|
+
if (!FileUtils_1.default.writeFileSync(filePath, ManifestUtils_1.default.serialize(manifest))) {
|
|
36
|
+
process.exitCode = 1;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
ConsoleUtils_1.default.check(`manifest.json generated at ${chalk_1.default.green(filePath)}`);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/generate/index.ts"],"names":[],"mappings":";;;;;AAOA,4DAMC;AAED,4DA2BC;AAzCD,kDAA0B;AAC1B,+BAA4B;AAC5B,sEAA8C;AAC9C,4EAAoD;AACpD,8EAAsD;AAEtD,SAAgB,wBAAwB,CAAC,OAAgB;IACrD,MAAM,QAAQ,GAAG,OAAO;SACnB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,kDAAkD,CAAC,CAAC;IAErE,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,wBAAwB,CAAC,QAAiB;IACtD,QAAQ;SACH,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,4EAA4E,CAAC;SACzF,MAAM,CAAC,KAAK,IAAI,EAAE;QAEf,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEpD,IAAI,MAAM,mBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,OAAO,CAAC,IAAI,QAAQ,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACnG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,aAAa,QAAQ,gDAAgD,CAAC,CAAC,CAAC;gBACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACX,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,CAAC,mBAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,uBAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,sBAAY,CAAC,KAAK,CAAC,8BAA8B,eAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACX,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -6,6 +6,7 @@ const react_1 = require("./react");
|
|
|
6
6
|
const runtime_1 = require("./runtime");
|
|
7
7
|
const project_1 = require("./project");
|
|
8
8
|
const validate_1 = require("./validation/validate");
|
|
9
|
+
const generate_1 = require("./generate");
|
|
9
10
|
// Registration order defines the order in `--help`
|
|
10
11
|
function registerAllCommands(program) {
|
|
11
12
|
(0, system_1.registerSystemCommands)(program);
|
|
@@ -13,5 +14,6 @@ function registerAllCommands(program) {
|
|
|
13
14
|
(0, runtime_1.registerRuntimeCommands)(program);
|
|
14
15
|
(0, project_1.registerProjectCommands)(program);
|
|
15
16
|
(0, validate_1.registerValidate)(program);
|
|
17
|
+
(0, generate_1.registerGenerateCommands)(program);
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;AASA,kDAOC;AAfD,qCAAkD;AAClD,mCAAgD;AAChD,uCAAoD;AACpD,uCAAoD;AACpD,oDAAyD;AACzD,yCAAsD;AAEtD,mDAAmD;AACnD,SAAgB,mBAAmB,CAAC,OAAgB;IAChD,IAAA,+BAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,IAAA,6BAAqB,EAAC,OAAO,CAAC,CAAC;IAC/B,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,iCAAuB,EAAC,OAAO,CAAC,CAAC;IACjC,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,13 +1,147 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.registerNew = registerNew;
|
|
4
7
|
const shared_1 = require("./shared");
|
|
8
|
+
const FileUtils_1 = __importDefault(require("../../utils/FileUtils"));
|
|
9
|
+
const fs_extra_1 = require("fs-extra");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const ManifestUtils_1 = __importDefault(require("../../utils/ManifestUtils"));
|
|
12
|
+
const BuildUtils_1 = __importDefault(require("../../utils/BuildUtils"));
|
|
13
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
5
14
|
function registerNew(project) {
|
|
6
15
|
(0, shared_1.withProjectPathOption)(project
|
|
7
16
|
.command('new')
|
|
8
17
|
.description('Create a new project'))
|
|
9
18
|
.action(async (options) => {
|
|
10
|
-
|
|
19
|
+
if (options.projectPath === process.cwd()) {
|
|
20
|
+
options.projectPath = '';
|
|
21
|
+
}
|
|
22
|
+
// Create project folder
|
|
23
|
+
let finalFolder = '';
|
|
24
|
+
if (options.projectPath && options.projectPath.trim() !== '') {
|
|
25
|
+
options.projectPath = (0, path_1.resolve)(FileUtils_1.default.isAbsolutePath(options.projectPath) ? options.projectPath : (0, path_1.join)(process.cwd(), options.projectPath));
|
|
26
|
+
if (await FileUtils_1.default.exists(options.projectPath)) {
|
|
27
|
+
console.error(`Path '${options.projectPath}' already exists.`);
|
|
28
|
+
process.exitCode = 1;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
finalFolder = options.projectPath;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
finalFolder = (0, path_1.join)(process.cwd(), 'New Codenotch Project');
|
|
35
|
+
let counter = 0;
|
|
36
|
+
while (await FileUtils_1.default.exists(finalFolder)) {
|
|
37
|
+
counter++;
|
|
38
|
+
finalFolder = (0, path_1.join)(process.cwd(), `New Codenotch Project (${counter})`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
(0, fs_extra_1.ensureDirSync)(finalFolder);
|
|
42
|
+
const projectName = FileUtils_1.default.getNameFromPath(finalFolder);
|
|
43
|
+
const serviceName = ManifestUtils_1.default.toServiceName(projectName);
|
|
44
|
+
const folders = [
|
|
45
|
+
(0, path_1.join)(finalFolder, 'processes'),
|
|
46
|
+
(0, path_1.join)(finalFolder, 'apps'),
|
|
47
|
+
(0, path_1.join)(finalFolder, 'documents'),
|
|
48
|
+
(0, path_1.join)(finalFolder, 'typings'),
|
|
49
|
+
(0, path_1.join)(finalFolder, 'tables'),
|
|
50
|
+
];
|
|
51
|
+
const files = [
|
|
52
|
+
{ path: (0, path_1.join)(finalFolder, 'manifest.json'), content: ManifestUtils_1.default.serialize(ManifestUtils_1.default.createManifest(projectName, { serviceName })) },
|
|
53
|
+
{ path: (0, path_1.join)(finalFolder, 'readme.md'), content: getReadmeMd(projectName, serviceName) },
|
|
54
|
+
{ path: (0, path_1.join)(finalFolder, '.gitignore'), content: ['manifest.cache.json', 'package-lock.json', '/.codenotch', '/node_modules', '/typings'].join('\n') },
|
|
55
|
+
{ path: (0, path_1.join)(finalFolder, 'package.json'), content: JSON.stringify(getDefaultPkgJson(serviceName), null, 4) },
|
|
56
|
+
{ path: (0, path_1.join)(finalFolder, 'apps/index.manifest.json'), content: JSON.stringify(getDefaultAppManifest(), null, 4) },
|
|
57
|
+
{ path: (0, path_1.join)(finalFolder, 'apps/index.tsx'), content: getDefaultApp() },
|
|
58
|
+
];
|
|
59
|
+
// TODO: one sample process, table, document, i18n, etc then generate db-schema, and others things
|
|
60
|
+
for (const folder of folders) {
|
|
61
|
+
(0, fs_extra_1.ensureDirSync)(folder);
|
|
62
|
+
}
|
|
63
|
+
for (const file of files) {
|
|
64
|
+
FileUtils_1.default.writeFileSync(file.path, file.content);
|
|
65
|
+
}
|
|
66
|
+
console.log(`Your new Codenotch project is ready at:`);
|
|
67
|
+
console.log(chalk_1.default.green(finalFolder));
|
|
68
|
+
console.log(``);
|
|
69
|
+
console.log(`You can now execute:`);
|
|
70
|
+
console.log(chalk_1.default.green(`cd '${finalFolder}'`));
|
|
11
71
|
});
|
|
12
72
|
}
|
|
73
|
+
function getDefaultAppManifest() {
|
|
74
|
+
const m = {
|
|
75
|
+
app: {
|
|
76
|
+
name: "index"
|
|
77
|
+
},
|
|
78
|
+
html: {
|
|
79
|
+
title: "index"
|
|
80
|
+
},
|
|
81
|
+
pwa: {
|
|
82
|
+
name: "index",
|
|
83
|
+
display: "standalone",
|
|
84
|
+
display_override: [
|
|
85
|
+
"window-controls-overlay"
|
|
86
|
+
],
|
|
87
|
+
start_url: "./",
|
|
88
|
+
icons: [
|
|
89
|
+
{
|
|
90
|
+
src: "logo512.png",
|
|
91
|
+
sizes: "512x512",
|
|
92
|
+
type: "image/png"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
src: "logo192.png",
|
|
96
|
+
sizes: "192x192",
|
|
97
|
+
type: "image/png"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
return m;
|
|
103
|
+
}
|
|
104
|
+
function getDefaultApp() {
|
|
105
|
+
return `import React from 'react';
|
|
106
|
+
import { useCodenotch } from '@codenotch/codenotch.react';
|
|
107
|
+
|
|
108
|
+
const index: React.FC<{}> = () => {
|
|
109
|
+
const cn = useCodenotch();
|
|
110
|
+
|
|
111
|
+
return <div>
|
|
112
|
+
<h1>My new Codenotch App</h1>
|
|
113
|
+
<pre>{JSON.stringify(cn.env, null, 4)}</pre>
|
|
114
|
+
</div>
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export default index;`;
|
|
118
|
+
}
|
|
119
|
+
function getReadmeMd(projectName, serviceName) {
|
|
120
|
+
// TODO : md that explain how codenotch works
|
|
121
|
+
return `
|
|
122
|
+
todo`.trim() + '\n';
|
|
123
|
+
}
|
|
124
|
+
function getDefaultPkgJson(serviceName) {
|
|
125
|
+
return {
|
|
126
|
+
name: serviceName,
|
|
127
|
+
version: "0.0.0",
|
|
128
|
+
description: "New Codenotch Project",
|
|
129
|
+
main: "index.js",
|
|
130
|
+
scripts: {},
|
|
131
|
+
keywords: [],
|
|
132
|
+
author: "",
|
|
133
|
+
license: "MIT",
|
|
134
|
+
dependencies: {
|
|
135
|
+
"react": "^19.2.8",
|
|
136
|
+
"react-dom": "^19.2.8",
|
|
137
|
+
"@codenotch/codenotch.react": BuildUtils_1.default.CN_REACT_VERSION
|
|
138
|
+
},
|
|
139
|
+
devDependencies: {
|
|
140
|
+
"@types/react": "^19.2.18",
|
|
141
|
+
"@types/react-dom": "^19.2.4",
|
|
142
|
+
"@vitejs/plugin-react": "^6.0.5",
|
|
143
|
+
"typescript": "^5.9.3"
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
13
147
|
//# sourceMappingURL=new.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/project/new.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/commands/project/new.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.registerInfo = registerInfo;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const os_1 = require("os");
|
|
9
8
|
function registerInfo(program) {
|
|
10
9
|
program
|
|
11
10
|
.command('info')
|
|
@@ -17,12 +16,6 @@ function registerInfo(program) {
|
|
|
17
16
|
console.log(`- Architecture: ${chalk_1.default.yellow(process.arch)}`);
|
|
18
17
|
console.log(`- Nvm version: ${chalk_1.default.yellow(process.env.NVM_BIN ? 'nvm detected' : 'nvm not detected')}`);
|
|
19
18
|
console.log(`- Current directory: ${chalk_1.default.yellow(process.cwd())}`);
|
|
20
|
-
if ((0, os_1.platform)() === 'win32') {
|
|
21
|
-
console.log(`- Download Ide: https://codenotchide.blob.core.windows.net/release-win/Codenotch%20Latest.exe?sv=2023-01-03&ss=btqf&srt=sco&spr=https%2Chttp&st=2025-08-28T12%3A46%3A05Z&se=2039-06-23T15%3A46%3A00Z&sp=rlp&sig=7ivKIFM4nANK4VzdKp20bzaNZhaZZ51YIvzriUacxBw%3D`);
|
|
22
|
-
}
|
|
23
|
-
else if ((0, os_1.platform)() === 'linux') {
|
|
24
|
-
console.log(`- Download Ide: https://codenotchide.blob.core.windows.net/release-linux/codenotch-ide_latest_amd64.deb?sv=2023-01-03&ss=btqf&srt=sco&spr=https%2Chttp&st=2025-08-28T12%3A46%3A05Z&se=2039-06-23T15%3A46%3A00Z&sp=rlp&sig=7ivKIFM4nANK4VzdKp20bzaNZhaZZ51YIvzriUacxBw%3D`);
|
|
25
|
-
}
|
|
26
19
|
});
|
|
27
20
|
}
|
|
28
21
|
//# sourceMappingURL=info.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/system/info.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/system/info.ts"],"names":[],"mappings":";;;;;AAGA,oCAYC;AAdD,kDAA0B;AAE1B,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,eAAe,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export type KnownFiles = 'bpmn' | 'manifest' | 'table' | 'document' | 'dbschema' | 'i18n' | 'script' | 'json' | 'manifest-cache' | 'app-manifest';
|
|
2
|
+
import { ICodenotchProjectManifest, ICompilationMessage } from '@codenotch/codenotch.core';
|
|
3
|
+
export type KnownFiles = 'manifest' | 'script' | 'json' | 'app-manifest';
|
|
5
4
|
/** Everything a file validator may need: the file itself and the surrounding Codenotch project when one was found. */
|
|
6
5
|
export interface ValidationContext {
|
|
7
6
|
filePath: string;
|
|
8
7
|
content: string;
|
|
9
8
|
projectPath?: string;
|
|
10
|
-
|
|
11
|
-
manifestCache?: IWorkspaceCache;
|
|
9
|
+
manifest?: ICodenotchProjectManifest;
|
|
12
10
|
}
|
|
13
11
|
export default abstract class ValidationUtils {
|
|
14
12
|
static determineFileType(filePath: string): KnownFiles | undefined;
|
|
@@ -17,12 +15,4 @@ export default abstract class ValidationUtils {
|
|
|
17
15
|
static validateJsonSyntax(content: string, filePath: string): ICompilationMessage[];
|
|
18
16
|
/** Lists all files under a folder, skipping dot-folders and generated/vendored directories. */
|
|
19
17
|
static listFilesRecursive(folderPath: string): string[];
|
|
20
|
-
static loadProjectTables(context: ValidationContext): Promise<{
|
|
21
|
-
service: string;
|
|
22
|
-
model: TableDefinition;
|
|
23
|
-
}[]>;
|
|
24
|
-
static loadProjectDocuments(context: ValidationContext): Promise<{
|
|
25
|
-
service: string;
|
|
26
|
-
model: AbstractRecordContainer;
|
|
27
|
-
}[]>;
|
|
28
18
|
}
|
|
@@ -7,36 +7,18 @@ const path_1 = __importDefault(require("path"));
|
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const typescript_1 = __importDefault(require("typescript"));
|
|
9
9
|
const FileUtils_1 = __importDefault(require("../../utils/FileUtils"));
|
|
10
|
-
const codenotch_core_1 = require("@codenotch/codenotch.core");
|
|
11
10
|
class ValidationUtils {
|
|
12
11
|
static determineFileType(filePath) {
|
|
13
12
|
const name = FileUtils_1.default.getNameFromPath(filePath);
|
|
14
13
|
const ext = FileUtils_1.default.getExtensionFromPath(filePath).toLowerCase();
|
|
15
|
-
if (
|
|
16
|
-
return 'bpmn';
|
|
17
|
-
}
|
|
18
|
-
else if (ext === 'jschema') {
|
|
19
|
-
return 'document';
|
|
20
|
-
}
|
|
21
|
-
else if (ext === 'table') {
|
|
22
|
-
return 'table';
|
|
23
|
-
}
|
|
24
|
-
else if (ext === 'csv' && name.endsWith('.i18n.csv')) {
|
|
25
|
-
return 'i18n';
|
|
26
|
-
}
|
|
27
|
-
else if (name === 'db-schema.xml') {
|
|
28
|
-
return 'dbschema';
|
|
29
|
-
}
|
|
30
|
-
else if (name === 'manifest.json') {
|
|
14
|
+
if (name === 'manifest.json') {
|
|
31
15
|
return 'manifest';
|
|
32
16
|
}
|
|
33
|
-
else if (name === 'manifest.cache.json') {
|
|
34
|
-
return 'manifest-cache';
|
|
35
|
-
}
|
|
36
17
|
else if (name.endsWith('.manifest.json')) {
|
|
37
18
|
return 'app-manifest';
|
|
38
19
|
}
|
|
39
20
|
else if (['ts', 'tsx', 'js', 'jsx', 'cjs', 'mjs', 'cts', 'mts'].includes(ext)) {
|
|
21
|
+
// Table, process, documents, etc
|
|
40
22
|
return 'script';
|
|
41
23
|
}
|
|
42
24
|
else if (ext === 'json') {
|
|
@@ -139,44 +121,6 @@ class ValidationUtils {
|
|
|
139
121
|
visit(folderPath);
|
|
140
122
|
return files;
|
|
141
123
|
}
|
|
142
|
-
static async loadProjectTables(context) {
|
|
143
|
-
const { fullManifest, projectPath } = context;
|
|
144
|
-
if (fullManifest === undefined || projectPath === undefined) {
|
|
145
|
-
return [];
|
|
146
|
-
}
|
|
147
|
-
const tables = [];
|
|
148
|
-
for (const manifestTable of fullManifest.tableDataSources) {
|
|
149
|
-
try {
|
|
150
|
-
const tablePath = path_1.default.join(projectPath, manifestTable.file);
|
|
151
|
-
const tableJson = await FileUtils_1.default.readFileAsync(tablePath);
|
|
152
|
-
const table = (new codenotch_core_1.TableCompiler()).deserialize(tableJson);
|
|
153
|
-
tables.push({ service: fullManifest.serviceName, model: table });
|
|
154
|
-
}
|
|
155
|
-
catch {
|
|
156
|
-
// Fail silently
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return tables;
|
|
160
|
-
}
|
|
161
|
-
static async loadProjectDocuments(context) {
|
|
162
|
-
const { fullManifest, projectPath } = context;
|
|
163
|
-
if (fullManifest === undefined || projectPath === undefined) {
|
|
164
|
-
return [];
|
|
165
|
-
}
|
|
166
|
-
const documents = [];
|
|
167
|
-
for (const manifestDoc of fullManifest.documentDataSources) {
|
|
168
|
-
try {
|
|
169
|
-
const docPath = path_1.default.join(projectPath, manifestDoc.file);
|
|
170
|
-
const docJson = await FileUtils_1.default.readFileAsync(docPath);
|
|
171
|
-
const doc = (new codenotch_core_1.DocumentCompiler()).deserialize(docJson);
|
|
172
|
-
documents.push({ service: fullManifest.serviceName, model: doc });
|
|
173
|
-
}
|
|
174
|
-
catch {
|
|
175
|
-
// Fail silently
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return documents;
|
|
179
|
-
}
|
|
180
124
|
}
|
|
181
125
|
exports.default = ValidationUtils;
|
|
182
126
|
//# sourceMappingURL=ValidationUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationUtils.js","sourceRoot":"","sources":["../../../src/commands/validation/ValidationUtils.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,2BAAiC;AACjC,4DAA4B;AAC5B,sEAA8C;
|
|
1
|
+
{"version":3,"file":"ValidationUtils.js","sourceRoot":"","sources":["../../../src/commands/validation/ValidationUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ class AppManifestValidator {
|
|
|
51
51
|
// The application file must live next to its manifest (App.manifest.json -> App.tsx)
|
|
52
52
|
const folder = path_1.default.dirname(context.filePath);
|
|
53
53
|
const baseName = path_1.default.basename(context.filePath).replace(/\.manifest\.json$/i, '');
|
|
54
|
-
const appFile = ['.tsx', '.jsx'
|
|
54
|
+
const appFile = ['.tsx', '.jsx'].map(ext => (0, path_1.join)(folder, baseName + ext)).find(f => (0, fs_1.existsSync)(f));
|
|
55
55
|
if (appFile === undefined) {
|
|
56
56
|
messages.push({
|
|
57
57
|
severity: 'error',
|
|
@@ -59,33 +59,18 @@ class AppManifestValidator {
|
|
|
59
59
|
target: baseName
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
if (`${manifest.
|
|
62
|
+
if (`${manifest.app?.name ?? ''}`.trim() === '') {
|
|
63
63
|
messages.push({
|
|
64
64
|
severity: 'error',
|
|
65
|
-
message: `The app manifest must define '
|
|
66
|
-
target: 'auml.name'
|
|
65
|
+
message: `The app manifest must define 'app.name', it is used as the application name by the build.`
|
|
67
66
|
});
|
|
68
67
|
}
|
|
69
|
-
if (manifest.
|
|
68
|
+
if (manifest.app?.scope !== undefined && APP_SCOPES.includes(manifest.app.scope) === false) {
|
|
70
69
|
messages.push({
|
|
71
70
|
severity: 'error',
|
|
72
|
-
message: `Invalid scope '${manifest.
|
|
73
|
-
target: 'auml.scope'
|
|
71
|
+
message: `Invalid scope '${manifest.app.scope}', expected one of: ${APP_SCOPES.join(', ')}.`
|
|
74
72
|
});
|
|
75
73
|
}
|
|
76
|
-
// Roles must be declared in the project manifest
|
|
77
|
-
if (context.fullManifest) {
|
|
78
|
-
const knownRoles = (context.fullManifest.roles ?? []).map(r => r.name);
|
|
79
|
-
for (const role of manifest.auml?.roles ?? []) {
|
|
80
|
-
if (knownRoles.includes(role) === false) {
|
|
81
|
-
messages.push({
|
|
82
|
-
severity: 'error',
|
|
83
|
-
message: `The role '${role}' is not declared in the project 'manifest.json' (known roles: ${knownRoles.length > 0 ? knownRoles.join(', ') : 'none'}).`,
|
|
84
|
-
target: 'auml.roles'
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
74
|
return messages;
|
|
90
75
|
}
|
|
91
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppManifestValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/AppManifestValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAkC;AAClC,2BAAgC;
|
|
1
|
+
{"version":3,"file":"AppManifestValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/AppManifestValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAkC;AAClC,2BAAgC;AAEhC,yEAAwE;AAExE,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAEtD,uGAAuG;AACvG,MAA8B,oBAAoB;IAE9C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,QAAQ,GAAG,yBAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3D,qFAAqF;QACrF,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,WAAI,EAAC,MAAM,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,eAAU,EAAC,CAAC,CAAC,CAAC,CAAC;QACnG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,yBAAyB,QAAQ,yCAAyC;gBACnF,MAAM,EAAE,QAAQ;aACnB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,2FAA2F;aACvG,CAAC,CAAC;QACP,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,kBAAkB,QAAQ,CAAC,GAAG,CAAC,KAAK,uBAAuB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAC/F,CAAC,CAAC;QACP,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAtCD,uCAsCC"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { ICompilationMessage
|
|
1
|
+
import { ICompilationMessage } from '@codenotch/codenotch.core';
|
|
2
2
|
import { ValidationContext } from '../ValidationUtils';
|
|
3
3
|
export default abstract class ScriptValidator {
|
|
4
4
|
static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
|
|
5
5
|
/** Validates several scripts with a single TypeScript program, much faster than one program per file. */
|
|
6
6
|
static validateMany(filePaths: string[]): Promise<ICompilationMessage[]>;
|
|
7
7
|
}
|
|
8
|
-
export
|
|
8
|
+
export interface ScriptFile {
|
|
9
|
+
path: string;
|
|
10
|
+
content: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class CliScriptCompiler {
|
|
9
13
|
validate(files: ScriptFile[]): Promise<ICompilationMessage[]>;
|
|
10
14
|
serialize(files: ScriptFile[]): void;
|
|
11
15
|
deserialize(scripts: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/ScriptValidator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2C;AAC3C,2BAA6C;AAC7C,4DAA4B;AAE5B,2EAAmD;AACnD,yEAAiD;AACjD,yEAAwE;AAExE,MAA8B,eAAe;IAEzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,QAAQ;aACzB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,yGAAyG;IACzG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,SAAmB;QACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ;AAtBD,kCAsBC;
|
|
1
|
+
{"version":3,"file":"ScriptValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/ScriptValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,16 +10,9 @@ const path_1 = require("path");
|
|
|
10
10
|
const fs_1 = require("fs");
|
|
11
11
|
const BuildUtils_1 = __importDefault(require("../../utils/BuildUtils"));
|
|
12
12
|
const ValidationUtils_1 = __importDefault(require("./ValidationUtils"));
|
|
13
|
-
const BpmnValidator_1 = __importDefault(require("./files/BpmnValidator"));
|
|
14
|
-
const DocumentValidator_1 = __importDefault(require("./files/DocumentValidator"));
|
|
15
|
-
const TableValidator_1 = __importDefault(require("./files/TableValidator"));
|
|
16
|
-
const I18nValidator_1 = __importDefault(require("./files/I18nValidator"));
|
|
17
|
-
const DbSchemaValidator_1 = __importDefault(require("./files/DbSchemaValidator"));
|
|
18
|
-
const ManifestValidator_1 = __importDefault(require("./files/ManifestValidator"));
|
|
19
13
|
const AppManifestValidator_1 = __importDefault(require("./files/AppManifestValidator"));
|
|
20
14
|
const ScriptValidator_1 = __importDefault(require("./files/ScriptValidator"));
|
|
21
15
|
const JsonValidator_1 = __importDefault(require("./files/JsonValidator"));
|
|
22
|
-
const ManifestCacheValidator_1 = __importDefault(require("./files/ManifestCacheValidator"));
|
|
23
16
|
const MAX_VALIDATED_FILES = 100;
|
|
24
17
|
function registerValidate(program) {
|
|
25
18
|
program
|
|
@@ -30,7 +23,7 @@ function registerValidate(program) {
|
|
|
30
23
|
.option('--nolimit', `Validate all files instead of capping at ${MAX_VALIDATED_FILES}`)
|
|
31
24
|
.addHelpText('after', `
|
|
32
25
|
Supported files:
|
|
33
|
-
.
|
|
26
|
+
.table tables, .jschema documents, *.i18n.csv translations,
|
|
34
27
|
db-schema.xml, manifest.json, manifest.cache.json, <App>.manifest.json,
|
|
35
28
|
scripts (.ts, .tsx, .js, .jsx, ...) and .json files.
|
|
36
29
|
|
|
@@ -40,7 +33,7 @@ build and typings. At most ${MAX_VALIDATED_FILES} files are validated unless --n
|
|
|
40
33
|
Exit code is 1 when at least one error is reported, 0 otherwise.
|
|
41
34
|
|
|
42
35
|
Examples:
|
|
43
|
-
$ cn validate processes/getTodos.
|
|
36
|
+
$ cn validate processes/getTodos.ts
|
|
44
37
|
$ cn validate . --json
|
|
45
38
|
$ cn validate ./apps --nolimit`)
|
|
46
39
|
.action(async (targetPath, options) => {
|
|
@@ -149,24 +142,13 @@ async function validateFile(filePath) {
|
|
|
149
142
|
}
|
|
150
143
|
// Locate project and load manifest + manifest cache
|
|
151
144
|
const projectPath = BuildUtils_1.default.findWorkspaceFromFile(filePath);
|
|
152
|
-
let
|
|
153
|
-
let manifestCache = undefined;
|
|
145
|
+
let manifest = undefined;
|
|
154
146
|
if (projectPath) {
|
|
155
147
|
messages.push({
|
|
156
148
|
severity: 'info',
|
|
157
149
|
message: `Codenotch project located at '${projectPath}'.`
|
|
158
150
|
});
|
|
159
|
-
|
|
160
|
-
try {
|
|
161
|
-
manifestCache = BuildUtils_1.default.getManifestCacheAt(projectPath);
|
|
162
|
-
fullManifest = BuildUtils_1.default.getFullManifest(manifest, manifestCache);
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
messages.push({
|
|
166
|
-
severity: 'warning',
|
|
167
|
-
message: `Could not load 'manifest.cache.json' in '${projectPath}'.`
|
|
168
|
-
});
|
|
169
|
-
}
|
|
151
|
+
manifest = BuildUtils_1.default.getManifestAt(projectPath);
|
|
170
152
|
}
|
|
171
153
|
else {
|
|
172
154
|
messages.push({
|
|
@@ -178,28 +160,13 @@ async function validateFile(filePath) {
|
|
|
178
160
|
filePath: filePath,
|
|
179
161
|
content: content,
|
|
180
162
|
projectPath: projectPath,
|
|
181
|
-
|
|
182
|
-
manifestCache: manifestCache
|
|
163
|
+
manifest: manifest
|
|
183
164
|
};
|
|
184
165
|
const fileType = ValidationUtils_1.default.determineFileType(filePath);
|
|
185
166
|
try {
|
|
186
|
-
if (fileType === '
|
|
187
|
-
messages =
|
|
188
|
-
|
|
189
|
-
else if (fileType === 'document') {
|
|
190
|
-
messages = await DocumentValidator_1.default.validate(context);
|
|
191
|
-
}
|
|
192
|
-
else if (fileType === 'table') {
|
|
193
|
-
messages = await TableValidator_1.default.validate(context);
|
|
194
|
-
}
|
|
195
|
-
else if (fileType === 'i18n') {
|
|
196
|
-
messages = await I18nValidator_1.default.validate(context);
|
|
197
|
-
}
|
|
198
|
-
else if (fileType === 'dbschema') {
|
|
199
|
-
messages = await DbSchemaValidator_1.default.validate(context);
|
|
200
|
-
}
|
|
201
|
-
else if (fileType === 'manifest') {
|
|
202
|
-
messages = await ManifestValidator_1.default.validate(context);
|
|
167
|
+
if (fileType === 'manifest') {
|
|
168
|
+
messages = [];
|
|
169
|
+
// TODO
|
|
203
170
|
}
|
|
204
171
|
else if (fileType === 'app-manifest') {
|
|
205
172
|
messages = await AppManifestValidator_1.default.validate(context);
|
|
@@ -210,9 +177,6 @@ async function validateFile(filePath) {
|
|
|
210
177
|
else if (fileType === 'json') {
|
|
211
178
|
messages = await JsonValidator_1.default.validate(context);
|
|
212
179
|
}
|
|
213
|
-
else if (fileType === 'manifest-cache') {
|
|
214
|
-
messages.push(...await ManifestCacheValidator_1.default.validate(context));
|
|
215
|
-
}
|
|
216
180
|
else {
|
|
217
181
|
if (fileType === undefined) {
|
|
218
182
|
messages.push({
|