@codenotch/codenotch.cli 1.0.43 → 1.0.44

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.
@@ -8,29 +8,56 @@ const chalk_1 = __importDefault(require("chalk"));
8
8
  const fs_1 = require("fs");
9
9
  const path_1 = require("path");
10
10
  const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
11
+ const ProjectUtils_1 = __importDefault(require("../../utils/ProjectUtils"));
11
12
  const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
12
13
  const shared_1 = require("./shared");
13
14
  function registerDeploy(project) {
14
15
  (0, shared_1.withProjectPathOption)(project
15
16
  .command('deploy')
16
17
  .description('Deploy a packaged project to the runtime')
17
- .argument('<service>', 'service name of the project on the runtime (the serviceName of its manifest.json)')
18
+ .argument('[service]', "service name of the project on the runtime (omitted: the serviceName of the manifest.json of the project)")
18
19
  .argument('[zip]', "package to deploy, the zip written by 'cn project package' (omitted: pick one under .codenotch/)"))
19
20
  .addHelpText('after', `
20
21
  Examples:
22
+ $ cn project deploy service read from manifest.json, zip picked under .codenotch/
21
23
  $ cn project deploy myproject pick a zip found under .codenotch/
22
24
  $ cn project package -o ./myproject.zip
23
25
  $ cn project deploy myproject ./myproject.zip
24
26
  `)
25
27
  .action(async (service, zip, options) => {
28
+ // 'cn project deploy ./build.zip': a lone zip argument is the package, not a service name
29
+ if (service?.toLowerCase().endsWith('.zip') && zip === undefined) {
30
+ zip = service;
31
+ service = undefined;
32
+ }
33
+ const serviceName = service ?? await readManifestServiceName(options.projectPath);
34
+ if (serviceName === undefined) {
35
+ process.exitCode = 1;
36
+ return;
37
+ }
26
38
  const zipPath = zip ?? await pickPackagedZip(options.projectPath);
27
39
  if (zipPath === undefined) {
28
40
  process.exitCode = 1;
29
41
  return;
30
42
  }
31
- await RuntimeUtils_1.default.deployProject(service, zipPath);
43
+ await RuntimeUtils_1.default.deployProject(serviceName, zipPath);
32
44
  });
33
45
  }
46
+ /**
47
+ * The service name of the manifest.json of the project, undefined (after a message) when no
48
+ * manifest is readable there.
49
+ */
50
+ async function readManifestServiceName(projectPath) {
51
+ try {
52
+ const serviceName = await ProjectUtils_1.default.getProjectServiceName(projectPath);
53
+ ConsoleUtils_1.default.check(`Service '${serviceName}' (from manifest.json)`);
54
+ return serviceName;
55
+ }
56
+ catch {
57
+ console.error(chalk_1.default.yellow(`Aborted: no service name given and no manifest.json in '${projectPath}'.`));
58
+ return undefined;
59
+ }
60
+ }
34
61
  /**
35
62
  * Lets the user pick one of the zips of '<project>/.codenotch', where 'cn project package'
36
63
  * writes them, newest first. When stdin is not interactive the newest one is taken.
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codenotch/codenotch.cli",
3
- "version": "1.0.43",
3
+ "version": "1.0.44",
4
4
  "description": "The Codenotch CLI ('cn'): scaffold, run, validate, package and deploy full-stack TypeScript Codenotch projects - processes, tables, documents and React apps - on a local Codenotch runtime",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -88,7 +88,7 @@ Shipping:
88
88
 
89
89
  ```sh
90
90
  cn project package # compile and package the project as a zip (.codenotch/build.zip)
91
- cn project deploy <service> [zip] # zip omitted: pick one found under .codenotch/
91
+ cn project deploy [service] [zip] # omitted: serviceName of manifest.json, zip picked under .codenotch/
92
92
  ```
93
93
 
94
94
  Packaging typechecks the whole project first: type errors fail it.