@codenotch/codenotch.cli 1.0.35 → 1.0.37
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/README.md +2 -2
- package/dist/commands/generate/app.d.ts +2 -0
- package/dist/commands/generate/app.js +45 -0
- package/dist/commands/generate/app.js.map +1 -0
- package/dist/commands/generate/appmanifest.d.ts +2 -0
- package/dist/commands/generate/appmanifest.js +34 -0
- package/dist/commands/generate/appmanifest.js.map +1 -0
- package/dist/commands/generate/dbcontext.d.ts +2 -0
- package/dist/commands/generate/dbcontext.js +32 -0
- package/dist/commands/generate/dbcontext.js.map +1 -0
- package/dist/commands/generate/i18n.d.ts +2 -0
- package/dist/commands/generate/i18n.js +29 -0
- package/dist/commands/generate/i18n.js.map +1 -0
- package/dist/commands/generate/index.d.ts +2 -0
- package/dist/commands/generate/index.js +23 -0
- package/dist/commands/generate/index.js.map +1 -0
- package/dist/commands/generate/manifest.d.ts +2 -0
- package/dist/commands/generate/manifest.js +29 -0
- package/dist/commands/generate/manifest.js.map +1 -0
- package/dist/commands/generate/openapi.d.ts +2 -0
- package/dist/commands/generate/openapi.js +32 -0
- package/dist/commands/generate/openapi.js.map +1 -0
- package/dist/commands/generate/pkg.d.ts +2 -0
- package/dist/commands/generate/pkg.js +34 -0
- package/dist/commands/generate/pkg.js.map +1 -0
- package/dist/commands/generate/shared.d.ts +17 -0
- package/dist/commands/generate/shared.js +70 -0
- package/dist/commands/generate/shared.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 +107 -187
- package/dist/commands/project/new.js.map +1 -1
- package/dist/commands/react/build.js +11 -5
- package/dist/commands/react/build.js.map +1 -1
- package/dist/commands/react/clean.d.ts +2 -0
- package/dist/commands/react/clean.js +46 -0
- package/dist/commands/react/clean.js.map +1 -0
- package/dist/commands/react/dev.d.ts +2 -0
- package/dist/commands/react/dev.js +27 -0
- package/dist/commands/react/dev.js.map +1 -0
- package/dist/commands/react/index.js +5 -1
- package/dist/commands/react/index.js.map +1 -1
- package/dist/commands/react/serve.js +33 -4
- package/dist/commands/react/serve.js.map +1 -1
- package/dist/commands/react/shared.d.ts +21 -0
- package/dist/commands/react/shared.js +80 -0
- package/dist/commands/react/shared.js.map +1 -0
- 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 +5 -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/I18nValidator.d.ts +24 -0
- package/dist/commands/validation/files/I18nValidator.js +190 -5
- package/dist/commands/validation/files/I18nValidator.js.map +1 -1
- package/dist/commands/validation/files/{BpmnValidator.d.ts → ProjectManifestValidator.d.ts} +1 -1
- package/dist/commands/validation/files/ProjectManifestValidator.js +31 -0
- package/dist/commands/validation/files/ProjectManifestValidator.js.map +1 -0
- package/dist/commands/validation/files/ScriptValidator.d.ts +6 -2
- package/dist/commands/validation/files/ScriptValidator.js +1 -1
- package/dist/commands/validation/files/ScriptValidator.js.map +1 -1
- package/dist/commands/validation/validate.js +15 -46
- 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 +66 -28
- package/dist/utils/BuildUtils.js +292 -330
- package/dist/utils/BuildUtils.js.map +1 -1
- package/dist/utils/ConsoleUtils.d.ts +13 -0
- package/dist/utils/ConsoleUtils.js +50 -0
- package/dist/utils/ConsoleUtils.js.map +1 -1
- package/dist/utils/DbSchemaUtils.d.ts +49 -0
- package/dist/utils/DbSchemaUtils.js +246 -0
- package/dist/utils/DbSchemaUtils.js.map +1 -0
- package/dist/utils/FileUtils.d.ts +104 -15
- package/dist/utils/FileUtils.js +285 -100
- package/dist/utils/FileUtils.js.map +1 -1
- package/dist/utils/GitHubAuthUtils.js.map +1 -1
- package/dist/utils/I18nTsUtils.d.ts +66 -0
- package/dist/utils/I18nTsUtils.js +221 -0
- package/dist/utils/I18nTsUtils.js.map +1 -0
- 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/OpenApiUtils.d.ts +81 -0
- package/dist/utils/OpenApiUtils.js +123 -0
- package/dist/utils/OpenApiUtils.js.map +1 -0
- package/dist/utils/ProjectCompilationUtils.d.ts +3 -30
- package/dist/utils/ProjectCompilationUtils.js +26 -760
- package/dist/utils/ProjectCompilationUtils.js.map +1 -1
- package/dist/utils/ProjectGeneratorUtils.d.ts +35 -0
- package/dist/utils/ProjectGeneratorUtils.js +119 -0
- package/dist/utils/ProjectGeneratorUtils.js.map +1 -0
- package/dist/utils/ProjectTemplates.d.ts +102 -0
- package/dist/utils/ProjectTemplates.js +284 -0
- package/dist/utils/ProjectTemplates.js.map +1 -0
- package/dist/utils/ProjectUtils.d.ts +217 -4
- package/dist/utils/ProjectUtils.js +386 -50
- package/dist/utils/ProjectUtils.js.map +1 -1
- package/dist/utils/RuntimeUtils.js +14 -8
- package/dist/utils/RuntimeUtils.js.map +1 -1
- package/dist/utils/ScriptDeclarationUtils.d.ts +169 -0
- package/dist/utils/ScriptDeclarationUtils.js +398 -0
- package/dist/utils/ScriptDeclarationUtils.js.map +1 -0
- package/dist/utils/ServeUtils.d.ts +0 -1
- package/dist/utils/ServeUtils.js +11 -29
- package/dist/utils/ServeUtils.js.map +1 -1
- package/dist/utils/ShellUtils.d.ts +6 -0
- package/dist/utils/ShellUtils.js +13 -0
- package/dist/utils/ShellUtils.js.map +1 -1
- package/dist/utils/TemplateUtils.d.ts +62 -0
- package/dist/utils/TemplateUtils.js +218 -0
- package/dist/utils/TemplateUtils.js.map +1 -0
- package/dist/utils/TypeSchemaUtils.d.ts +42 -0
- package/dist/utils/TypeSchemaUtils.js +171 -0
- package/dist/utils/TypeSchemaUtils.js.map +1 -0
- package/package.json +3 -3
- 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/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,171 @@
|
|
|
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
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
7
|
+
/**
|
|
8
|
+
* Turns a TypeScript type annotation into a JSON schema, from the syntax alone.
|
|
9
|
+
*
|
|
10
|
+
* Without a type checker, only what is written inline can be expanded: `{ title: string }`
|
|
11
|
+
* becomes an object schema, but a reference such as `Book` stays opaque and is reported as
|
|
12
|
+
* `{ title: 'Book', 'x-codenotch-type': 'Book' }`, which keeps the document valid and tells
|
|
13
|
+
* the reader where to look. Nothing is guessed.
|
|
14
|
+
*/
|
|
15
|
+
class TypeSchemaUtils {
|
|
16
|
+
static fromTypeNode(node) {
|
|
17
|
+
// (T) and readonly T[] add nothing to the schema
|
|
18
|
+
if (typescript_1.default.isParenthesizedTypeNode(node) || typescript_1.default.isTypeOperatorNode(node)) {
|
|
19
|
+
return this.fromTypeNode(node.type);
|
|
20
|
+
}
|
|
21
|
+
if (typescript_1.default.isLiteralTypeNode(node)) {
|
|
22
|
+
return this.fromLiteral(node);
|
|
23
|
+
}
|
|
24
|
+
if (typescript_1.default.isArrayTypeNode(node)) {
|
|
25
|
+
return { type: 'array', items: this.fromTypeNode(node.elementType) };
|
|
26
|
+
}
|
|
27
|
+
if (typescript_1.default.isTupleTypeNode(node)) {
|
|
28
|
+
return { type: 'array', 'x-codenotch-type': node.getText() };
|
|
29
|
+
}
|
|
30
|
+
if (typescript_1.default.isTypeLiteralNode(node)) {
|
|
31
|
+
return this.fromMembers(node.members);
|
|
32
|
+
}
|
|
33
|
+
if (typescript_1.default.isUnionTypeNode(node)) {
|
|
34
|
+
return this.fromUnion(node);
|
|
35
|
+
}
|
|
36
|
+
if (typescript_1.default.isTypeReferenceNode(node)) {
|
|
37
|
+
return this.fromReference(node);
|
|
38
|
+
}
|
|
39
|
+
const keyword = this.fromKeyword(node.kind);
|
|
40
|
+
if (keyword !== undefined) {
|
|
41
|
+
return keyword;
|
|
42
|
+
}
|
|
43
|
+
// Conditional, mapped, indexed access, typeof... only a checker could resolve them
|
|
44
|
+
return { 'x-codenotch-type': node.getText() };
|
|
45
|
+
}
|
|
46
|
+
static fromKeyword(kind) {
|
|
47
|
+
switch (kind) {
|
|
48
|
+
case typescript_1.default.SyntaxKind.StringKeyword: return { type: 'string' };
|
|
49
|
+
case typescript_1.default.SyntaxKind.NumberKeyword: return { type: 'number' };
|
|
50
|
+
case typescript_1.default.SyntaxKind.BigIntKeyword: return { type: 'integer' };
|
|
51
|
+
case typescript_1.default.SyntaxKind.BooleanKeyword: return { type: 'boolean' };
|
|
52
|
+
case typescript_1.default.SyntaxKind.ObjectKeyword: return { type: 'object' };
|
|
53
|
+
case typescript_1.default.SyntaxKind.AnyKeyword:
|
|
54
|
+
case typescript_1.default.SyntaxKind.UnknownKeyword: return {};
|
|
55
|
+
case typescript_1.default.SyntaxKind.VoidKeyword:
|
|
56
|
+
case typescript_1.default.SyntaxKind.UndefinedKeyword:
|
|
57
|
+
case typescript_1.default.SyntaxKind.NeverKeyword: return { 'x-codenotch-type': 'void' };
|
|
58
|
+
default: return undefined;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
static fromLiteral(node) {
|
|
62
|
+
const literal = node.literal;
|
|
63
|
+
if (typescript_1.default.isStringLiteral(literal) || typescript_1.default.isNoSubstitutionTemplateLiteral(literal)) {
|
|
64
|
+
return { type: 'string', enum: [literal.text] };
|
|
65
|
+
}
|
|
66
|
+
if (typescript_1.default.isNumericLiteral(literal)) {
|
|
67
|
+
return { type: 'number', enum: [Number(literal.text)] };
|
|
68
|
+
}
|
|
69
|
+
if (typescript_1.default.isPrefixUnaryExpression(literal) && typescript_1.default.isNumericLiteral(literal.operand)) {
|
|
70
|
+
return { type: 'number', enum: [-Number(literal.operand.text)] };
|
|
71
|
+
}
|
|
72
|
+
if (literal.kind === typescript_1.default.SyntaxKind.TrueKeyword || literal.kind === typescript_1.default.SyntaxKind.FalseKeyword) {
|
|
73
|
+
return { type: 'boolean', enum: [literal.kind === typescript_1.default.SyntaxKind.TrueKeyword] };
|
|
74
|
+
}
|
|
75
|
+
if (literal.kind === typescript_1.default.SyntaxKind.NullKeyword) {
|
|
76
|
+
return { type: 'null' };
|
|
77
|
+
}
|
|
78
|
+
return { 'x-codenotch-type': node.getText() };
|
|
79
|
+
}
|
|
80
|
+
/** `{ title: string; pages?: number }` gives an object schema with 'title' required */
|
|
81
|
+
static fromMembers(members) {
|
|
82
|
+
const schema = { type: 'object', properties: {} };
|
|
83
|
+
const required = [];
|
|
84
|
+
for (const member of members) {
|
|
85
|
+
if (typescript_1.default.isIndexSignatureDeclaration(member)) {
|
|
86
|
+
// { [key: string]: T } accepts any property of type T
|
|
87
|
+
schema.additionalProperties = member.type === undefined ? true : this.fromTypeNode(member.type);
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (!typescript_1.default.isPropertySignature(member) || member.type === undefined) {
|
|
91
|
+
continue; // methods and call signatures do not travel in a payload
|
|
92
|
+
}
|
|
93
|
+
const name = this.getMemberName(member.name);
|
|
94
|
+
if (name === undefined) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
schema.properties[name] = this.fromTypeNode(member.type);
|
|
98
|
+
if (member.questionToken === undefined) {
|
|
99
|
+
required.push(name);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (required.length > 0) {
|
|
103
|
+
schema.required = required;
|
|
104
|
+
}
|
|
105
|
+
return schema;
|
|
106
|
+
}
|
|
107
|
+
static getMemberName(name) {
|
|
108
|
+
if (typescript_1.default.isIdentifier(name) || typescript_1.default.isStringLiteral(name) || typescript_1.default.isNumericLiteral(name)) {
|
|
109
|
+
return name.text;
|
|
110
|
+
}
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* `'a' | 'b'` gives an enum, `T | null` a nullable T, anything else a oneOf
|
|
115
|
+
*/
|
|
116
|
+
static fromUnion(node) {
|
|
117
|
+
const nullable = node.types.some(type => this.isNullish(type));
|
|
118
|
+
const members = node.types.filter(type => !this.isNullish(type)).map(type => this.fromTypeNode(type));
|
|
119
|
+
let schema;
|
|
120
|
+
if (members.length === 0) {
|
|
121
|
+
schema = { type: 'null' };
|
|
122
|
+
}
|
|
123
|
+
else if (members.length === 1) {
|
|
124
|
+
schema = members[0];
|
|
125
|
+
}
|
|
126
|
+
else if (members.every(member => member.enum !== undefined && member.type === members[0].type)) {
|
|
127
|
+
// A union of literals of the same kind is an enumeration
|
|
128
|
+
schema = { type: members[0].type, enum: members.flatMap(member => member.enum) };
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
schema = { oneOf: members };
|
|
132
|
+
}
|
|
133
|
+
return nullable && schema.type !== 'null' ? { ...schema, nullable: true } : schema;
|
|
134
|
+
}
|
|
135
|
+
static isNullish(node) {
|
|
136
|
+
return node.kind === typescript_1.default.SyntaxKind.UndefinedKeyword
|
|
137
|
+
|| (typescript_1.default.isLiteralTypeNode(node) && node.literal.kind === typescript_1.default.SyntaxKind.NullKeyword);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* The generic helpers a payload commonly uses are expanded, any other reference stays opaque
|
|
141
|
+
*/
|
|
142
|
+
static fromReference(node) {
|
|
143
|
+
const name = typescript_1.default.isIdentifier(node.typeName) ? node.typeName.text : node.typeName.getText();
|
|
144
|
+
const [first, second] = node.typeArguments ?? [];
|
|
145
|
+
switch (name) {
|
|
146
|
+
case 'Promise':
|
|
147
|
+
case 'Readonly':
|
|
148
|
+
case 'Required':
|
|
149
|
+
case 'Awaited':
|
|
150
|
+
// Promise<T> resolves to T, the others only affect the TypeScript side
|
|
151
|
+
return first === undefined ? {} : this.fromTypeNode(first);
|
|
152
|
+
case 'Partial': {
|
|
153
|
+
// Every property becomes optional
|
|
154
|
+
const { required, ...inner } = first === undefined ? {} : this.fromTypeNode(first);
|
|
155
|
+
return inner;
|
|
156
|
+
}
|
|
157
|
+
case 'Array':
|
|
158
|
+
case 'ReadonlyArray':
|
|
159
|
+
return { type: 'array', items: first === undefined ? {} : this.fromTypeNode(first) };
|
|
160
|
+
case 'Record':
|
|
161
|
+
return { type: 'object', additionalProperties: second === undefined ? true : this.fromTypeNode(second) };
|
|
162
|
+
case 'Date':
|
|
163
|
+
return { type: 'string', format: 'date-time' };
|
|
164
|
+
default:
|
|
165
|
+
// 'Book' or 'Loan[]' cannot be expanded here, the name is enough to find it in the project
|
|
166
|
+
return { title: name, 'x-codenotch-type': node.getText() };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
exports.default = TypeSchemaUtils;
|
|
171
|
+
//# sourceMappingURL=TypeSchemaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeSchemaUtils.js","sourceRoot":"","sources":["../../src/utils/TypeSchemaUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codenotch/codenotch.cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.37",
|
|
4
4
|
"description": "A CLI tool for code management",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -38,8 +38,7 @@
|
|
|
38
38
|
"access": "public"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@codenotch/codenotch.core": "1.0.
|
|
42
|
-
"@codenotch/codenotch.core.workflow": "1.0.21",
|
|
41
|
+
"@codenotch/codenotch.core": "1.0.25",
|
|
43
42
|
"@octokit/auth-oauth-device": "^8.0.3",
|
|
44
43
|
"@types/express": "^5.0.6",
|
|
45
44
|
"adm-zip": "^0.5.17",
|
|
@@ -48,6 +47,7 @@
|
|
|
48
47
|
"cross-keychain": "^1.1.0",
|
|
49
48
|
"decompress": "^4.2.1",
|
|
50
49
|
"dotenv": "^17.4.2",
|
|
50
|
+
"ignore": "^7.0.6",
|
|
51
51
|
"express": "^5.2.1",
|
|
52
52
|
"fs-extra": "^10.0.0",
|
|
53
53
|
"js2xmlparser": "^5.0.0",
|
|
@@ -1,32 +0,0 @@
|
|
|
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
|
-
const codenotch_core_workflow_1 = require("@codenotch/codenotch.core.workflow");
|
|
7
|
-
const TaskUtils_1 = __importDefault(require("@codenotch/codenotch.core.workflow/dist/utils/TaskUtils"));
|
|
8
|
-
const ValidationUtils_1 = __importDefault(require("../ValidationUtils"));
|
|
9
|
-
class BpmnValidator {
|
|
10
|
-
static async validate(context) {
|
|
11
|
-
const { fullManifest, projectPath } = context;
|
|
12
|
-
let provider;
|
|
13
|
-
if (fullManifest && projectPath) {
|
|
14
|
-
const tables = await ValidationUtils_1.default.loadProjectTables(context);
|
|
15
|
-
const documents = await ValidationUtils_1.default.loadProjectDocuments(context);
|
|
16
|
-
provider = new codenotch_core_workflow_1.StaticWorkflowDataProvider([fullManifest], fullManifest.serviceName, tables, documents, []);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
provider = new codenotch_core_workflow_1.StaticWorkflowDataProvider([], '');
|
|
20
|
-
}
|
|
21
|
-
// to avoid console warning
|
|
22
|
-
TaskUtils_1.default.getUserConfig = () => undefined;
|
|
23
|
-
const compiler = new codenotch_core_workflow_1.WorkflowBpmnCompiler({
|
|
24
|
-
currentProjectName: fullManifest ? fullManifest.projectName : '',
|
|
25
|
-
provider: provider,
|
|
26
|
-
projectManifests: fullManifest ? [fullManifest] : []
|
|
27
|
-
});
|
|
28
|
-
return await compiler.validate(context.content);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.default = BpmnValidator;
|
|
32
|
-
//# sourceMappingURL=BpmnValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BpmnValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/BpmnValidator.ts"],"names":[],"mappings":";;;;;AACA,gFAAsG;AACtG,wGAAgF;AAChF,yEAAwE;AAExE,MAA8B,aAAa;IAEvC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE9C,IAAI,QAAoC,CAAC;QACzC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,yBAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,MAAM,yBAAe,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACtE,QAAQ,GAAG,IAAI,oDAA0B,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC/G,CAAC;aACI,CAAC;YACF,QAAQ,GAAG,IAAI,oDAA0B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,2BAA2B;QAC3B,mBAAS,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;QAE1C,MAAM,QAAQ,GAAG,IAAI,8CAAoB,CAAC;YACtC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAChE,QAAQ,EAAE,QAAQ;YAClB,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;SACvD,CAAC,CAAC;QAEH,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACJ;AA1BD,gCA0BC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
const codenotch_core_1 = require("@codenotch/codenotch.core");
|
|
7
|
-
const ValidationUtils_1 = __importDefault(require("../ValidationUtils"));
|
|
8
|
-
class DbSchemaValidator {
|
|
9
|
-
static async validate(context) {
|
|
10
|
-
const tables = (await ValidationUtils_1.default.loadProjectTables(context)).map(c => c.model);
|
|
11
|
-
const compiler = new codenotch_core_1.DbSchemaCompiler();
|
|
12
|
-
return await compiler.validate(context.content, { tables: tables });
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.default = DbSchemaValidator;
|
|
16
|
-
//# sourceMappingURL=DbSchemaValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DbSchemaValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/DbSchemaValidator.ts"],"names":[],"mappings":";;;;;AAAA,8DAAkF;AAClF,yEAAwE;AAExE,MAA8B,iBAAiB;IAE3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,yBAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,iCAAgB,EAAE,CAAC;QACxC,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;CACJ;AAPD,oCAOC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const codenotch_core_1 = require("@codenotch/codenotch.core");
|
|
4
|
-
class DocumentValidator {
|
|
5
|
-
static async validate(context) {
|
|
6
|
-
const compiler = new codenotch_core_1.DocumentCompiler();
|
|
7
|
-
const obj = compiler.deserialize(context.content);
|
|
8
|
-
return await compiler.validate(obj);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.default = DocumentValidator;
|
|
12
|
-
//# sourceMappingURL=DocumentValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/DocumentValidator.ts"],"names":[],"mappings":";;AAAA,8DAAkF;AAGlF,MAA8B,iBAAiB;IAE3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,QAAQ,GAAG,IAAI,iCAAgB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;CACJ;AAPD,oCAOC"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
const path_1 = __importStar(require("path"));
|
|
40
|
-
const fs_1 = require("fs");
|
|
41
|
-
const ValidationUtils_1 = __importDefault(require("../ValidationUtils"));
|
|
42
|
-
class ManifestCacheValidator {
|
|
43
|
-
static async validate(context) {
|
|
44
|
-
const messages = ValidationUtils_1.default.validateJsonSyntax(context.content, context.filePath);
|
|
45
|
-
const { manifestCache, projectPath } = context;
|
|
46
|
-
if (manifestCache === undefined || projectPath === undefined) {
|
|
47
|
-
// normally impossible (unreadable cache or file outside its project),
|
|
48
|
-
// the syntax messages and the command's earlier warnings already explain it
|
|
49
|
-
return messages;
|
|
50
|
-
}
|
|
51
|
-
const checkFilesExist = (entries, kind, getTarget) => {
|
|
52
|
-
for (const entry of entries ?? []) {
|
|
53
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(projectPath, entry.file)) === false) {
|
|
54
|
-
messages.push({
|
|
55
|
-
severity: 'error',
|
|
56
|
-
message: `The ${kind} file '${entry.file}' referenced by 'manifest.cache.json' does not exist.`,
|
|
57
|
-
target: getTarget(entry)
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
checkFilesExist(manifestCache.tableDataSources, 'table', e => e.name);
|
|
63
|
-
checkFilesExist(manifestCache.documentDataSources, 'document', e => e.name);
|
|
64
|
-
checkFilesExist(manifestCache.processes, 'process', e => e.processName);
|
|
65
|
-
checkFilesExist(manifestCache.reactApplications, 'react application', e => e.applicationName);
|
|
66
|
-
// APIs reference a process by name (api.bpmn = processName), not a file
|
|
67
|
-
for (const api of manifestCache.apis ?? []) {
|
|
68
|
-
const process = (manifestCache.processes ?? []).find(p => p.processName === api.bpmn);
|
|
69
|
-
if (process === undefined) {
|
|
70
|
-
messages.push({
|
|
71
|
-
severity: 'error',
|
|
72
|
-
message: `The API '${api.method} ${api.path}' references the process '${api.bpmn}' which is not declared in 'manifest.cache.json'.`,
|
|
73
|
-
target: api.path
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
else if ((process.startEvents ?? []).some(s => s.nodeId === api.startNode) === false) {
|
|
77
|
-
messages.push({
|
|
78
|
-
severity: 'error',
|
|
79
|
-
message: `The API '${api.method} ${api.path}' references the start event '${api.startNode}' which does not exist in process '${api.bpmn}'.`,
|
|
80
|
-
target: api.path
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// The reverse check: files on disk the cache does not reference means the cache is out of date
|
|
85
|
-
const referenced = new Set();
|
|
86
|
-
const collectReferences = (entries) => {
|
|
87
|
-
for (const entry of entries ?? []) {
|
|
88
|
-
referenced.add(entry.file.replaceAll('\\', '/').toLowerCase());
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
collectReferences(manifestCache.processes);
|
|
92
|
-
collectReferences(manifestCache.tableDataSources);
|
|
93
|
-
collectReferences(manifestCache.documentDataSources);
|
|
94
|
-
collectReferences(manifestCache.reactApplications);
|
|
95
|
-
for (const file of ValidationUtils_1.default.listFilesRecursive(projectPath)) {
|
|
96
|
-
const ext = path_1.default.extname(file).toLowerCase();
|
|
97
|
-
let kind = ext === '.bpmn' ? 'process' :
|
|
98
|
-
ext === '.table' ? 'table' :
|
|
99
|
-
ext === '.jschema' ? 'document' :
|
|
100
|
-
undefined;
|
|
101
|
-
// A .tsx is a react application only when it has its own app manifest next to it
|
|
102
|
-
if (ext === '.tsx' && (0, fs_1.existsSync)(file.replace(/\.tsx$/i, '.manifest.json'))) {
|
|
103
|
-
kind = 'react application';
|
|
104
|
-
}
|
|
105
|
-
if (kind === undefined) {
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
|
-
const relative = path_1.default.relative(projectPath, file).replaceAll('\\', '/');
|
|
109
|
-
if (referenced.has(relative.toLowerCase()) === false) {
|
|
110
|
-
messages.push({
|
|
111
|
-
severity: 'warning',
|
|
112
|
-
message: `The ${kind} file '${relative}' is not referenced by 'manifest.cache.json'. The cache may be out of date, run 'cn project compile' to regenerate it.`,
|
|
113
|
-
target: relative
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return messages;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
exports.default = ManifestCacheValidator;
|
|
121
|
-
//# sourceMappingURL=ManifestCacheValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestCacheValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/ManifestCacheValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const codenotch_core_1 = require("@codenotch/codenotch.core");
|
|
4
|
-
class ManifestValidator {
|
|
5
|
-
static async validate(context) {
|
|
6
|
-
const compiler = new codenotch_core_1.ProjectManifestCompiler();
|
|
7
|
-
const obj = compiler.deserialize(context.content);
|
|
8
|
-
return await compiler.validate(obj, {
|
|
9
|
-
fullManifest: context.fullManifest
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.default = ManifestValidator;
|
|
14
|
-
//# sourceMappingURL=ManifestValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ManifestValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/ManifestValidator.ts"],"names":[],"mappings":";;AAAA,8DAAyF;AAGzF,MAA8B,iBAAiB;IAE3C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,QAAQ,GAAG,IAAI,wCAAuB,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC,CAAC;IACP,CAAC;CACJ;AATD,oCASC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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
|
-
const codenotch_core_1 = require("@codenotch/codenotch.core");
|
|
7
|
-
const ValidationUtils_1 = __importDefault(require("../ValidationUtils"));
|
|
8
|
-
class TableValidator {
|
|
9
|
-
static async validate(context) {
|
|
10
|
-
const tables = (await ValidationUtils_1.default.loadProjectTables(context)).map(c => c.model);
|
|
11
|
-
const compiler = new codenotch_core_1.TableCompiler();
|
|
12
|
-
const obj = compiler.deserialize(context.content);
|
|
13
|
-
return await compiler.validate(obj, (tableName) => {
|
|
14
|
-
return tables.find(c => c.Name === tableName);
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
exports.default = TableValidator;
|
|
19
|
-
//# sourceMappingURL=TableValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableValidator.js","sourceRoot":"","sources":["../../../../src/commands/validation/files/TableValidator.ts"],"names":[],"mappings":";;;;;AAAA,8DAA+E;AAC/E,yEAAwE;AAExE,MAA8B,cAAc;IAExC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA0B;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,yBAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,IAAI,8BAAa,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;YAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAVD,iCAUC"}
|