@whook/create 8.4.2 → 9.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.
@@ -1,6 +1,6 @@
1
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
2
 
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
4
 
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
@@ -160,47 +160,49 @@ Mr Bean
160
160
  "@whook/cli": "<current_version>",
161
161
  "@whook/cors": "<current_version>",
162
162
  "@whook/http-router": "<current_version>",
163
+ "@whook/http-server": "^8.5.0",
163
164
  "@whook/http-transaction": "<current_version>",
164
165
  "@whook/swagger-ui": "<current_version>",
165
166
  "@whook/whook": "<current_version>",
166
- "common-services": "^9.0.1",
167
- "http-auth-utils": "^3.0.1",
168
- "jwt-service": "^7.1.3",
169
- "knifecycle": "^11.1.1",
170
- "strict-qs": "^6.1.4",
171
- "type-fest": "^2.3.3",
172
- "yerror": "^6.0.1",
173
- "yhttperror": "^6.0.1",
167
+ "common-services": "^10.0.2",
168
+ "http-auth-utils": "^3.0.3",
169
+ "jwt-service": "^8.0.1",
170
+ "knifecycle": "^12.0.4",
171
+ "openapi-schema-validator": "^11.0.1",
172
+ "openapi-types": "^11.0.1",
173
+ "strict-qs": "^6.1.5",
174
+ "type-fest": "^2.13.0",
175
+ "yerror": "^6.0.2",
176
+ "yhttperror": "^6.0.3",
174
177
  },
175
178
  "description": "A new Whook project",
176
179
  "devDependencies": Object {
177
- "@babel/cli": "^7.13.14",
178
- "@babel/core": "^7.13.15",
179
- "@babel/eslint-parser": "^7.13.14",
180
+ "@babel/cli": "^7.17.10",
181
+ "@babel/core": "^7.18.2",
182
+ "@babel/eslint-parser": "^7.18.2",
180
183
  "@babel/node": "^7.13.13",
181
- "@babel/plugin-proposal-class-properties": "^7.13.0",
182
- "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
184
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
185
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
183
186
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
184
187
  "@babel/plugin-syntax-import-meta": "^7.10.4",
185
- "@babel/preset-env": "^7.13.15",
186
- "@babel/preset-typescript": "^7.13.0",
187
- "@babel/register": "^7.13.14",
188
- "@types/jest": "^26.0.22",
189
- "@typescript-eslint/eslint-plugin": "^4.21.0",
190
- "@typescript-eslint/parser": "^4.21.0",
191
- "axios": "^0.21.4",
192
- "babel-plugin-knifecycle": "^5.0.1",
188
+ "@babel/preset-env": "^7.18.2",
189
+ "@babel/preset-typescript": "^7.17.12",
190
+ "@babel/register": "^7.17.7",
191
+ "@types/jest": "^27.0.2",
192
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
193
+ "@typescript-eslint/parser": "^5.26.0",
194
+ "axios": "^0.27.2",
195
+ "babel-plugin-knifecycle": "^5.0.3",
193
196
  "chokidar": "^3.5.1",
194
- "eslint": "^7.23.0",
195
- "eslint-plugin-prettier": "^3.3.1",
196
- "jest": "^26.6.3",
197
- "jsarch": "^4.0.1",
198
- "openapi-schema-validator": "^8.0.0",
197
+ "eslint": "^8.16.0",
198
+ "eslint-plugin-prettier": "^4.0.0",
199
+ "jest": "^28.1.0",
200
+ "jsarch": "^5.0.1",
199
201
  "parse-gitignore": "^1.0.1",
200
- "prettier": "^2.2.1",
202
+ "prettier": "^2.6.2",
201
203
  "rimraf": "^3.0.2",
202
- "schema2dts": "^2.0.1",
203
- "typescript": "^4.2.4",
204
+ "schema2dts": "^4.1.1",
205
+ "typescript": "^4.7.2",
204
206
  },
205
207
  "engines": Object {
206
208
  "node": ">=12.19.0",
@@ -279,6 +281,7 @@ Mr Bean
279
281
  "cover": "npm run jest -- --coverage",
280
282
  "debug": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev",
281
283
  "dev": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev",
284
+ "genPackagelock": "npm i --package-lock-only",
282
285
  "jest": "NODE_ENV=test jest",
283
286
  "lint": "eslint 'src/**/*.ts'",
284
287
  "prettier": "prettier --write 'src/**/*.ts'",
@@ -391,47 +394,49 @@ Mr Bean
391
394
  "@whook/cli": "<current_version>",
392
395
  "@whook/cors": "<current_version>",
393
396
  "@whook/http-router": "<current_version>",
397
+ "@whook/http-server": "^8.5.0",
394
398
  "@whook/http-transaction": "<current_version>",
395
399
  "@whook/swagger-ui": "<current_version>",
396
400
  "@whook/whook": "<current_version>",
397
- "common-services": "^9.0.1",
398
- "http-auth-utils": "^3.0.1",
399
- "jwt-service": "^7.1.3",
400
- "knifecycle": "^11.1.1",
401
- "strict-qs": "^6.1.4",
402
- "type-fest": "^2.3.3",
403
- "yerror": "^6.0.1",
404
- "yhttperror": "^6.0.1",
401
+ "common-services": "^10.0.2",
402
+ "http-auth-utils": "^3.0.3",
403
+ "jwt-service": "^8.0.1",
404
+ "knifecycle": "^12.0.4",
405
+ "openapi-schema-validator": "^11.0.1",
406
+ "openapi-types": "^11.0.1",
407
+ "strict-qs": "^6.1.5",
408
+ "type-fest": "^2.13.0",
409
+ "yerror": "^6.0.2",
410
+ "yhttperror": "^6.0.3",
405
411
  },
406
412
  "description": "A new Whook project",
407
413
  "devDependencies": Object {
408
- "@babel/cli": "^7.13.14",
409
- "@babel/core": "^7.13.15",
410
- "@babel/eslint-parser": "^7.13.14",
414
+ "@babel/cli": "^7.17.10",
415
+ "@babel/core": "^7.18.2",
416
+ "@babel/eslint-parser": "^7.18.2",
411
417
  "@babel/node": "^7.13.13",
412
- "@babel/plugin-proposal-class-properties": "^7.13.0",
413
- "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
418
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
419
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
414
420
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
415
421
  "@babel/plugin-syntax-import-meta": "^7.10.4",
416
- "@babel/preset-env": "^7.13.15",
417
- "@babel/preset-typescript": "^7.13.0",
418
- "@babel/register": "^7.13.14",
419
- "@types/jest": "^26.0.22",
420
- "@typescript-eslint/eslint-plugin": "^4.21.0",
421
- "@typescript-eslint/parser": "^4.21.0",
422
- "axios": "^0.21.4",
423
- "babel-plugin-knifecycle": "^5.0.1",
422
+ "@babel/preset-env": "^7.18.2",
423
+ "@babel/preset-typescript": "^7.17.12",
424
+ "@babel/register": "^7.17.7",
425
+ "@types/jest": "^27.0.2",
426
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
427
+ "@typescript-eslint/parser": "^5.26.0",
428
+ "axios": "^0.27.2",
429
+ "babel-plugin-knifecycle": "^5.0.3",
424
430
  "chokidar": "^3.5.1",
425
- "eslint": "^7.23.0",
426
- "eslint-plugin-prettier": "^3.3.1",
427
- "jest": "^26.6.3",
428
- "jsarch": "^4.0.1",
429
- "openapi-schema-validator": "^8.0.0",
431
+ "eslint": "^8.16.0",
432
+ "eslint-plugin-prettier": "^4.0.0",
433
+ "jest": "^28.1.0",
434
+ "jsarch": "^5.0.1",
430
435
  "parse-gitignore": "^1.0.1",
431
- "prettier": "^2.2.1",
436
+ "prettier": "^2.6.2",
432
437
  "rimraf": "^3.0.2",
433
- "schema2dts": "^2.0.1",
434
- "typescript": "^4.2.4",
438
+ "schema2dts": "^4.1.1",
439
+ "typescript": "^4.7.2",
435
440
  },
436
441
  "engines": Object {
437
442
  "node": ">=12.19.0",
@@ -510,6 +515,7 @@ Mr Bean
510
515
  "cover": "npm run jest -- --coverage",
511
516
  "debug": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev",
512
517
  "dev": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev",
518
+ "genPackagelock": "npm i --package-lock-only",
513
519
  "jest": "NODE_ENV=test jest",
514
520
  "lint": "eslint 'src/**/*.ts'",
515
521
  "prettier": "prettier --write 'src/**/*.ts'",
@@ -622,47 +628,49 @@ Mr Bean
622
628
  "@whook/cli": "<current_version>",
623
629
  "@whook/cors": "<current_version>",
624
630
  "@whook/http-router": "<current_version>",
631
+ "@whook/http-server": "^8.5.0",
625
632
  "@whook/http-transaction": "<current_version>",
626
633
  "@whook/swagger-ui": "<current_version>",
627
634
  "@whook/whook": "<current_version>",
628
- "common-services": "^9.0.1",
629
- "http-auth-utils": "^3.0.1",
630
- "jwt-service": "^7.1.3",
631
- "knifecycle": "^11.1.1",
632
- "strict-qs": "^6.1.4",
633
- "type-fest": "^2.3.3",
634
- "yerror": "^6.0.1",
635
- "yhttperror": "^6.0.1",
635
+ "common-services": "^10.0.2",
636
+ "http-auth-utils": "^3.0.3",
637
+ "jwt-service": "^8.0.1",
638
+ "knifecycle": "^12.0.4",
639
+ "openapi-schema-validator": "^11.0.1",
640
+ "openapi-types": "^11.0.1",
641
+ "strict-qs": "^6.1.5",
642
+ "type-fest": "^2.13.0",
643
+ "yerror": "^6.0.2",
644
+ "yhttperror": "^6.0.3",
636
645
  },
637
646
  "description": "A new Whook project",
638
647
  "devDependencies": Object {
639
- "@babel/cli": "^7.13.14",
640
- "@babel/core": "^7.13.15",
641
- "@babel/eslint-parser": "^7.13.14",
648
+ "@babel/cli": "^7.17.10",
649
+ "@babel/core": "^7.18.2",
650
+ "@babel/eslint-parser": "^7.18.2",
642
651
  "@babel/node": "^7.13.13",
643
- "@babel/plugin-proposal-class-properties": "^7.13.0",
644
- "@babel/plugin-proposal-object-rest-spread": "^7.13.8",
652
+ "@babel/plugin-proposal-class-properties": "^7.17.12",
653
+ "@babel/plugin-proposal-object-rest-spread": "^7.18.0",
645
654
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
646
655
  "@babel/plugin-syntax-import-meta": "^7.10.4",
647
- "@babel/preset-env": "^7.13.15",
648
- "@babel/preset-typescript": "^7.13.0",
649
- "@babel/register": "^7.13.14",
650
- "@types/jest": "^26.0.22",
651
- "@typescript-eslint/eslint-plugin": "^4.21.0",
652
- "@typescript-eslint/parser": "^4.21.0",
653
- "axios": "^0.21.4",
654
- "babel-plugin-knifecycle": "^5.0.1",
656
+ "@babel/preset-env": "^7.18.2",
657
+ "@babel/preset-typescript": "^7.17.12",
658
+ "@babel/register": "^7.17.7",
659
+ "@types/jest": "^27.0.2",
660
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
661
+ "@typescript-eslint/parser": "^5.26.0",
662
+ "axios": "^0.27.2",
663
+ "babel-plugin-knifecycle": "^5.0.3",
655
664
  "chokidar": "^3.5.1",
656
- "eslint": "^7.23.0",
657
- "eslint-plugin-prettier": "^3.3.1",
658
- "jest": "^26.6.3",
659
- "jsarch": "^4.0.1",
660
- "openapi-schema-validator": "^8.0.0",
665
+ "eslint": "^8.16.0",
666
+ "eslint-plugin-prettier": "^4.0.0",
667
+ "jest": "^28.1.0",
668
+ "jsarch": "^5.0.1",
661
669
  "parse-gitignore": "^1.0.1",
662
- "prettier": "^2.2.1",
670
+ "prettier": "^2.6.2",
663
671
  "rimraf": "^3.0.2",
664
- "schema2dts": "^2.0.1",
665
- "typescript": "^4.2.4",
672
+ "schema2dts": "^4.1.1",
673
+ "typescript": "^4.7.2",
666
674
  },
667
675
  "engines": Object {
668
676
  "node": ">=12.19.0",
@@ -741,6 +749,7 @@ Mr Bean
741
749
  "cover": "npm run jest -- --coverage",
742
750
  "debug": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev",
743
751
  "dev": "NODE_ENV=\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev",
752
+ "genPackagelock": "npm i --package-lock-only",
744
753
  "jest": "NODE_ENV=test jest",
745
754
  "lint": "eslint 'src/**/*.ts'",
746
755
  "prettier": "prettier --write 'src/**/*.ts'",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/createWhook.test.ts"],"names":["initCreateWhook","YError","_packageJSON","require","describe","CWD","SOURCE_DIR","packageJSON","dependencies","author","name","email","project","directory","writeFile","jest","fn","readFile","readdir","exec","copy","axios","ora","oraInstance","start","stopAndPersist","log","beforeEach","mockReset","mockReturnValue","mockResolvedValue","Buffer","from","it","mockResolvedValueOnce","JSON","stringify","mockImplementationOnce","_","_2","filter","Promise","all","map","fileName","data","undefined","cb","createWhook","expect","parse","mock","calls","find","call","endsWith","toMatchInlineSnapshot","copyCalls","writeFileCalls","readFileCalls","execCalls","oraCalls","oraStartCalls","oraStopAndPersistCalls","logCalls","type","readdirCalls","toMatchSnapshot","mockRejectedValueOnce","err","errorCode","code","errorParams","params"],"mappings":"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AAO,sCAAP,CADJ;AAGA5B,IAAAA,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAC1BA,EAAE,CAAC,IAAD,EAAO,yBAAP,CADJ;AAIA,UAAMC,WAAW,GAAG,MAAMhD,eAAe,CAAC;AACxCK,MAAAA,GADwC;AAExCC,MAAAA,UAFwC;AAGxCG,MAAAA,MAHwC;AAIxCG,MAAAA,OAJwC;AAKxCE,MAAAA,SALwC;AAMxCG,MAAAA,QANwC;AAOxCC,MAAAA,OAPwC;AAQxCC,MAAAA,IAAI,EAAEA,IARkC;AASxCC,MAAAA,IATwC;AAUxCC,MAAAA,KAAK,EAAEA,KAViC;AAWxCC,MAAAA,GAAG,EAAEA,GAXmC;AAYxCI,MAAAA;AAZwC,KAAD,CAAzC;AAeA,UAAMsB,WAAW,EAAjB;AAEAC,IAAAA,MAAM,CACJd,IAAI,CAACe,KAAL,CACEpC,SAAS,CAACqC,IAAV,CAAeC,KAAf,CAAqBC,IAArB,CAA2BC,IAAD,IACxBA,IAAI,CAAC,CAAD,CAAJ,CAAQC,QAAR,CAAiB,cAAjB,CADF,EAEE,CAFF,CADF,CADI,CAAN,CAMEC,qBANF,CAMyB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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ArB,CAA2BC,IAAD,IACxBA,IAAI,CAAC,CAAD,CAAJ,CAAQC,QAAR,CAAiB,cAAjB,CADF,EAEE,CAFF,CADF,CADI,CAAN,CAMEC,qBANF,CAMyB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KArMI;AAsMAP,IAAAA,MAAM,CAAC;AACLQ,MAAAA,SAAS,EAAErC,IAAI,CAAC+B,IAAL,CAAUC,KADhB;AAELM,MAAAA,cAAc,EAAE5C,SAAS,CAACqC,IAAV,CAAeC,KAF1B;AAGLO,MAAAA,aAAa,EAAE1C,QAAQ,CAACkC,IAAT,CAAcC,KAHxB;AAILQ,MAAAA,SAAS,EAAEzC,IAAI,CAACgC,IAAL,CAAUC,KAJhB;AAKLS,MAAAA,QAAQ,EAAEvC,GAAG,CAAC6B,IAAJ,CAASC,KALd;AAMLU,MAAAA,aAAa,EAAEvC,WAAW,CAACC,KAAZ,CAAkB2B,IAAlB,CAAuBC,KANjC;AAOLW,MAAAA,sBAAsB,EAAExC,WAAW,CAACE,cAAZ,CAA2B0B,IAA3B,CAAgCC,KAPnD;AAQLY,MAAAA,QAAQ,EAAEtC,GAAG,CAACyB,IAAJ,CAASC,KAAT,CAAeZ,MAAf,CAAsB,CAAC,CAACyB,IAAD,CAAD,KAAY,CAACA,IAAI,CAACV,QAAL,CAAc,OAAd,CAAnC,CARL;AASLW,MAAAA,YAAY,EAAEjD,QAAQ,CAACkC,IAAT,CAAcC;AATvB,KAAD,CAAN,CAUGe,eAVH;AAWD,GAhQC,CAAF;AAkQAlC,EAAAA,EAAE,CAAC,2CAAD,EAA8C,YAAY;AAC1DhB,IAAAA,QAAQ,CAACiB,qBAAT,CAA+BC,IAAI,CAACC,SAAL,CAAe7B,WAAf,CAA/B;AACAW,IAAAA,OAAO,CAACgB,qBAAR,CAA8B,CAAC,aAAD,EAAgB,YAAhB,CAA9B;AACAd,IAAAA,IAAI,CAACc,qBAAL,CAA2B,IAAIjC,MAAJ,CAAW,UAAX,CAA3B;AACAoB,IAAAA,KAAK,CAACa,qBAAN,CAA4B;AAC1BW,MAAAA,IAAI,EAAE;AADoB,KAA5B;AAGA/B,IAAAA,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;AACAhC,IAAAA,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;AACAhC,IAAAA,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;AACA3B,IAAAA,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAAeA,EAAE,CAAC,IAAI9C,MAAJ,CAAW,UAAX,CAAD,CAA7C;AACAkB,IAAAA,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAC1BA,EAAE,CAAC,IAAD,EAAO,yBAAP,CADJ;AAIA,UAAMC,WAAW,GAAG,MAAMhD,eAAe,CAAC;AACxCK,MAAAA,GADwC;AAExCC,MAAAA,UAFwC;AAGxCG,MAAAA,MAHwC;AAIxCG,MAAAA,OAJwC;AAKxCE,MAAAA,SALwC;AAMxCG,MAAAA,QANwC;AAOxCC,MAAAA,OAPwC;AAQxCC,MAAAA,IAAI,EAAEA,IARkC;AASxCC,MAAAA,IATwC;AAUxCC,MAAAA,KAAK,EAAEA,KAViC;AAWxCC,MAAAA,GAAG,EAAEA,GAXmC;AAYxCI,MAAAA;AAZwC,KAAD,CAAzC;AAeA,UAAMsB,WAAW,EAAjB;AAEAC,IAAAA,MAAM,CACJd,IAAI,CAACe,KAAL,CACEpC,SAAS,CAACqC,IAAV,CAAeC,KAAf,CAAqBC,IAArB,CAA2BC,IAAD,IACxBA,IAAI,CAAC,CAAD,CAAJ,CAAQC,QAAR,CAAiB,cAAjB,CADF,EAEE,CAFF,CADF,CADI,CAAN,CAMEC,qBANF,CAMyB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","sourcesContent":["import initCreateWhook from './createWhook';\nimport YError from 'yerror';\n\n// eslint-disable-next-line\nconst _packageJSON = require('@whook/example/package.json');\n\ndescribe('initCreateWhook', () => {\n const CWD = '/home/whoiam/projects/';\n const SOURCE_DIR = '/var/lib/node/node_modules/whook-example';\n const packageJSON = {\n ..._packageJSON,\n dependencies: {\n ..._packageJSON.dependencies,\n '@whook/authorization': '<current_version>',\n '@whook/cli': '<current_version>',\n '@whook/cors': '<current_version>',\n '@whook/http-router': '<current_version>',\n '@whook/http-transaction': '<current_version>',\n '@whook/swagger-ui': '<current_version>',\n '@whook/whook': '<current_version>',\n },\n };\n const author = {\n name: 'Wayne Campbell',\n email: 'wayne@warner.com',\n };\n const project = {\n name: 'super-project',\n directory: '/home/whoiam/projects/yolo',\n };\n const writeFile = jest.fn();\n const readFile = jest.fn();\n const readdir = jest.fn();\n const exec = jest.fn();\n const copy = jest.fn();\n const axios = jest.fn();\n const ora = jest.fn();\n const oraInstance = {\n start: jest.fn(),\n stopAndPersist: jest.fn(),\n };\n const log = jest.fn();\n\n beforeEach(() => {\n axios.mockReset();\n writeFile.mockReset();\n readFile.mockReset();\n readdir.mockReset();\n exec.mockReset();\n copy.mockReset();\n log.mockReset();\n ora.mockReset();\n ora.mockReturnValue(oraInstance);\n oraInstance.start.mockReset();\n oraInstance.start.mockReturnValue(oraInstance);\n oraInstance.stopAndPersist.mockReset();\n readFile.mockResolvedValue(\n Buffer.from(`\n# test\n> yolo\n\n[//]: # (::contents:start)\n\nYOLO\n\n[//]: # (::contents:end)\n\n# Authors\nMr Bean\n\n `),\n );\n });\n\n it('should work', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockImplementationOnce((_, _2, { filter }) =>\n Promise.all(\n [\n 'package.json',\n 'package-lock.json',\n 'LICENSE',\n 'dist/index.js',\n 'src/index.js',\n 'coverage/index.html',\n 'node_modules/whook/index.js',\n ].map((fileName) =>\n filter(\n `${SOURCE_DIR}/${fileName}`,\n `${project.directory}/${fileName}`,\n ),\n ),\n ),\n );\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Initialized an empty git repository!'),\n );\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^9.0.1\",\n \"http-auth-utils\": \"^3.0.1\",\n \"jwt-service\": \"^7.1.3\",\n \"knifecycle\": \"^11.1.1\",\n \"strict-qs\": \"^6.1.4\",\n \"type-fest\": \"^2.3.3\",\n \"yerror\": \"^6.0.1\",\n \"yhttperror\": \"^6.0.1\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.13.14\",\n \"@babel/core\": \"^7.13.15\",\n \"@babel/eslint-parser\": \"^7.13.14\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.13.8\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.13.15\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@babel/register\": \"^7.13.14\",\n \"@types/jest\": \"^26.0.22\",\n \"@typescript-eslint/eslint-plugin\": \"^4.21.0\",\n \"@typescript-eslint/parser\": \"^4.21.0\",\n \"axios\": \"^0.21.4\",\n \"babel-plugin-knifecycle\": \"^5.0.1\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^7.23.0\",\n \"eslint-plugin-prettier\": \"^3.3.1\",\n \"jest\": \"^26.6.3\",\n \"jsarch\": \"^4.0.1\",\n \"openapi-schema-validator\": \"^8.0.0\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.2.1\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^2.0.1\",\n \"typescript\": \"^4.2.4\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should handle network issues', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockImplementationOnce((_, _2, { filter }) =>\n Promise.all(\n [\n 'package.json',\n 'package-lock.json',\n 'LICENSE',\n 'dist/index.js',\n 'src/index.js',\n 'coverage/index.html',\n 'node_modules/whook/index.js',\n ].map((fileName) =>\n filter(\n `${SOURCE_DIR}/${fileName}`,\n `${project.directory}/${fileName}`,\n ),\n ),\n ),\n );\n axios.mockRejectedValueOnce(new YError('E_NETWORK'));\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(new YError('E_ACCESS')));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^9.0.1\",\n \"http-auth-utils\": \"^3.0.1\",\n \"jwt-service\": \"^7.1.3\",\n \"knifecycle\": \"^11.1.1\",\n \"strict-qs\": \"^6.1.4\",\n \"type-fest\": \"^2.3.3\",\n \"yerror\": \"^6.0.1\",\n \"yhttperror\": \"^6.0.1\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.13.14\",\n \"@babel/core\": \"^7.13.15\",\n \"@babel/eslint-parser\": \"^7.13.14\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.13.8\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.13.15\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@babel/register\": \"^7.13.14\",\n \"@types/jest\": \"^26.0.22\",\n \"@typescript-eslint/eslint-plugin\": \"^4.21.0\",\n \"@typescript-eslint/parser\": \"^4.21.0\",\n \"axios\": \"^0.21.4\",\n \"babel-plugin-knifecycle\": \"^5.0.1\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^7.23.0\",\n \"eslint-plugin-prettier\": \"^3.3.1\",\n \"jest\": \"^26.6.3\",\n \"jsarch\": \"^4.0.1\",\n \"openapi-schema-validator\": \"^8.0.0\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.2.1\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^2.0.1\",\n \"typescript\": \"^4.2.4\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should handle git initialization problems', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockResolvedValueOnce(new YError('E_ACCESS'));\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(new YError('E_ACCESS')));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^9.0.1\",\n \"http-auth-utils\": \"^3.0.1\",\n \"jwt-service\": \"^7.1.3\",\n \"knifecycle\": \"^11.1.1\",\n \"strict-qs\": \"^6.1.4\",\n \"type-fest\": \"^2.3.3\",\n \"yerror\": \"^6.0.1\",\n \"yhttperror\": \"^6.0.1\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.13.14\",\n \"@babel/core\": \"^7.13.15\",\n \"@babel/eslint-parser\": \"^7.13.14\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.13.8\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.13.15\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@babel/register\": \"^7.13.14\",\n \"@types/jest\": \"^26.0.22\",\n \"@typescript-eslint/eslint-plugin\": \"^4.21.0\",\n \"@typescript-eslint/parser\": \"^4.21.0\",\n \"axios\": \"^0.21.4\",\n \"babel-plugin-knifecycle\": \"^5.0.1\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^7.23.0\",\n \"eslint-plugin-prettier\": \"^3.3.1\",\n \"jest\": \"^26.6.3\",\n \"jsarch\": \"^4.0.1\",\n \"openapi-schema-validator\": \"^8.0.0\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.2.1\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^2.0.1\",\n \"typescript\": \"^4.2.4\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should fail with access problems', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockRejectedValueOnce(new YError('E_ACCESS'));\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(null, ''));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n try {\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n throw new YError('E_UNEXPECTED_SUCCESS');\n } catch (err) {\n expect({\n errorCode: err.code,\n errorParams: err.params,\n }).toMatchInlineSnapshot(`\n Object {\n \"errorCode\": \"E_ACCESS\",\n \"errorParams\": Array [],\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readdir.mock.calls,\n }).toMatchSnapshot();\n }\n });\n});\n"],"file":"createWhook.test.mjs"}
1
+ {"version":3,"file":"createWhook.test.mjs","names":["initCreateWhook","YError","_packageJSON","require","describe","CWD","SOURCE_DIR","packageJSON","dependencies","author","name","email","project","directory","writeFile","jest","fn","readFile","readdir","exec","copy","axios","ora","oraInstance","start","stopAndPersist","log","beforeEach","mockReset","mockReturnValue","mockResolvedValue","Buffer","from","it","mockResolvedValueOnce","JSON","stringify","mockImplementationOnce","_","_2","filter","Promise","all","map","fileName","data","undefined","cb","createWhook","expect","parse","mock","calls","find","call","endsWith","toMatchInlineSnapshot","copyCalls","writeFileCalls","readFileCalls","execCalls","oraCalls","oraStartCalls","oraStopAndPersistCalls","logCalls","type","readdirCalls","toMatchSnapshot","mockRejectedValueOnce","err","errorCode","code","errorParams","params"],"sources":["../../src/services/createWhook.test.ts"],"sourcesContent":["import initCreateWhook from './createWhook';\nimport YError from 'yerror';\n\n// eslint-disable-next-line\nconst _packageJSON = require('@whook/example/package.json');\n\ndescribe('initCreateWhook', () => {\n const CWD = '/home/whoiam/projects/';\n const SOURCE_DIR = '/var/lib/node/node_modules/whook-example';\n const packageJSON = {\n ..._packageJSON,\n dependencies: {\n ..._packageJSON.dependencies,\n '@whook/authorization': '<current_version>',\n '@whook/cli': '<current_version>',\n '@whook/cors': '<current_version>',\n '@whook/http-router': '<current_version>',\n '@whook/http-transaction': '<current_version>',\n '@whook/swagger-ui': '<current_version>',\n '@whook/whook': '<current_version>',\n },\n };\n const author = {\n name: 'Wayne Campbell',\n email: 'wayne@warner.com',\n };\n const project = {\n name: 'super-project',\n directory: '/home/whoiam/projects/yolo',\n };\n const writeFile = jest.fn();\n const readFile = jest.fn();\n const readdir = jest.fn();\n const exec = jest.fn();\n const copy = jest.fn();\n const axios = jest.fn();\n const ora = jest.fn();\n const oraInstance = {\n start: jest.fn(),\n stopAndPersist: jest.fn(),\n };\n const log = jest.fn();\n\n beforeEach(() => {\n axios.mockReset();\n writeFile.mockReset();\n readFile.mockReset();\n readdir.mockReset();\n exec.mockReset();\n copy.mockReset();\n log.mockReset();\n ora.mockReset();\n ora.mockReturnValue(oraInstance);\n oraInstance.start.mockReset();\n oraInstance.start.mockReturnValue(oraInstance);\n oraInstance.stopAndPersist.mockReset();\n readFile.mockResolvedValue(\n Buffer.from(`\n# test\n> yolo\n\n[//]: # (::contents:start)\n\nYOLO\n\n[//]: # (::contents:end)\n\n# Authors\nMr Bean\n\n `),\n );\n });\n\n it('should work', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockImplementationOnce((_, _2, { filter }) =>\n Promise.all(\n [\n 'package.json',\n 'package-lock.json',\n 'LICENSE',\n 'dist/index.js',\n 'src/index.js',\n 'coverage/index.html',\n 'node_modules/whook/index.js',\n ].map((fileName) =>\n filter(\n `${SOURCE_DIR}/${fileName}`,\n `${project.directory}/${fileName}`,\n ),\n ),\n ),\n );\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Initialized an empty git repository!'),\n );\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-server\": \"^8.5.0\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^10.0.2\",\n \"http-auth-utils\": \"^3.0.3\",\n \"jwt-service\": \"^8.0.1\",\n \"knifecycle\": \"^12.0.4\",\n \"openapi-schema-validator\": \"^11.0.1\",\n \"openapi-types\": \"^11.0.1\",\n \"strict-qs\": \"^6.1.5\",\n \"type-fest\": \"^2.13.0\",\n \"yerror\": \"^6.0.2\",\n \"yhttperror\": \"^6.0.3\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.17.10\",\n \"@babel/core\": \"^7.18.2\",\n \"@babel/eslint-parser\": \"^7.18.2\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.17.12\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.18.0\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.18.2\",\n \"@babel/preset-typescript\": \"^7.17.12\",\n \"@babel/register\": \"^7.17.7\",\n \"@types/jest\": \"^27.0.2\",\n \"@typescript-eslint/eslint-plugin\": \"^5.26.0\",\n \"@typescript-eslint/parser\": \"^5.26.0\",\n \"axios\": \"^0.27.2\",\n \"babel-plugin-knifecycle\": \"^5.0.3\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^8.16.0\",\n \"eslint-plugin-prettier\": \"^4.0.0\",\n \"jest\": \"^28.1.0\",\n \"jsarch\": \"^5.0.1\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.6.2\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^4.1.1\",\n \"typescript\": \"^4.7.2\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"genPackagelock\": \"npm i --package-lock-only\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should handle network issues', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockImplementationOnce((_, _2, { filter }) =>\n Promise.all(\n [\n 'package.json',\n 'package-lock.json',\n 'LICENSE',\n 'dist/index.js',\n 'src/index.js',\n 'coverage/index.html',\n 'node_modules/whook/index.js',\n ].map((fileName) =>\n filter(\n `${SOURCE_DIR}/${fileName}`,\n `${project.directory}/${fileName}`,\n ),\n ),\n ),\n );\n axios.mockRejectedValueOnce(new YError('E_NETWORK'));\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(new YError('E_ACCESS')));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-server\": \"^8.5.0\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^10.0.2\",\n \"http-auth-utils\": \"^3.0.3\",\n \"jwt-service\": \"^8.0.1\",\n \"knifecycle\": \"^12.0.4\",\n \"openapi-schema-validator\": \"^11.0.1\",\n \"openapi-types\": \"^11.0.1\",\n \"strict-qs\": \"^6.1.5\",\n \"type-fest\": \"^2.13.0\",\n \"yerror\": \"^6.0.2\",\n \"yhttperror\": \"^6.0.3\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.17.10\",\n \"@babel/core\": \"^7.18.2\",\n \"@babel/eslint-parser\": \"^7.18.2\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.17.12\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.18.0\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.18.2\",\n \"@babel/preset-typescript\": \"^7.17.12\",\n \"@babel/register\": \"^7.17.7\",\n \"@types/jest\": \"^27.0.2\",\n \"@typescript-eslint/eslint-plugin\": \"^5.26.0\",\n \"@typescript-eslint/parser\": \"^5.26.0\",\n \"axios\": \"^0.27.2\",\n \"babel-plugin-knifecycle\": \"^5.0.3\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^8.16.0\",\n \"eslint-plugin-prettier\": \"^4.0.0\",\n \"jest\": \"^28.1.0\",\n \"jsarch\": \"^5.0.1\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.6.2\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^4.1.1\",\n \"typescript\": \"^4.7.2\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"genPackagelock\": \"npm i --package-lock-only\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should handle git initialization problems', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockResolvedValueOnce(new YError('E_ACCESS'));\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(new YError('E_ACCESS')));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n expect(\n JSON.parse(\n writeFile.mock.calls.find((call) =>\n call[0].endsWith('package.json'),\n )[1],\n ),\n ).toMatchInlineSnapshot(`\n Object {\n \"author\": Object {\n \"email\": \"wayne@warner.com\",\n \"name\": \"Wayne Campbell\",\n },\n \"babel\": Object {\n \"env\": Object {\n \"cjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": \"commonjs\",\n \"targets\": Object {\n \"node\": \"10\",\n },\n },\n ],\n ],\n },\n \"mjs\": Object {\n \"presets\": Array [\n Array [\n \"@babel/env\",\n Object {\n \"modules\": false,\n \"targets\": Object {\n \"node\": \"12\",\n },\n },\n ],\n ],\n },\n },\n \"plugins\": Array [\n \"@babel/proposal-class-properties\",\n \"@babel/plugin-proposal-object-rest-spread\",\n \"babel-plugin-knifecycle\",\n ],\n \"presets\": Array [\n \"@babel/typescript\",\n Array [\n \"@babel/env\",\n Object {\n \"targets\": Object {\n \"node\": \"12.19.0\",\n },\n },\n ],\n ],\n \"sourceMaps\": true,\n },\n \"dependencies\": Object {\n \"@whook/authorization\": \"<current_version>\",\n \"@whook/cli\": \"<current_version>\",\n \"@whook/cors\": \"<current_version>\",\n \"@whook/http-router\": \"<current_version>\",\n \"@whook/http-server\": \"^8.5.0\",\n \"@whook/http-transaction\": \"<current_version>\",\n \"@whook/swagger-ui\": \"<current_version>\",\n \"@whook/whook\": \"<current_version>\",\n \"common-services\": \"^10.0.2\",\n \"http-auth-utils\": \"^3.0.3\",\n \"jwt-service\": \"^8.0.1\",\n \"knifecycle\": \"^12.0.4\",\n \"openapi-schema-validator\": \"^11.0.1\",\n \"openapi-types\": \"^11.0.1\",\n \"strict-qs\": \"^6.1.5\",\n \"type-fest\": \"^2.13.0\",\n \"yerror\": \"^6.0.2\",\n \"yhttperror\": \"^6.0.3\",\n },\n \"description\": \"A new Whook project\",\n \"devDependencies\": Object {\n \"@babel/cli\": \"^7.17.10\",\n \"@babel/core\": \"^7.18.2\",\n \"@babel/eslint-parser\": \"^7.18.2\",\n \"@babel/node\": \"^7.13.13\",\n \"@babel/plugin-proposal-class-properties\": \"^7.17.12\",\n \"@babel/plugin-proposal-object-rest-spread\": \"^7.18.0\",\n \"@babel/plugin-syntax-dynamic-import\": \"^7.8.3\",\n \"@babel/plugin-syntax-import-meta\": \"^7.10.4\",\n \"@babel/preset-env\": \"^7.18.2\",\n \"@babel/preset-typescript\": \"^7.17.12\",\n \"@babel/register\": \"^7.17.7\",\n \"@types/jest\": \"^27.0.2\",\n \"@typescript-eslint/eslint-plugin\": \"^5.26.0\",\n \"@typescript-eslint/parser\": \"^5.26.0\",\n \"axios\": \"^0.27.2\",\n \"babel-plugin-knifecycle\": \"^5.0.3\",\n \"chokidar\": \"^3.5.1\",\n \"eslint\": \"^8.16.0\",\n \"eslint-plugin-prettier\": \"^4.0.0\",\n \"jest\": \"^28.1.0\",\n \"jsarch\": \"^5.0.1\",\n \"parse-gitignore\": \"^1.0.1\",\n \"prettier\": \"^2.6.2\",\n \"rimraf\": \"^3.0.2\",\n \"schema2dts\": \"^4.1.1\",\n \"typescript\": \"^4.7.2\",\n },\n \"engines\": Object {\n \"node\": \">=12.19.0\",\n },\n \"eslintConfig\": Object {\n \"env\": Object {\n \"es6\": true,\n \"jest\": true,\n \"mocha\": true,\n \"node\": true,\n },\n \"extends\": Array [\n \"eslint:recommended\",\n \"plugin:@typescript-eslint/eslint-recommended\",\n \"plugin:@typescript-eslint/recommended\",\n ],\n \"ignorePatterns\": Array [\n \"*.d.ts\",\n ],\n \"parser\": \"@typescript-eslint/parser\",\n \"parserOptions\": Object {\n \"ecmaVersion\": 2018,\n \"modules\": true,\n \"sourceType\": \"module\",\n },\n \"plugins\": Array [\n \"prettier\",\n ],\n \"rules\": Object {\n \"prettier/prettier\": \"error\",\n },\n },\n \"files\": Array [\n \"bin\",\n \"dist\",\n \"src\",\n \"LICENSE\",\n \"README.md\",\n \"CHANGELOG.md\",\n ],\n \"jest\": Object {\n \"coverageReporters\": Array [\n \"lcov\",\n \"html\",\n ],\n \"roots\": Array [\n \"<rootDir>/src\",\n ],\n \"testEnvironment\": \"node\",\n \"testPathIgnorePatterns\": Array [\n \"/node_modules/\",\n ],\n },\n \"keywords\": Array [\n \"whook\",\n ],\n \"license\": \"SEE LICENSE\",\n \"main\": \"dist/index\",\n \"module\": \"dist/index.mjs\",\n \"name\": \"super-project\",\n \"prettier\": Object {\n \"printWidth\": 80,\n \"proseWrap\": \"always\",\n \"semi\": true,\n \"singleQuote\": true,\n \"trailingComma\": \"all\",\n },\n \"private\": true,\n \"scripts\": Object {\n \"apitypes\": \"npm run --silent whook -- generateOpenAPISchema --authenticated=true | npm run --silent whook -- generateOpenAPITypes > src/openAPISchema.d.ts\",\n \"architecture\": \"jsarch 'src/**/*.ts' > ARCHITECTURE.md && git add ARCHITECTURE.md\",\n \"build\": \"npm run compile && NODE_ENV=\\${NODE_ENV:-development} node bin/build\",\n \"compile\": \"rimraf -f 'dist' && npm run compile:cjs && npm run compile:mjs\",\n \"compile:cjs\": \"babel --env-name=cjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"compile:mjs\": \"babel --env-name=mjs --out-file-extension=.mjs --out-dir=dist --extensions '.ts,.js' --source-maps=true src\",\n \"cover\": \"npm run jest -- --coverage\",\n \"debug\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 DEBUG=\\${DEBUG:-whook} babel-node --extensions '.ts,.js' --inspect bin/dev\",\n \"dev\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/dev\",\n \"genPackagelock\": \"npm i --package-lock-only\",\n \"jest\": \"NODE_ENV=test jest\",\n \"lint\": \"eslint 'src/**/*.ts'\",\n \"prettier\": \"prettier --write 'src/**/*.ts'\",\n \"start\": \"NODE_ENV=\\${NODE_ENV:-development} node bin/start\",\n \"test\": \"npm run jest\",\n \"types\": \"rimraf -f 'dist/**/*.d.ts' && tsc --project . --declaration --emitDeclarationOnly --outDir dist\",\n \"watch\": \"NODE_ENV=\\${NODE_ENV:-development} DEV_MODE=1 DESTROY_SOCKETS=1 babel-node --extensions '.ts,.js' bin/watch\",\n \"whook\": \"NODE_ENV=\\${NODE_ENV:-development} whook\",\n \"whook-dev\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- node_modules/@whook/cli/bin/whook.js\",\n \"whook-repl\": \"PROJECT_SRC=\\\\\"$PWD/src\\\\\" NODE_ENV=\\${NODE_ENV:-development} babel-node --extensions '.ts,.js' -- bin/repl.js\",\n },\n \"types\": \"dist/index.d.ts\",\n \"version\": \"0.0.0\",\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readFile.mock.calls,\n }).toMatchSnapshot();\n });\n\n it('should fail with access problems', async () => {\n readFile.mockResolvedValueOnce(JSON.stringify(packageJSON));\n readdir.mockResolvedValueOnce(['development', 'production']);\n copy.mockRejectedValueOnce(new YError('E_ACCESS'));\n axios.mockResolvedValueOnce({\n data: 'node_modules',\n });\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n writeFile.mockResolvedValueOnce(undefined);\n exec.mockImplementationOnce((_, _2, cb) => cb(null, ''));\n exec.mockImplementationOnce((_, _2, cb) =>\n cb(null, 'Installed dependencies!'),\n );\n\n try {\n const createWhook = await initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile,\n readFile,\n readdir,\n exec: exec as any,\n copy,\n axios: axios as any,\n ora: ora as any,\n log,\n });\n\n await createWhook();\n\n throw new YError('E_UNEXPECTED_SUCCESS');\n } catch (err) {\n expect({\n errorCode: (err as YError).code,\n errorParams: (err as YError).params,\n }).toMatchInlineSnapshot(`\n Object {\n \"errorCode\": \"E_ACCESS\",\n \"errorParams\": Array [],\n }\n `);\n expect({\n copyCalls: copy.mock.calls,\n writeFileCalls: writeFile.mock.calls,\n readFileCalls: readFile.mock.calls,\n execCalls: exec.mock.calls,\n oraCalls: ora.mock.calls,\n oraStartCalls: oraInstance.start.mock.calls,\n oraStopAndPersistCalls: oraInstance.stopAndPersist.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n readdirCalls: readdir.mock.calls,\n }).toMatchSnapshot();\n }\n });\n});\n"],"mappings":"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MAIxCG,OAJwC;MAKxCE,SALwC;MAMxCG,QANwC;MAOxCC,OAPwC;MAQxCC,IAAI,EAAEA,IARkC;MASxCC,IATwC;MAUxCC,KAAK,EAAEA,KAViC;MAWxCC,GAAG,EAAEA,GAXmC;MAYxCI;IAZwC,CAAD,CAAzC;IAeA,MAAMsB,WAAW,EAAjB;IAEAC,MAAM,CACJd,IAAI,CAACe,KAAL,CACEpC,SAAS,CAACqC,IAAV,CAAeC,KAAf,CAAqBC,IAArB,CAA2BC,IAAD,IACxBA,IAAI,CAAC,CAAD,CAAJ,CAAQC,QAAR,CAAiB,cAAjB,CADF,EAEE,CAFF,CADF,CADI,CAAN,CAMEC,qBANF,CAMyB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAxMI;IAyMAP,MAAM,CAAC;MACLQ,SAAS,EAAErC,IAAI,CAAC+B,IAAL,CAAUC,KADhB;MAELM,cAAc,EAAE5C,SAAS,CAACqC,IAAV,CAAeC,KAF1B;MAGLO,aAAa,EAAE1C,QAAQ,CAACkC,IAAT,CAAcC,KAHxB;MAILQ,SAAS,EAAEzC,IAAI,CAACgC,IAAL,CAAUC,KAJhB;MAKLS,QAAQ,EAAEvC,GAAG,CAAC6B,IAAJ,CAASC,KALd;MAMLU,aAAa,EAAEvC,WAAW,CAACC,KAAZ,CAAkB2B,IAAlB,CAAuBC,KANjC;MAOLW,sBAAsB,EAAExC,WAAW,CAACE,cAAZ,CAA2B0B,IAA3B,CAAgCC,KAPnD;MAQLY,QAAQ,EAAEtC,GAAG,CAACyB,IAAJ,CAASC,KAAT,CAAeZ,MAAf,CAAsB,CAAC,CAACyB,IAAD,CAAD,KAAY,CAACA,IAAI,CAACV,QAAL,CAAc,OAAd,CAAnC,CARL;MASLW,YAAY,EAAEjD,QAAQ,CAACkC,IAAT,CAAcC;IATvB,CAAD,CAAN,CAUGe,eAVH;EAWD,CAnQC,CAAF;EAqQAlC,EAAE,CAAC,2CAAD,EAA8C,YAAY;IAC1DhB,QAAQ,CAACiB,qBAAT,CAA+BC,IAAI,CAACC,SAAL,CAAe7B,WAAf,CAA/B;IACAW,OAAO,CAACgB,qBAAR,CAA8B,CAAC,aAAD,EAAgB,YAAhB,CAA9B;IACAd,IAAI,CAACc,qBAAL,CAA2B,IAAIjC,MAAJ,CAAW,UAAX,CAA3B;IACAoB,KAAK,CAACa,qBAAN,CAA4B;MAC1BW,IAAI,EAAE;IADoB,CAA5B;IAGA/B,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACAhC,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACAhC,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACA3B,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAAeA,EAAE,CAAC,IAAI9C,MAAJ,CAAW,UAAX,CAAD,CAA7C;IACAkB,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAC1BA,EAAE,CAAC,IAAD,EAAO,yBAAP,CADJ;IAIA,MAAMC,WAAW,GAAG,MAAMhD,eAAe,CAAC;MACxCK,GADwC;MAExCC,UAFwC;MAGxCG,MAHwC;MAIxCG,OAJwC;MAKxCE,SALwC;MAMxCG,QANwC;MAOxCC,OAPwC;MAQxCC,IAAI,EAAEA,IARkC;MASxCC,IATwC;MAUxCC,KAAK,EAAEA,KAViC;MAWxCC,GAAG,EAAEA,GAXmC;MAYxCI;IAZwC,CAAD,CAAzC;IAeA,MAAMsB,WAAW,EAAjB;IAEAC,MAAM,CACJd,IAAI,CAACe,KAAL,CACEpC,SAAS,CAACqC,IAAV,CAAeC,KAAf,CAAqBC,IAArB,CAA2BC,IAAD,IACxBA,IAAI,CAAC,CAAD,CAAJ,CAAQC,QAAR,CAAiB,cAAjB,CADF,EAEE,CAFF,CADF,CADI,CAAN,CAMEC,qBANF,CAMyB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAxMI;IAyMAP,MAAM,CAAC;MACLQ,SAAS,EAAErC,IAAI,CAAC+B,IAAL,CAAUC,KADhB;MAELM,cAAc,EAAE5C,SAAS,CAACqC,IAAV,CAAeC,KAF1B;MAGLO,aAAa,EAAE1C,QAAQ,CAACkC,IAAT,CAAcC,KAHxB;MAILQ,SAAS,EAAEzC,IAAI,CAACgC,IAAL,CAAUC,KAJhB;MAKLS,QAAQ,EAAEvC,GAAG,CAAC6B,IAAJ,CAASC,KALd;MAMLU,aAAa,EAAEvC,WAAW,CAACC,KAAZ,CAAkB2B,IAAlB,CAAuBC,KANjC;MAOLW,sBAAsB,EAAExC,WAAW,CAACE,cAAZ,CAA2B0B,IAA3B,CAAgCC,KAPnD;MAQLY,QAAQ,EAAEtC,GAAG,CAACyB,IAAJ,CAASC,KAAT,CAAeZ,MAAf,CAAsB,CAAC,CAACyB,IAAD,CAAD,KAAY,CAACA,IAAI,CAACV,QAAL,CAAc,OAAd,CAAnC,CARL;MASLW,YAAY,EAAEjD,QAAQ,CAACkC,IAAT,CAAcC;IATvB,CAAD,CAAN,CAUGe,eAVH;EAWD,CApPC,CAAF;EAsPAlC,EAAE,CAAC,kCAAD,EAAqC,YAAY;IACjDhB,QAAQ,CAACiB,qBAAT,CAA+BC,IAAI,CAACC,SAAL,CAAe7B,WAAf,CAA/B;IACAW,OAAO,CAACgB,qBAAR,CAA8B,CAAC,aAAD,EAAgB,YAAhB,CAA9B;IACAd,IAAI,CAACgD,qBAAL,CAA2B,IAAInE,MAAJ,CAAW,UAAX,CAA3B;IACAoB,KAAK,CAACa,qBAAN,CAA4B;MAC1BW,IAAI,EAAE;IADoB,CAA5B;IAGA/B,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACAhC,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACAhC,SAAS,CAACoB,qBAAV,CAAgCY,SAAhC;IACA3B,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAAeA,EAAE,CAAC,IAAD,EAAO,EAAP,CAA7C;IACA5B,IAAI,CAACkB,sBAAL,CAA4B,CAACC,CAAD,EAAIC,EAAJ,EAAQQ,EAAR,KAC1BA,EAAE,CAAC,IAAD,EAAO,yBAAP,CADJ;;IAIA,IAAI;MACF,MAAMC,WAAW,GAAG,MAAMhD,eAAe,CAAC;QACxCK,GADwC;QAExCC,UAFwC;QAGxCG,MAHwC;QAIxCG,OAJwC;QAKxCE,SALwC;QAMxCG,QANwC;QAOxCC,OAPwC;QAQxCC,IAAI,EAAEA,IARkC;QASxCC,IATwC;QAUxCC,KAAK,EAAEA,KAViC;QAWxCC,GAAG,EAAEA,GAXmC;QAYxCI;MAZwC,CAAD,CAAzC;MAeA,MAAMsB,WAAW,EAAjB;MAEA,MAAM,IAAI/C,MAAJ,CAAW,sBAAX,CAAN;IACD,CAnBD,CAmBE,OAAOoE,GAAP,EAAY;MACZpB,MAAM,CAAC;QACLqB,SAAS,EAAGD,GAAD,CAAgBE,IADtB;QAELC,WAAW,EAAGH,GAAD,CAAgBI;MAFxB,CAAD,CAAN,CAGGjB,qBAHH,CAG0B;AAChC;AACA;AACA;AACA;AACA,OARM;MASAP,MAAM,CAAC;QACLQ,SAAS,EAAErC,IAAI,CAAC+B,IAAL,CAAUC,KADhB;QAELM,cAAc,EAAE5C,SAAS,CAACqC,IAAV,CAAeC,KAF1B;QAGLO,aAAa,EAAE1C,QAAQ,CAACkC,IAAT,CAAcC,KAHxB;QAILQ,SAAS,EAAEzC,IAAI,CAACgC,IAAL,CAAUC,KAJhB;QAKLS,QAAQ,EAAEvC,GAAG,CAAC6B,IAAJ,CAASC,KALd;QAMLU,aAAa,EAAEvC,WAAW,CAACC,KAAZ,CAAkB2B,IAAlB,CAAuBC,KANjC;QAOLW,sBAAsB,EAAExC,WAAW,CAACE,cAAZ,CAA2B0B,IAA3B,CAAgCC,KAPnD;QAQLY,QAAQ,EAAEtC,GAAG,CAACyB,IAAJ,CAASC,KAAT,CAAeZ,MAAf,CAAsB,CAAC,CAACyB,IAAD,CAAD,KAAY,CAACA,IAAI,CAACV,QAAL,CAAc,OAAd,CAAnC,CARL;QASLW,YAAY,EAAEhD,OAAO,CAACiC,IAAR,CAAaC;MATtB,CAAD,CAAN,CAUGe,eAVH;IAWD;EACF,CAxDC,CAAF;AAyDD,CAj4BO,CAAR"}
@@ -48,7 +48,7 @@ var _default = (0, _knifecycle.service)(async function initProject({
48
48
  await ensureDir(projectDirectory);
49
49
  } catch (err) {
50
50
  log('error', `Cannot create the project's directory: "${projectDirectory}"`);
51
- log('stack', err.stack);
51
+ log('error-stack', err.stack || 'no_stack_trace');
52
52
  throw _yerror.default.wrap(err, 'E_PROJECT_DIR', projectDirectory);
53
53
  }
54
54
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/project.ts"],"names":["DEFAULT_PROJECT_NAME","initProject","CWD","lock","inquirer","ensureDir","_ensureDir","log","take","projectName","prompt","name","message","default","projectDirectory","path","join","release","err","stack","YError","wrap","directory","cast"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAGA,MAAMA,oBAAoB,GAAG,mBAA7B;;eAOe,yBAAY,eAAeC,WAAf,CAA2B;AACpDC,EAAAA,GADoD;AAEpDC,EAAAA,IAFoD;AAGpDC,EAAAA,QAHoD;AAIpDC,EAAAA,SAAS,GAAGC,kBAJwC;AAKpDC,EAAAA;AALoD,CAA3B,EAYC;AAC1BA,EAAAA,GAAG,CAAC,OAAD,EAAU,8BAAV,CAAH;;AACA,MAAI;AACF,UAAMJ,IAAI,CAACK,IAAL,CAAU,WAAV,CAAN;AAEA,UAAM;AAAEC,MAAAA;AAAF,QAAkB,MAAML,QAAQ,CAACM,MAAT,CAAgB,CAC5C;AACEC,MAAAA,IAAI,EAAE,aADR;AAEEC,MAAAA,OAAO,EAAE,8BAFX;AAGEC,MAAAA,OAAO,EAAEb;AAHX,KAD4C,CAAhB,CAA9B;AAQA,UAAM;AAAEc,MAAAA;AAAF,QAAuB,MAAMV,QAAQ,CAACM,MAAT,CAAgB,CACjD;AACEC,MAAAA,IAAI,EAAE,kBADR;AAEEC,MAAAA,OAAO,EAAE,iCAFX;AAGEC,MAAAA,OAAO,EAAEE,cAAKC,IAAL,CAAUd,GAAV,EAAeO,WAAf;AAHX,KADiD,CAAhB,CAAnC;AAOA,UAAMN,IAAI,CAACc,OAAL,CAAa,WAAb,CAAN;;AAEA,QAAI;AACF,YAAMZ,SAAS,CAACS,gBAAD,CAAf;AACD,KAFD,CAEE,OAAOI,GAAP,EAAY;AACZX,MAAAA,GAAG,CACD,OADC,EAEA,2CAA0CO,gBAAiB,GAF3D,CAAH;AAIAP,MAAAA,GAAG,CAAC,OAAD,EAAUW,GAAG,CAACC,KAAd,CAAH;AACA,YAAMC,gBAAOC,IAAP,CAAYH,GAAZ,EAAiB,eAAjB,EAAkCJ,gBAAlC,CAAN;AACD;;AAED,WAAO;AACLH,MAAAA,IAAI,EAAEF,WADD;AAELa,MAAAA,SAAS,EAAER;AAFN,KAAP;AAID,GAnCD,CAmCE,OAAOI,GAAP,EAAY;AACZ,UAAMf,IAAI,CAACc,OAAL,CAAa,WAAb,CAAN;AACA,UAAMG,gBAAOG,IAAP,CAAYL,GAAZ,CAAN;AACD;AACF,CArDc,8D","sourcesContent":["import { autoService } from 'knifecycle';\nimport { ensureDir as _ensureDir } from 'fs-extra';\nimport path from 'path';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport type { LockService, LogService } from 'common-services';\n\nconst DEFAULT_PROJECT_NAME = 'new-whook-project';\n\nexport interface ProjectService {\n name: string;\n directory: string;\n}\n\nexport default autoService(async function initProject({\n CWD,\n lock,\n inquirer,\n ensureDir = _ensureDir,\n log,\n}: {\n CWD: string;\n lock: LockService<string>;\n inquirer: typeof _inquirer;\n ensureDir: typeof _ensureDir;\n log: LogService;\n}): Promise<ProjectService> {\n log('debug', '🏁 - Initializing project...');\n try {\n await lock.take('cli:input');\n\n const { projectName } = await inquirer.prompt([\n {\n name: 'projectName',\n message: \"What's this new project name\",\n default: DEFAULT_PROJECT_NAME,\n },\n ]);\n\n const { projectDirectory } = await inquirer.prompt([\n {\n name: 'projectDirectory',\n message: \"Provide the project's directory\",\n default: path.join(CWD, projectName),\n },\n ]);\n await lock.release('cli:input');\n\n try {\n await ensureDir(projectDirectory);\n } catch (err) {\n log(\n 'error',\n `Cannot create the project's directory: \"${projectDirectory}\"`,\n );\n log('stack', err.stack);\n throw YError.wrap(err, 'E_PROJECT_DIR', projectDirectory);\n }\n\n return {\n name: projectName,\n directory: projectDirectory,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.cast(err);\n }\n});\n"],"file":"project.js"}
1
+ {"version":3,"file":"project.js","names":["DEFAULT_PROJECT_NAME","autoService","initProject","CWD","lock","inquirer","ensureDir","_ensureDir","log","take","projectName","prompt","name","message","default","projectDirectory","path","join","release","err","stack","YError","wrap","directory","cast"],"sources":["../../src/services/project.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport { ensureDir as _ensureDir } from 'fs-extra';\nimport path from 'path';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport type { LockService, LogService } from 'common-services';\n\nconst DEFAULT_PROJECT_NAME = 'new-whook-project';\n\nexport interface ProjectService {\n name: string;\n directory: string;\n}\n\nexport default autoService(async function initProject({\n CWD,\n lock,\n inquirer,\n ensureDir = _ensureDir,\n log,\n}: {\n CWD: string;\n lock: LockService<string>;\n inquirer: typeof _inquirer;\n ensureDir: typeof _ensureDir;\n log: LogService;\n}): Promise<ProjectService> {\n log('debug', '🏁 - Initializing project...');\n try {\n await lock.take('cli:input');\n\n const { projectName } = await inquirer.prompt([\n {\n name: 'projectName',\n message: \"What's this new project name\",\n default: DEFAULT_PROJECT_NAME,\n },\n ]);\n\n const { projectDirectory } = await inquirer.prompt([\n {\n name: 'projectDirectory',\n message: \"Provide the project's directory\",\n default: path.join(CWD, projectName),\n },\n ]);\n await lock.release('cli:input');\n\n try {\n await ensureDir(projectDirectory);\n } catch (err) {\n log(\n 'error',\n `Cannot create the project's directory: \"${projectDirectory}\"`,\n );\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n throw YError.wrap(err as Error, 'E_PROJECT_DIR', projectDirectory);\n }\n\n return {\n name: projectName,\n directory: projectDirectory,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.cast(err as Error);\n }\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAGA,MAAMA,oBAAoB,GAAG,mBAA7B;;eAOe,IAAAC,mBAAA,EAAY,eAAeC,WAAf,CAA2B;EACpDC,GADoD;EAEpDC,IAFoD;EAGpDC,QAHoD;EAIpDC,SAAS,GAAGC,kBAJwC;EAKpDC;AALoD,CAA3B,EAYC;EAC1BA,GAAG,CAAC,OAAD,EAAU,8BAAV,CAAH;;EACA,IAAI;IACF,MAAMJ,IAAI,CAACK,IAAL,CAAU,WAAV,CAAN;IAEA,MAAM;MAAEC;IAAF,IAAkB,MAAML,QAAQ,CAACM,MAAT,CAAgB,CAC5C;MACEC,IAAI,EAAE,aADR;MAEEC,OAAO,EAAE,8BAFX;MAGEC,OAAO,EAAEd;IAHX,CAD4C,CAAhB,CAA9B;IAQA,MAAM;MAAEe;IAAF,IAAuB,MAAMV,QAAQ,CAACM,MAAT,CAAgB,CACjD;MACEC,IAAI,EAAE,kBADR;MAEEC,OAAO,EAAE,iCAFX;MAGEC,OAAO,EAAEE,aAAA,CAAKC,IAAL,CAAUd,GAAV,EAAeO,WAAf;IAHX,CADiD,CAAhB,CAAnC;IAOA,MAAMN,IAAI,CAACc,OAAL,CAAa,WAAb,CAAN;;IAEA,IAAI;MACF,MAAMZ,SAAS,CAACS,gBAAD,CAAf;IACD,CAFD,CAEE,OAAOI,GAAP,EAAY;MACZX,GAAG,CACD,OADC,EAEA,2CAA0CO,gBAAiB,GAF3D,CAAH;MAIAP,GAAG,CAAC,aAAD,EAAiBW,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;MACA,MAAMC,eAAA,CAAOC,IAAP,CAAYH,GAAZ,EAA0B,eAA1B,EAA2CJ,gBAA3C,CAAN;IACD;;IAED,OAAO;MACLH,IAAI,EAAEF,WADD;MAELa,SAAS,EAAER;IAFN,CAAP;EAID,CAnCD,CAmCE,OAAOI,GAAP,EAAY;IACZ,MAAMf,IAAI,CAACc,OAAL,CAAa,WAAb,CAAN;IACA,MAAMG,eAAA,CAAOG,IAAP,CAAYL,GAAZ,CAAN;EACD;AACF,CArDc,8D"}
@@ -34,7 +34,7 @@ export default _service(async function initProject({
34
34
  await ensureDir(projectDirectory);
35
35
  } catch (err) {
36
36
  log('error', `Cannot create the project's directory: "${projectDirectory}"`);
37
- log('stack', err.stack);
37
+ log('error-stack', err.stack || 'no_stack_trace');
38
38
  throw YError.wrap(err, 'E_PROJECT_DIR', projectDirectory);
39
39
  }
40
40
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/services/project.ts"],"names":["autoService","ensureDir","_ensureDir","path","YError","DEFAULT_PROJECT_NAME","initProject","CWD","lock","inquirer","log","take","projectName","prompt","name","message","default","projectDirectory","join","release","err","stack","wrap","directory","cast"],"mappings":"AAAA,SAASA,OAAW,IAAXA,QAAT,QAA4B,YAA5B;AACA,SAASC,SAAS,IAAIC,UAAtB,QAAwC,UAAxC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAEA,OAAOC,MAAP,MAAmB,QAAnB;AAGA,MAAMC,oBAAoB,GAAG,mBAA7B;AAOA,eAAeL,QAAW,CAAC,eAAeM,WAAf,CAA2B;AACpDC,EAAAA,GADoD;AAEpDC,EAAAA,IAFoD;AAGpDC,EAAAA,QAHoD;AAIpDR,EAAAA,SAAS,GAAGC,UAJwC;AAKpDQ,EAAAA;AALoD,CAA3B,EAYC;AAC1BA,EAAAA,GAAG,CAAC,OAAD,EAAU,8BAAV,CAAH;;AACA,MAAI;AACF,UAAMF,IAAI,CAACG,IAAL,CAAU,WAAV,CAAN;AAEA,UAAM;AAAEC,MAAAA;AAAF,QAAkB,MAAMH,QAAQ,CAACI,MAAT,CAAgB,CAC5C;AACEC,MAAAA,IAAI,EAAE,aADR;AAEEC,MAAAA,OAAO,EAAE,8BAFX;AAGEC,MAAAA,OAAO,EAAEX;AAHX,KAD4C,CAAhB,CAA9B;AAQA,UAAM;AAAEY,MAAAA;AAAF,QAAuB,MAAMR,QAAQ,CAACI,MAAT,CAAgB,CACjD;AACEC,MAAAA,IAAI,EAAE,kBADR;AAEEC,MAAAA,OAAO,EAAE,iCAFX;AAGEC,MAAAA,OAAO,EAAEb,IAAI,CAACe,IAAL,CAAUX,GAAV,EAAeK,WAAf;AAHX,KADiD,CAAhB,CAAnC;AAOA,UAAMJ,IAAI,CAACW,OAAL,CAAa,WAAb,CAAN;;AAEA,QAAI;AACF,YAAMlB,SAAS,CAACgB,gBAAD,CAAf;AACD,KAFD,CAEE,OAAOG,GAAP,EAAY;AACZV,MAAAA,GAAG,CACD,OADC,EAEA,2CAA0CO,gBAAiB,GAF3D,CAAH;AAIAP,MAAAA,GAAG,CAAC,OAAD,EAAUU,GAAG,CAACC,KAAd,CAAH;AACA,YAAMjB,MAAM,CAACkB,IAAP,CAAYF,GAAZ,EAAiB,eAAjB,EAAkCH,gBAAlC,CAAN;AACD;;AAED,WAAO;AACLH,MAAAA,IAAI,EAAEF,WADD;AAELW,MAAAA,SAAS,EAAEN;AAFN,KAAP;AAID,GAnCD,CAmCE,OAAOG,GAAP,EAAY;AACZ,UAAMZ,IAAI,CAACW,OAAL,CAAa,WAAb,CAAN;AACA,UAAMf,MAAM,CAACoB,IAAP,CAAYJ,GAAZ,CAAN;AACD;AACF,CArDyB,8DAA1B","sourcesContent":["import { autoService } from 'knifecycle';\nimport { ensureDir as _ensureDir } from 'fs-extra';\nimport path from 'path';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport type { LockService, LogService } from 'common-services';\n\nconst DEFAULT_PROJECT_NAME = 'new-whook-project';\n\nexport interface ProjectService {\n name: string;\n directory: string;\n}\n\nexport default autoService(async function initProject({\n CWD,\n lock,\n inquirer,\n ensureDir = _ensureDir,\n log,\n}: {\n CWD: string;\n lock: LockService<string>;\n inquirer: typeof _inquirer;\n ensureDir: typeof _ensureDir;\n log: LogService;\n}): Promise<ProjectService> {\n log('debug', '🏁 - Initializing project...');\n try {\n await lock.take('cli:input');\n\n const { projectName } = await inquirer.prompt([\n {\n name: 'projectName',\n message: \"What's this new project name\",\n default: DEFAULT_PROJECT_NAME,\n },\n ]);\n\n const { projectDirectory } = await inquirer.prompt([\n {\n name: 'projectDirectory',\n message: \"Provide the project's directory\",\n default: path.join(CWD, projectName),\n },\n ]);\n await lock.release('cli:input');\n\n try {\n await ensureDir(projectDirectory);\n } catch (err) {\n log(\n 'error',\n `Cannot create the project's directory: \"${projectDirectory}\"`,\n );\n log('stack', err.stack);\n throw YError.wrap(err, 'E_PROJECT_DIR', projectDirectory);\n }\n\n return {\n name: projectName,\n directory: projectDirectory,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.cast(err);\n }\n});\n"],"file":"project.mjs"}
1
+ {"version":3,"file":"project.mjs","names":["autoService","ensureDir","_ensureDir","path","YError","DEFAULT_PROJECT_NAME","initProject","CWD","lock","inquirer","log","take","projectName","prompt","name","message","default","projectDirectory","join","release","err","stack","wrap","directory","cast"],"sources":["../../src/services/project.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport { ensureDir as _ensureDir } from 'fs-extra';\nimport path from 'path';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport type { LockService, LogService } from 'common-services';\n\nconst DEFAULT_PROJECT_NAME = 'new-whook-project';\n\nexport interface ProjectService {\n name: string;\n directory: string;\n}\n\nexport default autoService(async function initProject({\n CWD,\n lock,\n inquirer,\n ensureDir = _ensureDir,\n log,\n}: {\n CWD: string;\n lock: LockService<string>;\n inquirer: typeof _inquirer;\n ensureDir: typeof _ensureDir;\n log: LogService;\n}): Promise<ProjectService> {\n log('debug', '🏁 - Initializing project...');\n try {\n await lock.take('cli:input');\n\n const { projectName } = await inquirer.prompt([\n {\n name: 'projectName',\n message: \"What's this new project name\",\n default: DEFAULT_PROJECT_NAME,\n },\n ]);\n\n const { projectDirectory } = await inquirer.prompt([\n {\n name: 'projectDirectory',\n message: \"Provide the project's directory\",\n default: path.join(CWD, projectName),\n },\n ]);\n await lock.release('cli:input');\n\n try {\n await ensureDir(projectDirectory);\n } catch (err) {\n log(\n 'error',\n `Cannot create the project's directory: \"${projectDirectory}\"`,\n );\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n throw YError.wrap(err as Error, 'E_PROJECT_DIR', projectDirectory);\n }\n\n return {\n name: projectName,\n directory: projectDirectory,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.cast(err as Error);\n }\n});\n"],"mappings":"AAAA,SAASA,OAAW,IAAXA,QAAT,QAA4B,YAA5B;AACA,SAASC,SAAS,IAAIC,UAAtB,QAAwC,UAAxC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAEA,OAAOC,MAAP,MAAmB,QAAnB;AAGA,MAAMC,oBAAoB,GAAG,mBAA7B;AAOA,eAAeL,QAAW,CAAC,eAAeM,WAAf,CAA2B;EACpDC,GADoD;EAEpDC,IAFoD;EAGpDC,QAHoD;EAIpDR,SAAS,GAAGC,UAJwC;EAKpDQ;AALoD,CAA3B,EAYC;EAC1BA,GAAG,CAAC,OAAD,EAAU,8BAAV,CAAH;;EACA,IAAI;IACF,MAAMF,IAAI,CAACG,IAAL,CAAU,WAAV,CAAN;IAEA,MAAM;MAAEC;IAAF,IAAkB,MAAMH,QAAQ,CAACI,MAAT,CAAgB,CAC5C;MACEC,IAAI,EAAE,aADR;MAEEC,OAAO,EAAE,8BAFX;MAGEC,OAAO,EAAEX;IAHX,CAD4C,CAAhB,CAA9B;IAQA,MAAM;MAAEY;IAAF,IAAuB,MAAMR,QAAQ,CAACI,MAAT,CAAgB,CACjD;MACEC,IAAI,EAAE,kBADR;MAEEC,OAAO,EAAE,iCAFX;MAGEC,OAAO,EAAEb,IAAI,CAACe,IAAL,CAAUX,GAAV,EAAeK,WAAf;IAHX,CADiD,CAAhB,CAAnC;IAOA,MAAMJ,IAAI,CAACW,OAAL,CAAa,WAAb,CAAN;;IAEA,IAAI;MACF,MAAMlB,SAAS,CAACgB,gBAAD,CAAf;IACD,CAFD,CAEE,OAAOG,GAAP,EAAY;MACZV,GAAG,CACD,OADC,EAEA,2CAA0CO,gBAAiB,GAF3D,CAAH;MAIAP,GAAG,CAAC,aAAD,EAAiBU,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;MACA,MAAMjB,MAAM,CAACkB,IAAP,CAAYF,GAAZ,EAA0B,eAA1B,EAA2CH,gBAA3C,CAAN;IACD;;IAED,OAAO;MACLH,IAAI,EAAEF,WADD;MAELW,SAAS,EAAEN;IAFN,CAAP;EAID,CAnCD,CAmCE,OAAOG,GAAP,EAAY;IACZ,MAAMZ,IAAI,CAACW,OAAL,CAAa,WAAb,CAAN;IACA,MAAMf,MAAM,CAACoB,IAAP,CAAYJ,GAAZ,CAAN;EACD;AACF,CArDyB,8DAA1B"}