@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.
Files changed (149) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/generate/app.d.ts +2 -0
  3. package/dist/commands/generate/app.js +45 -0
  4. package/dist/commands/generate/app.js.map +1 -0
  5. package/dist/commands/generate/appmanifest.d.ts +2 -0
  6. package/dist/commands/generate/appmanifest.js +34 -0
  7. package/dist/commands/generate/appmanifest.js.map +1 -0
  8. package/dist/commands/generate/dbcontext.d.ts +2 -0
  9. package/dist/commands/generate/dbcontext.js +32 -0
  10. package/dist/commands/generate/dbcontext.js.map +1 -0
  11. package/dist/commands/generate/i18n.d.ts +2 -0
  12. package/dist/commands/generate/i18n.js +29 -0
  13. package/dist/commands/generate/i18n.js.map +1 -0
  14. package/dist/commands/generate/index.d.ts +2 -0
  15. package/dist/commands/generate/index.js +23 -0
  16. package/dist/commands/generate/index.js.map +1 -0
  17. package/dist/commands/generate/manifest.d.ts +2 -0
  18. package/dist/commands/generate/manifest.js +29 -0
  19. package/dist/commands/generate/manifest.js.map +1 -0
  20. package/dist/commands/generate/openapi.d.ts +2 -0
  21. package/dist/commands/generate/openapi.js +32 -0
  22. package/dist/commands/generate/openapi.js.map +1 -0
  23. package/dist/commands/generate/pkg.d.ts +2 -0
  24. package/dist/commands/generate/pkg.js +34 -0
  25. package/dist/commands/generate/pkg.js.map +1 -0
  26. package/dist/commands/generate/shared.d.ts +17 -0
  27. package/dist/commands/generate/shared.js +70 -0
  28. package/dist/commands/generate/shared.js.map +1 -0
  29. package/dist/commands/index.js +2 -0
  30. package/dist/commands/index.js.map +1 -1
  31. package/dist/commands/project/new.js +107 -187
  32. package/dist/commands/project/new.js.map +1 -1
  33. package/dist/commands/react/build.js +11 -5
  34. package/dist/commands/react/build.js.map +1 -1
  35. package/dist/commands/react/clean.d.ts +2 -0
  36. package/dist/commands/react/clean.js +46 -0
  37. package/dist/commands/react/clean.js.map +1 -0
  38. package/dist/commands/react/dev.d.ts +2 -0
  39. package/dist/commands/react/dev.js +27 -0
  40. package/dist/commands/react/dev.js.map +1 -0
  41. package/dist/commands/react/index.js +5 -1
  42. package/dist/commands/react/index.js.map +1 -1
  43. package/dist/commands/react/serve.js +33 -4
  44. package/dist/commands/react/serve.js.map +1 -1
  45. package/dist/commands/react/shared.d.ts +21 -0
  46. package/dist/commands/react/shared.js +80 -0
  47. package/dist/commands/react/shared.js.map +1 -0
  48. package/dist/commands/system/info.js +0 -7
  49. package/dist/commands/system/info.js.map +1 -1
  50. package/dist/commands/validation/ValidationUtils.d.ts +3 -13
  51. package/dist/commands/validation/ValidationUtils.js +5 -58
  52. package/dist/commands/validation/ValidationUtils.js.map +1 -1
  53. package/dist/commands/validation/files/AppManifestValidator.js +5 -20
  54. package/dist/commands/validation/files/AppManifestValidator.js.map +1 -1
  55. package/dist/commands/validation/files/I18nValidator.d.ts +24 -0
  56. package/dist/commands/validation/files/I18nValidator.js +190 -5
  57. package/dist/commands/validation/files/I18nValidator.js.map +1 -1
  58. package/dist/commands/validation/files/{BpmnValidator.d.ts → ProjectManifestValidator.d.ts} +1 -1
  59. package/dist/commands/validation/files/ProjectManifestValidator.js +31 -0
  60. package/dist/commands/validation/files/ProjectManifestValidator.js.map +1 -0
  61. package/dist/commands/validation/files/ScriptValidator.d.ts +6 -2
  62. package/dist/commands/validation/files/ScriptValidator.js +1 -1
  63. package/dist/commands/validation/files/ScriptValidator.js.map +1 -1
  64. package/dist/commands/validation/validate.js +15 -46
  65. package/dist/commands/validation/validate.js.map +1 -1
  66. package/dist/models/Codenotch.d.ts +0 -205
  67. package/dist/models/Codenotch.js +0 -211
  68. package/dist/models/Codenotch.js.map +1 -1
  69. package/dist/utils/BuildUtils.d.ts +66 -28
  70. package/dist/utils/BuildUtils.js +292 -330
  71. package/dist/utils/BuildUtils.js.map +1 -1
  72. package/dist/utils/ConsoleUtils.d.ts +13 -0
  73. package/dist/utils/ConsoleUtils.js +50 -0
  74. package/dist/utils/ConsoleUtils.js.map +1 -1
  75. package/dist/utils/DbSchemaUtils.d.ts +49 -0
  76. package/dist/utils/DbSchemaUtils.js +246 -0
  77. package/dist/utils/DbSchemaUtils.js.map +1 -0
  78. package/dist/utils/FileUtils.d.ts +104 -15
  79. package/dist/utils/FileUtils.js +285 -100
  80. package/dist/utils/FileUtils.js.map +1 -1
  81. package/dist/utils/GitHubAuthUtils.js.map +1 -1
  82. package/dist/utils/I18nTsUtils.d.ts +66 -0
  83. package/dist/utils/I18nTsUtils.js +221 -0
  84. package/dist/utils/I18nTsUtils.js.map +1 -0
  85. package/dist/utils/ManifestUtils.d.ts +24 -0
  86. package/dist/utils/ManifestUtils.js +53 -0
  87. package/dist/utils/ManifestUtils.js.map +1 -0
  88. package/dist/utils/OpenApiUtils.d.ts +81 -0
  89. package/dist/utils/OpenApiUtils.js +123 -0
  90. package/dist/utils/OpenApiUtils.js.map +1 -0
  91. package/dist/utils/ProjectCompilationUtils.d.ts +3 -30
  92. package/dist/utils/ProjectCompilationUtils.js +26 -760
  93. package/dist/utils/ProjectCompilationUtils.js.map +1 -1
  94. package/dist/utils/ProjectGeneratorUtils.d.ts +35 -0
  95. package/dist/utils/ProjectGeneratorUtils.js +119 -0
  96. package/dist/utils/ProjectGeneratorUtils.js.map +1 -0
  97. package/dist/utils/ProjectTemplates.d.ts +102 -0
  98. package/dist/utils/ProjectTemplates.js +284 -0
  99. package/dist/utils/ProjectTemplates.js.map +1 -0
  100. package/dist/utils/ProjectUtils.d.ts +217 -4
  101. package/dist/utils/ProjectUtils.js +386 -50
  102. package/dist/utils/ProjectUtils.js.map +1 -1
  103. package/dist/utils/RuntimeUtils.js +14 -8
  104. package/dist/utils/RuntimeUtils.js.map +1 -1
  105. package/dist/utils/ScriptDeclarationUtils.d.ts +169 -0
  106. package/dist/utils/ScriptDeclarationUtils.js +398 -0
  107. package/dist/utils/ScriptDeclarationUtils.js.map +1 -0
  108. package/dist/utils/ServeUtils.d.ts +0 -1
  109. package/dist/utils/ServeUtils.js +11 -29
  110. package/dist/utils/ServeUtils.js.map +1 -1
  111. package/dist/utils/ShellUtils.d.ts +6 -0
  112. package/dist/utils/ShellUtils.js +13 -0
  113. package/dist/utils/ShellUtils.js.map +1 -1
  114. package/dist/utils/TemplateUtils.d.ts +62 -0
  115. package/dist/utils/TemplateUtils.js +218 -0
  116. package/dist/utils/TemplateUtils.js.map +1 -0
  117. package/dist/utils/TypeSchemaUtils.d.ts +42 -0
  118. package/dist/utils/TypeSchemaUtils.js +171 -0
  119. package/dist/utils/TypeSchemaUtils.js.map +1 -0
  120. package/package.json +3 -3
  121. package/dist/commands/validation/files/BpmnValidator.js +0 -32
  122. package/dist/commands/validation/files/BpmnValidator.js.map +0 -1
  123. package/dist/commands/validation/files/DbSchemaValidator.d.ts +0 -5
  124. package/dist/commands/validation/files/DbSchemaValidator.js +0 -16
  125. package/dist/commands/validation/files/DbSchemaValidator.js.map +0 -1
  126. package/dist/commands/validation/files/DocumentValidator.d.ts +0 -5
  127. package/dist/commands/validation/files/DocumentValidator.js +0 -12
  128. package/dist/commands/validation/files/DocumentValidator.js.map +0 -1
  129. package/dist/commands/validation/files/ManifestCacheValidator.d.ts +0 -5
  130. package/dist/commands/validation/files/ManifestCacheValidator.js +0 -121
  131. package/dist/commands/validation/files/ManifestCacheValidator.js.map +0 -1
  132. package/dist/commands/validation/files/ManifestValidator.d.ts +0 -5
  133. package/dist/commands/validation/files/ManifestValidator.js +0 -14
  134. package/dist/commands/validation/files/ManifestValidator.js.map +0 -1
  135. package/dist/commands/validation/files/TableValidator.d.ts +0 -5
  136. package/dist/commands/validation/files/TableValidator.js +0 -19
  137. package/dist/commands/validation/files/TableValidator.js.map +0 -1
  138. package/dist/models/DbModels.d.ts +0 -221
  139. package/dist/models/DbModels.js +0 -130
  140. package/dist/models/DbModels.js.map +0 -1
  141. package/dist/models/OpenApiModels.d.ts +0 -115
  142. package/dist/models/OpenApiModels.js +0 -103
  143. package/dist/models/OpenApiModels.js.map +0 -1
  144. package/dist/utils/I18nUtils.d.ts +0 -9
  145. package/dist/utils/I18nUtils.js +0 -54
  146. package/dist/utils/I18nUtils.js.map +0 -1
  147. package/dist/utils/OpenAPIUtils.d.ts +0 -33
  148. package/dist/utils/OpenAPIUtils.js +0 -279
  149. 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.35",
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.20",
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,5 +0,0 @@
1
- import { ICompilationMessage } from '@codenotch/codenotch.core';
2
- import { ValidationContext } from '../ValidationUtils';
3
- export default abstract class DbSchemaValidator {
4
- static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
5
- }
@@ -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,5 +0,0 @@
1
- import { ICompilationMessage } from '@codenotch/codenotch.core';
2
- import { ValidationContext } from '../ValidationUtils';
3
- export default abstract class DocumentValidator {
4
- static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
5
- }
@@ -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,5 +0,0 @@
1
- import { ICompilationMessage } from '@codenotch/codenotch.core';
2
- import { ValidationContext } from '../ValidationUtils';
3
- export default abstract class ManifestCacheValidator {
4
- static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
5
- }
@@ -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,5 +0,0 @@
1
- import { ICompilationMessage } from '@codenotch/codenotch.core';
2
- import { ValidationContext } from '../ValidationUtils';
3
- export default abstract class ManifestValidator {
4
- static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
5
- }
@@ -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,5 +0,0 @@
1
- import { ICompilationMessage } from '@codenotch/codenotch.core';
2
- import { ValidationContext } from '../ValidationUtils';
3
- export default abstract class TableValidator {
4
- static validate(context: ValidationContext): Promise<ICompilationMessage[]>;
5
- }
@@ -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"}