@codenotch/codenotch.cli 1.0.53 → 1.0.55

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 (90) hide show
  1. package/README.md +14 -5
  2. package/dist/commands/generate/app.js +22 -14
  3. package/dist/commands/generate/app.js.map +1 -1
  4. package/dist/commands/generate/appmanifest.js +14 -2
  5. package/dist/commands/generate/appmanifest.js.map +1 -1
  6. package/dist/commands/generate/dbcontext.js +9 -2
  7. package/dist/commands/generate/dbcontext.js.map +1 -1
  8. package/dist/commands/generate/i18n.js +15 -0
  9. package/dist/commands/generate/i18n.js.map +1 -1
  10. package/dist/commands/generate/manifest.js +7 -2
  11. package/dist/commands/generate/manifest.js.map +1 -1
  12. package/dist/commands/generate/openapi.js +9 -2
  13. package/dist/commands/generate/openapi.js.map +1 -1
  14. package/dist/commands/generate/pkg.js +7 -2
  15. package/dist/commands/generate/pkg.js.map +1 -1
  16. package/dist/commands/generate/process.js +26 -18
  17. package/dist/commands/generate/process.js.map +1 -1
  18. package/dist/commands/generate/shared.d.ts +5 -0
  19. package/dist/commands/generate/shared.js +12 -0
  20. package/dist/commands/generate/shared.js.map +1 -1
  21. package/dist/commands/project/bump.d.ts +2 -0
  22. package/dist/commands/project/bump.js +130 -0
  23. package/dist/commands/project/bump.js.map +1 -0
  24. package/dist/commands/project/compile.js +11 -2
  25. package/dist/commands/project/compile.js.map +1 -1
  26. package/dist/commands/project/deploy.js +10 -2
  27. package/dist/commands/project/deploy.js.map +1 -1
  28. package/dist/commands/project/index.js +3 -0
  29. package/dist/commands/project/index.js.map +1 -1
  30. package/dist/commands/project/open.js +4 -4
  31. package/dist/commands/project/open.js.map +1 -1
  32. package/dist/commands/project/package.js +60 -4
  33. package/dist/commands/project/package.js.map +1 -1
  34. package/dist/commands/project/refresh.js +12 -3
  35. package/dist/commands/project/refresh.js.map +1 -1
  36. package/dist/commands/project/remove.js +4 -1
  37. package/dist/commands/project/remove.js.map +1 -1
  38. package/dist/commands/project/start.js +8 -4
  39. package/dist/commands/project/start.js.map +1 -1
  40. package/dist/commands/project/test.js +41 -3
  41. package/dist/commands/project/test.js.map +1 -1
  42. package/dist/commands/runtime/clear.js +5 -0
  43. package/dist/commands/runtime/clear.js.map +1 -1
  44. package/dist/commands/runtime/info.js +1 -1
  45. package/dist/commands/runtime/info.js.map +1 -1
  46. package/dist/commands/runtime/portal.js +4 -4
  47. package/dist/commands/runtime/portal.js.map +1 -1
  48. package/dist/commands/runtime/start.js +10 -1
  49. package/dist/commands/runtime/start.js.map +1 -1
  50. package/dist/commands/runtime/stop.js +5 -0
  51. package/dist/commands/runtime/stop.js.map +1 -1
  52. package/dist/commands/runtime/update.js +4 -3
  53. package/dist/commands/runtime/update.js.map +1 -1
  54. package/dist/commands/system/completion.d.ts +7 -0
  55. package/dist/commands/system/completion.js +145 -0
  56. package/dist/commands/system/completion.js.map +1 -0
  57. package/dist/commands/system/index.js +2 -0
  58. package/dist/commands/system/index.js.map +1 -1
  59. package/dist/commands/system/info.js +42 -8
  60. package/dist/commands/system/info.js.map +1 -1
  61. package/dist/commands/validation/validate.js +3 -3
  62. package/dist/commands/validation/validate.js.map +1 -1
  63. package/dist/index.js +32 -4
  64. package/dist/index.js.map +1 -1
  65. package/dist/utils/BuildUtils.js +49 -36
  66. package/dist/utils/BuildUtils.js.map +1 -1
  67. package/dist/utils/ConsoleUtils.d.ts +27 -0
  68. package/dist/utils/ConsoleUtils.js +53 -4
  69. package/dist/utils/ConsoleUtils.js.map +1 -1
  70. package/dist/utils/FileUtils.js +1 -1
  71. package/dist/utils/FileUtils.js.map +1 -1
  72. package/dist/utils/GitHubAuthUtils.js +5 -5
  73. package/dist/utils/GitHubAuthUtils.js.map +1 -1
  74. package/dist/utils/PackageUtils.js +15 -15
  75. package/dist/utils/PackageUtils.js.map +1 -1
  76. package/dist/utils/ProjectCompilationUtils.d.ts +0 -1
  77. package/dist/utils/ProjectCompilationUtils.js +22 -23
  78. package/dist/utils/ProjectCompilationUtils.js.map +1 -1
  79. package/dist/utils/ProjectUtils.d.ts +6 -0
  80. package/dist/utils/ProjectUtils.js +34 -1
  81. package/dist/utils/ProjectUtils.js.map +1 -1
  82. package/dist/utils/RuntimeUtils.d.ts +71 -10
  83. package/dist/utils/RuntimeUtils.js +218 -69
  84. package/dist/utils/RuntimeUtils.js.map +1 -1
  85. package/dist/utils/ShellUtils.js +6 -2
  86. package/dist/utils/ShellUtils.js.map +1 -1
  87. package/dist/utils/TemplateUtils.js +10 -9
  88. package/dist/utils/TemplateUtils.js.map +1 -1
  89. package/package.json +4 -1
  90. package/resources/docs/project.md +21 -8
@@ -0,0 +1,130 @@
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.registerBump = registerBump;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const path_1 = require("path");
9
+ const promises_1 = __importDefault(require("node:fs/promises"));
10
+ const FileUtils_1 = __importDefault(require("../../utils/FileUtils"));
11
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
12
+ const ProjectGeneratorUtils_1 = __importDefault(require("../../utils/ProjectGeneratorUtils"));
13
+ const ManifestUtils_1 = require("../../utils/ManifestUtils");
14
+ const shared_1 = require("./shared");
15
+ const SEMVER = /^(\d+)\.(\d+)\.(\d+)$/;
16
+ const RELEASES = ['major', 'minor', 'patch'];
17
+ function registerBump(project) {
18
+ (0, shared_1.withProjectPathOption)(project
19
+ .command('bump')
20
+ .description('Raise the version of the project (manifest.json, and package.json when it carries one), then regenerate the derived files holding it')
21
+ .argument('[release]', `'${RELEASES.join("', '")}' or an explicit x.y.z version`, 'patch')
22
+ .option('--json', 'output the result in JSON format')
23
+ .addHelpText('after', `
24
+ Examples:
25
+ $ cn project bump 0.1.4 -> 0.1.5
26
+ $ cn project bump minor 0.1.4 -> 0.2.0
27
+ $ cn project bump 2.0.0 set the version as is
28
+
29
+ The version is the one the runtime shows for the project, and the one written in db-schema.xml
30
+ and openapi.json, both regenerated here. The next 'cn project refresh' deploys it.
31
+ `))
32
+ .action(async (release, options) => {
33
+ const abort = (message) => {
34
+ console.error(chalk_1.default.yellow(`Aborted: ${message}`));
35
+ if (options.json) {
36
+ ConsoleUtils_1.default.json({ error: message });
37
+ }
38
+ process.exitCode = 1;
39
+ };
40
+ const manifestPath = (0, path_1.join)(options.projectPath, 'manifest.json');
41
+ const manifest = await readJsonFile(manifestPath);
42
+ if (manifest === undefined) {
43
+ abort(`no manifest.json in '${options.projectPath}', run this inside a project or point '-p' at one.`);
44
+ return;
45
+ }
46
+ // A manifest without a usable version counts from the default one, like a new project
47
+ const previousVersion = typeof manifest.content.version === 'string' && SEMVER.test(manifest.content.version) ? manifest.content.version : undefined;
48
+ const version = nextVersion(previousVersion ?? ManifestUtils_1.DEFAULT_PROJECT_VERSION, release);
49
+ if (version === undefined) {
50
+ abort(`'${release}' is neither ${RELEASES.join(', ')} nor a x.y.z version.`);
51
+ return;
52
+ }
53
+ if (previousVersion === undefined) {
54
+ ConsoleUtils_1.default.checkWarning(`manifest.json had no x.y.z version, counting from ${ManifestUtils_1.DEFAULT_PROJECT_VERSION}.`);
55
+ }
56
+ const updated = [];
57
+ manifest.content.version = version;
58
+ if (!writeJsonFile(manifestPath, manifest)) {
59
+ abort(`could not write '${manifestPath}'.`);
60
+ return;
61
+ }
62
+ updated.push(manifestPath);
63
+ // The package.json of the project follows, when it carries a version
64
+ const packagePath = (0, path_1.join)(options.projectPath, 'package.json');
65
+ const pkg = await readJsonFile(packagePath);
66
+ if (pkg !== undefined && typeof pkg.content.version === 'string') {
67
+ pkg.content.version = version;
68
+ if (!writeJsonFile(packagePath, pkg)) {
69
+ abort(`could not write '${packagePath}'.`);
70
+ return;
71
+ }
72
+ updated.push(packagePath);
73
+ }
74
+ // db-schema.xml and openapi.json carry the version: rebuilt from the sources with it
75
+ const generated = await ProjectGeneratorUtils_1.default.generateAll(options.projectPath);
76
+ for (const warning of generated.warnings) {
77
+ ConsoleUtils_1.default.checkWarning(warning);
78
+ }
79
+ if (generated.error !== undefined) {
80
+ ConsoleUtils_1.default.error(generated.error);
81
+ process.exitCode = 1;
82
+ }
83
+ if (options.json) {
84
+ ConsoleUtils_1.default.json({ previousVersion: previousVersion ?? null, version, updated, regenerated: generated.written, ...(generated.error === undefined ? {} : { error: generated.error }) });
85
+ return;
86
+ }
87
+ console.log(chalk_1.default.green(`Version ${previousVersion ?? '(none)'} -> ${version}`));
88
+ ConsoleUtils_1.default.check(`Updated: ${updated.map(file => (0, path_1.basename)(file)).join(', ')}`);
89
+ if (generated.written.length > 0) {
90
+ ConsoleUtils_1.default.check(`Regenerated: ${generated.written.map(file => (0, path_1.basename)(file)).join(', ')}`);
91
+ }
92
+ });
93
+ }
94
+ /** The version after `release`: the next major/minor/patch of `current`, or `release` itself when it is a x.y.z version */
95
+ function nextVersion(current, release) {
96
+ if (SEMVER.test(release)) {
97
+ return release;
98
+ }
99
+ const parts = SEMVER.exec(current);
100
+ if (parts === null) {
101
+ return undefined;
102
+ }
103
+ const [major, minor, patch] = [Number(parts[1]), Number(parts[2]), Number(parts[3])];
104
+ switch (release) {
105
+ case 'major': return `${major + 1}.0.0`;
106
+ case 'minor': return `${major}.${minor + 1}.0`;
107
+ case 'patch': return `${major}.${minor}.${patch + 1}`;
108
+ default: return undefined;
109
+ }
110
+ }
111
+ async function readJsonFile(filePath) {
112
+ if (await FileUtils_1.default.exists(filePath) === false) {
113
+ return undefined;
114
+ }
115
+ try {
116
+ const raw = await promises_1.default.readFile(filePath, 'utf8');
117
+ return {
118
+ content: JSON.parse(raw),
119
+ indent: /^\{\r?\n([ \t]+)/.exec(raw)?.[1] ?? ' ',
120
+ trailingNewline: raw.endsWith('\n')
121
+ };
122
+ }
123
+ catch {
124
+ return undefined;
125
+ }
126
+ }
127
+ function writeJsonFile(filePath, file) {
128
+ return FileUtils_1.default.writeFileSync(filePath, JSON.stringify(file.content, null, file.indent) + (file.trailingNewline ? '\n' : ''));
129
+ }
130
+ //# sourceMappingURL=bump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bump.js","sourceRoot":"","sources":["../../../src/commands/project/bump.ts"],"names":[],"mappings":"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"}
@@ -6,23 +6,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerCompile = registerCompile;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
8
  const path_1 = __importDefault(require("path"));
9
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
9
10
  const ProjectUtils_1 = __importDefault(require("../../utils/ProjectUtils"));
10
11
  const shared_1 = require("./shared");
11
12
  function registerCompile(project) {
12
13
  (0, shared_1.withProjectPathOption)(project
13
14
  .command('compile')
14
15
  .description('Compile the project into .codenotch/compiled, the sources are left untouched')
15
- .option('-o, --output-path <path>', 'output folder for the compiled project (default .codenotch/compiled)'))
16
+ .option('-o, --output-path <path>', 'output folder for the compiled project (default .codenotch/compiled)')
17
+ .option('--json', 'output the result in JSON format'))
16
18
  .action(async (options) => {
17
19
  const outputPath = options.outputPath ?? path_1.default.join(options.projectPath, '.codenotch', 'compiled');
18
20
  const compilation = await ProjectUtils_1.default.compileProjectTo(options.projectPath, outputPath);
19
- if (compilation.errors.length > 0) {
21
+ const success = compilation.errors.length === 0;
22
+ if (options.json) {
23
+ ConsoleUtils_1.default.json({ success, outputPath, errors: compilation.errors, warnings: compilation.warnings });
24
+ }
25
+ else if (!success) {
20
26
  console.error(chalk_1.default.red("Compilation failed with errors:"));
21
27
  compilation.errors.forEach(err => console.error(chalk_1.default.red(`- ${err}`)));
22
28
  }
23
29
  else {
24
30
  console.log(chalk_1.default.green(`Project compiled successfully into ${outputPath}`));
25
31
  }
32
+ if (!success) {
33
+ process.exitCode = 1;
34
+ }
26
35
  });
27
36
  }
28
37
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/commands/project/compile.ts"],"names":[],"mappings":";;;;;AAMA,0CAgBC;AArBD,kDAA0B;AAC1B,gDAAwB;AACxB,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,0BAA0B,EAAE,sEAAsE,CAAC,CAAC;SAC3G,MAAM,CAAC,KAAK,EAAE,OAAyD,EAAE,EAAE;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzF,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;aACI,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/commands/project/compile.ts"],"names":[],"mappings":";;;;;AAOA,0CA0BC;AAhCD,kDAA0B;AAC1B,gDAAwB;AACxB,4EAAoD;AACpD,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,0BAA0B,EAAE,sEAAsE,CAAC;SAC1G,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAyE,EAAE,EAAE;QACxF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAClG,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,sBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3G,CAAC;aACI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;aACI,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -16,7 +16,8 @@ function registerDeploy(project) {
16
16
  .command('deploy')
17
17
  .description('Deploy a packaged project to the runtime')
18
18
  .argument('[service]', "service name of the project on the runtime (omitted: the serviceName of the manifest.json of the project)")
19
- .argument('[zip]', "package to deploy, the zip written by 'cn project package' (omitted: pick one under .codenotch/)"))
19
+ .argument('[zip]', "package to deploy, the zip written by 'cn project package' (omitted: pick one under .codenotch/)")
20
+ .option('--json', 'output the result in JSON format'))
20
21
  .addHelpText('after', `
21
22
  Examples:
22
23
  $ cn project deploy service read from manifest.json, zip picked under .codenotch/
@@ -40,7 +41,14 @@ Examples:
40
41
  process.exitCode = 1;
41
42
  return;
42
43
  }
43
- await RuntimeUtils_1.default.deployProject(serviceName, zipPath);
44
+ // The outcome is already reported on stderr, the JSON carries it for the scripts
45
+ const deployed = await RuntimeUtils_1.default.deployProject(serviceName, zipPath);
46
+ if (options.json) {
47
+ ConsoleUtils_1.default.json({ ...deployed, zip: zipPath });
48
+ }
49
+ if (!deployed.success) {
50
+ process.exitCode = 1;
51
+ }
44
52
  });
45
53
  }
46
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/project/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/project/deploy.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const package_1 = require("./package");
11
11
  const deploy_1 = require("./deploy");
12
12
  const new_1 = require("./new");
13
13
  const remove_1 = require("./remove");
14
+ const bump_1 = require("./bump");
14
15
  function registerProjectCommands(program) {
15
16
  const project = program
16
17
  .command('project') //TODO name subject to change
@@ -21,6 +22,7 @@ Examples:
21
22
  $ cn project start build, deploy and start the local project
22
23
  $ cn project inspect what the sources declare (processes, tables, apps, i18n...)
23
24
  $ cn project refresh sync the changes with the running runtime
25
+ $ cn project bump raise the version of the project (patch, minor, major or x.y.z)
24
26
  `);
25
27
  (0, inspect_1.registerInspect)(project);
26
28
  (0, open_1.registerOpen)(project);
@@ -32,5 +34,6 @@ Examples:
32
34
  (0, deploy_1.registerDeploy)(project);
33
35
  (0, new_1.registerNew)(project);
34
36
  (0, remove_1.registerRemove)(project);
37
+ (0, bump_1.registerBump)(project);
35
38
  }
36
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":";;AAYA,0DAsBC;AAjCD,uCAA4C;AAC5C,iCAAsC;AACtC,mCAAwC;AACxC,uCAA4C;AAC5C,iCAAsC;AACtC,uCAA4C;AAC5C,uCAA4C;AAC5C,qCAA0C;AAC1C,+BAAoC;AACpC,qCAA0C;AAE1C,SAAgB,uBAAuB,CAAC,OAAgB;IACpD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,SAAS,CAAC,CAAC,6BAA6B;SAChD,WAAW,CAAC,uJAAuJ,CAAC;SACpK,WAAW,CAAC,OAAO,EAAE;;;;;;CAM7B,CAAC,CAAC;IAEC,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IACvB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACxB,IAAA,iBAAW,EAAC,OAAO,CAAC,CAAC;IACrB,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/project/index.ts"],"names":[],"mappings":";;AAaA,0DAwBC;AApCD,uCAA4C;AAC5C,iCAAsC;AACtC,mCAAwC;AACxC,uCAA4C;AAC5C,iCAAsC;AACtC,uCAA4C;AAC5C,uCAA4C;AAC5C,qCAA0C;AAC1C,+BAAoC;AACpC,qCAA0C;AAC1C,iCAAsC;AAEtC,SAAgB,uBAAuB,CAAC,OAAgB;IACpD,MAAM,OAAO,GAAG,OAAO;SAClB,OAAO,CAAC,SAAS,CAAC,CAAC,6BAA6B;SAChD,WAAW,CAAC,uJAAuJ,CAAC;SACpK,WAAW,CAAC,OAAO,EAAE;;;;;;;CAO7B,CAAC,CAAC;IAEC,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;IACvB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,yBAAe,EAAC,OAAO,CAAC,CAAC;IACzB,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACxB,IAAA,iBAAW,EAAC,OAAO,CAAC,CAAC;IACrB,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;IACxB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerOpen = registerOpen;
7
- const chalk_1 = __importDefault(require("chalk"));
8
7
  const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
9
8
  const ProjectUtils_1 = __importDefault(require("../../utils/ProjectUtils"));
10
9
  const OsUtils_1 = require("../../utils/OsUtils");
@@ -12,10 +11,11 @@ const shared_1 = require("./shared");
12
11
  function registerOpen(project) {
13
12
  (0, shared_1.withProjectPathOption)(project
14
13
  .command('open')
15
- .description('Open the index page of the project in the default browser'))
14
+ .description('Open the index page of the project in the default browser (proposes to install/start the runtime when needed)'))
16
15
  .action(async (options) => {
17
- if ((await RuntimeUtils_1.default.isRuntimeRunning()) === false) {
18
- console.log(chalk_1.default.yellow(`Codenotch runtime is not running`));
16
+ // The page is served by the runtime: propose to install and/or start it rather than giving up
17
+ if (!await RuntimeUtils_1.default.ensureRuntimeIsRunning()) {
18
+ process.exitCode = 1;
19
19
  return;
20
20
  }
21
21
  const basePath = await RuntimeUtils_1.default.getRuntimeBaseUrl();
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/project/open.ts"],"names":[],"mappings":";;;;;AAOA,oCAaC;AAnBD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,iDAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,YAAY,CAAC,OAAgB;IACzC,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2DAA2D,CAAC,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE;QAC9C,IAAI,CAAC,MAAM,sBAAY,CAAC,gBAAgB,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClF,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/commands/project/open.ts"],"names":[],"mappings":";;;;;AAMA,oCAeC;AApBD,4EAAoD;AACpD,4EAAoD;AACpD,iDAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,YAAY,CAAC,OAAgB;IACzC,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+GAA+G,CAAC,CAAC;SAC7H,MAAM,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE;QAE9C,8FAA8F;QAC9F,IAAI,CAAC,MAAM,sBAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClF,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -1,4 +1,37 @@
1
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
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,7 +39,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.registerPackage = registerPackage;
7
40
  const chalk_1 = __importDefault(require("chalk"));
8
41
  const path_1 = __importDefault(require("path"));
9
- const ProjectUtils_1 = __importDefault(require("../../utils/ProjectUtils"));
42
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
43
+ const ProjectUtils_1 = __importStar(require("../../utils/ProjectUtils"));
10
44
  const shared_1 = require("./shared");
11
45
  function registerPackage(project) {
12
46
  (0, shared_1.withProjectPathOption)(project
@@ -14,12 +48,34 @@ function registerPackage(project) {
14
48
  .alias('build')
15
49
  .description('Compile and package the project, output a zip file')
16
50
  .option('-o, --output-path <path>', 'output path for the build zip file (default .codenotch/build.zip)')
17
- .option('-i, --ignore-errors', 'ignore compilation errors and proceed with packaging', false))
51
+ .option('-i, --ignore-errors', 'ignore compilation errors and proceed with packaging', false)
52
+ .option('--json', 'output the result in JSON format'))
18
53
  .action(async (options) => {
19
54
  const outputPath = options.outputPath ?? path_1.default.join(options.projectPath, ".codenotch", "build.zip");
20
55
  const ignoreErrors = options.ignoreErrors ?? false;
21
- await ProjectUtils_1.default.packageProject(options.projectPath, outputPath, ignoreErrors);
22
- console.log(chalk_1.default.green(`Project built successfully at ${outputPath}`));
56
+ try {
57
+ const compilation = await ProjectUtils_1.default.packageProject(options.projectPath, outputPath, ignoreErrors);
58
+ if (options.json) {
59
+ ConsoleUtils_1.default.json({ success: true, outputPath, errors: compilation.errors, warnings: compilation.warnings });
60
+ }
61
+ else {
62
+ console.log(chalk_1.default.green(`Project built successfully at ${outputPath}`));
63
+ }
64
+ }
65
+ catch (error) {
66
+ // In text mode the failure is reported like any other; the JSON has to carry it
67
+ if (!options.json) {
68
+ throw error;
69
+ }
70
+ const compilationError = error instanceof ProjectUtils_1.CompilationError ? error : undefined;
71
+ ConsoleUtils_1.default.json({
72
+ success: false,
73
+ outputPath,
74
+ errors: compilationError?.errors ?? [error instanceof Error ? error.message : String(error)],
75
+ warnings: compilationError?.warnings ?? []
76
+ });
77
+ process.exitCode = 1;
78
+ }
23
79
  });
24
80
  }
25
81
  //# sourceMappingURL=package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/commands/project/package.ts"],"names":[],"mappings":";;;;;AAMA,0CAaC;AAlBD,kDAA0B;AAC1B,gDAAwB;AACxB,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,0BAA0B,EAAE,mEAAmE,CAAC;SACvG,MAAM,CAAC,qBAAqB,EAAE,sDAAsD,EAAE,KAAK,CAAC,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,OAAiF,EAAE,EAAE;QAChG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QACnD,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/commands/project/package.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAoCC;AA1CD,kDAA0B;AAC1B,gDAAwB;AACxB,4EAAoD;AACpD,yEAA0E;AAC1E,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,0BAA0B,EAAE,mEAAmE,CAAC;SACvG,MAAM,CAAC,qBAAqB,EAAE,sDAAsD,EAAE,KAAK,CAAC;SAC5F,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAiG,EAAE,EAAE;QAChH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YACrG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,sBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjH,CAAC;iBACI,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;QACL,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,gFAAgF;YAChF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,gBAAgB,GAAG,KAAK,YAAY,+BAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,sBAAY,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,UAAU;gBACV,MAAM,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5F,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,IAAI,EAAE;aAC7C,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -15,13 +15,15 @@ function registerRefresh(project) {
15
15
  .alias('patch')
16
16
  .description('Sync the project with the runtime, deploy changes and restart if needed')
17
17
  .option('-i, --ignore-errors', 'deploy even when the compilation reports errors', false)
18
+ .option('--json', 'output the result in JSON format')
18
19
  .addHelpText('after', `
19
20
  Examples:
20
21
  $ cn project refresh package the sources and redeploy them on the runtime
21
22
  $ cn project refresh -p ./myproject
22
23
  $ cn project refresh --ignore-errors deploy anyway when the compilation reports errors
23
24
 
24
- The runtime is started when it is not running, and a project it does not hold yet is deployed
25
+ When the runtime is not installed or not running, the command proposes to install/start it
26
+ (accepted by default outside a terminal). A project the runtime does not hold yet is deployed
25
27
  as a whole. 'cn project start' does the same and opens the project in the browser.
26
28
  `))
27
29
  .action(async (options) => {
@@ -38,13 +40,20 @@ as a whole. 'cn project start' does the same and opens the project in the browse
38
40
  ConsoleUtils_1.default.check(`Service '${serviceName}' (from manifest.json)`);
39
41
  try {
40
42
  const refreshed = await RuntimeUtils_1.default.refreshProject(options.projectPath, { ignoreErrors: options.ignoreErrors });
41
- if (!refreshed) {
43
+ if (options.json) {
44
+ ConsoleUtils_1.default.json(refreshed);
45
+ }
46
+ if (!refreshed.success) {
42
47
  process.exitCode = 1;
43
48
  }
44
49
  }
45
50
  catch (error) {
46
51
  // A compilation failure already listed its errors, only the outcome is left to report
47
- console.error(chalk_1.default.red(`Refresh failed: ${error instanceof Error ? error.message : String(error)}`));
52
+ const message = error instanceof Error ? error.message : String(error);
53
+ console.error(chalk_1.default.red(`Refresh failed: ${message}`));
54
+ if (options.json) {
55
+ ConsoleUtils_1.default.json({ success: false, serviceName, errors: [message], warnings: [] });
56
+ }
48
57
  process.exitCode = 1;
49
58
  }
50
59
  });
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/commands/project/refresh.ts"],"names":[],"mappings":";;;;;AAOA,0CAyCC;AA/CD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,EAAE,KAAK,CAAC;SACvF,WAAW,CAAC,OAAO,EAAE;;;;;;;;CAQ7B,CAAC,CAAC;SACM,MAAM,CAAC,KAAK,EAAE,OAA2D,EAAE,EAAE;QAE1E,8FAA8F;QAC9F,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,OAAO,CAAC,WAAW,oDAAoD,CAAC,CAAC,CAAC;YACtI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,YAAY,WAAW,wBAAwB,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACjH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,sFAAsF;YACtF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACtG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/commands/project/refresh.ts"],"names":[],"mappings":";;;;;AAOA,0CAkDC;AAxDD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,EAAE,KAAK,CAAC;SACvF,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;CAS7B,CAAC,CAAC;SACM,MAAM,CAAC,KAAK,EAAE,OAA2E,EAAE,EAAE;QAE1F,8FAA8F;QAC9F,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,OAAO,CAAC,WAAW,oDAAoD,CAAC,CAAC,CAAC;YACtI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,YAAY,WAAW,wBAAwB,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACjH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,sBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,sFAAsF;YACtF,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,sBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -27,7 +27,10 @@ Examples:
27
27
  process.exitCode = 1;
28
28
  return;
29
29
  }
30
- await RuntimeUtils_1.default.removeProject(options.projectPath);
30
+ // False when there is no runtime to remove it from, or the user declined to start it
31
+ if (!await RuntimeUtils_1.default.removeProject(options.projectPath)) {
32
+ process.exitCode = 1;
33
+ }
31
34
  });
32
35
  }
33
36
  //# sourceMappingURL=remove.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/project/remove.ts"],"names":[],"mappings":";;;;;AAOA,wCAuBC;AA7BD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,sEAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,cAAc,CAAC,OAAgB;IAC3C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACzD,WAAW,CAAC,OAAO,EAAE;;;;CAI7B,CAAC,CAAC;SACM,MAAM,CAAC,KAAK,EAAE,OAAkD,EAAE,EAAE;QAEjE,MAAM,WAAW,GAAG,mBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEnE,mFAAmF;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,sBAAY,CAAC,OAAO,CAAC,mBAAmB,WAAW,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5G,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,sBAAY,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/commands/project/remove.ts"],"names":[],"mappings":";;;;;AAOA,wCA0BC;AAhCD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,sEAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,cAAc,CAAC,OAAgB;IAC3C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACzD,WAAW,CAAC,OAAO,EAAE;;;;CAI7B,CAAC,CAAC;SACM,MAAM,CAAC,KAAK,EAAE,OAAkD,EAAE,EAAE;QAEjE,MAAM,WAAW,GAAG,mBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEnE,mFAAmF;QACnF,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,sBAAY,CAAC,OAAO,CAAC,mBAAmB,WAAW,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5G,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,qFAAqF;QACrF,IAAI,CAAC,MAAM,sBAAY,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -11,14 +11,18 @@ const shared_1 = require("./shared");
11
11
  function registerStart(project) {
12
12
  (0, shared_1.withProjectPathOption)(project
13
13
  .command('start')
14
- .description('Build, deploy and start the local project')
15
- .option('-q, --quiet', 'do not open the project in the browser after starting', false)
14
+ .description('Build, deploy and start the local project (proposes to install/start the runtime when needed)')
15
+ .option('--no-open', 'do not open the project in the browser once started')
16
16
  //TODO expose runtime start args here ?
17
17
  //TODO --watch (auto apply chnages with patch without restarting the runtime, for development purposes)
18
18
  )
19
19
  .action(async (options) => {
20
- await RuntimeUtils_1.default.startProject(options.projectPath);
21
- if (!options.quiet) {
20
+ // A declined runtime or a failed deployment leaves nothing to open
21
+ if (!await RuntimeUtils_1.default.startProject(options.projectPath)) {
22
+ process.exitCode = 1;
23
+ return;
24
+ }
25
+ if (options.open) {
22
26
  const basePath = await RuntimeUtils_1.default.getRuntimeBaseUrl();
23
27
  const serviceName = await ProjectUtils_1.default.getProjectServiceName(options.projectPath);
24
28
  OsUtils_1.OsUtils.openInBrowser(`${basePath}/${serviceName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/project/start.ts"],"names":[],"mappings":";;;;;AAMA,sCAiBC;AAtBD,4EAAoD;AACpD,4EAAoD;AACpD,iDAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,aAAa,CAAC,OAAgB;IAC1C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,uDAAuD,EAAE,KAAK,CAAC;IACtF,uCAAuC;IACvC,uGAAuG;KAC1G;SACI,MAAM,CAAC,KAAK,EAAE,OAAoD,EAAE,EAAE;QACnE,MAAM,sBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClF,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/project/start.ts"],"names":[],"mappings":";;;;;AAMA,sCAsBC;AA3BD,4EAAoD;AACpD,4EAAoD;AACpD,iDAA8C;AAC9C,qCAAyE;AAEzE,SAAgB,aAAa,CAAC,OAAgB;IAC1C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+FAA+F,CAAC;SAC5G,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC;IAC3E,uCAAuC;IACvC,uGAAuG;KAC1G;SACI,MAAM,CAAC,KAAK,EAAE,OAAmD,EAAE,EAAE;QAElE,mEAAmE;QACnE,IAAI,CAAC,MAAM,sBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClF,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -4,17 +4,55 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerTest = registerTest;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
7
9
  const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
8
10
  const shared_1 = require("./shared");
9
11
  function registerTest(project) {
10
12
  (0, shared_1.withProjectPathOption)(project
11
13
  .command('test')
12
- .description('Run tests for the project')
14
+ .description('Run tests for the project (proposes to install the runtime when it is missing)')
13
15
  .option('-f, --file-filter <pattern>', 'filter test files by pattern')
14
16
  .option('-t, --name-filter <pattern>', 'filter tests by name pattern')
15
- .option('--in-place', 'if compilation is needed, compile and modify files directly in the project folder', false))
17
+ .option('--in-place', 'if compilation is needed, compile and modify files directly in the project folder', false)
18
+ .option('--json', 'output the result in JSON format')
19
+ .addHelpText('after', `
20
+ Examples:
21
+ $ cn project test every test, the report goes to test-report.json
22
+ $ cn project test -t "create*" the tests whose name matches
23
+ $ cn project test --json the summary and each test as JSON, exit code 1 when one fails
24
+ `))
16
25
  .action(async (options) => {
17
- await RuntimeUtils_1.default.testProject(options.projectPath, options.fileFilter, options.nameFilter, options.inPlace);
26
+ // Undefined when the user declined to install the runtime the tests run on
27
+ const result = await RuntimeUtils_1.default.testProject(options.projectPath, options.fileFilter, options.nameFilter, options.inPlace);
28
+ if (result === undefined) {
29
+ process.exitCode = 1;
30
+ return;
31
+ }
32
+ const report = result.report;
33
+ if (options.json) {
34
+ ConsoleUtils_1.default.json({
35
+ success: report?.Success ?? false,
36
+ successCount: report?.SuccessCount ?? 0,
37
+ failureCount: report?.FailureCount ?? 0,
38
+ reportPath: result.reportPath,
39
+ tests: (report?.Tests ?? []).map(test => ({ name: test.Name, success: test.Success, errors: test.Errors }))
40
+ });
41
+ }
42
+ else if (report === undefined) {
43
+ ConsoleUtils_1.default.warn(`No test report was produced.`);
44
+ }
45
+ else {
46
+ const summary = `${report.SuccessCount + report.FailureCount} test(s): ${report.SuccessCount} passed, ${report.FailureCount} failed (report: ${result.reportPath})`;
47
+ console.log(report.Success ? chalk_1.default.green(summary) : chalk_1.default.red(summary));
48
+ for (const test of report.Tests.filter(test => !test.Success)) {
49
+ console.error(chalk_1.default.red(` ✗ ${test.Name}${test.Errors.length > 0 ? `: ${test.Errors.join('; ')}` : ''}`));
50
+ }
51
+ }
52
+ // Failing tests are a failed command, for the CI and the scripts
53
+ if (report === undefined || !report.Success) {
54
+ process.exitCode = 1;
55
+ }
18
56
  });
19
57
  }
20
58
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/project/test.ts"],"names":[],"mappings":";;;;;AAIA,oCAUC;AAbD,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,YAAY,CAAC,OAAgB;IACzC,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;SACrE,MAAM,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;SACrE,MAAM,CAAC,YAAY,EAAE,mFAAmF,EAAE,KAAK,CAAC,CAAC;SACjH,MAAM,CAAC,KAAK,EAAE,OAAiG,EAAE,EAAE;QAChH,MAAM,sBAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/project/test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,11 @@ Examples:
24
24
  process.exitCode = 1;
25
25
  return;
26
26
  }
27
+ // The data cannot be erased under a running runtime (open files, inconsistent state): stop it first
28
+ if (await RuntimeUtils_1.default.isRuntimeRunning()) {
29
+ ConsoleUtils_1.default.log(chalk_1.default.blue(`Stopping the runtime before erasing its data...`));
30
+ await RuntimeUtils_1.default.stopRuntime();
31
+ }
27
32
  await RuntimeUtils_1.default.clearRuntime();
28
33
  });
29
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/commands/runtime/clear.ts"],"names":[],"mappings":";;;;;AAKA,sCAqBC;AAzBD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AAEpD,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sGAAsG,CAAC;SACnH,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACzD,WAAW,CAAC,OAAO,EAAE;;;;CAI7B,CAAC;SACO,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;QAExC,qGAAqG;QACrG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,sBAAY,CAAC,OAAO,CAAC,oDAAoD,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3G,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,sBAAY,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"clear.js","sourceRoot":"","sources":["../../../src/commands/runtime/clear.ts"],"names":[],"mappings":";;;;;AAKA,sCA2BC;AA/BD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AAEpD,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sGAAsG,CAAC;SACnH,MAAM,CAAC,WAAW,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACzD,WAAW,CAAC,OAAO,EAAE;;;;CAI7B,CAAC;SACO,MAAM,CAAC,KAAK,EAAE,OAAyB,EAAE,EAAE;QAExC,qGAAqG;QACrG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,sBAAY,CAAC,OAAO,CAAC,oDAAoD,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3G,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,qEAAqE,CAAC,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,oGAAoG;QACpG,IAAI,MAAM,sBAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACxC,sBAAY,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAChF,MAAM,sBAAY,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,sBAAY,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -28,7 +28,7 @@ function registerInfo(runtime) {
28
28
  return;
29
29
  }
30
30
  if (isInstalled === false) {
31
- console.log(chalk_1.default.yellow(`Codenotch runtime is not installed. Use "codenotch runtime install" to install the latest version.`));
31
+ console.error(chalk_1.default.yellow(`Codenotch runtime is not installed. Use "codenotch runtime install" to install the latest version.`));
32
32
  return;
33
33
  }
34
34
  const version = await RuntimeUtils_1.default.getRuntimeVersion(); // Requires running the runtime which is a bit slow
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/runtime/info.ts"],"names":[],"mappings":";;;;;AAIA,oCA0CC;AA7CD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAEzC,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,sBAAY,CAAC,wBAAwB,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,gBAAgB,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnI,OAAO;QACX,CAAC;QAED,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oGAAoG,CAAC,CAAC,CAAC;YAChI,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,mDAAmD;QAC3G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,sBAAY,CAAC,wBAAwB,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,gBAAgB,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,8EAA8E;IAClF,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/runtime/info.ts"],"names":[],"mappings":";;;;;AAIA,oCA0CC;AA7CD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,0DAA0D,CAAC;SACvE,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAEzC,MAAM,WAAW,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,WAAW,GAAG,sBAAY,CAAC,wBAAwB,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,gBAAgB,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnI,OAAO;QACX,CAAC;QAED,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,oGAAoG,CAAC,CAAC,CAAC;YAClI,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,mDAAmD;QAC3G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,sBAAY,CAAC,wBAAwB,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,gBAAgB,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,MAAM,sBAAY,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,8EAA8E;IAClF,CAAC,CAAC,CAAC;AACX,CAAC"}