@tremho/mist-lift 1.1.1 → 1.1.3-pre-release.1

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 (75) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -65
  3. package/build/commands/actions/initQuestions.js +35 -33
  4. package/build/commands/actions/initQuestions.js.map +1 -1
  5. package/build/commands/build.js +1 -1
  6. package/build/commands/build.js.map +1 -1
  7. package/build/commands/create.js +1 -1
  8. package/build/commands/create.js.map +1 -1
  9. package/build/commands/deploy.js +1 -1
  10. package/build/commands/deploy.js.map +1 -1
  11. package/build/commands/info.js +1 -1
  12. package/build/commands/info.js.map +1 -1
  13. package/build/commands/init.js +2 -2
  14. package/build/commands/init.js.map +1 -1
  15. package/build/commands/package.js +2 -2
  16. package/build/commands/package.js.map +1 -1
  17. package/build/commands/publish.js +2 -2
  18. package/build/commands/publish.js.map +1 -1
  19. package/build/expressRoutes/functionBinder.js.map +1 -1
  20. package/build/integration-tests/quickstart-scenario.test.js +76 -0
  21. package/build/integration-tests/quickstart-scenario.test.js.map +1 -0
  22. package/build/lib/utils.js +1 -1
  23. package/build/lib/utils.js.map +1 -1
  24. package/build/lift.js +1 -1
  25. package/build/lift.js.map +1 -1
  26. package/package.json +79 -72
  27. package/src/commands/actions/initQuestions.ts +133 -131
  28. package/src/commands/actions/setupPackageJson.ts +32 -32
  29. package/src/commands/build.ts +170 -170
  30. package/src/commands/builtin/ApiDocMaker.ts +102 -102
  31. package/src/commands/builtin/BuiltInHandler.ts +47 -47
  32. package/src/commands/builtin/DeployBuiltInZip.ts +25 -25
  33. package/src/commands/builtin/StageWebrootZip.ts +36 -36
  34. package/src/commands/create.ts +52 -52
  35. package/src/commands/deploy.ts +161 -161
  36. package/src/commands/doctor.ts +106 -106
  37. package/src/commands/help.ts +178 -178
  38. package/src/commands/info.ts +42 -43
  39. package/src/commands/init.ts +61 -60
  40. package/src/commands/package.ts +234 -234
  41. package/src/commands/publish.ts +330 -330
  42. package/src/commands/settings.ts +73 -73
  43. package/src/commands/start.ts +43 -43
  44. package/src/commands/test.ts +37 -37
  45. package/src/commands/user.ts +20 -20
  46. package/src/expressRoutes/all.ts +99 -99
  47. package/src/expressRoutes/api.ts +22 -22
  48. package/src/expressRoutes/functionBinder.ts +155 -156
  49. package/src/integration-tests/quickstart-scenario.test.ts +74 -0
  50. package/src/lib/CaseUtils.ts +63 -63
  51. package/src/lib/DirectoryUtils.ts +34 -34
  52. package/src/lib/LiftConfig.ts +74 -74
  53. package/src/lib/LiftVersion.ts +87 -87
  54. package/src/lib/Tests/fileCompare.test.ts +35 -35
  55. package/src/lib/askQuestion.ts +17 -17
  56. package/src/lib/executeCommand.ts +45 -45
  57. package/src/lib/fileCompare.ts +55 -55
  58. package/src/lib/openAPI/ApiBuildCollector.ts +47 -47
  59. package/src/lib/openAPI/WebrootFileSupport.ts +19 -19
  60. package/src/lib/openAPI/openApiConstruction.ts +196 -196
  61. package/src/lib/pathResolve.ts +26 -26
  62. package/src/lib/utils.ts +43 -43
  63. package/src/lift.ts +87 -87
  64. package/templateData/function-definition-template +20 -20
  65. package/templateData/function-local-ts +16 -16
  66. package/templateData/function-main-ts +16 -16
  67. package/templateData/function-runmain-mjs +6 -6
  68. package/templateData/function-test-template +11 -11
  69. package/templateData/swagger-ui-bundle.js +2 -2
  70. package/templateData/swagger-ui-standalone-preset.js +2 -2
  71. package/templateData/swagger-ui.css +2 -2
  72. package/tsconfig.json +28 -28
  73. /package/build/commands/builtin/{prebuilt-zips → prebult-zips}/API.zip +0 -0
  74. /package/build/commands/builtin/{prebuilt-zips → prebult-zips}/FileServe.zip +0 -0
  75. /package/build/commands/builtin/{prebuilt-zips → prebult-zips}/Webroot.zip +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"functionBinder.js","sourceRoot":"","sources":["../../src/expressRoutes/functionBinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functionBinder.js","sourceRoot":"","sources":["../../src/expressRoutes/functionBinder.ts"],"names":[],"mappings":"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"}
@@ -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,72 +1,79 @@
1
- {
2
- "name": "@tremho/mist-lift",
3
- "version": "1.1.1",
4
- "description": "lift command line utility for MistLift development",
5
- "main": "build/index.js",
6
- "bin": {
7
- "lift": "build/lift.js"
8
- },
9
- "scripts": {
10
- "prepublish": "rimraf build && npm run build && npm run indev",
11
- "clean": "rimraf build && rimraf node_modules && npm install",
12
- "build": "run-script-os",
13
- "build:windows": "tsc && npm run postbuild",
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",
16
- "indev": "run-script-os",
17
- "indev:nix": "echo nix",
18
- "indev:windows": "echo windows",
19
- "postbuild": "cp -r src/commands/builtin/prebuilt-zips build/commands/builtin",
20
- "installCli": "npm run build && cp build/lift.js ~/.nvm/versions/node/`node --version`/bin/lift"
21
- },
22
- "files": [
23
- "build/**/*",
24
- "src/**/*",
25
- "templateData/*",
26
- "index.d.ts",
27
- "README.md",
28
- "LICENSE",
29
- "tsconfig.json"
30
- ],
31
- "keywords": [
32
- "MistLift",
33
- "Cloud",
34
- "Lift",
35
- "development",
36
- "framework",
37
- "cli",
38
- "aws",
39
- "express",
40
- "node"
41
- ],
42
- "author": "tremho",
43
- "license": "MIT",
44
- "dependencies": {
45
- "@aws-sdk/client-api-gateway": "^3.598.0",
46
- "@aws-sdk/client-lambda": "^3.598.0",
47
- "@aws-sdk/credential-providers": "^3.598.0",
48
- "@tremho/inverse-y": "^1.1.0",
49
- "ansi-colors": "^4.1.3",
50
- "axios": "^1.7.2",
51
- "body-parser": "^1.20.2",
52
- "clear-module": "^4.1.2",
53
- "express": "^4.19.2",
54
- "md5": "^2.3.0",
55
- "openapi-ui": "^1.0.4",
56
- "openapi3-ts": "^4.3.3",
57
- "readline-sync": "^1.4.10",
58
- "zip-dir": "^2.0.0"
59
- },
60
- "devDependencies": {
61
- "@types/express": "^4.17.21",
62
- "@types/md5": "^2.3.5",
63
- "@types/node": "^20.14.2",
64
- "@types/tap": "^15.0.11",
65
- "@types/ws": "^8.5.10",
66
- "rimraf": "^5.0.7",
67
- "run-script-os": "^1.1.6",
68
- "tap": "^19.2.5",
69
- "ts-standard": "^12.0.2",
70
- "typescript": "^5.4.5"
71
- }
72
- }
1
+ {
2
+ "name": "@tremho/mist-lift",
3
+ "version": "1.1.3-pre-release.1",
4
+ "description": "lift command line utility for MistLift development",
5
+ "main": "build/index.js",
6
+ "bin": {
7
+ "lift": "build/lift.js"
8
+ },
9
+ "scripts": {
10
+ "prepublish": "run-script-os",
11
+ "prepublish:nix": "npx rimraf build && npm run build && npm run indev",
12
+ "prepublish:windows": "npx rimraf build & npm run build & npm run indev",
13
+ "clean": "npx rimraf build ; npx rimraf node_modules ; npm install",
14
+ "build": "run-script-os",
15
+ "build:windows": "tsc & npm run postbuild",
16
+ "build:nix": "tsc && chmod +x build/lift.js && npm run postbuild",
17
+ "lint": "ts-standard --fix src",
18
+ "test": "npm run build && npm run unitTest && npm run integrationTest",
19
+ "unitTest": "tap --reporter=base --color --passes --disable-coverage src/lib/**/*.test.ts",
20
+ "integrationTest": "tap -t 150000 --reporter=base --color --passes --disable-coverage src/**/*.test.ts",
21
+ "indev": "run-script-os",
22
+ "indev:nix": "echo nix",
23
+ "indev:windows": "echo windows",
24
+ "postbuild" : "run-script-os",
25
+ "postbuild:nix": "cp -r src/commands/builtin/prebuilt-zips build/commands/builtin",
26
+ "postbuild:windows": "robocopy src/commands/builtin/prebuilt-zips build/commands/builtin/prebult-zips /e > NUL 2>&1",
27
+ "installCli": "npm run build && cp build/lift.js ~/.nvm/versions/node/`node --version`/bin/lift"
28
+ },
29
+ "files": [
30
+ "build/**/*",
31
+ "src/**/*",
32
+ "templateData/*",
33
+ "index.d.ts",
34
+ "README.md",
35
+ "LICENSE",
36
+ "tsconfig.json"
37
+ ],
38
+ "keywords": [
39
+ "MistLift",
40
+ "Cloud",
41
+ "Lift",
42
+ "development",
43
+ "framework",
44
+ "cli",
45
+ "aws",
46
+ "express",
47
+ "node"
48
+ ],
49
+ "author": "tremho",
50
+ "license": "MIT",
51
+ "dependencies": {
52
+ "@aws-sdk/client-api-gateway": "^3.598.0",
53
+ "@aws-sdk/client-lambda": "^3.598.0",
54
+ "@aws-sdk/credential-providers": "^3.598.0",
55
+ "@tremho/inverse-y": "^1.1.0",
56
+ "ansi-colors": "^4.1.3",
57
+ "body-parser": "^1.20.2",
58
+ "clear-module": "^4.1.2",
59
+ "express": "^4.19.2",
60
+ "md5": "^2.3.0",
61
+ "openapi-ui": "^1.0.4",
62
+ "openapi3-ts": "^4.3.3",
63
+ "readline-sync": "^1.4.10",
64
+ "zip-dir": "^2.0.0"
65
+ },
66
+ "devDependencies": {
67
+ "@types/express": "^4.17.21",
68
+ "@types/md5": "^2.3.5",
69
+ "@types/node": "^20.14.2",
70
+ "@types/tap": "^15.0.11",
71
+ "@types/ws": "^8.5.10",
72
+ "axios": "^1.7.2",
73
+ "rimraf": "^5.0.7",
74
+ "run-script-os": "^1.1.6",
75
+ "tap": "^19.2.5",
76
+ "ts-standard": "^12.0.2",
77
+ "typescript": "^5.4.5"
78
+ }
79
+ }
@@ -1,131 +1,133 @@
1
- /** Handles the input the user must supply upon init
2
- */
3
-
4
- import * as path from 'path'
5
- import * as fs from 'fs'
6
- import { executeCommand } from '../../lib/executeCommand'
7
- import { ask } from '../../lib/askQuestion'
8
-
9
- export async function interrogateUserForPackageJsonSettings (
10
- projectPath: string
11
- ): Promise<void> {
12
- // get existing package.json or {}
13
- // name of project - module name, display name, short name
14
- // description
15
- // set version
16
- // gitAuthor ?? Author
17
- // create a repository under gitAuthor?
18
- // copyright
19
- // spdx licence
20
-
21
- const gitAuthor = await findGitAuthor()
22
- const pkgJson = existingPackageJson(projectPath)
23
- let name = pkgJson.name ?? nameFromProjectPath(projectPath)
24
- let version = pkgJson.version ?? '1.0.0-prerelease.1'
25
- let description = pkgJson.description ?? ''
26
- let author = pkgJson.author ?? gitAuthor
27
- let copyright = pkgJson.copyright ?? defaultCopyright(author)
28
- let spdx = pkgJson.license ?? 'MIT'
29
-
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 !== ''
77
- }
78
-
79
- pkgJson.name = name
80
- pkgJson.version = version
81
- pkgJson.description = description
82
- pkgJson.author = author
83
- pkgJson.copyright = copyright
84
- pkgJson.license = spdx
85
-
86
- const pkgPath = path.join(projectPath, 'package.json')
87
- fs.writeFileSync(pkgPath,
88
- JSON.stringify(pkgJson, null, 2))
89
- }
90
-
91
- async function findGitAuthor (
92
- ): Promise<string> {
93
- return await executeCommand('git', ['config', '--get', 'user.name']).then((rt: any) => {
94
- const rrt: { retcode: number | undefined, stdStr: string | undefined, errStr: string | undefined } = rt
95
- let name: string | undefined = ''
96
- if (rrt?.retcode !== 0) {
97
- console.error(`Error ${rrt.retcode}`, rrt.errStr)
98
- } else {
99
- name = rrt?.stdStr?.trim().toLowerCase()
100
- }
101
- return name ?? ''
102
- })
103
- }
104
-
105
- function defaultCopyright (
106
- name: string
107
- ): string {
108
- return `(C) ${new Date(Date.now()).getFullYear()} ${name}. All rights reserved.`
109
- }
110
-
111
- function nameFromProjectPath (
112
- refPath: string
113
- ): string {
114
- const n = refPath.lastIndexOf('/') + 1
115
- return refPath.substring(n)
116
- }
117
-
118
- function existingPackageJson (
119
- refPath: string
120
- ): any {
121
- let packageJson: any = {}
122
- const pkgPath = path.join(refPath, 'package.json')
123
- if (fs.existsSync((pkgPath))) {
124
- try {
125
- packageJson = JSON.parse(fs.readFileSync(pkgPath).toString())
126
- } catch (e: any) {
127
- // error in existing package.json. Please fix or remove and try again.
128
- }
129
- }
130
- return packageJson
131
- }
1
+ /** Handles the input the user must supply upon init
2
+ */
3
+
4
+ import * as path from 'path'
5
+ import * as fs from 'fs'
6
+ import { executeCommand } from '../../lib/executeCommand'
7
+ import { ask } from '../../lib/askQuestion'
8
+
9
+ export async function interrogateUserForPackageJsonSettings (
10
+ projectPath: string,
11
+ defaults?: boolean
12
+ ): Promise<void> {
13
+ // get existing package.json or {}
14
+ // name of project - module name, display name, short name
15
+ // description
16
+ // set version
17
+ // gitAuthor ?? Author
18
+ // create a repository under gitAuthor?
19
+ // copyright
20
+ // spdx licence
21
+
22
+ const gitAuthor = await findGitAuthor()
23
+ const pkgJson = existingPackageJson(projectPath)
24
+ let name = pkgJson.name ?? nameFromProjectPath(projectPath)
25
+ let version = pkgJson.version ?? '1.0.0-prerelease.1'
26
+ let description = pkgJson.description ?? ''
27
+ let author = pkgJson.author ?? gitAuthor
28
+ let copyright = pkgJson.copyright ?? defaultCopyright(author)
29
+ let spdx = pkgJson.license ?? 'MIT'
30
+
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
+ }
80
+ }
81
+ pkgJson.name = name
82
+ pkgJson.version = version
83
+ pkgJson.description = description
84
+ pkgJson.author = author
85
+ pkgJson.copyright = copyright
86
+ pkgJson.license = spdx
87
+
88
+ const pkgPath = path.join(projectPath, 'package.json')
89
+ fs.writeFileSync(pkgPath,
90
+ JSON.stringify(pkgJson, null, 2))
91
+ }
92
+
93
+ async function findGitAuthor (
94
+ ): Promise<string> {
95
+ return await executeCommand('git', ['config', '--get', 'user.name']).then((rt: any) => {
96
+ const rrt: { retcode: number | undefined, stdStr: string | undefined, errStr: string | undefined } = rt
97
+ let name: string | undefined = ''
98
+ if (rrt?.retcode !== 0) {
99
+ console.error(`Error ${rrt?.retcode ?? ''}`, rrt?.errStr)
100
+ } else {
101
+ name = rrt?.stdStr?.trim().toLowerCase()
102
+ }
103
+ return name ?? ''
104
+ })
105
+ }
106
+
107
+ function defaultCopyright (
108
+ name: string
109
+ ): string {
110
+ return `(C) ${new Date(Date.now()).getFullYear()} ${name}. All rights reserved.`
111
+ }
112
+
113
+ function nameFromProjectPath (
114
+ refPath: string
115
+ ): string {
116
+ const n = refPath.lastIndexOf('/') + 1
117
+ return refPath.substring(n)
118
+ }
119
+
120
+ function existingPackageJson (
121
+ refPath: string
122
+ ): any {
123
+ let packageJson: any = {}
124
+ const pkgPath = path.join(refPath, 'package.json')
125
+ if (fs.existsSync((pkgPath))) {
126
+ try {
127
+ packageJson = JSON.parse(fs.readFileSync(pkgPath).toString())
128
+ } catch (e: any) {
129
+ // error in existing package.json. Please fix or remove and try again.
130
+ }
131
+ }
132
+ return packageJson
133
+ }