@whook/create 8.5.1 → 10.0.0
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 +2 -3
- package/bin/create.js +2 -2
- package/dist/index.js +46 -68
- package/dist/index.js.map +1 -1
- package/dist/services/author.js +46 -72
- package/dist/services/author.js.map +1 -1
- package/dist/services/author.test.js +86 -92
- package/dist/services/author.test.js.map +1 -1
- package/dist/services/createWhook.d.ts +10 -11
- package/dist/services/createWhook.js +124 -144
- package/dist/services/createWhook.js.map +1 -1
- package/dist/services/createWhook.test.js +413 -521
- package/dist/services/createWhook.test.js.map +1 -1
- package/dist/services/project.d.ts +2 -2
- package/dist/services/project.js +40 -62
- package/dist/services/project.js.map +1 -1
- package/dist/services/project.test.js +73 -80
- package/dist/services/project.test.js.map +1 -1
- package/package.json +52 -98
- package/src/index.ts +24 -18
- package/src/services/__snapshots__/author.test.ts.snap +3 -3
- package/src/services/__snapshots__/createWhook.test.ts.snap +4 -4
- package/src/services/author.test.ts +10 -7
- package/src/services/author.ts +12 -15
- package/src/services/createWhook.test.ts +220 -329
- package/src/services/createWhook.ts +20 -20
- package/src/services/project.test.ts +13 -8
- package/src/services/project.ts +6 -5
- package/dist/index.mjs +0 -47
- package/dist/index.mjs.map +0 -1
- package/dist/services/author.mjs +0 -63
- package/dist/services/author.mjs.map +0 -1
- package/dist/services/author.test.mjs +0 -94
- package/dist/services/author.test.mjs.map +0 -1
- package/dist/services/createWhook.mjs +0 -135
- package/dist/services/createWhook.mjs.map +0 -1
- package/dist/services/createWhook.test.mjs +0 -828
- package/dist/services/createWhook.test.mjs.map +0 -1
- package/dist/services/project.mjs +0 -50
- package/dist/services/project.mjs.map +0 -1
- package/dist/services/project.test.mjs +0 -80
- package/dist/services/project.test.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whook/create",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Kickstart a new Whook server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"whook",
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
"service",
|
|
13
13
|
"creator"
|
|
14
14
|
],
|
|
15
|
-
"main": "dist/index",
|
|
16
|
-
"module": "dist/index.mjs",
|
|
15
|
+
"main": "dist/index.js",
|
|
17
16
|
"types": "dist/index.d.ts",
|
|
18
17
|
"bin": {
|
|
19
18
|
"create": "bin/create.js"
|
|
@@ -22,10 +21,9 @@
|
|
|
22
21
|
"configs": [
|
|
23
22
|
"main",
|
|
24
23
|
"readme",
|
|
24
|
+
"tsesm",
|
|
25
25
|
"eslint",
|
|
26
|
-
"
|
|
27
|
-
"jest",
|
|
28
|
-
"typescript"
|
|
26
|
+
"jest"
|
|
29
27
|
],
|
|
30
28
|
"data": {
|
|
31
29
|
"childPackage": true,
|
|
@@ -42,22 +40,15 @@
|
|
|
42
40
|
}
|
|
43
41
|
},
|
|
44
42
|
"scripts": {
|
|
43
|
+
"build": "rimraf -f 'dist' && tsc --outDir dist",
|
|
45
44
|
"cli": "env NODE_ENV=${NODE_ENV:-cli}",
|
|
46
|
-
"compile": "rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs",
|
|
47
|
-
"compile:cjs": "babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src",
|
|
48
|
-
"compile:mjs": "babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src",
|
|
49
45
|
"cover": "npm run jest -- --coverage",
|
|
50
|
-
"debug": "NODE_ENV=${NODE_ENV:-development} DESTROY_SOCKETS=1 babel-node --inspect bin/dev",
|
|
51
|
-
"dev": "NODE_ENV=${NODE_ENV:-development} DESTROY_SOCKETS=1 babel-node bin/dev",
|
|
52
46
|
"genPackagelock": "npm i --package-lock-only",
|
|
53
|
-
"jest": "NODE_ENV=test jest",
|
|
47
|
+
"jest": "NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest",
|
|
54
48
|
"lint": "eslint 'src/**/*.ts'",
|
|
55
49
|
"metapak": "metapak",
|
|
56
50
|
"prettier": "prettier --write 'src/**/*.ts'",
|
|
57
|
-
"
|
|
58
|
-
"test": "npm run jest",
|
|
59
|
-
"types": "rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist",
|
|
60
|
-
"whook": "NODE_ENV=${NODE_ENV:-development} whook"
|
|
51
|
+
"test": "npm run jest"
|
|
61
52
|
},
|
|
62
53
|
"author": {
|
|
63
54
|
"name": "Nicolas Froidure",
|
|
@@ -74,45 +65,36 @@
|
|
|
74
65
|
},
|
|
75
66
|
"homepage": "https://github.com/nfroidure/whook",
|
|
76
67
|
"dependencies": {
|
|
77
|
-
"@whook/cli": "^
|
|
78
|
-
"@whook/example": "^
|
|
79
|
-
"axios": "^0.
|
|
80
|
-
"common-services": "^
|
|
81
|
-
"debug": "^4.3.
|
|
82
|
-
"fs-extra": "^10.
|
|
83
|
-
"inquirer": "^
|
|
84
|
-
"knifecycle": "^
|
|
85
|
-
"ora": "^
|
|
86
|
-
"yerror": "^6.
|
|
68
|
+
"@whook/cli": "^10.0.0",
|
|
69
|
+
"@whook/example": "^10.0.0",
|
|
70
|
+
"axios": "^0.27.2",
|
|
71
|
+
"common-services": "^11.0.1",
|
|
72
|
+
"debug": "^4.3.4",
|
|
73
|
+
"fs-extra": "^10.1.0",
|
|
74
|
+
"inquirer": "^9.0.0",
|
|
75
|
+
"knifecycle": "^14.0.0",
|
|
76
|
+
"ora": "^6.1.0",
|
|
77
|
+
"yerror": "^6.1.1"
|
|
87
78
|
},
|
|
88
79
|
"devDependencies": {
|
|
89
|
-
"@
|
|
90
|
-
"@
|
|
91
|
-
"@
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
|
102
|
-
"@typescript-eslint/parser": "^4.21.0",
|
|
103
|
-
"babel-plugin-knifecycle": "^5.0.1",
|
|
104
|
-
"eslint": "^7.23.0",
|
|
105
|
-
"eslint-plugin-prettier": "^3.3.1",
|
|
106
|
-
"jest": "^26.6.3",
|
|
107
|
-
"metapak": "^4.0.2",
|
|
108
|
-
"metapak-nfroidure": "11.0.7",
|
|
109
|
-
"prettier": "^2.2.1",
|
|
80
|
+
"@types/jest": "^28.1.1",
|
|
81
|
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
82
|
+
"@typescript-eslint/parser": "^5.27.0",
|
|
83
|
+
"esbuild": "^0.14.46",
|
|
84
|
+
"esbuild-jest": "^0.5.0",
|
|
85
|
+
"eslint": "^8.17.0",
|
|
86
|
+
"eslint-config-prettier": "^8.5.0",
|
|
87
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
88
|
+
"jest": "^28.1.0",
|
|
89
|
+
"metapak": "^4.0.4",
|
|
90
|
+
"metapak-nfroidure": "12.1.0",
|
|
91
|
+
"prettier": "^2.6.2",
|
|
110
92
|
"rimraf": "^3.0.2",
|
|
111
|
-
"typescript": "^4.
|
|
93
|
+
"typescript": "^4.7.3"
|
|
112
94
|
},
|
|
113
95
|
"contributors": [],
|
|
114
96
|
"engines": {
|
|
115
|
-
"node": ">=
|
|
97
|
+
"node": ">=16.15.0"
|
|
116
98
|
},
|
|
117
99
|
"files": [
|
|
118
100
|
"dist",
|
|
@@ -124,12 +106,13 @@
|
|
|
124
106
|
"eslintConfig": {
|
|
125
107
|
"extends": [
|
|
126
108
|
"eslint:recommended",
|
|
109
|
+
"plugin:prettier/recommended",
|
|
127
110
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
128
111
|
"plugin:@typescript-eslint/recommended"
|
|
129
112
|
],
|
|
130
113
|
"parserOptions": {
|
|
131
114
|
"ecmaVersion": 2018,
|
|
132
|
-
"sourceType": "
|
|
115
|
+
"sourceType": "script",
|
|
133
116
|
"modules": true
|
|
134
117
|
},
|
|
135
118
|
"env": {
|
|
@@ -156,53 +139,6 @@
|
|
|
156
139
|
"trailingComma": "all",
|
|
157
140
|
"proseWrap": "always"
|
|
158
141
|
},
|
|
159
|
-
"babel": {
|
|
160
|
-
"presets": [
|
|
161
|
-
"@babel/typescript",
|
|
162
|
-
[
|
|
163
|
-
"@babel/env",
|
|
164
|
-
{
|
|
165
|
-
"targets": {
|
|
166
|
-
"node": "12.19.0"
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
]
|
|
170
|
-
],
|
|
171
|
-
"plugins": [
|
|
172
|
-
"@babel/proposal-class-properties",
|
|
173
|
-
"@babel/plugin-proposal-object-rest-spread",
|
|
174
|
-
"babel-plugin-knifecycle"
|
|
175
|
-
],
|
|
176
|
-
"env": {
|
|
177
|
-
"cjs": {
|
|
178
|
-
"presets": [
|
|
179
|
-
[
|
|
180
|
-
"@babel/env",
|
|
181
|
-
{
|
|
182
|
-
"targets": {
|
|
183
|
-
"node": "10"
|
|
184
|
-
},
|
|
185
|
-
"modules": "commonjs"
|
|
186
|
-
}
|
|
187
|
-
]
|
|
188
|
-
]
|
|
189
|
-
},
|
|
190
|
-
"mjs": {
|
|
191
|
-
"presets": [
|
|
192
|
-
[
|
|
193
|
-
"@babel/env",
|
|
194
|
-
{
|
|
195
|
-
"targets": {
|
|
196
|
-
"node": "12"
|
|
197
|
-
},
|
|
198
|
-
"modules": false
|
|
199
|
-
}
|
|
200
|
-
]
|
|
201
|
-
]
|
|
202
|
-
}
|
|
203
|
-
},
|
|
204
|
-
"sourceMaps": true
|
|
205
|
-
},
|
|
206
142
|
"jest": {
|
|
207
143
|
"coverageReporters": [
|
|
208
144
|
"lcov",
|
|
@@ -213,7 +149,25 @@
|
|
|
213
149
|
],
|
|
214
150
|
"roots": [
|
|
215
151
|
"<rootDir>/src"
|
|
152
|
+
],
|
|
153
|
+
"testEnvironment": "node",
|
|
154
|
+
"transform": {
|
|
155
|
+
"^.+\\.tsx?$": [
|
|
156
|
+
"esbuild-jest",
|
|
157
|
+
{
|
|
158
|
+
"sourcemap": true,
|
|
159
|
+
"format": "esm"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
},
|
|
163
|
+
"moduleNameMapper": {
|
|
164
|
+
"#(.*)": "<rootDir>/../../node_modules/$1",
|
|
165
|
+
"(.+)\\.js": "$1"
|
|
166
|
+
},
|
|
167
|
+
"extensionsToTreatAsEsm": [
|
|
168
|
+
".ts"
|
|
216
169
|
]
|
|
217
170
|
},
|
|
218
|
-
"
|
|
171
|
+
"type": "module",
|
|
172
|
+
"gitHead": "5f8f3fc82c4a95176a5ce730b416bcee59316678"
|
|
219
173
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
import Knifecycle,
|
|
1
|
+
import { Knifecycle, constant } from 'knifecycle';
|
|
2
2
|
import { exec as _exec } from 'child_process';
|
|
3
|
-
import {
|
|
4
|
-
writeFile as _writeFile,
|
|
5
|
-
readFile as _readFile,
|
|
6
|
-
copy as _copy,
|
|
7
|
-
ensureDir as _ensureDir,
|
|
8
|
-
} from 'fs-extra';
|
|
3
|
+
import { default as fsExtra } from 'fs-extra';
|
|
9
4
|
import debug from 'debug';
|
|
10
5
|
import path from 'path';
|
|
11
6
|
import inquirer from 'inquirer';
|
|
7
|
+
import { createRequire } from 'module';
|
|
12
8
|
import {
|
|
13
9
|
initLogService,
|
|
14
10
|
initLockService,
|
|
15
11
|
initDelayService,
|
|
16
12
|
} from 'common-services';
|
|
17
|
-
import initAuthor from './services/author';
|
|
18
|
-
import initProject from './services/project';
|
|
19
|
-
import initCreateWhook from './services/createWhook';
|
|
20
|
-
import type { CreateWhookService } from './services/createWhook';
|
|
13
|
+
import initAuthor from './services/author.js';
|
|
14
|
+
import initProject from './services/project.js';
|
|
15
|
+
import initCreateWhook from './services/createWhook.js';
|
|
16
|
+
import type { CreateWhookService } from './services/createWhook.js';
|
|
17
|
+
import type { Logger } from 'common-services';
|
|
18
|
+
|
|
19
|
+
const {
|
|
20
|
+
writeFile: _writeFile,
|
|
21
|
+
readFile: _readFile,
|
|
22
|
+
copy: _copy,
|
|
23
|
+
ensureDir: _ensureDir,
|
|
24
|
+
} = fsExtra;
|
|
21
25
|
|
|
22
26
|
export async function runCreateWhook(): Promise<void> {
|
|
23
27
|
try {
|
|
24
28
|
const $ = new Knifecycle();
|
|
29
|
+
// TODO: Use import.meta when Jest will support it
|
|
30
|
+
const require = createRequire(
|
|
31
|
+
path.join(process.cwd(), 'src', 'services', 'API.test.ts'),
|
|
32
|
+
);
|
|
25
33
|
|
|
26
34
|
$.register(constant('CWD', process.cwd()));
|
|
27
35
|
$.register(constant('inquirer', inquirer));
|
|
@@ -36,16 +44,14 @@ export async function runCreateWhook(): Promise<void> {
|
|
|
36
44
|
path.resolve(path.dirname(require.resolve('@whook/example')), '..'),
|
|
37
45
|
),
|
|
38
46
|
);
|
|
39
|
-
$.register(constant('debug', debug('whook')));
|
|
40
47
|
$.register(
|
|
41
48
|
constant('logger', {
|
|
42
49
|
// eslint-disable-next-line
|
|
43
|
-
|
|
44
|
-
// eslint-disable-next-line
|
|
45
|
-
info: console.info.bind(console),
|
|
50
|
+
output: console.log.bind(console),
|
|
46
51
|
// eslint-disable-next-line
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
error: console.error.bind(console),
|
|
53
|
+
debug: debug('whook'),
|
|
54
|
+
} as Logger),
|
|
49
55
|
);
|
|
50
56
|
$.register(initLogService);
|
|
51
57
|
$.register(initLockService);
|
|
@@ -61,7 +67,7 @@ export async function runCreateWhook(): Promise<void> {
|
|
|
61
67
|
await createWhook();
|
|
62
68
|
} catch (err) {
|
|
63
69
|
// eslint-disable-next-line
|
|
64
|
-
console.error('💀 - Cannot launch the process:', err.stack);
|
|
70
|
+
console.error('💀 - Cannot launch the process:', (err as Error).stack);
|
|
65
71
|
process.exit(1);
|
|
66
72
|
}
|
|
67
73
|
}
|
|
@@ -26,7 +26,7 @@ Object {
|
|
|
26
26
|
},
|
|
27
27
|
Object {
|
|
28
28
|
"default": undefined,
|
|
29
|
-
"message": "
|
|
29
|
+
"message": "Your email?",
|
|
30
30
|
"name": "authorEmail",
|
|
31
31
|
},
|
|
32
32
|
],
|
|
@@ -91,7 +91,7 @@ Object {
|
|
|
91
91
|
},
|
|
92
92
|
Object {
|
|
93
93
|
"default": "wayne@warner.com",
|
|
94
|
-
"message": "
|
|
94
|
+
"message": "Your email?",
|
|
95
95
|
"name": "authorEmail",
|
|
96
96
|
},
|
|
97
97
|
],
|
|
@@ -142,7 +142,7 @@ Object {
|
|
|
142
142
|
},
|
|
143
143
|
Object {
|
|
144
144
|
"default": "wayne@warner.com",
|
|
145
|
-
"message": "
|
|
145
|
+
"message": "Your email?",
|
|
146
146
|
"name": "authorEmail",
|
|
147
147
|
},
|
|
148
148
|
],
|
|
@@ -66,7 +66,7 @@ Wayne Campbell
|
|
|
66
66
|
],
|
|
67
67
|
Array [
|
|
68
68
|
"/home/whoiam/projects/yolo/package.json",
|
|
69
|
-
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=
|
|
69
|
+
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=16.15.0\\"},\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"type\\":\\"module\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"rimraf -f 'dist' && tsc --outDir dist\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} ts-node --esm --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/dev.js\\",\\"genPackagelock\\":\\"npm i --package-lock-only\\",\\"jest\\":\\"NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"postbuild\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/build.js\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"PROJECT_SRC=\\\\\\"$PWD/dist\\\\\\" NODE_ENV=\${NODE_ENV:-development} node bin/start.js\\",\\"test\\":\\"NODE_ENV=test npm run build && npm run jest\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/watch.js\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"<current_version>\\",\\"@whook/cli\\":\\"<current_version>\\",\\"@whook/cors\\":\\"<current_version>\\",\\"@whook/http-router\\":\\"<current_version>\\",\\"@whook/http-server\\":\\"^9.0.1\\",\\"@whook/http-transaction\\":\\"<current_version>\\",\\"@whook/swagger-ui\\":\\"<current_version>\\",\\"@whook/whook\\":\\"<current_version>\\",\\"common-services\\":\\"^11.0.1\\",\\"http-auth-utils\\":\\"^3.0.3\\",\\"jwt-service\\":\\"^9.0.1\\",\\"knifecycle\\":\\"^14.0.0\\",\\"openapi-schema-validator\\":\\"^12.0.0\\",\\"openapi-types\\":\\"^12.0.0\\",\\"strict-qs\\":\\"^7.0.0\\",\\"type-fest\\":\\"^2.13.1\\",\\"yerror\\":\\"^6.1.1\\",\\"yhttperror\\":\\"^6.1.1\\"},\\"devDependencies\\":{\\"@types/jest\\":\\"^28.1.1\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5.27.0\\",\\"@typescript-eslint/parser\\":\\"^5.27.0\\",\\"axios\\":\\"^0.27.2\\",\\"chokidar\\":\\"^3.5.1\\",\\"esbuild\\":\\"^0.14.46\\",\\"esbuild-jest\\":\\"^0.5.0\\",\\"esbuild-node-externals\\":\\"^1.4.1\\",\\"eslint\\":\\"^8.17.0\\",\\"eslint-config-prettier\\":\\"^8.5.0\\",\\"eslint-plugin-prettier\\":\\"^4.0.0\\",\\"jest\\":\\"^28.1.0\\",\\"jsarch\\":\\"^5.0.1\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.6.2\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^4.1.1\\",\\"ts-node\\":\\"^10.8.1\\",\\"typescript\\":\\"^4.7.3\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:prettier/recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"script\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"<rootDir>/src\\"],\\"testEnvironment\\":\\"node\\",\\"transform\\":{\\"^.+\\\\\\\\.tsx?$\\":[\\"esbuild-jest\\",{\\"sourcemap\\":true,\\"format\\":\\"esm\\"}]},\\"moduleNameMapper\\":{\\"#(.*)\\":\\"<rootDir>/../../node_modules/$1\\",\\"(.+)\\\\\\\\.js\\":\\"$1\\"},\\"extensionsToTreatAsEsm\\":[\\".ts\\"]}}",
|
|
70
70
|
],
|
|
71
71
|
Array [
|
|
72
72
|
"/home/whoiam/projects/yolo/LICENSE",
|
|
@@ -191,7 +191,7 @@ Wayne Campbell
|
|
|
191
191
|
],
|
|
192
192
|
Array [
|
|
193
193
|
"/home/whoiam/projects/yolo/package.json",
|
|
194
|
-
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=
|
|
194
|
+
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=16.15.0\\"},\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"type\\":\\"module\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"rimraf -f 'dist' && tsc --outDir dist\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} ts-node --esm --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/dev.js\\",\\"genPackagelock\\":\\"npm i --package-lock-only\\",\\"jest\\":\\"NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"postbuild\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/build.js\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"PROJECT_SRC=\\\\\\"$PWD/dist\\\\\\" NODE_ENV=\${NODE_ENV:-development} node bin/start.js\\",\\"test\\":\\"NODE_ENV=test npm run build && npm run jest\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/watch.js\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"<current_version>\\",\\"@whook/cli\\":\\"<current_version>\\",\\"@whook/cors\\":\\"<current_version>\\",\\"@whook/http-router\\":\\"<current_version>\\",\\"@whook/http-server\\":\\"^9.0.1\\",\\"@whook/http-transaction\\":\\"<current_version>\\",\\"@whook/swagger-ui\\":\\"<current_version>\\",\\"@whook/whook\\":\\"<current_version>\\",\\"common-services\\":\\"^11.0.1\\",\\"http-auth-utils\\":\\"^3.0.3\\",\\"jwt-service\\":\\"^9.0.1\\",\\"knifecycle\\":\\"^14.0.0\\",\\"openapi-schema-validator\\":\\"^12.0.0\\",\\"openapi-types\\":\\"^12.0.0\\",\\"strict-qs\\":\\"^7.0.0\\",\\"type-fest\\":\\"^2.13.1\\",\\"yerror\\":\\"^6.1.1\\",\\"yhttperror\\":\\"^6.1.1\\"},\\"devDependencies\\":{\\"@types/jest\\":\\"^28.1.1\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5.27.0\\",\\"@typescript-eslint/parser\\":\\"^5.27.0\\",\\"axios\\":\\"^0.27.2\\",\\"chokidar\\":\\"^3.5.1\\",\\"esbuild\\":\\"^0.14.46\\",\\"esbuild-jest\\":\\"^0.5.0\\",\\"esbuild-node-externals\\":\\"^1.4.1\\",\\"eslint\\":\\"^8.17.0\\",\\"eslint-config-prettier\\":\\"^8.5.0\\",\\"eslint-plugin-prettier\\":\\"^4.0.0\\",\\"jest\\":\\"^28.1.0\\",\\"jsarch\\":\\"^5.0.1\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.6.2\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^4.1.1\\",\\"ts-node\\":\\"^10.8.1\\",\\"typescript\\":\\"^4.7.3\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:prettier/recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"script\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"<rootDir>/src\\"],\\"testEnvironment\\":\\"node\\",\\"transform\\":{\\"^.+\\\\\\\\.tsx?$\\":[\\"esbuild-jest\\",{\\"sourcemap\\":true,\\"format\\":\\"esm\\"}]},\\"moduleNameMapper\\":{\\"#(.*)\\":\\"<rootDir>/../../node_modules/$1\\",\\"(.+)\\\\\\\\.js\\":\\"$1\\"},\\"extensionsToTreatAsEsm\\":[\\".ts\\"]}}",
|
|
195
195
|
],
|
|
196
196
|
Array [
|
|
197
197
|
"/home/whoiam/projects/yolo/LICENSE",
|
|
@@ -348,7 +348,7 @@ Wayne Campbell
|
|
|
348
348
|
],
|
|
349
349
|
Array [
|
|
350
350
|
"/home/whoiam/projects/yolo/package.json",
|
|
351
|
-
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=
|
|
351
|
+
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=16.15.0\\"},\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"type\\":\\"module\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"rimraf -f 'dist' && tsc --outDir dist\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} ts-node --esm --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/dev.js\\",\\"genPackagelock\\":\\"npm i --package-lock-only\\",\\"jest\\":\\"NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"postbuild\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/build.js\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"PROJECT_SRC=\\\\\\"$PWD/dist\\\\\\" NODE_ENV=\${NODE_ENV:-development} node bin/start.js\\",\\"test\\":\\"NODE_ENV=test npm run build && npm run jest\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/watch.js\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"<current_version>\\",\\"@whook/cli\\":\\"<current_version>\\",\\"@whook/cors\\":\\"<current_version>\\",\\"@whook/http-router\\":\\"<current_version>\\",\\"@whook/http-server\\":\\"^9.0.1\\",\\"@whook/http-transaction\\":\\"<current_version>\\",\\"@whook/swagger-ui\\":\\"<current_version>\\",\\"@whook/whook\\":\\"<current_version>\\",\\"common-services\\":\\"^11.0.1\\",\\"http-auth-utils\\":\\"^3.0.3\\",\\"jwt-service\\":\\"^9.0.1\\",\\"knifecycle\\":\\"^14.0.0\\",\\"openapi-schema-validator\\":\\"^12.0.0\\",\\"openapi-types\\":\\"^12.0.0\\",\\"strict-qs\\":\\"^7.0.0\\",\\"type-fest\\":\\"^2.13.1\\",\\"yerror\\":\\"^6.1.1\\",\\"yhttperror\\":\\"^6.1.1\\"},\\"devDependencies\\":{\\"@types/jest\\":\\"^28.1.1\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5.27.0\\",\\"@typescript-eslint/parser\\":\\"^5.27.0\\",\\"axios\\":\\"^0.27.2\\",\\"chokidar\\":\\"^3.5.1\\",\\"esbuild\\":\\"^0.14.46\\",\\"esbuild-jest\\":\\"^0.5.0\\",\\"esbuild-node-externals\\":\\"^1.4.1\\",\\"eslint\\":\\"^8.17.0\\",\\"eslint-config-prettier\\":\\"^8.5.0\\",\\"eslint-plugin-prettier\\":\\"^4.0.0\\",\\"jest\\":\\"^28.1.0\\",\\"jsarch\\":\\"^5.0.1\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.6.2\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^4.1.1\\",\\"ts-node\\":\\"^10.8.1\\",\\"typescript\\":\\"^4.7.3\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:prettier/recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"script\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"<rootDir>/src\\"],\\"testEnvironment\\":\\"node\\",\\"transform\\":{\\"^.+\\\\\\\\.tsx?$\\":[\\"esbuild-jest\\",{\\"sourcemap\\":true,\\"format\\":\\"esm\\"}]},\\"moduleNameMapper\\":{\\"#(.*)\\":\\"<rootDir>/../../node_modules/$1\\",\\"(.+)\\\\\\\\.js\\":\\"$1\\"},\\"extensionsToTreatAsEsm\\":[\\".ts\\"]}}",
|
|
352
352
|
],
|
|
353
353
|
Array [
|
|
354
354
|
"/home/whoiam/projects/yolo/LICENSE",
|
|
@@ -493,7 +493,7 @@ Wayne Campbell
|
|
|
493
493
|
],
|
|
494
494
|
Array [
|
|
495
495
|
"/home/whoiam/projects/yolo/package.json",
|
|
496
|
-
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=
|
|
496
|
+
"{\\"name\\":\\"super-project\\",\\"description\\":\\"A new Whook project\\",\\"version\\":\\"0.0.0\\",\\"license\\":\\"SEE LICENSE\\",\\"engines\\":{\\"node\\":\\">=16.15.0\\"},\\"main\\":\\"dist/index.js\\",\\"types\\":\\"dist/index.d.ts\\",\\"type\\":\\"module\\",\\"private\\":true,\\"keywords\\":[\\"whook\\"],\\"author\\":{\\"name\\":\\"Wayne Campbell\\",\\"email\\":\\"wayne@warner.com\\"},\\"scripts\\":{\\"apitypes\\":\\"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\\",\\"architecture\\":\\"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\\",\\"build\\":\\"rimraf -f 'dist' && tsc --outDir dist\\",\\"cover\\":\\"npm run jest -- --coverage\\",\\"debug\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} ts-node --esm --inspect bin/dev\\",\\"dev\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/dev.js\\",\\"genPackagelock\\":\\"npm i --package-lock-only\\",\\"jest\\":\\"NODE_OPTIONS=--experimental-vm-modules NODE_ENV=test jest\\",\\"lint\\":\\"eslint 'src/**/*.ts'\\",\\"postbuild\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/build.js\\",\\"prettier\\":\\"prettier --write 'src/**/*.ts'\\",\\"start\\":\\"PROJECT_SRC=\\\\\\"$PWD/dist\\\\\\" NODE_ENV=\${NODE_ENV:-development} node bin/start.js\\",\\"test\\":\\"NODE_ENV=test npm run build && npm run jest\\",\\"watch\\":\\"NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 ts-node --esm --files bin/watch.js\\",\\"whook\\":\\"NODE_ENV=\${NODE_ENV:-development} whook\\",\\"whook-dev\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/whook.js\\",\\"whook-repl\\":\\"PROJECT_SRC=\\\\\\"$PWD/src\\\\\\" NODE_ENV=\${NODE_ENV:-development} ts-node --esm --files -- bin/repl.js\\"},\\"files\\":[\\"bin\\",\\"dist\\",\\"src\\",\\"LICENSE\\",\\"README.md\\",\\"CHANGELOG.md\\"],\\"dependencies\\":{\\"@whook/authorization\\":\\"<current_version>\\",\\"@whook/cli\\":\\"<current_version>\\",\\"@whook/cors\\":\\"<current_version>\\",\\"@whook/http-router\\":\\"<current_version>\\",\\"@whook/http-server\\":\\"^9.0.1\\",\\"@whook/http-transaction\\":\\"<current_version>\\",\\"@whook/swagger-ui\\":\\"<current_version>\\",\\"@whook/whook\\":\\"<current_version>\\",\\"common-services\\":\\"^11.0.1\\",\\"http-auth-utils\\":\\"^3.0.3\\",\\"jwt-service\\":\\"^9.0.1\\",\\"knifecycle\\":\\"^14.0.0\\",\\"openapi-schema-validator\\":\\"^12.0.0\\",\\"openapi-types\\":\\"^12.0.0\\",\\"strict-qs\\":\\"^7.0.0\\",\\"type-fest\\":\\"^2.13.1\\",\\"yerror\\":\\"^6.1.1\\",\\"yhttperror\\":\\"^6.1.1\\"},\\"devDependencies\\":{\\"@types/jest\\":\\"^28.1.1\\",\\"@typescript-eslint/eslint-plugin\\":\\"^5.27.0\\",\\"@typescript-eslint/parser\\":\\"^5.27.0\\",\\"axios\\":\\"^0.27.2\\",\\"chokidar\\":\\"^3.5.1\\",\\"esbuild\\":\\"^0.14.46\\",\\"esbuild-jest\\":\\"^0.5.0\\",\\"esbuild-node-externals\\":\\"^1.4.1\\",\\"eslint\\":\\"^8.17.0\\",\\"eslint-config-prettier\\":\\"^8.5.0\\",\\"eslint-plugin-prettier\\":\\"^4.0.0\\",\\"jest\\":\\"^28.1.0\\",\\"jsarch\\":\\"^5.0.1\\",\\"parse-gitignore\\":\\"^1.0.1\\",\\"prettier\\":\\"^2.6.2\\",\\"rimraf\\":\\"^3.0.2\\",\\"schema2dts\\":\\"^4.1.1\\",\\"ts-node\\":\\"^10.8.1\\",\\"typescript\\":\\"^4.7.3\\"},\\"eslintConfig\\":{\\"extends\\":[\\"eslint:recommended\\",\\"plugin:prettier/recommended\\",\\"plugin:@typescript-eslint/eslint-recommended\\",\\"plugin:@typescript-eslint/recommended\\"],\\"parserOptions\\":{\\"ecmaVersion\\":2018,\\"sourceType\\":\\"script\\",\\"modules\\":true},\\"env\\":{\\"es6\\":true,\\"node\\":true,\\"jest\\":true,\\"mocha\\":true},\\"plugins\\":[\\"prettier\\"],\\"rules\\":{\\"prettier/prettier\\":\\"error\\"},\\"parser\\":\\"@typescript-eslint/parser\\",\\"ignorePatterns\\":[\\"*.d.ts\\"]},\\"prettier\\":{\\"semi\\":true,\\"printWidth\\":80,\\"singleQuote\\":true,\\"trailingComma\\":\\"all\\",\\"proseWrap\\":\\"always\\"},\\"jest\\":{\\"coverageReporters\\":[\\"lcov\\",\\"html\\"],\\"testPathIgnorePatterns\\":[\\"/node_modules/\\"],\\"roots\\":[\\"<rootDir>/src\\"],\\"testEnvironment\\":\\"node\\",\\"transform\\":{\\"^.+\\\\\\\\.tsx?$\\":[\\"esbuild-jest\\",{\\"sourcemap\\":true,\\"format\\":\\"esm\\"}]},\\"moduleNameMapper\\":{\\"#(.*)\\":\\"<rootDir>/../../node_modules/$1\\",\\"(.+)\\\\\\\\.js\\":\\"$1\\"},\\"extensionsToTreatAsEsm\\":[\\".ts\\"]}}",
|
|
497
497
|
],
|
|
498
498
|
Array [
|
|
499
499
|
"/home/whoiam/projects/yolo/LICENSE",
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import { jest } from '@jest/globals';
|
|
1
2
|
import _inquirer from 'inquirer';
|
|
2
|
-
import initAuthor from './author';
|
|
3
|
+
import initAuthor from './author.js';
|
|
4
|
+
import { YError } from 'yerror';
|
|
5
|
+
import type { LogService, LockService } from 'common-services';
|
|
3
6
|
|
|
4
7
|
describe('initAuthor', () => {
|
|
5
8
|
const exec = jest.fn() as any;
|
|
6
9
|
const lock = {
|
|
7
|
-
take: jest.fn()
|
|
8
|
-
release: jest.fn()
|
|
10
|
+
take: jest.fn<LockService<unknown>['take']>(),
|
|
11
|
+
release: jest.fn<LockService<unknown>['release']>(),
|
|
9
12
|
};
|
|
10
|
-
const inquirer = { prompt: jest.fn() };
|
|
11
|
-
const log = jest.fn();
|
|
13
|
+
const inquirer = { prompt: jest.fn<typeof _inquirer['prompt']>() };
|
|
14
|
+
const log = jest.fn<LogService>();
|
|
12
15
|
|
|
13
16
|
beforeEach(() => {
|
|
14
17
|
exec.mockReset();
|
|
@@ -88,8 +91,8 @@ describe('initAuthor', () => {
|
|
|
88
91
|
});
|
|
89
92
|
} catch (err) {
|
|
90
93
|
expect({
|
|
91
|
-
errorCode: err.code,
|
|
92
|
-
errorParams: err.params,
|
|
94
|
+
errorCode: (err as YError).code,
|
|
95
|
+
errorParams: (err as YError).params,
|
|
93
96
|
inquirerPromptCalls: inquirer.prompt.mock.calls,
|
|
94
97
|
lockTakeCalls: lock.take.mock.calls,
|
|
95
98
|
lockReleaseCalls: lock.release.mock.calls,
|
package/src/services/author.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { autoService } from 'knifecycle';
|
|
2
2
|
import _inquirer from 'inquirer';
|
|
3
|
-
import YError from 'yerror';
|
|
3
|
+
import { YError } from 'yerror';
|
|
4
4
|
import { exec as _exec } from 'child_process';
|
|
5
5
|
import type { LockService, LogService } from 'common-services';
|
|
6
6
|
|
|
@@ -26,7 +26,7 @@ export default autoService(async function initAuthor({
|
|
|
26
26
|
readGitProperty({ exec, log }, 'user.email'),
|
|
27
27
|
]).catch((err) => {
|
|
28
28
|
log('debug', 'Could not get author from Git');
|
|
29
|
-
log('debug-stack', err.stack);
|
|
29
|
+
log('debug-stack', (err as Error).stack || 'no_stack_trace');
|
|
30
30
|
return [];
|
|
31
31
|
});
|
|
32
32
|
|
|
@@ -41,7 +41,7 @@ export default autoService(async function initAuthor({
|
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
name: 'authorEmail',
|
|
44
|
-
message: '
|
|
44
|
+
message: 'Your email?',
|
|
45
45
|
default: userEmail,
|
|
46
46
|
},
|
|
47
47
|
])) as { authorName: string; authorEmail: string };
|
|
@@ -54,7 +54,7 @@ export default autoService(async function initAuthor({
|
|
|
54
54
|
};
|
|
55
55
|
} catch (err) {
|
|
56
56
|
await lock.release('cli:input');
|
|
57
|
-
throw YError.wrap(err);
|
|
57
|
+
throw YError.wrap(err as Error);
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
|
|
@@ -69,16 +69,13 @@ async function readGitProperty(
|
|
|
69
69
|
name: string,
|
|
70
70
|
): Promise<string> {
|
|
71
71
|
return new Promise((resolve, reject) => {
|
|
72
|
-
exec(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
resolve(stdout.trim());
|
|
81
|
-
},
|
|
82
|
-
);
|
|
72
|
+
exec(`git config --get ${name}`, (err, stdout, stderr) => {
|
|
73
|
+
if (err) {
|
|
74
|
+
log('debug', 'STDERR:\n', stderr || '');
|
|
75
|
+
reject(YError.wrap(err as Error));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
resolve(stdout.trim());
|
|
79
|
+
});
|
|
83
80
|
});
|
|
84
81
|
}
|