@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.
- package/README.md +3 -2
- package/build/commands/actions/initQuestions.js +35 -33
- package/build/commands/actions/initQuestions.js.map +1 -1
- package/build/commands/build.js +36 -38
- package/build/commands/build.js.map +1 -1
- package/build/commands/create.js +1 -1
- package/build/commands/create.js.map +1 -1
- package/build/commands/deploy.js +1 -1
- package/build/commands/deploy.js.map +1 -1
- package/build/commands/info.js +1 -1
- package/build/commands/info.js.map +1 -1
- package/build/commands/init.js +2 -2
- package/build/commands/init.js.map +1 -1
- package/build/commands/package.js +14 -8
- package/build/commands/package.js.map +1 -1
- package/build/commands/publish.js +2 -2
- package/build/commands/publish.js.map +1 -1
- package/build/expressRoutes/functionBinder.js.map +1 -1
- package/build/integration-tests/quickstart-scenario.test.js +76 -0
- package/build/integration-tests/quickstart-scenario.test.js.map +1 -0
- package/build/lib/utils.js +1 -1
- package/build/lib/utils.js.map +1 -1
- package/build/lift.js +1 -1
- package/build/lift.js.map +1 -1
- package/package.json +6 -3
- package/src/commands/actions/initQuestions.ts +52 -50
- package/src/commands/build.ts +12 -12
- package/src/commands/create.ts +3 -3
- package/src/commands/deploy.ts +3 -3
- package/src/commands/help.ts +1 -1
- package/src/commands/info.ts +30 -31
- package/src/commands/init.ts +3 -2
- package/src/commands/package.ts +15 -10
- package/src/commands/publish.ts +4 -4
- package/src/expressRoutes/functionBinder.ts +6 -7
- package/src/integration-tests/quickstart-scenario.test.ts +74 -0
- package/src/lib/utils.ts +1 -1
- 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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"}
|
package/build/lib/utils.js
CHANGED
|
@@ -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;
|
package/build/lib/utils.js.map
CHANGED
|
@@ -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;
|
|
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
package/build/lift.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lift.js","sourceRoot":"","sources":["../src/lift.ts"],"names":[],"mappings":";;AAEA,2DAA2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3D,gDAAiC;AACjC,iDAAkC;AAElC,mDAAkD;AAElD,0CAAwC;AACxC,0CAAwC;AACxC,8CAA4C;AAC5C,4CAA+C;AAC/C,0CAA6C;AAC7C,gDAAmD;AACnD,8CAAiD;AACjD,gDAAmD;AACnD,8CAA4C;AAC5C,4CAAmD;AACnD,kDAAgD;AAChD,
|
|
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.
|
|
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
|
-
"
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
'
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
'version',
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
'description',
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
'
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
'
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
'spdx
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
99
|
+
console.error(`Error ${rrt?.retcode ?? ''}`, rrt?.errStr)
|
|
98
100
|
} else {
|
|
99
101
|
name = rrt?.stdStr?.trim().toLowerCase()
|
|
100
102
|
}
|
package/src/commands/build.ts
CHANGED
|
@@ -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
|
|
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(
|
|
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 =
|
|
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
|
-
|
|
135
|
+
function doPostBuildSteps (
|
|
136
136
|
funcDir: string,
|
|
137
137
|
buildPath: string
|
|
138
|
-
):
|
|
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
|
|
151
|
-
const filedirPath = path.join(funcDir, '
|
|
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, '
|
|
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)
|
package/src/commands/create.ts
CHANGED
|
@@ -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(
|
|
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)
|
package/src/commands/deploy.ts
CHANGED
|
@@ -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(
|
|
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 {}
|
package/src/commands/help.ts
CHANGED
|
@@ -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
|
}
|
package/src/commands/info.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
|
|
12
|
-
|
|
10
|
+
const projectName = getProjectName()
|
|
11
|
+
const projectPaths = resolvePaths()
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
+
}
|
package/src/commands/init.ts
CHANGED
|
@@ -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')
|
package/src/commands/package.ts
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
55
|
-
const error = 0
|
|
54
|
+
let error = 0
|
|
56
55
|
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
})
|
|
66
|
+
await recurse(0)
|
|
67
|
+
return error
|
|
63
68
|
}
|
|
64
69
|
|
|
65
70
|
async function packageFunction (funcName: string): Promise<number> {
|
package/src/commands/publish.ts
CHANGED
|
@@ -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(
|
|
41
|
-
console.log(ac.bold.magenta(
|
|
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
|
-
|
|
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
|
}
|