@tremho/mist-lift 1.1.1-pre-release.2 → 1.1.2

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 (38) hide show
  1. package/README.md +3 -2
  2. package/build/commands/actions/initQuestions.js +35 -33
  3. package/build/commands/actions/initQuestions.js.map +1 -1
  4. package/build/commands/build.js +36 -38
  5. package/build/commands/build.js.map +1 -1
  6. package/build/commands/create.js +1 -1
  7. package/build/commands/create.js.map +1 -1
  8. package/build/commands/deploy.js +1 -1
  9. package/build/commands/deploy.js.map +1 -1
  10. package/build/commands/info.js +1 -1
  11. package/build/commands/info.js.map +1 -1
  12. package/build/commands/init.js +2 -2
  13. package/build/commands/init.js.map +1 -1
  14. package/build/commands/package.js +14 -8
  15. package/build/commands/package.js.map +1 -1
  16. package/build/commands/publish.js +2 -2
  17. package/build/commands/publish.js.map +1 -1
  18. package/build/expressRoutes/functionBinder.js.map +1 -1
  19. package/build/integration-tests/quickstart-scenario.test.js +76 -0
  20. package/build/integration-tests/quickstart-scenario.test.js.map +1 -0
  21. package/build/lib/utils.js +1 -1
  22. package/build/lib/utils.js.map +1 -1
  23. package/build/lift.js +1 -1
  24. package/build/lift.js.map +1 -1
  25. package/package.json +6 -3
  26. package/src/commands/actions/initQuestions.ts +52 -50
  27. package/src/commands/build.ts +12 -12
  28. package/src/commands/create.ts +3 -3
  29. package/src/commands/deploy.ts +3 -3
  30. package/src/commands/help.ts +1 -1
  31. package/src/commands/info.ts +30 -31
  32. package/src/commands/init.ts +3 -2
  33. package/src/commands/package.ts +15 -10
  34. package/src/commands/publish.ts +4 -4
  35. package/src/expressRoutes/functionBinder.ts +6 -7
  36. package/src/integration-tests/quickstart-scenario.test.ts +74 -0
  37. package/src/lib/utils.ts +1 -1
  38. package/src/lift.ts +2 -2
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /* eslint @typescript-eslint/no-floating-promises: "off" */
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const tap_1 = __importDefault(require("tap"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const path_1 = __importDefault(require("path"));
19
+ const init_1 = require("../commands/init");
20
+ const create_1 = require("../commands/create");
21
+ const build_1 = require("../commands/build");
22
+ const deploy_1 = require("../commands/deploy");
23
+ const publish_1 = require("../commands/publish");
24
+ const axios_1 = __importDefault(require("axios"));
25
+ function test(t) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const testMessage = `test on ${Date.now()}`;
28
+ // start clean
29
+ fs_1.default.rmSync('./QSTest', { recursive: true });
30
+ // init
31
+ yield (0, init_1.doInit)('QSTest', true);
32
+ // verify project got made
33
+ t.ok(fs_1.default.existsSync('./QSTest'), 'created test project');
34
+ // verify we have a functions dir
35
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'functions')), 'functions exists');
36
+ // verify we have a node_modules dir
37
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'node_modules')), 'node_modules exists');
38
+ // verify we have a webroot dir
39
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'webroot')), 'webroot exists');
40
+ // verify we have a package.json
41
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'package.json')), 'package.json exists');
42
+ // verify we have webroot/docs
43
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'webroot', 'docs', 'apidoc.yaml')), 'yaml exists');
44
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'webroot', 'docs', 'swagger-ui-bundle.js')), 'js exists');
45
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'webroot', 'docs', 'swagger-ui-standalone-preset.js')), 'js exists');
46
+ t.ok(fs_1.default.existsSync(path_1.default.join('./QSTest', 'webroot', 'docs', 'swagger-ui.css')), 'css exists');
47
+ // create
48
+ process.chdir('./QSTest');
49
+ yield (0, create_1.doCreate)('IntegrationTest');
50
+ t.ok(fs_1.default.existsSync(path_1.default.join('functions', 'IntegrationTest')), 'function exists');
51
+ t.ok(fs_1.default.existsSync(path_1.default.join('functions', 'IntegrationTest', 'src', 'definition.json')), 'definition.json exists');
52
+ t.ok(fs_1.default.existsSync(path_1.default.join('functions', 'IntegrationTest', 'src', 'local.ts')), 'local.ts exists');
53
+ const maints = path_1.default.join('functions', 'IntegrationTest', 'src', 'main.ts');
54
+ t.ok(fs_1.default.existsSync(maints), 'main.ts exists');
55
+ const content = fs_1.default.readFileSync(maints).toString().replace('Hello, World!', testMessage);
56
+ fs_1.default.writeFileSync(maints, content);
57
+ // build
58
+ yield (0, build_1.doBuildAsync)(['--clean']);
59
+ yield (0, deploy_1.doDeployAsync)([]);
60
+ yield (0, publish_1.doPublishAsync)();
61
+ const publishedJson = fs_1.default.readFileSync('.published').toString();
62
+ const publishedInfo = JSON.parse(publishedJson);
63
+ const apiUrl = publishedInfo.url;
64
+ t.ok(apiUrl.length > 0, 'url exists');
65
+ const testUrl = apiUrl + '/integrationtest';
66
+ const resp = yield axios_1.default.get(testUrl);
67
+ t.ok(resp.status === 200, 'status is 200');
68
+ const data = resp.data.toString();
69
+ t.ok(data === testMessage, 'saw expected data');
70
+ t.end();
71
+ });
72
+ }
73
+ tap_1.default.test('Integration Quickstart', (t) => __awaiter(void 0, void 0, void 0, function* () {
74
+ yield test(t);
75
+ }));
76
+ //# sourceMappingURL=quickstart-scenario.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickstart-scenario.test.js","sourceRoot":"","sources":["../../src/integration-tests/quickstart-scenario.test.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ function delay(ms // milliseconds to delay
49
49
  exports.delay = delay;
50
50
  function FolderToZip(folderPath, zipPath) {
51
51
  return __awaiter(this, void 0, void 0, function* () {
52
- return new Promise(resolve => {
52
+ return yield new Promise(resolve => {
53
53
  zipDir(folderPath, { saveTo: zipPath }, function (err, buffer) {
54
54
  if (err !== '' && err !== undefined && err !== null)
55
55
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,qDAAiD;AACjD,gDAAiC;AACjC,uCAAwB;AAExB,wBAAwB;AAExB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEjC,yCAAyC;AACzC,SAAsB,KAAK,CACzB,EAAU,CAAC,wBAAwB;;;QAEnC,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;CAAA;AAJD,sBAIC;AAED,SAAsB,WAAW,CAC/B,UAAkB,EAClB,OAAe;;QAEf,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,GAAQ,EAAE,MAAkB;gBAC5E,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;oBAAE,MAAM,GAAG,CAAA;gBAC9D,4CAA4C;gBAC5C,4CAA4C;gBAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAZD,kCAYC;AACD,SAAsB,aAAa;yDACjC,OAAe,EACf,UAAkB,EAClB,UAAmB,IAAI;QAEvB,mFAAmF;QAEnF,IAAI,OAAO;YAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,MAAM,MAAM,GAAwC,MAAM,IAAA,+BAAc,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9G,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC3F,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;IACH,CAAC;CAAA;AAbD,sCAaC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,qDAAiD;AACjD,gDAAiC;AACjC,uCAAwB;AAExB,wBAAwB;AAExB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEjC,yCAAyC;AACzC,SAAsB,KAAK,CACzB,EAAU,CAAC,wBAAwB;;;QAEnC,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;CAAA;AAJD,sBAIC;AAED,SAAsB,WAAW,CAC/B,UAAkB,EAClB,OAAe;;QAEf,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACjC,MAAM,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,GAAQ,EAAE,MAAkB;gBAC5E,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;oBAAE,MAAM,GAAG,CAAA;gBAC9D,4CAA4C;gBAC5C,4CAA4C;gBAC5C,OAAO,CAAC,MAAM,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAZD,kCAYC;AACD,SAAsB,aAAa;yDACjC,OAAe,EACf,UAAkB,EAClB,UAAmB,IAAI;QAEvB,mFAAmF;QAEnF,IAAI,OAAO;YAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACpE,MAAM,MAAM,GAAwC,MAAM,IAAA,+BAAc,EAAC,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9G,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC3F,MAAM,KAAK,EAAE,CAAA;QACf,CAAC;IACH,CAAC;CAAA;AAbD,sCAaC"}
package/build/lift.js CHANGED
@@ -85,7 +85,7 @@ function processCommand() {
85
85
  }
86
86
  return;
87
87
  case 'start':
88
- return (0, start_1.startLocalServer)();
88
+ return yield (0, start_1.startLocalServer)();
89
89
  case 'package':
90
90
  {
91
91
  const ret = yield (0, package_1.doPackageAsync)(args);
package/build/lift.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lift.js","sourceRoot":"","sources":["../src/lift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lift.js","sourceRoot":"","sources":["../src/lift.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tremho/mist-lift",
3
- "version": "1.1.1-pre-release.2",
3
+ "version": "1.1.2",
4
4
  "description": "lift command line utility for MistLift development",
5
5
  "main": "build/index.js",
6
6
  "bin": {
@@ -12,7 +12,10 @@
12
12
  "build": "run-script-os",
13
13
  "build:windows": "tsc && npm run postbuild",
14
14
  "build:nix": "tsc && chmod +x build/lift.js && npm run postbuild",
15
- "test": "tap --reporter=base --color --passes --disable-coverage src/lib/Tests/**/*.test.ts",
15
+ "lint": "ts-standard --fix src",
16
+ "test": "npm run build && npm run unitTest && npm run integrationTest",
17
+ "unitTest": "tap --reporter=base --color --passes --disable-coverage src/lib/**/*.test.ts",
18
+ "integrationTest": "tap -t 150000 --reporter=base --color --passes --disable-coverage src/**/*.test.ts",
16
19
  "indev": "run-script-os",
17
20
  "indev:nix": "echo nix",
18
21
  "indev:windows": "echo windows",
@@ -47,7 +50,6 @@
47
50
  "@aws-sdk/credential-providers": "^3.598.0",
48
51
  "@tremho/inverse-y": "^1.1.0",
49
52
  "ansi-colors": "^4.1.3",
50
- "axios": "^1.7.2",
51
53
  "body-parser": "^1.20.2",
52
54
  "clear-module": "^4.1.2",
53
55
  "express": "^4.19.2",
@@ -63,6 +65,7 @@
63
65
  "@types/node": "^20.14.2",
64
66
  "@types/tap": "^15.0.11",
65
67
  "@types/ws": "^8.5.10",
68
+ "axios": "^1.7.2",
66
69
  "rimraf": "^5.0.7",
67
70
  "run-script-os": "^1.1.6",
68
71
  "tap": "^19.2.5",
@@ -7,7 +7,8 @@ import { executeCommand } from '../../lib/executeCommand'
7
7
  import { ask } from '../../lib/askQuestion'
8
8
 
9
9
  export async function interrogateUserForPackageJsonSettings (
10
- projectPath: string
10
+ projectPath: string,
11
+ defaults?: boolean
11
12
  ): Promise<void> {
12
13
  // get existing package.json or {}
13
14
  // name of project - module name, display name, short name
@@ -27,55 +28,56 @@ export async function interrogateUserForPackageJsonSettings (
27
28
  let copyright = pkgJson.copyright ?? defaultCopyright(author)
28
29
  let spdx = pkgJson.license ?? 'MIT'
29
30
 
30
- let ok = false
31
- while (!ok) {
32
- name = ask('Module name of this project',
33
- 'module name',
34
- name
35
- )
36
- ok = name !== undefined && name.indexOf(' ') === -1
37
- }
38
- ok = false
39
- while (!ok) {
40
- version = ask('Project version. Use prerelease suffix for development versions. Use Semantic Versioning (https://semver.org).',
41
- 'version',
42
- version ?? '0.1.0-prerelease.1'
43
- )
44
- ok = version !== undefined && version.indexOf('.') !== -1
45
- }
46
- ok = false
47
- while (!ok) {
48
- description = ask('Give a brief description of what this project does / what it is for',
49
- 'description',
50
- description ?? ''
51
- )
52
- ok = description !== ''
53
- }
54
- ok = false
55
- while (!ok) {
56
- author = ask('Identify yourself as the author of this project',
57
- 'name',
58
- author
59
- )
60
- ok = author !== ''
61
- }
62
- ok = false
63
- while (!ok) {
64
- copyright = ask('Specify a displayable copyright notice',
65
- 'Copyright',
66
- copyright
67
- )
68
- ok = copyright !== ''
69
- }
70
- ok = false
71
- while (!ok) {
72
- spdx = ask('Specify the appropriate SPDX license identifier for this project. See https://spdx.org/licenses/ for more info.',
73
- 'spdx identifier',
74
- spdx
75
- )
76
- ok = spdx !== ''
31
+ if (defaults !== true) {
32
+ let ok = false
33
+ while (!ok) {
34
+ name = ask('Module name of this project',
35
+ 'module name',
36
+ name
37
+ )
38
+ ok = name !== undefined && name.indexOf(' ') === -1
39
+ }
40
+ ok = false
41
+ while (!ok) {
42
+ version = ask('Project version. Use prerelease suffix for development versions. Use Semantic Versioning (https://semver.org).',
43
+ 'version',
44
+ version ?? '0.1.0-prerelease.1'
45
+ )
46
+ ok = version !== undefined && version.indexOf('.') !== -1
47
+ }
48
+ ok = false
49
+ while (!ok) {
50
+ description = ask('Give a brief description of what this project does / what it is for',
51
+ 'description',
52
+ description ?? ''
53
+ )
54
+ ok = description !== ''
55
+ }
56
+ ok = false
57
+ while (!ok) {
58
+ author = ask('Identify yourself as the author of this project',
59
+ 'name',
60
+ author
61
+ )
62
+ ok = author !== ''
63
+ }
64
+ ok = false
65
+ while (!ok) {
66
+ copyright = ask('Specify a displayable copyright notice',
67
+ 'Copyright',
68
+ copyright
69
+ )
70
+ ok = copyright !== ''
71
+ }
72
+ ok = false
73
+ while (!ok) {
74
+ spdx = ask('Specify the appropriate SPDX license identifier for this project. See https://spdx.org/licenses/ for more info.',
75
+ 'spdx identifier',
76
+ spdx
77
+ )
78
+ ok = spdx !== ''
79
+ }
77
80
  }
78
-
79
81
  pkgJson.name = name
80
82
  pkgJson.version = version
81
83
  pkgJson.description = description
@@ -94,7 +96,7 @@ async function findGitAuthor (
94
96
  const rrt: { retcode: number | undefined, stdStr: string | undefined, errStr: string | undefined } = rt
95
97
  let name: string | undefined = ''
96
98
  if (rrt?.retcode !== 0) {
97
- console.error(`Error ${rrt.retcode}`, rrt.errStr)
99
+ console.error(`Error ${rrt?.retcode ?? ''}`, rrt?.errStr)
98
100
  } else {
99
101
  name = rrt?.stdStr?.trim().toLowerCase()
100
102
  }
@@ -7,16 +7,16 @@ import { resolvePaths } from '../lib/pathResolve'
7
7
  import { recurseDirectory } from '../lib/DirectoryUtils'
8
8
  import { isNewer } from '../lib/fileCompare'
9
9
  import { executeCommand } from '../lib/executeCommand'
10
- import {mkdirSync} from "fs";
10
+ import { mkdirSync } from 'fs'
11
11
 
12
12
  // Build command
13
13
  export async function doBuildAsync (
14
14
  args: string[] // zero or more functions to build. zero means build all
15
15
  ): Promise<number> {
16
16
  const projectPaths = resolvePaths()
17
- if(!projectPaths.verified) {
18
- console.log(ac.bold.magenta("current directory is not at project root"))
19
- return -1;
17
+ if (!projectPaths.verified) {
18
+ console.log(ac.bold.magenta('current directory is not at project root'))
19
+ return -1
20
20
  }
21
21
  const funcsToBuild: string[] = []
22
22
  const options: string[] = []
@@ -63,7 +63,7 @@ async function buildSingleFunction (
63
63
  options: string[]
64
64
  ): Promise<number> {
65
65
  const funcName = funcDir.substring(funcDir.lastIndexOf('/') + 1)
66
- const buildPath = path.normalize(path.join(funcDir, '..', '..', 'build', 'functions', funcName))
66
+ const buildPath = path.normalize(path.join(funcDir, '..', '..', 'build', 'functions', funcName))
67
67
  if (options.includes('--clean')) {
68
68
  if (fs.existsSync(buildPath)) {
69
69
  fs.rmSync(buildPath, { recursive: true })
@@ -123,34 +123,34 @@ async function buildFunctionModules (
123
123
  }
124
124
  }
125
125
  }
126
+ fails += doPostBuildSteps(funcDir, buildPath)
126
127
  return false
127
128
  })
128
129
  return await Promise.all(all).then(async () => {
129
- fails += await doPostBuildSteps(funcDir, buildPath)
130
130
  return fails
131
131
  })
132
132
  }
133
133
 
134
134
  // do the steps after the build (file copies, etc)
135
- async function doPostBuildSteps (
135
+ function doPostBuildSteps (
136
136
  funcDir: string,
137
137
  buildPath: string
138
- ): Promise<number> {
138
+ ): number {
139
139
  // copy the definitions,json file over
140
140
  const srcdef = path.join(funcDir, 'src', 'definition.json')
141
141
  const dstdef = path.join(buildPath, 'src', 'definition.json')
142
142
  if (fs.existsSync(srcdef)) {
143
143
  const destFolder = path.dirname(dstdef)
144
- if(!fs.existsSync((destFolder))) mkdirSync(destFolder, {recursive: true})
144
+ if (!fs.existsSync((destFolder))) mkdirSync(destFolder, { recursive: true })
145
145
  fs.copyFileSync(srcdef, dstdef)
146
146
  } else {
147
147
  console.error(ac.red.bold('no definition file found at ' + srcdef))
148
148
  return 1
149
149
  }
150
- // copy the __files__ folder if it exists
151
- const filedirPath = path.join(funcDir, '__files__')
150
+ // copy the resources folder if it exists
151
+ const filedirPath = path.join(funcDir, 'resources')
152
152
  if (fs.existsSync(filedirPath)) {
153
- const bfiles = path.join(buildPath, '__files__')
153
+ const bfiles = path.join(buildPath, 'resources')
154
154
  if (!fs.existsSync(bfiles)) fs.mkdirSync(bfiles, { recursive: true })
155
155
  recurseDirectory(filedirPath, (filepath, stats) => {
156
156
  let relPath = filepath.substring(funcDir.length)
@@ -17,9 +17,9 @@ export function doCreate (
17
17
  console.log(ac.green.bold('Creating new function named ') + funcName)
18
18
 
19
19
  const projectPaths = resolvePaths()
20
- if(!projectPaths.verified) {
21
- console.log(ac.bold.magenta("current directory is not at project root"))
22
- return;
20
+ if (!projectPaths.verified) {
21
+ console.log(ac.bold.magenta('current directory is not at project root'))
22
+ return
23
23
  }
24
24
  const funcPath = path.join(projectPaths.functionPath, funcName)
25
25
  if (!fs.existsSync(funcPath)) fs.mkdirSync(funcPath)
@@ -29,9 +29,9 @@ export async function doDeployAsync (
29
29
  args: string[]
30
30
  ): Promise<number> {
31
31
  projectPaths = resolvePaths()
32
- if(!projectPaths.verified) {
33
- console.log(ac.bold.magenta("current directory is not at project root"))
34
- return -1;
32
+ if (!projectPaths.verified) {
33
+ console.log(ac.bold.magenta('current directory is not at project root'))
34
+ return -1
35
35
  }
36
36
  const deploymentRecordPath = path.join(projectPaths.basePath, '.deployed')
37
37
  try { deploymentRecord = JSON.parse(fs.readFileSync(deploymentRecordPath).toString()) } catch {}
@@ -172,7 +172,7 @@ export function helpDoctor (): void {
172
172
  console.log('use ' + ac.bold('lift doctor') + ' to report the status of your MistLift installation and dependencies')
173
173
  }
174
174
 
175
- export function helpInfo(): void {
175
+ export function helpInfo (): void {
176
176
  printBanner('info')
177
177
  console.log('use ' + ac.bold('lift info') + ' to report the last published url and the time of its publishing along with the associated deployed functions')
178
178
  }
@@ -2,42 +2,41 @@ import * as fs from 'fs'
2
2
  import * as path from 'path'
3
3
  import * as ac from 'ansi-colors'
4
4
  import { resolvePaths } from '../lib/pathResolve'
5
- import { helpInfo } from './help'
6
- import {getProjectName} from "../lib/LiftVersion";
5
+ import { getProjectName } from '../lib/LiftVersion'
7
6
 
8
7
  /// Info command
9
8
  export function doInfo (
10
9
  ): void {
11
- const projectName = getProjectName()
12
- const projectPaths = resolvePaths()
10
+ const projectName = getProjectName()
11
+ const projectPaths = resolvePaths()
13
12
 
14
- const publishedFile = path.join(projectPaths.basePath, '.published')
15
- let publishedInfo = {url:'', time:0}
16
- try {
17
- if (fs.existsSync(publishedFile)) {
18
- publishedInfo = JSON.parse(fs.readFileSync(publishedFile).toString())
19
- }
20
- } catch (e) {
13
+ const publishedFile = path.join(projectPaths.basePath, '.published')
14
+ let publishedInfo = { url: '', time: 0 }
15
+ try {
16
+ if (fs.existsSync(publishedFile)) {
17
+ publishedInfo = JSON.parse(fs.readFileSync(publishedFile).toString())
21
18
  }
22
- const deployedFile = path.join(projectPaths.basePath, '.deployed')
23
- let deployedInfo:any = {}
24
- try {
25
- if (fs.existsSync(deployedFile)) {
26
- deployedInfo = JSON.parse(fs.readFileSync(deployedFile).toString())
27
- }
28
- } catch (e) {
19
+ } catch (e) {
20
+ }
21
+ const deployedFile = path.join(projectPaths.basePath, '.deployed')
22
+ let deployedInfo: any = {}
23
+ try {
24
+ if (fs.existsSync(deployedFile)) {
25
+ deployedInfo = JSON.parse(fs.readFileSync(deployedFile).toString())
29
26
  }
30
- if(publishedInfo.url === '') {
31
- console.log(ac.bold.magenta(`${projectName} is not yet published`))
32
- } else {
33
- const publishedUrl = publishedInfo.url
34
- const when = new Date(publishedInfo.time)
35
- console.log(ac.green.bold(`${projectName} Last published to ${publishedUrl} at ${when}`))
36
- for (const depName of Object.getOwnPropertyNames(deployedInfo)) {
37
- const depTime = deployedInfo[depName] ?? 0
38
- if(depTime > 0 && depTime < publishedInfo.time) {
39
- console.log(' '+ac.blue.bold(depName))
40
- }
41
- }
27
+ } catch (e) {
28
+ }
29
+ if (publishedInfo.url === '') {
30
+ console.log(ac.bold.magenta(`${projectName} is not yet published`))
31
+ } else {
32
+ const publishedUrl = publishedInfo.url
33
+ const when = new Date(publishedInfo.time)
34
+ console.log(ac.green.bold(`${projectName} Last published to ${publishedUrl} at ${when.toString()}`))
35
+ for (const depName of Object.getOwnPropertyNames(deployedInfo)) {
36
+ const depTime = deployedInfo[depName] ?? 0
37
+ if (depTime > 0 && depTime < publishedInfo.time) {
38
+ console.log(' ' + ac.blue.bold(depName))
39
+ }
42
40
  }
43
- }
41
+ }
42
+ }
@@ -21,7 +21,8 @@ import { interrogateUserForPackageJsonSettings } from './actions/initQuestions'
21
21
  import { addPackageScripts, installPackage, installDevPackage } from './actions/setupPackageJson'
22
22
 
23
23
  export async function doInit (
24
- folder?: string
24
+ folder?: string,
25
+ defaults?: boolean
25
26
  ): Promise<void> {
26
27
  if (folder === undefined || folder === '') {
27
28
  helpInit()
@@ -51,7 +52,7 @@ export async function doInit (
51
52
  fs.copyFileSync(path.join(swaggerSrcDir, 'swagger-ui-standalone-preset.js'), path.join(webrootDocs, 'swagger-ui-standalone-preset.js'))
52
53
  }
53
54
 
54
- await interrogateUserForPackageJsonSettings(refPath)
55
+ await interrogateUserForPackageJsonSettings(refPath, defaults)
55
56
  await addPackageScripts(refPath)
56
57
  await installDevPackage(refPath, '@types/node')
57
58
  await installDevPackage(refPath, 'typescript')
@@ -17,9 +17,9 @@ export async function doPackageAsync (
17
17
  args: string[]
18
18
  ): Promise<number> {
19
19
  const projectPaths = resolvePaths()
20
- if(!projectPaths.verified) {
21
- console.log(ac.bold.magenta("current directory is not at project root"))
22
- return -1;
20
+ if (!projectPaths.verified) {
21
+ console.log(ac.bold.magenta('current directory is not at project root'))
22
+ return -1
23
23
  }
24
24
  const workPath = path.join(projectPaths.basePath, '.package_temp')
25
25
 
@@ -51,15 +51,20 @@ export async function doPackageAsync (
51
51
  })
52
52
  }
53
53
 
54
- const all: Array<Promise<any>> = []
55
- const error = 0
54
+ let error = 0
56
55
 
57
- for (const funcName of funcsToPackage) {
58
- all.push(packageFunction(funcName))
56
+ const recurse = async (i: number): Promise<any> => {
57
+ if (i >= funcsToPackage.length) return
58
+ const funcName = funcsToPackage[i]
59
+ const pe = await packageFunction(funcName)
60
+ if (pe !== 0) {
61
+ error = pe
62
+ return error
63
+ }
64
+ await recurse(++i)
59
65
  }
60
- return await Promise.all(all).then(() => {
61
- return error
62
- })
66
+ await recurse(0)
67
+ return error
63
68
  }
64
69
 
65
70
  async function packageFunction (funcName: string): Promise<number> {
@@ -37,9 +37,9 @@ export async function doPublishAsync (stageName?: string): Promise<number> {
37
37
  const retCode = 0
38
38
 
39
39
  projectPaths = resolvePaths()
40
- if(!projectPaths.verified) {
41
- console.log(ac.bold.magenta("current directory is not at project root"))
42
- return -1;
40
+ if (projectPaths.verified !== true) {
41
+ console.log(ac.bold.magenta('current directory is not at project root'))
42
+ return -1
43
43
  }
44
44
 
45
45
  await publishApi(stageName ?? 'Dev')
@@ -320,7 +320,7 @@ async function DeployApi (restApiId: string, stageName: string): Promise<void> {
320
320
  }
321
321
  }
322
322
 
323
- function recordLatestPublish(publishUrl:string): void {
323
+ function recordLatestPublish (publishUrl: string): void {
324
324
  const publishRecord = {
325
325
  url: publishUrl,
326
326
  time: Date.now()
@@ -7,7 +7,7 @@ import { resolvePaths } from '../lib/pathResolve'
7
7
  import express from 'express'
8
8
  import { gatherFunctionDefinitions } from '../lib/openAPI/ApiBuildCollector'
9
9
  import { buildOpenApi } from '../lib/openAPI/openApiConstruction'
10
- import {Log} from '@tremho/inverse-y'
10
+ import { Log } from '@tremho/inverse-y'
11
11
 
12
12
  const clearModule = require('clear-module')
13
13
  const router = express.Router()
@@ -51,9 +51,8 @@ export function functionBinder (): void {
51
51
  } else {
52
52
  console.log(ac.red.bold('Cannot map method ') + ac.blue.bold(method))
53
53
  }
54
- }
55
- catch(e:any) {
56
- Log.Error(ac.bold.red(e.message.split('\n')[0]));
54
+ } catch (e: any) {
55
+ Log.Error(ac.bold.red(e.message.split('\n')[0]))
57
56
  }
58
57
  }
59
58
  }
@@ -69,9 +68,9 @@ function requestToEvent (template: string, req: any): any {
69
68
  let host: string = path.substring(0, ei)
70
69
  if (ptci < 3) {
71
70
  host = req.headers?.host ?? req.headers?.origin ?? req.headers?.referer ?? ''
72
- if(!host.startsWith('http')) {
73
- if(!host.startsWith('https')) {
74
- host = 'http://'+host;
71
+ if (!host.startsWith('http')) {
72
+ if (!host.startsWith('https')) {
73
+ host = 'http://' + host
75
74
  }
76
75
  }
77
76
  }