@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 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptDeclarationUtils.js","sourceRoot":"","sources":["../../src/utils/ScriptDeclarationUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ServeUtils.js
CHANGED
|
@@ -43,8 +43,8 @@ const ConsoleUtils_1 = __importDefault(require("./ConsoleUtils"));
|
|
|
43
43
|
class ServeUtils {
|
|
44
44
|
static async serveApp(directory, options) {
|
|
45
45
|
const port = options.port || 5000;
|
|
46
|
-
|
|
47
|
-
const targetDir = (0, path_1.resolve)(
|
|
46
|
+
// resolve() already turns a relative path into an absolute one, based on the current directory
|
|
47
|
+
const targetDir = (0, path_1.resolve)(directory ?? '.');
|
|
48
48
|
const indexPath = (0, path_1.resolve)(targetDir, options.index || 'index.html');
|
|
49
49
|
if (!(0, fs_1.existsSync)(targetDir)) {
|
|
50
50
|
console.log(chalk_1.default.red(`Error: Target directory not found (${targetDir})`));
|
|
@@ -55,40 +55,27 @@ class ServeUtils {
|
|
|
55
55
|
process.exit(1);
|
|
56
56
|
}
|
|
57
57
|
const envVariables = this.getEnvVariables((0, path_1.resolve)(targetDir, '.env'));
|
|
58
|
-
const aumlObject = this.getAumlVariables((0, path_1.resolve)(targetDir, 'auml.json'));
|
|
59
58
|
console.log(chalk_1.default.green('Starting production server...'));
|
|
60
59
|
console.log(chalk_1.default.blue(`Server: http://localhost:${port}`));
|
|
61
60
|
console.log(chalk_1.default.yellow('Using built-in static file server with custom endpoint\n'));
|
|
62
61
|
await this.startExpressServer(targetDir, indexPath, {
|
|
63
62
|
port: port,
|
|
64
|
-
envVariables: envVariables
|
|
65
|
-
auml: aumlObject
|
|
63
|
+
envVariables: envVariables
|
|
66
64
|
});
|
|
67
65
|
}
|
|
68
|
-
static getAumlVariables(aumlPath) {
|
|
69
|
-
if ((0, fs_1.existsSync)(aumlPath)) {
|
|
70
|
-
console.log(chalk_1.default.green(`Loaded auml variables from "${aumlPath}":`));
|
|
71
|
-
try {
|
|
72
|
-
let json = (0, fs_1.readFileSync)(aumlPath, 'utf8');
|
|
73
|
-
return JSON.parse(json);
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
console.log(chalk_1.default.red(`Error parsing auml file: ${error}`));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
console.log(chalk_1.default.yellow(`Warning: No .auml file found. Auml variables will not be loaded.`));
|
|
81
|
-
}
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
66
|
static getEnvVariables(envPath) {
|
|
85
67
|
let envVariables = [];
|
|
86
68
|
if ((0, fs_1.existsSync)(envPath)) {
|
|
87
69
|
let envContent = (0, fs_1.readFileSync)(envPath, 'utf8');
|
|
88
70
|
envContent.split('\n').forEach(line => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
71
|
+
// Split on the first '=' only: json manifests and tokens hold '=' in their value
|
|
72
|
+
const separator = line.indexOf('=');
|
|
73
|
+
if (separator > 0) {
|
|
74
|
+
const key = line.substring(0, separator).trim();
|
|
75
|
+
const value = line.substring(separator + 1).trim();
|
|
76
|
+
if (key !== '' && value !== '') {
|
|
77
|
+
envVariables.push({ name: key, value: value });
|
|
78
|
+
}
|
|
92
79
|
}
|
|
93
80
|
});
|
|
94
81
|
console.log(chalk_1.default.green(`Loaded environment variables from "${envPath}":`));
|
|
@@ -113,11 +100,6 @@ class ServeUtils {
|
|
|
113
100
|
options.envVariables.forEach(env => {
|
|
114
101
|
envData[env.name] = env.value;
|
|
115
102
|
});
|
|
116
|
-
if (options.auml && Object.keys(options.auml).length > 0) {
|
|
117
|
-
for (let key of Object.keys(options.auml)) {
|
|
118
|
-
envData[`GLOBAL.${key}`] = JSON.stringify(options.auml[key]);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
103
|
res.json(envData);
|
|
122
104
|
});
|
|
123
105
|
// Fallback to index.html for SPA - handle all unmatched routes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServeUtils.js","sourceRoot":"","sources":["../../src/utils/ServeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,2BAA8C;AAC9C,+
|
|
1
|
+
{"version":3,"file":"ServeUtils.js","sourceRoot":"","sources":["../../src/utils/ServeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,2BAA8C;AAC9C,+BAA+B;AAC/B,kEAA0C;AAM1C,MAA8B,UAAU;IACpC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAsB;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,+FAA+F;QAC/F,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,IAAI,GAAG,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;QAEpE,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sCAAsC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,SAAS,GAAG,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAA,cAAO,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC;QAEtF,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE;YAChD,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAAe;QAC1C,IAAI,YAAY,GAAsC,EAAE,CAAC;QACzD,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACtB,IAAI,UAAU,GAAG,IAAA,iBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAClC,iFAAiF;gBACjF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,GAAG,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;wBAC7B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,OAAO,IAAI,CAAC,CAAC,CAAC;YAC5E,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACP,CAAC;aACI,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wEAAwE,CAAC,CAAC,CAAC;QACxG,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAG7E;QAEG,iBAAiB;QACjB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,wDAAa,SAAS,GAAC,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAE9B,qBAAqB;YACrB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC7B,IAAI,OAAO,GAA8B,EAAE,CAAC;gBAC5C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,+DAA+D;YAC/D,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACvB,0DAA0D;gBAC1D,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/H,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;gBAElG,+EAA+E;gBAC/E,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAE7D,uEAAuE;oBACvE,IAAI,CAAC;wBACD,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;4BACpB,MAAM,EAAE,CAAC;4BACT,IAAI,EAAE,KAAK;yBACd,EAAE,CAAC,GAAG,EAAE,EAAE;4BACP,IAAI,GAAG,EAAE,CAAC;gCACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gCACvE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oCACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gCAC3C,CAAC;4BACL,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC;wBAClD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;4BACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;wBAClD,CAAC;oBACL,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,yDAAyD;oBACzD,IAAI,kBAAkB,EAAE,CAAC;wBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACJ,IAAI,EAAE,CAAC;oBACX,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,sBAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzK,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAElD,8CAA8C;gBAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,EAAE,GAAG,CAAC,CAAC;gBAER,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;gBAEH,yDAAyD;gBACzD,IAAI,OAAO,MAAM,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;oBACnD,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBACjC,CAAC;YACL,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QAE9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;CACJ;AAlJD,6BAkJC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export default abstract class ShellUtils {
|
|
2
|
+
/**
|
|
3
|
+
* Runs a command with its output streamed to the terminal as it comes, unlike {@link ShellUtils.exec}
|
|
4
|
+
* which buffers it until the end. Meant for long commands such as 'npm install', where silence
|
|
5
|
+
* reads as a hang. Resolves with the exit code, and never rejects: a failure is a non zero code.
|
|
6
|
+
*/
|
|
7
|
+
static run(location: string, command: string): Promise<number>;
|
|
2
8
|
static exec(location: string, command: string, info?: string, silent?: boolean): Promise<void>;
|
|
3
9
|
}
|
package/dist/utils/ShellUtils.js
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const child_process_1 = require("child_process");
|
|
4
4
|
class ShellUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Runs a command with its output streamed to the terminal as it comes, unlike {@link ShellUtils.exec}
|
|
7
|
+
* which buffers it until the end. Meant for long commands such as 'npm install', where silence
|
|
8
|
+
* reads as a hang. Resolves with the exit code, and never rejects: a failure is a non zero code.
|
|
9
|
+
*/
|
|
10
|
+
static run(location, command) {
|
|
11
|
+
return new Promise(resolve => {
|
|
12
|
+
// A shell is needed for 'npm', which is 'npm.cmd' on windows
|
|
13
|
+
const child = (0, child_process_1.spawn)(command, { cwd: location, shell: true, stdio: 'inherit' });
|
|
14
|
+
child.on('error', () => resolve(1));
|
|
15
|
+
child.on('close', code => resolve(code ?? 1));
|
|
16
|
+
});
|
|
17
|
+
}
|
|
5
18
|
static async exec(location, command, info, silent = false) {
|
|
6
19
|
if (info)
|
|
7
20
|
console.log(info + "...");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellUtils.js","sourceRoot":"","sources":["../../src/utils/ShellUtils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ShellUtils.js","sourceRoot":"","sources":["../../src/utils/ShellUtils.ts"],"names":[],"mappings":";;AAAA,iDAA4C;AAE5C,MAA8B,UAAU;IAEpC;;;;OAIG;IACI,MAAM,CAAC,GAAG,CAAC,QAAgB,EAAE,OAAe;QAC/C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,6DAA6D;YAC7D,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/E,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,OAAe,EAAE,IAAa,EAAE,SAAkB,KAAK;QAE9F,IAAG,IAAI;YACH,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClC,IAAA,oBAAI,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAU,EAAE,MAAW,EAAE,MAAW,EAAE,EAAE;gBACtE,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;oBACnD,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AArCD,6BAqCC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IAppManifest } from '@codenotch/codenotch.core';
|
|
2
|
+
/**
|
|
3
|
+
* An app name is used both as the file name and as the React component name, it must be a valid identifier
|
|
4
|
+
*/
|
|
5
|
+
export declare const APP_NAME_PATTERN: RegExp;
|
|
6
|
+
/**
|
|
7
|
+
* Single source of truth for the content of the files generated by the CLI.
|
|
8
|
+
*
|
|
9
|
+
* Both 'cn project new' (which scaffolds a whole project) and 'cn generate ...'
|
|
10
|
+
* (which generates one file at a time) build their files from here, so a template
|
|
11
|
+
* only has to be updated once.
|
|
12
|
+
*/
|
|
13
|
+
export default abstract class TemplateUtils {
|
|
14
|
+
static isValidAppName(appName: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Empty React app, e.g. 'apps/index.tsx'
|
|
17
|
+
*/
|
|
18
|
+
static createAppTsx(appName: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Manifest of an app, e.g. 'apps/index.manifest.json'
|
|
21
|
+
*/
|
|
22
|
+
static createAppManifest(appName: string): IAppManifest;
|
|
23
|
+
/**
|
|
24
|
+
* package.json of a Codenotch project
|
|
25
|
+
* @param name npm package name, usually the service name of the project
|
|
26
|
+
* @param extra dependencies a template adds on top of the base ones
|
|
27
|
+
* @param withReact false for a project without any app, which needs no React at all
|
|
28
|
+
*/
|
|
29
|
+
static createPackageJson(name: string, extra?: {
|
|
30
|
+
dependencies?: Record<string, string>;
|
|
31
|
+
devDependencies?: Record<string, string>;
|
|
32
|
+
}, withReact?: boolean): {
|
|
33
|
+
name: string;
|
|
34
|
+
version: string;
|
|
35
|
+
description: string;
|
|
36
|
+
main: string;
|
|
37
|
+
scripts: {};
|
|
38
|
+
keywords: never[];
|
|
39
|
+
author: string;
|
|
40
|
+
license: string;
|
|
41
|
+
dependencies: {
|
|
42
|
+
react?: string | undefined;
|
|
43
|
+
'react-dom'?: string | undefined;
|
|
44
|
+
'@codenotch/codenotch.react'?: string | undefined;
|
|
45
|
+
};
|
|
46
|
+
devDependencies: {
|
|
47
|
+
typescript: string;
|
|
48
|
+
'@types/react'?: string | undefined;
|
|
49
|
+
'@types/react-dom'?: string | undefined;
|
|
50
|
+
'@vitejs/plugin-react'?: string | undefined;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Folders of a new project, relative to its root
|
|
55
|
+
*/
|
|
56
|
+
static readonly PROJECT_FOLDERS: string[];
|
|
57
|
+
static createGitignore(): string;
|
|
58
|
+
/**
|
|
59
|
+
* readme.md of a new project: what the generated files are and how to work with them
|
|
60
|
+
*/
|
|
61
|
+
static createReadmeMd(projectName: string, serviceName: string): string;
|
|
62
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
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.APP_NAME_PATTERN = void 0;
|
|
7
|
+
const BuildUtils_1 = __importDefault(require("./BuildUtils"));
|
|
8
|
+
/**
|
|
9
|
+
* An app name is used both as the file name and as the React component name, it must be a valid identifier
|
|
10
|
+
*/
|
|
11
|
+
exports.APP_NAME_PATTERN = /^[A-Za-z_$][\w$]*$/;
|
|
12
|
+
/**
|
|
13
|
+
* Single source of truth for the content of the files generated by the CLI.
|
|
14
|
+
*
|
|
15
|
+
* Both 'cn project new' (which scaffolds a whole project) and 'cn generate ...'
|
|
16
|
+
* (which generates one file at a time) build their files from here, so a template
|
|
17
|
+
* only has to be updated once.
|
|
18
|
+
*/
|
|
19
|
+
class TemplateUtils {
|
|
20
|
+
static isValidAppName(appName) {
|
|
21
|
+
return exports.APP_NAME_PATTERN.test(appName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Empty React app, e.g. 'apps/index.tsx'
|
|
25
|
+
*/
|
|
26
|
+
static createAppTsx(appName) {
|
|
27
|
+
return [
|
|
28
|
+
`import React from 'react';`,
|
|
29
|
+
`import { useCodenotch } from '@codenotch/codenotch.react';`,
|
|
30
|
+
``,
|
|
31
|
+
`const ${appName}: React.FC<{}> = () => {`,
|
|
32
|
+
`\tconst cn = useCodenotch();`,
|
|
33
|
+
``,
|
|
34
|
+
`\treturn <div>`,
|
|
35
|
+
`\t\t<h1>My new Codenotch App</h1>`,
|
|
36
|
+
`\t\t<pre>{JSON.stringify(cn.env, null, 4)}</pre>`,
|
|
37
|
+
`\t</div>`,
|
|
38
|
+
`};`,
|
|
39
|
+
``,
|
|
40
|
+
`export default ${appName};`,
|
|
41
|
+
``
|
|
42
|
+
].join('\n');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Manifest of an app, e.g. 'apps/index.manifest.json'
|
|
46
|
+
*/
|
|
47
|
+
static createAppManifest(appName) {
|
|
48
|
+
return {
|
|
49
|
+
app: {
|
|
50
|
+
name: appName
|
|
51
|
+
},
|
|
52
|
+
html: {
|
|
53
|
+
title: appName
|
|
54
|
+
},
|
|
55
|
+
pwa: {
|
|
56
|
+
name: appName,
|
|
57
|
+
display: 'standalone',
|
|
58
|
+
display_override: [
|
|
59
|
+
'window-controls-overlay'
|
|
60
|
+
],
|
|
61
|
+
start_url: './',
|
|
62
|
+
icons: [
|
|
63
|
+
{ src: 'logo512.png', sizes: '512x512', type: 'image/png' },
|
|
64
|
+
{ src: 'logo192.png', sizes: '192x192', type: 'image/png' }
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* package.json of a Codenotch project
|
|
71
|
+
* @param name npm package name, usually the service name of the project
|
|
72
|
+
* @param extra dependencies a template adds on top of the base ones
|
|
73
|
+
* @param withReact false for a project without any app, which needs no React at all
|
|
74
|
+
*/
|
|
75
|
+
static createPackageJson(name, extra = {}, withReact = true) {
|
|
76
|
+
return {
|
|
77
|
+
name: name,
|
|
78
|
+
version: '0.0.0',
|
|
79
|
+
description: 'New Codenotch Project',
|
|
80
|
+
main: 'index.js',
|
|
81
|
+
scripts: {},
|
|
82
|
+
keywords: [],
|
|
83
|
+
author: '',
|
|
84
|
+
license: 'MIT',
|
|
85
|
+
dependencies: {
|
|
86
|
+
...(withReact ? {
|
|
87
|
+
'react': '^19.2.8',
|
|
88
|
+
'react-dom': '^19.2.8',
|
|
89
|
+
'@codenotch/codenotch.react': BuildUtils_1.default.CN_REACT_VERSION
|
|
90
|
+
} : {}),
|
|
91
|
+
...extra.dependencies
|
|
92
|
+
},
|
|
93
|
+
devDependencies: {
|
|
94
|
+
...(withReact ? {
|
|
95
|
+
'@types/react': '^19.2.18',
|
|
96
|
+
'@types/react-dom': '^19.2.4',
|
|
97
|
+
'@vitejs/plugin-react': '^6.0.5'
|
|
98
|
+
} : {}),
|
|
99
|
+
'typescript': '^5.9.3',
|
|
100
|
+
...extra.devDependencies
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Folders of a new project, relative to its root
|
|
106
|
+
*/
|
|
107
|
+
static PROJECT_FOLDERS = ['processes', 'apps', 'documents', 'typings', 'tables'];
|
|
108
|
+
static createGitignore() {
|
|
109
|
+
return [
|
|
110
|
+
'package-lock.json',
|
|
111
|
+
'/.codenotch',
|
|
112
|
+
'/node_modules',
|
|
113
|
+
'/typings'
|
|
114
|
+
].join('\n') + '\n';
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* readme.md of a new project: what the generated files are and how to work with them
|
|
118
|
+
*/
|
|
119
|
+
static createReadmeMd(projectName, serviceName) {
|
|
120
|
+
// Markdown code fences cannot be written as-is inside a template literal
|
|
121
|
+
const fence = '```';
|
|
122
|
+
return `# ${projectName}
|
|
123
|
+
|
|
124
|
+
A [Codenotch](https://codenotch.com/) project.
|
|
125
|
+
|
|
126
|
+
Its service name is \`${serviceName}\`: it identifies the project on the runtime and is part of its URL.
|
|
127
|
+
Renaming it later means updating every reference to it, so it is better chosen once.
|
|
128
|
+
|
|
129
|
+
## Requirements
|
|
130
|
+
|
|
131
|
+
${fence}sh
|
|
132
|
+
npm install -g codenotch-cli # the 'cn' command
|
|
133
|
+
cn runtime update # install (or update) the local Codenotch runtime
|
|
134
|
+
${fence}
|
|
135
|
+
|
|
136
|
+
## Getting started
|
|
137
|
+
|
|
138
|
+
${fence}sh
|
|
139
|
+
npm install # install the project dependencies
|
|
140
|
+
cn runtime start # start the local runtime
|
|
141
|
+
cn project start # build, deploy and open this project
|
|
142
|
+
${fence}
|
|
143
|
+
|
|
144
|
+
Then, after each change:
|
|
145
|
+
|
|
146
|
+
${fence}sh
|
|
147
|
+
cn project refresh # sync the project with the runtime
|
|
148
|
+
${fence}
|
|
149
|
+
|
|
150
|
+
## Project structure
|
|
151
|
+
|
|
152
|
+
| Path | Contains |
|
|
153
|
+
| --- | --- |
|
|
154
|
+
| \`manifest.json\` | project name, service name, version, languages and roles |
|
|
155
|
+
| \`package.json\` | npm dependencies, React and \`@codenotch/codenotch.react\` |
|
|
156
|
+
| \`processes/\` | server side processes, one TypeScript file each |
|
|
157
|
+
| \`tables/\` | SQL table definitions |
|
|
158
|
+
| \`documents/\` | NoSQL document schemas |
|
|
159
|
+
| \`apps/\` | React apps: \`<App>.tsx\` and its \`<App>.manifest.json\` |
|
|
160
|
+
| \`*.i18n.csv\` | translations, one column per language |
|
|
161
|
+
|
|
162
|
+
## Apps
|
|
163
|
+
|
|
164
|
+
An app is a React component using the \`useCodenotch()\` hook to reach the runtime:
|
|
165
|
+
|
|
166
|
+
${fence}tsx
|
|
167
|
+
import React from 'react';
|
|
168
|
+
import { useCodenotch } from '@codenotch/codenotch.react';
|
|
169
|
+
|
|
170
|
+
const index: React.FC<{}> = () => {
|
|
171
|
+
const cn = useCodenotch();
|
|
172
|
+
return <div>
|
|
173
|
+
<h1>My new Codenotch App</h1>
|
|
174
|
+
</div>
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export default index;
|
|
178
|
+
${fence}
|
|
179
|
+
|
|
180
|
+
Each app is described by a \`<App>.manifest.json\` next to it (title, PWA settings, roles).
|
|
181
|
+
|
|
182
|
+
## Translations
|
|
183
|
+
|
|
184
|
+
A \`*.i18n.csv\` file holds one \`key\` column plus one column per language:
|
|
185
|
+
|
|
186
|
+
${fence}csv
|
|
187
|
+
key,en,de
|
|
188
|
+
userWelcome,hello,hallo
|
|
189
|
+
hiMr,hello mister {0},hallo herr {0}
|
|
190
|
+
${fence}
|
|
191
|
+
|
|
192
|
+
\`{0}\`, \`{1}\`, ... are the placeholders of the arguments. Turn the csv into a typed class with:
|
|
193
|
+
|
|
194
|
+
${fence}sh
|
|
195
|
+
cn generate i18n -f globals.i18n.csv
|
|
196
|
+
${fence}
|
|
197
|
+
|
|
198
|
+
## Commands
|
|
199
|
+
|
|
200
|
+
| Command | What it does |
|
|
201
|
+
| --- | --- |
|
|
202
|
+
| \`cn project inspect\` | parse the project and display its structure |
|
|
203
|
+
| \`cn project start\` | build, deploy and start the project locally |
|
|
204
|
+
| \`cn project refresh\` | deploy the changes to the running project |
|
|
205
|
+
| \`cn project test\` | run the tests of the project |
|
|
206
|
+
| \`cn project package\` | compile and package the project as a zip |
|
|
207
|
+
| \`cn project deploy <service> <zip>\` | deploy a package to the runtime |
|
|
208
|
+
| \`cn validate .\` | report hints, warnings and errors of every file |
|
|
209
|
+
| \`cn generate app -n <Name>\` | generate an empty app and its manifest |
|
|
210
|
+
| \`cn generate i18n -f <file>.i18n.csv\` | generate the typed class of a translation file |
|
|
211
|
+
| \`cn runtime info\` | status and version of the local runtime |
|
|
212
|
+
|
|
213
|
+
Run \`cn --help\` (or \`cn <command> --help\`) for the complete list.
|
|
214
|
+
`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.default = TemplateUtils;
|
|
218
|
+
//# sourceMappingURL=TemplateUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateUtils.js","sourceRoot":"","sources":["../../src/utils/TemplateUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
/** The subset of JSON Schema (draft 7 / OpenAPI 3.0 flavour) a TypeScript annotation maps to */
|
|
3
|
+
export interface IJsonSchema {
|
|
4
|
+
type?: 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null';
|
|
5
|
+
properties?: Record<string, IJsonSchema>;
|
|
6
|
+
required?: string[];
|
|
7
|
+
items?: IJsonSchema;
|
|
8
|
+
enum?: (string | number | boolean)[];
|
|
9
|
+
oneOf?: IJsonSchema[];
|
|
10
|
+
nullable?: boolean;
|
|
11
|
+
additionalProperties?: IJsonSchema | boolean;
|
|
12
|
+
format?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
/** Name or text of a TypeScript type that could not be expanded without a type checker */
|
|
16
|
+
'x-codenotch-type'?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Turns a TypeScript type annotation into a JSON schema, from the syntax alone.
|
|
20
|
+
*
|
|
21
|
+
* Without a type checker, only what is written inline can be expanded: `{ title: string }`
|
|
22
|
+
* becomes an object schema, but a reference such as `Book` stays opaque and is reported as
|
|
23
|
+
* `{ title: 'Book', 'x-codenotch-type': 'Book' }`, which keeps the document valid and tells
|
|
24
|
+
* the reader where to look. Nothing is guessed.
|
|
25
|
+
*/
|
|
26
|
+
export default abstract class TypeSchemaUtils {
|
|
27
|
+
static fromTypeNode(node: ts.TypeNode): IJsonSchema;
|
|
28
|
+
private static fromKeyword;
|
|
29
|
+
private static fromLiteral;
|
|
30
|
+
/** `{ title: string; pages?: number }` gives an object schema with 'title' required */
|
|
31
|
+
private static fromMembers;
|
|
32
|
+
private static getMemberName;
|
|
33
|
+
/**
|
|
34
|
+
* `'a' | 'b'` gives an enum, `T | null` a nullable T, anything else a oneOf
|
|
35
|
+
*/
|
|
36
|
+
private static fromUnion;
|
|
37
|
+
private static isNullish;
|
|
38
|
+
/**
|
|
39
|
+
* The generic helpers a payload commonly uses are expanded, any other reference stays opaque
|
|
40
|
+
*/
|
|
41
|
+
private static fromReference;
|
|
42
|
+
}
|