@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
@@ -4,17 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerPortal = registerPortal;
7
- const chalk_1 = __importDefault(require("chalk"));
8
7
  const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
9
8
  const OsUtils_1 = require("../../utils/OsUtils");
10
9
  // Root-level command, but it lives here because it targets the runtime portal
11
10
  function registerPortal(program) {
12
11
  program
13
12
  .command('portal')
14
- .description('Open the Codenotch portal in the default browser')
13
+ .description('Open the Codenotch portal in the default browser (proposes to install/start the runtime when needed)')
15
14
  .action(async () => {
16
- if ((await RuntimeUtils_1.default.isRuntimeRunning()) === false) {
17
- console.log(chalk_1.default.yellow(`Codenotch runtime is not running`));
15
+ // The portal is served by the runtime: propose to install and/or start it rather than giving up
16
+ if (!await RuntimeUtils_1.default.ensureRuntimeIsRunning()) {
17
+ process.exitCode = 1;
18
18
  return;
19
19
  }
20
20
  const basePath = await RuntimeUtils_1.default.getRuntimeBaseUrl();
@@ -1 +1 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/commands/runtime/portal.ts"],"names":[],"mappings":";;;;;AAMA,wCAaC;AAlBD,kDAA0B;AAC1B,4EAAoD;AACpD,iDAA8C;AAE9C,8EAA8E;AAC9E,SAAgB,cAAc,CAAC,OAAgB;IAC3C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,KAAK,IAAI,EAAE;QAEf,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,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/commands/runtime/portal.ts"],"names":[],"mappings":";;;;;AAKA,wCAcC;AAlBD,4EAAoD;AACpD,iDAA8C;AAE9C,8EAA8E;AAC9E,SAAgB,cAAc,CAAC,OAAgB;IAC3C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sGAAsG,CAAC;SACnH,MAAM,CAAC,KAAK,IAAI,EAAE;QAEf,gGAAgG;QAChG,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,iBAAO,CAAC,aAAa,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -12,8 +12,17 @@ function registerStart(runtime) {
12
12
  .option('-p, --port <port>', 'port used by the runtime (default 5005)', (value) => parseInt(value, 10), 5005)
13
13
  .option('-a, --attach', 'attach to the runtime process (default false)', false)
14
14
  .option('-d, --data-path <path>', 'path to the runtime data directory')
15
- .description('Start the Codenotch runtime')
15
+ .description('Start the Codenotch runtime (proposes to install it first when it is missing)')
16
16
  .action(async (options) => {
17
+ if (await RuntimeUtils_1.default.isRuntimeRunning()) {
18
+ console.log(chalk_1.default.green(`Codenotch runtime is already running at ${await RuntimeUtils_1.default.getRuntimeBaseUrl()}`));
19
+ return;
20
+ }
21
+ // Nothing to start without a runtime: propose to install it (accepted by default, so scripts go through)
22
+ if (!await RuntimeUtils_1.default.ensureRuntimeInstalled()) {
23
+ process.exitCode = 1;
24
+ return;
25
+ }
17
26
  await RuntimeUtils_1.default.startRuntime(options);
18
27
  console.log(chalk_1.default.green(`Codenotch runtime started successfully`));
19
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/runtime/start.ts"],"names":[],"mappings":";;;;;AAIA,sCAWC;AAdD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;SACpH,MAAM,CAAC,cAAc,EAAE,+CAA+C,EAAE,KAAK,CAAC;SAC9E,MAAM,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;SACtE,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAC5E,MAAM,sBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/runtime/start.ts"],"names":[],"mappings":";;;;;AAIA,sCAuBC;AA1BD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO;SACF,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;SACpH,MAAM,CAAC,cAAc,EAAE,+CAA+C,EAAE,KAAK,CAAC;SAC9E,MAAM,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;SACtE,WAAW,CAAC,+EAA+E,CAAC;SAC5F,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;QAE5E,IAAI,MAAM,sBAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,MAAM,sBAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9G,OAAO;QACX,CAAC;QAED,yGAAyG;QACzG,IAAI,CAAC,MAAM,sBAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,sBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -11,6 +11,11 @@ function registerStop(runtime) {
11
11
  .command('stop')
12
12
  .description('Stop the Codenotch runtime')
13
13
  .action(async () => {
14
+ // Stopping what does not run is not an error, but claiming a success would be a lie
15
+ if (!await RuntimeUtils_1.default.isRuntimeRunning()) {
16
+ console.error(chalk_1.default.yellow(`Codenotch runtime is not running`));
17
+ return;
18
+ }
14
19
  await RuntimeUtils_1.default.stopRuntime();
15
20
  console.log(chalk_1.default.green(`Codenotch runtime stopped successfully`));
16
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/runtime/stop.ts"],"names":[],"mappings":";;;;;AAIA,oCAQC;AAXD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,sBAAY,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/runtime/stop.ts"],"names":[],"mappings":";;;;;AAIA,oCAeC;AAlBD,kDAA0B;AAC1B,4EAAoD;AAEpD,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,IAAI,EAAE;QAEf,oFAAoF;QACpF,IAAI,CAAC,MAAM,sBAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,MAAM,sBAAY,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -9,9 +9,10 @@ function registerUpdate(runtime) {
9
9
  runtime
10
10
  .command('update')
11
11
  .alias('install')
12
- .description('Check for Codenotch runtime updates and install if available')
13
- .action(async () => {
14
- await RuntimeUtils_1.default.installLatestRuntime();
12
+ .description('Install the latest Codenotch runtime release, or update the installed runtime to it when it is newer')
13
+ .option('-f, --force', 'reinstall even when the installed runtime already is the latest release', false)
14
+ .action(async (options) => {
15
+ await RuntimeUtils_1.default.installLatestRuntime({ force: options.force });
15
16
  });
16
17
  }
17
18
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/runtime/update.ts"],"names":[],"mappings":";;;;;AAGA,wCAQC;AAVD,4EAAoD;AAEpD,SAAgB,cAAc,CAAC,OAAgB;IAC3C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,sBAAY,CAAC,oBAAoB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/runtime/update.ts"],"names":[],"mappings":";;;;;AAGA,wCASC;AAXD,4EAAoD;AAEpD,SAAgB,cAAc,CAAC,OAAgB;IAC3C,OAAO;SACF,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,SAAS,CAAC;SAChB,WAAW,CAAC,sGAAsG,CAAC;SACnH,MAAM,CAAC,aAAa,EAAE,yEAAyE,EAAE,KAAK,CAAC;SACvG,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC1C,MAAM,sBAAY,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * 'cn completion <shell>': prints a completion script built from the command tree, so it always
4
+ * matches the installed CLI. The script holds one table, "command path" -> "words to propose",
5
+ * and looks the typed path up: no shell has to know anything about commander.
6
+ */
7
+ export declare function registerCompletion(program: Command): void;
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCompletion = registerCompletion;
4
+ const SHELLS = ['bash', 'zsh', 'powershell'];
5
+ /** The names the CLI is installed under, both completed */
6
+ const COMMAND_NAMES = ['cn', 'codenotch-cli'];
7
+ /**
8
+ * 'cn completion <shell>': prints a completion script built from the command tree, so it always
9
+ * matches the installed CLI. The script holds one table, "command path" -> "words to propose",
10
+ * and looks the typed path up: no shell has to know anything about commander.
11
+ */
12
+ function registerCompletion(program) {
13
+ program
14
+ .command('completion')
15
+ .description('Print the shell completion script of the CLI (bash, zsh or powershell)')
16
+ .argument('<shell>', `shell to print the script for: ${SHELLS.join(', ')}`)
17
+ .addHelpText('after', `
18
+ Install it once, then open a new terminal:
19
+ bash echo 'eval "$(cn completion bash)"' >> ~/.bashrc
20
+ zsh echo 'eval "$(cn completion zsh)"' >> ~/.zshrc
21
+ powershell Add-Content $PROFILE 'cn completion powershell | Out-String | Invoke-Expression'
22
+ `)
23
+ .action((shell) => {
24
+ if (!isShell(shell)) {
25
+ throw new Error(`Unknown shell '${shell}', expected one of: ${SHELLS.join(', ')}.`);
26
+ }
27
+ const table = buildTable(program);
28
+ console.log(shell === 'bash' ? bashScript(table) : shell === 'zsh' ? zshScript(table) : powershellScript(table));
29
+ });
30
+ }
31
+ function isShell(value) {
32
+ return SHELLS.includes(value);
33
+ }
34
+ /**
35
+ * Every command path (aliases included) with the words it accepts next: its subcommands, its
36
+ * options, and the global options that are valid anywhere. Keyed "cn <path>" for the lookup.
37
+ */
38
+ function buildTable(program) {
39
+ const table = new Map();
40
+ const globalOptions = optionWords(program);
41
+ const collect = (command, path) => {
42
+ const subcommands = command.commands.filter(sub => !sub._hidden);
43
+ const words = [];
44
+ for (const sub of subcommands) {
45
+ words.push(sub.name(), ...sub.aliases());
46
+ }
47
+ if (subcommands.length > 0) {
48
+ words.push('help');
49
+ }
50
+ words.push(...(command === program ? [] : optionWords(command)), ...globalOptions, '--help', '-h');
51
+ table.set(['cn', ...path].join(' '), [...new Set(words)]);
52
+ for (const sub of subcommands) {
53
+ for (const name of [sub.name(), ...sub.aliases()]) {
54
+ collect(sub, [...path, name]);
55
+ }
56
+ }
57
+ };
58
+ collect(program, []);
59
+ return table;
60
+ }
61
+ function optionWords(command) {
62
+ const words = [];
63
+ for (const option of command.options) {
64
+ if (option.hidden) {
65
+ continue;
66
+ }
67
+ if (option.long) {
68
+ words.push(option.long);
69
+ }
70
+ if (option.short) {
71
+ words.push(option.short);
72
+ }
73
+ }
74
+ return words;
75
+ }
76
+ function bashScript(table) {
77
+ const cases = [...table.entries()].map(([key, words]) => ` "${key}") candidates="${words.join(' ')}" ;;`).join('\n');
78
+ return `# Completion of the Codenotch CLI, generated by 'cn completion bash'
79
+ _cn_completion() {
80
+ local cur="\${COMP_WORDS[COMP_CWORD]}"
81
+ local path="cn" word i
82
+ for ((i = 1; i < COMP_CWORD; i++)); do
83
+ word="\${COMP_WORDS[i]}"
84
+ case "$word" in -*) continue ;; esac
85
+ path="$path $word"
86
+ done
87
+ local candidates=""
88
+ case "$path" in
89
+ ${cases}
90
+ esac
91
+ COMPREPLY=( $(compgen -W "$candidates" -- "$cur") )
92
+ }
93
+ ${COMMAND_NAMES.map(name => `complete -o default -F _cn_completion ${name}`).join('\n')}
94
+ `;
95
+ }
96
+ function zshScript(table) {
97
+ const cases = [...table.entries()].map(([key, words]) => ` "${key}") candidates=(${words.join(' ')}) ;;`).join('\n');
98
+ return `#compdef ${COMMAND_NAMES.join(' ')}
99
+ # Completion of the Codenotch CLI, generated by 'cn completion zsh'
100
+ _cn_completion() {
101
+ local -a candidates
102
+ local path="cn" word
103
+ for word in "\${(@)words[2,CURRENT-1]}"; do
104
+ [[ "$word" == -* ]] && continue
105
+ path="$path $word"
106
+ done
107
+ case "$path" in
108
+ ${cases}
109
+ esac
110
+ if (( \${#candidates} )); then
111
+ compadd -- "\${candidates[@]}"
112
+ else
113
+ _files
114
+ fi
115
+ }
116
+ (( \${+functions[compdef]} )) || { autoload -Uz compinit && compinit; }
117
+ compdef _cn_completion ${COMMAND_NAMES.join(' ')}
118
+ `;
119
+ }
120
+ function powershellScript(table) {
121
+ const entries = [...table.entries()].map(([key, words]) => ` '${key}' = @(${words.map(word => `'${word}'`).join(', ')})`).join('\n');
122
+ return `# Completion of the Codenotch CLI, generated by 'cn completion powershell'
123
+ $cnCompletion = {
124
+ param($wordToComplete, $commandAst, $cursorPosition)
125
+ $table = @{
126
+ ${entries}
127
+ }
128
+ # The words typed before the one being completed, options left aside
129
+ $path = @('cn')
130
+ foreach ($element in ($commandAst.CommandElements | Select-Object -Skip 1)) {
131
+ if ($element.Extent.EndOffset -ge $cursorPosition) { break }
132
+ $word = $element.ToString()
133
+ if ($word.StartsWith('-')) { continue }
134
+ $path += $word
135
+ }
136
+ $candidates = $table[($path -join ' ')]
137
+ if ($null -eq $candidates) { return }
138
+ $candidates | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
139
+ [System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
140
+ }
141
+ }
142
+ ${COMMAND_NAMES.map(name => `Register-ArgumentCompleter -Native -CommandName ${name} -ScriptBlock $cnCompletion`).join('\n')}
143
+ `;
144
+ }
145
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/commands/system/completion.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,12 @@ exports.registerSystemCommands = registerSystemCommands;
4
4
  const info_1 = require("./info");
5
5
  const read_1 = require("./read");
6
6
  const docs_1 = require("./docs");
7
+ const completion_1 = require("./completion");
7
8
  // Root-level commands that are not tied to a specific project or the runtime
8
9
  function registerSystemCommands(program) {
9
10
  (0, info_1.registerInfo)(program);
10
11
  (0, read_1.registerRead)(program);
11
12
  (0, docs_1.registerDocs)(program);
13
+ (0, completion_1.registerCompletion)(program);
12
14
  }
13
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/system/index.ts"],"names":[],"mappings":";;AAMA,wDAIC;AATD,iCAAsC;AACtC,iCAAsC;AACtC,iCAAsC;AAEtC,6EAA6E;AAC7E,SAAgB,sBAAsB,CAAC,OAAgB;IACnD,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/system/index.ts"],"names":[],"mappings":";;AAOA,wDAKC;AAXD,iCAAsC;AACtC,iCAAsC;AACtC,iCAAsC;AACtC,6CAAkD;AAElD,6EAA6E;AAC7E,SAAgB,sBAAsB,CAAC,OAAgB;IACnD,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;IACtB,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -5,17 +5,51 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerInfo = registerInfo;
7
7
  const chalk_1 = __importDefault(require("chalk"));
8
+ const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
8
9
  function registerInfo(program) {
9
10
  program
10
11
  .command('info')
11
- .description('Display system information')
12
- .action(() => {
13
- console.log(chalk_1.default.green('System Information:'));
14
- console.log(`- Node.js version: ${chalk_1.default.yellow(process.version)}`);
15
- console.log(`- Platform: ${chalk_1.default.yellow(process.platform)}`);
16
- console.log(`- Architecture: ${chalk_1.default.yellow(process.arch)}`);
17
- console.log(`- Nvm version: ${chalk_1.default.yellow(process.env.NVM_BIN ? 'nvm detected' : 'nvm not detected')}`);
18
- console.log(`- Current directory: ${chalk_1.default.yellow(process.cwd())}`);
12
+ .description('Display the versions of the CLI, Node.js and the local runtime, and whether the runtime is running')
13
+ .option('--json', 'output the result in JSON format')
14
+ .action(async (options) => {
15
+ // One place to diagnose a setup: what runs the CLI, and what the CLI can run the projects on
16
+ const installed = await RuntimeUtils_1.default.isRuntimeInstalled();
17
+ const running = installed && await RuntimeUtils_1.default.isRuntimeRunning();
18
+ const runtime = {
19
+ installed,
20
+ version: installed ? await RuntimeUtils_1.default.getRuntimeVersion() : undefined,
21
+ path: installed ? RuntimeUtils_1.default.getRuntimeExecutablePath() : undefined,
22
+ url: installed ? await RuntimeUtils_1.default.getRuntimeBaseUrl() : undefined,
23
+ running,
24
+ dataPath: installed ? await RuntimeUtils_1.default.getRuntimeDataPath() : undefined
25
+ };
26
+ const info = {
27
+ cli: program.version(),
28
+ node: process.version,
29
+ platform: process.platform,
30
+ arch: process.arch,
31
+ cwd: process.cwd(),
32
+ runtime
33
+ };
34
+ if (options.json) {
35
+ console.log(JSON.stringify(info));
36
+ return;
37
+ }
38
+ console.log(chalk_1.default.green('Codenotch CLI'));
39
+ console.log(`- CLI version: ${chalk_1.default.yellow(info.cli ?? 'unknown')}`);
40
+ console.log(`- Node.js version: ${chalk_1.default.yellow(info.node)}`);
41
+ console.log(`- Platform: ${chalk_1.default.yellow(`${info.platform} ${info.arch}`)}`);
42
+ console.log(`- Current directory: ${chalk_1.default.yellow(info.cwd)}`);
43
+ console.log(chalk_1.default.green('Codenotch runtime'));
44
+ if (!installed) {
45
+ console.log(chalk_1.default.yellow(`- Not installed: 'cn runtime install' installs it, 'cn project start' proposes it when needed`));
46
+ return;
47
+ }
48
+ console.log(`- Version: ${chalk_1.default.yellow(runtime.version)} at ${chalk_1.default.yellow(runtime.path)}`);
49
+ console.log(`- Status: ${running ? chalk_1.default.green('running') : chalk_1.default.yellow('not running')} (${runtime.url})`);
50
+ if (runtime.dataPath) {
51
+ console.log(`- Data path: ${chalk_1.default.yellow(runtime.dataPath)}`);
52
+ }
19
53
  });
20
54
  }
21
55
  //# sourceMappingURL=info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/system/info.ts"],"names":[],"mappings":";;;;;AAGA,oCAYC;AAdD,kDAA0B;AAE1B,SAAgB,YAAY,CAAC,OAAgB;IACzC,OAAO;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,eAAe,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACzG,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/system/info.ts"],"names":[],"mappings":"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"}
@@ -19,13 +19,13 @@ const MAX_VALIDATED_FILES = 100;
19
19
  function registerValidate(program) {
20
20
  program
21
21
  .command('validate')
22
- .description('Validate a file or a folder and print hints, warnings and errors.')
23
- .argument('<path>', 'File to validate, or folder to scan recursively')
22
+ .description('Validate a file or a folder (default: the current directory) and print hints, warnings and errors.')
23
+ .argument('[path]', 'File to validate, or folder to scan recursively', '.')
24
24
  .option('--json', 'Output the messages as a JSON array instead of text')
25
25
  .option('--nolimit', `Validate all files instead of capping at ${MAX_VALIDATED_FILES}`)
26
26
  .addHelpText('after', `
27
27
  Examples:
28
- $ cn validate . the whole project
28
+ $ cn validate the whole project, from its folder
29
29
  $ cn validate processes/books.ts a single file
30
30
  $ cn validate . --json machine-readable output
31
31
  `)
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/validation/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/validation/validate.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -38,10 +38,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  const commander_1 = require("commander");
41
+ const chalk_1 = __importDefault(require("chalk"));
41
42
  const fs_1 = require("fs");
42
43
  const path_1 = __importStar(require("path"));
43
44
  const dotenv_1 = __importDefault(require("dotenv"));
44
45
  const commands_1 = require("./commands");
46
+ const ConsoleUtils_1 = __importDefault(require("./utils/ConsoleUtils"));
45
47
  // / Load environment variables from .env file in the CLI's own root directory, regardless of where the command is run from
46
48
  dotenv_1.default.config({ path: path_1.default.resolve(__dirname, "../.env"), quiet: true });
47
49
  const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf8'));
@@ -50,16 +52,42 @@ program
50
52
  .name('codenotch-cli')
51
53
  .description('CLI of the Codenotch platform: manage the local runtime, scaffold and deploy projects, generate their derived files, and work on their React apps')
52
54
  .version(packageJson.version)
55
+ .option('-q, --quiet', 'print the results, the warnings and the errors only, no progress')
56
+ // Program options are accepted before and after the subcommand, so the flag is read once the command is known
57
+ .hook('preAction', () => {
58
+ ConsoleUtils_1.default.quiet = program.opts().quiet === true;
59
+ })
53
60
  .addHelpText('after', `
54
61
  The reference documentation ships with the CLI: 'cn docs' lists its topics (project anatomy,
55
62
  tables, processes, queries, apps, i18n). Read the topic before writing a file of that kind.
56
63
 
57
64
  Getting started:
58
- $ cn runtime update install (or update) the local Codenotch runtime
59
- $ cn runtime start
60
65
  $ cn project new create a project (asks for the template and the name)
61
- $ cn project start build, deploy and open it
66
+ $ cn project start build, deploy and open it (installs and starts the local runtime when needed)
67
+
68
+ Automation:
69
+ stdout carries the results only, the progress and the messages go to stderr. Most commands take
70
+ '--json' for a machine-readable result and '--quiet' drops the progress. 'cn completion <shell>'
71
+ prints the completion script of bash, zsh or powershell.
72
+
73
+ Environment:
74
+ CODENOTCH_PATH folder of the local runtime (default: ~/.codenotch)
75
+ CODENOTCH_DEBUG set to 1 to print the stack trace of a failure and the debug lines
76
+ GITHUB_TOKEN token used to download the runtime releases, instead of the browser login
62
77
  `);
63
78
  (0, commands_1.registerAllCommands)(program);
64
- program.parse();
79
+ // Every failure an action did not handle ends here: one message for the user, the stack trace on demand only
80
+ program.parseAsync().catch((error) => {
81
+ const message = error instanceof Error ? error.message : String(error);
82
+ ConsoleUtils_1.default.error(`Error: ${message}`);
83
+ if (error instanceof Error && error.stack) {
84
+ if (ConsoleUtils_1.default.debug) {
85
+ console.error(chalk_1.default.gray(error.stack));
86
+ }
87
+ else {
88
+ console.error(chalk_1.default.gray(`(set CODENOTCH_DEBUG=1 for the stack trace)`));
89
+ }
90
+ }
91
+ process.exitCode = 1;
92
+ });
65
93
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,2BAAkC;AAClC,6CAAkC;AAClC,oDAA4B;AAC5B,yCAAiD;AAEjD,2HAA2H;AAC3H,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,mJAAmJ,CAAC;KAChK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,WAAW,CAAC,OAAO,EAAE;;;;;;;;;CASzB,CAAC,CAAC;AAEH,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;AAE7B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,2BAAkC;AAClC,6CAAkC;AAClC,oDAA4B;AAC5B,yCAAiD;AACjD,wEAAgD;AAEhD,2HAA2H;AAC3H,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAEzE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACzF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACF,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,mJAAmJ,CAAC;KAChK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,MAAM,CAAC,aAAa,EAAE,kEAAkE,CAAC;IAC1F,8GAA8G;KAC7G,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IACpB,sBAAY,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC;AACvD,CAAC,CAAC;KACD,WAAW,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;;;CAiBzB,CAAC,CAAC;AAEH,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAC;AAE7B,6GAA6G;AAC7G,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,sBAAY,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,sBAAY,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC"}