@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.
- package/README.md +0 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/services/author.js +1 -1
- package/dist/services/author.js.map +1 -1
- package/dist/services/author.mjs +1 -1
- package/dist/services/author.mjs.map +1 -1
- package/dist/services/author.test.js.map +1 -1
- package/dist/services/author.test.mjs.map +1 -1
- package/dist/services/createWhook.d.ts +6 -4
- package/dist/services/createWhook.js +7 -7
- package/dist/services/createWhook.js.map +1 -1
- package/dist/services/createWhook.mjs +7 -7
- package/dist/services/createWhook.mjs.map +1 -1
- package/dist/services/createWhook.test.js +98 -89
- package/dist/services/createWhook.test.js.map +1 -1
- package/dist/services/createWhook.test.mjs +98 -89
- package/dist/services/createWhook.test.mjs.map +1 -1
- package/dist/services/project.js +1 -1
- package/dist/services/project.js.map +1 -1
- package/dist/services/project.mjs +1 -1
- package/dist/services/project.mjs.map +1 -1
- package/dist/services/project.test.js.map +1 -1
- package/dist/services/project.test.mjs.map +1 -1
- package/package.json +30 -30
- package/src/index.ts +1 -1
- package/src/services/__snapshots__/createWhook.test.ts.snap +4 -4
- package/src/services/author.test.ts +5 -4
- package/src/services/author.ts +10 -13
- package/src/services/createWhook.test.ts +98 -89
- package/src/services/createWhook.ts +8 -8
- package/src/services/project.test.ts +2 -2
- package/src/services/project.ts +3 -3
package/README.md
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
> Kickstart a new Whook server
|
|
9
9
|
|
|
10
10
|
[](https://github.com/nfroidure/whook/blob/master/packages/whook-create/LICENSE)
|
|
11
|
-
[](https://npmjs.org/package/@whook/create)
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
[//]: # (::contents:start)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["runCreateWhook","$","Knifecycle","register","constant","process","cwd","inquirer","_exec","_writeFile","_readFile","_copy","_ensureDir","path","resolve","dirname","require","debug","error","console","bind","info","warning","log","initLogService","initLockService","initDelayService","initAuthor","initProject","initCreateWhook","createWhook","run","err","stack","exit"],"sources":["../src/index.ts"],"sourcesContent":["import Knifecycle, { constant } from 'knifecycle';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n ensureDir as _ensureDir,\n} from 'fs-extra';\nimport debug from 'debug';\nimport path from 'path';\nimport inquirer from 'inquirer';\nimport {\n initLogService,\n initLockService,\n initDelayService,\n} from 'common-services';\nimport initAuthor from './services/author';\nimport initProject from './services/project';\nimport initCreateWhook from './services/createWhook';\nimport type { CreateWhookService } from './services/createWhook';\n\nexport async function runCreateWhook(): Promise<void> {\n try {\n const $ = new Knifecycle();\n\n $.register(constant('CWD', process.cwd()));\n $.register(constant('inquirer', inquirer));\n $.register(constant('exec', _exec));\n $.register(constant('writeFile', _writeFile));\n $.register(constant('readFile', _readFile));\n $.register(constant('copy', _copy));\n $.register(constant('ensureDir', _ensureDir));\n $.register(\n constant(\n 'SOURCE_DIR',\n path.resolve(path.dirname(require.resolve('@whook/example')), '..'),\n ),\n );\n $.register(constant('debug', debug('whook')));\n $.register(\n constant('logger', {\n // eslint-disable-next-line\n error: console.error.bind(console),\n // eslint-disable-next-line\n info: console.info.bind(console),\n // eslint-disable-next-line\n warning: console.log.bind(console),\n }),\n );\n $.register(initLogService);\n $.register(initLockService);\n $.register(initDelayService);\n $.register(initAuthor);\n $.register(initProject);\n $.register(initCreateWhook);\n\n const { createWhook } = await $.run<{\n createWhook: CreateWhookService;\n }>(['createWhook']);\n\n await createWhook();\n } catch (err) {\n // eslint-disable-next-line\n console.error('💀 - Cannot launch the process:', (err as Error).stack);\n process.exit(1);\n }\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;;;;;;;AAGO,eAAeA,cAAf,GAA+C;EACpD,IAAI;IACF,MAAMC,CAAC,GAAG,IAAIC,mBAAJ,EAAV;IAEAD,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,KAAT,EAAgBC,OAAO,CAACC,GAAR,EAAhB,CAAX;IACAL,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,UAAT,EAAqBG,iBAArB,CAAX;IACAN,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,MAAT,EAAiBI,mBAAjB,CAAX;IACAP,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,WAAT,EAAsBK,kBAAtB,CAAX;IACAR,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,UAAT,EAAqBM,iBAArB,CAAX;IACAT,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,MAAT,EAAiBO,aAAjB,CAAX;IACAV,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,WAAT,EAAsBQ,kBAAtB,CAAX;IACAX,CAAC,CAACE,QAAF,CACE,IAAAC,oBAAA,EACE,YADF,EAEES,aAAA,CAAKC,OAAL,CAAaD,aAAA,CAAKE,OAAL,CAAaC,OAAO,CAACF,OAAR,CAAgB,gBAAhB,CAAb,CAAb,EAA8D,IAA9D,CAFF,CADF;IAMAb,CAAC,CAACE,QAAF,CAAW,IAAAC,oBAAA,EAAS,OAAT,EAAkB,IAAAa,cAAA,EAAM,OAAN,CAAlB,CAAX;IACAhB,CAAC,CAACE,QAAF,CACE,IAAAC,oBAAA,EAAS,QAAT,EAAmB;MACjB;MACAc,KAAK,EAAEC,OAAO,CAACD,KAAR,CAAcE,IAAd,CAAmBD,OAAnB,CAFU;MAGjB;MACAE,IAAI,EAAEF,OAAO,CAACE,IAAR,CAAaD,IAAb,CAAkBD,OAAlB,CAJW;MAKjB;MACAG,OAAO,EAAEH,OAAO,CAACI,GAAR,CAAYH,IAAZ,CAAiBD,OAAjB;IANQ,CAAnB,CADF;IAUAlB,CAAC,CAACE,QAAF,CAAWqB,8BAAX;IACAvB,CAAC,CAACE,QAAF,CAAWsB,+BAAX;IACAxB,CAAC,CAACE,QAAF,CAAWuB,gCAAX;IACAzB,CAAC,CAACE,QAAF,CAAWwB,eAAX;IACA1B,CAAC,CAACE,QAAF,CAAWyB,gBAAX;IACA3B,CAAC,CAACE,QAAF,CAAW0B,oBAAX;IAEA,MAAM;MAAEC;IAAF,IAAkB,MAAM7B,CAAC,CAAC8B,GAAF,CAE3B,CAAC,aAAD,CAF2B,CAA9B;IAIA,MAAMD,WAAW,EAAjB;EACD,CAvCD,CAuCE,OAAOE,GAAP,EAAY;IACZ;IACAb,OAAO,CAACD,KAAR,CAAc,iCAAd,EAAkDc,GAAD,CAAeC,KAAhE;IACA5B,OAAO,CAAC6B,IAAR,CAAa,CAAb;EACD;AACF"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Knifecycle","constant","exec","_exec","writeFile","_writeFile","readFile","_readFile","copy","_copy","ensureDir","_ensureDir","debug","path","inquirer","initLogService","initLockService","initDelayService","initAuthor","initProject","initCreateWhook","runCreateWhook","$","register","process","cwd","resolve","dirname","require","error","console","bind","info","warning","log","createWhook","run","err","stack","exit"],"sources":["../src/index.ts"],"sourcesContent":["import Knifecycle, { constant } from 'knifecycle';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n ensureDir as _ensureDir,\n} from 'fs-extra';\nimport debug from 'debug';\nimport path from 'path';\nimport inquirer from 'inquirer';\nimport {\n initLogService,\n initLockService,\n initDelayService,\n} from 'common-services';\nimport initAuthor from './services/author';\nimport initProject from './services/project';\nimport initCreateWhook from './services/createWhook';\nimport type { CreateWhookService } from './services/createWhook';\n\nexport async function runCreateWhook(): Promise<void> {\n try {\n const $ = new Knifecycle();\n\n $.register(constant('CWD', process.cwd()));\n $.register(constant('inquirer', inquirer));\n $.register(constant('exec', _exec));\n $.register(constant('writeFile', _writeFile));\n $.register(constant('readFile', _readFile));\n $.register(constant('copy', _copy));\n $.register(constant('ensureDir', _ensureDir));\n $.register(\n constant(\n 'SOURCE_DIR',\n path.resolve(path.dirname(require.resolve('@whook/example')), '..'),\n ),\n );\n $.register(constant('debug', debug('whook')));\n $.register(\n constant('logger', {\n // eslint-disable-next-line\n error: console.error.bind(console),\n // eslint-disable-next-line\n info: console.info.bind(console),\n // eslint-disable-next-line\n warning: console.log.bind(console),\n }),\n );\n $.register(initLogService);\n $.register(initLockService);\n $.register(initDelayService);\n $.register(initAuthor);\n $.register(initProject);\n $.register(initCreateWhook);\n\n const { createWhook } = await $.run<{\n createWhook: CreateWhookService;\n }>(['createWhook']);\n\n await createWhook();\n } catch (err) {\n // eslint-disable-next-line\n console.error('💀 - Cannot launch the process:', (err as Error).stack);\n process.exit(1);\n }\n}\n"],"mappings":"AAAA,OAAOA,UAAP,IAAqBC,QAArB,QAAqC,YAArC;AACA,SAASC,IAAI,IAAIC,KAAjB,QAA8B,eAA9B;AACA,SACEC,SAAS,IAAIC,UADf,EAEEC,QAAQ,IAAIC,SAFd,EAGEC,IAAI,IAAIC,KAHV,EAIEC,SAAS,IAAIC,UAJf,QAKO,UALP;AAMA,OAAOC,KAAP,MAAkB,OAAlB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,QAAP,MAAqB,UAArB;AACA,SACEC,cADF,EAEEC,eAFF,EAGEC,gBAHF,QAIO,iBAJP;AAKA,OAAOC,UAAP,MAAuB,mBAAvB;AACA,OAAOC,WAAP,MAAwB,oBAAxB;AACA,OAAOC,eAAP,MAA4B,wBAA5B;AAGA,OAAO,eAAeC,cAAf,GAA+C;EACpD,IAAI;IACF,MAAMC,CAAC,GAAG,IAAItB,UAAJ,EAAV;IAEAsB,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,KAAD,EAAQuB,OAAO,CAACC,GAAR,EAAR,CAAnB;IACAH,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,UAAD,EAAaa,QAAb,CAAnB;IACAQ,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,MAAD,EAASE,KAAT,CAAnB;IACAmB,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,WAAD,EAAcI,UAAd,CAAnB;IACAiB,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,UAAD,EAAaM,SAAb,CAAnB;IACAe,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,MAAD,EAASQ,KAAT,CAAnB;IACAa,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,WAAD,EAAcU,UAAd,CAAnB;IACAW,CAAC,CAACC,QAAF,CACEtB,QAAQ,CACN,YADM,EAENY,IAAI,CAACa,OAAL,CAAab,IAAI,CAACc,OAAL,CAAaC,OAAO,CAACF,OAAR,CAAgB,gBAAhB,CAAb,CAAb,EAA8D,IAA9D,CAFM,CADV;IAMAJ,CAAC,CAACC,QAAF,CAAWtB,QAAQ,CAAC,OAAD,EAAUW,KAAK,CAAC,OAAD,CAAf,CAAnB;IACAU,CAAC,CAACC,QAAF,CACEtB,QAAQ,CAAC,QAAD,EAAW;MACjB;MACA4B,KAAK,EAAEC,OAAO,CAACD,KAAR,CAAcE,IAAd,CAAmBD,OAAnB,CAFU;MAGjB;MACAE,IAAI,EAAEF,OAAO,CAACE,IAAR,CAAaD,IAAb,CAAkBD,OAAlB,CAJW;MAKjB;MACAG,OAAO,EAAEH,OAAO,CAACI,GAAR,CAAYH,IAAZ,CAAiBD,OAAjB;IANQ,CAAX,CADV;IAUAR,CAAC,CAACC,QAAF,CAAWR,cAAX;IACAO,CAAC,CAACC,QAAF,CAAWP,eAAX;IACAM,CAAC,CAACC,QAAF,CAAWN,gBAAX;IACAK,CAAC,CAACC,QAAF,CAAWL,UAAX;IACAI,CAAC,CAACC,QAAF,CAAWJ,WAAX;IACAG,CAAC,CAACC,QAAF,CAAWH,eAAX;IAEA,MAAM;MAAEe;IAAF,IAAkB,MAAMb,CAAC,CAACc,GAAF,CAE3B,CAAC,aAAD,CAF2B,CAA9B;IAIA,MAAMD,WAAW,EAAjB;EACD,CAvCD,CAuCE,OAAOE,GAAP,EAAY;IACZ;IACAP,OAAO,CAACD,KAAR,CAAc,iCAAd,EAAkDQ,GAAD,CAAeC,KAAhE;IACAd,OAAO,CAACe,IAAR,CAAa,CAAb;EACD;AACF"}
|
package/dist/services/author.js
CHANGED
|
@@ -26,7 +26,7 @@ var _default = (0, _knifecycle.service)(async function initAuthor({
|
|
|
26
26
|
log
|
|
27
27
|
}, 'user.email')]).catch(err => {
|
|
28
28
|
log('debug', 'Could not get author from Git');
|
|
29
|
-
log('debug-stack', err.stack);
|
|
29
|
+
log('debug-stack', err.stack || 'no_stack_trace');
|
|
30
30
|
return [];
|
|
31
31
|
});
|
|
32
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"author.js","names":["autoService","initAuthor","inquirer","exec","lock","log","userName","userEmail","Promise","all","readGitProperty","catch","err","stack","take","authorName","authorEmail","prompt","name","message","default","release","email","YError","wrap","resolve","reject","stdout","stderr","trim"],"sources":["../../src/services/author.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport type { LockService, LogService } from 'common-services';\n\nexport interface AuthorService {\n name: string;\n email: string;\n}\n\nexport default autoService(async function initAuthor({\n inquirer,\n exec,\n lock,\n log,\n}: {\n inquirer: typeof _inquirer;\n exec: typeof _exec;\n lock: LockService<string>;\n log: LogService;\n}): Promise<AuthorService> {\n log('debug', '✍️ - Initializing author...');\n const [userName, userEmail] = await Promise.all([\n readGitProperty({ exec, log }, 'user.name'),\n readGitProperty({ exec, log }, 'user.email'),\n ]).catch((err) => {\n log('debug', 'Could not get author from Git');\n log('debug-stack', (err as Error).stack || 'no_stack_trace');\n return [];\n });\n\n try {\n await lock.take('cli:input');\n\n const { authorName, authorEmail } = (await inquirer.prompt([\n {\n name: 'authorName',\n message: \"What's your name?\",\n default: userName,\n },\n {\n name: 'authorEmail',\n message: 'You email?',\n default: userEmail,\n },\n ])) as { authorName: string; authorEmail: string };\n\n await lock.release('cli:input');\n\n return {\n name: authorName,\n email: authorEmail,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.wrap(err as Error);\n }\n});\n\nasync function readGitProperty(\n {\n exec,\n log,\n }: {\n exec: typeof _exec;\n log: LogService;\n },\n name: string,\n): Promise<string> {\n return new Promise((resolve, reject) => {\n exec(`git config --get ${name}`, (err, stdout, stderr) => {\n if (err) {\n log('debug', 'STDERR:\\n', stderr || '');\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n });\n });\n}\n"],"mappings":";;;;;;;AAAA;;AAEA;;;;eASe,IAAAA,mBAAA,EAAY,eAAeC,UAAf,CAA0B;EACnDC,QADmD;EAEnDC,IAFmD;EAGnDC,IAHmD;EAInDC;AAJmD,CAA1B,EAUA;EACzBA,GAAG,CAAC,OAAD,EAAU,6BAAV,CAAH;EACA,MAAM,CAACC,QAAD,EAAWC,SAAX,IAAwB,MAAMC,OAAO,CAACC,GAAR,CAAY,CAC9CC,eAAe,CAAC;IAAEP,IAAF;IAAQE;EAAR,CAAD,EAAgB,WAAhB,CAD+B,EAE9CK,eAAe,CAAC;IAAEP,IAAF;IAAQE;EAAR,CAAD,EAAgB,YAAhB,CAF+B,CAAZ,EAGjCM,KAHiC,CAG1BC,GAAD,IAAS;IAChBP,GAAG,CAAC,OAAD,EAAU,+BAAV,CAAH;IACAA,GAAG,CAAC,aAAD,EAAiBO,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;IACA,OAAO,EAAP;EACD,CAPmC,CAApC;;EASA,IAAI;IACF,MAAMT,IAAI,CAACU,IAAL,CAAU,WAAV,CAAN;IAEA,MAAM;MAAEC,UAAF;MAAcC;IAAd,IAA+B,MAAMd,QAAQ,CAACe,MAAT,CAAgB,CACzD;MACEC,IAAI,EAAE,YADR;MAEEC,OAAO,EAAE,mBAFX;MAGEC,OAAO,EAAEd;IAHX,CADyD,EAMzD;MACEY,IAAI,EAAE,aADR;MAEEC,OAAO,EAAE,YAFX;MAGEC,OAAO,EAAEb;IAHX,CANyD,CAAhB,CAA3C;IAaA,MAAMH,IAAI,CAACiB,OAAL,CAAa,WAAb,CAAN;IAEA,OAAO;MACLH,IAAI,EAAEH,UADD;MAELO,KAAK,EAAEN;IAFF,CAAP;EAID,CAtBD,CAsBE,OAAOJ,GAAP,EAAY;IACZ,MAAMR,IAAI,CAACiB,OAAL,CAAa,WAAb,CAAN;IACA,MAAME,eAAA,CAAOC,IAAP,CAAYZ,GAAZ,CAAN;EACD;AACF,CA/Cc,gD;;;;AAiDf,eAAeF,eAAf,CACE;EACEP,IADF;EAEEE;AAFF,CADF,EAQEa,IARF,EASmB;EACjB,OAAO,IAAIV,OAAJ,CAAY,CAACiB,OAAD,EAAUC,MAAV,KAAqB;IACtCvB,IAAI,CAAE,oBAAmBe,IAAK,EAA1B,EAA6B,CAACN,GAAD,EAAMe,MAAN,EAAcC,MAAd,KAAyB;MACxD,IAAIhB,GAAJ,EAAS;QACPP,GAAG,CAAC,OAAD,EAAU,WAAV,EAAuBuB,MAAM,IAAI,EAAjC,CAAH;QACAF,MAAM,CAACH,eAAA,CAAOC,IAAP,CAAYZ,GAAZ,CAAD,CAAN;QACA;MACD;;MACDa,OAAO,CAACE,MAAM,CAACE,IAAP,EAAD,CAAP;IACD,CAPG,CAAJ;EAQD,CATM,CAAP;AAUD"}
|
package/dist/services/author.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"author.mjs","names":["autoService","YError","initAuthor","inquirer","exec","lock","log","userName","userEmail","Promise","all","readGitProperty","catch","err","stack","take","authorName","authorEmail","prompt","name","message","default","release","email","wrap","resolve","reject","stdout","stderr","trim"],"sources":["../../src/services/author.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport _inquirer from 'inquirer';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport type { LockService, LogService } from 'common-services';\n\nexport interface AuthorService {\n name: string;\n email: string;\n}\n\nexport default autoService(async function initAuthor({\n inquirer,\n exec,\n lock,\n log,\n}: {\n inquirer: typeof _inquirer;\n exec: typeof _exec;\n lock: LockService<string>;\n log: LogService;\n}): Promise<AuthorService> {\n log('debug', '✍️ - Initializing author...');\n const [userName, userEmail] = await Promise.all([\n readGitProperty({ exec, log }, 'user.name'),\n readGitProperty({ exec, log }, 'user.email'),\n ]).catch((err) => {\n log('debug', 'Could not get author from Git');\n log('debug-stack', (err as Error).stack || 'no_stack_trace');\n return [];\n });\n\n try {\n await lock.take('cli:input');\n\n const { authorName, authorEmail } = (await inquirer.prompt([\n {\n name: 'authorName',\n message: \"What's your name?\",\n default: userName,\n },\n {\n name: 'authorEmail',\n message: 'You email?',\n default: userEmail,\n },\n ])) as { authorName: string; authorEmail: string };\n\n await lock.release('cli:input');\n\n return {\n name: authorName,\n email: authorEmail,\n };\n } catch (err) {\n await lock.release('cli:input');\n throw YError.wrap(err as Error);\n }\n});\n\nasync function readGitProperty(\n {\n exec,\n log,\n }: {\n exec: typeof _exec;\n log: LogService;\n },\n name: string,\n): Promise<string> {\n return new Promise((resolve, reject) => {\n exec(`git config --get ${name}`, (err, stdout, stderr) => {\n if (err) {\n log('debug', 'STDERR:\\n', stderr || '');\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n });\n });\n}\n"],"mappings":"AAAA,SAASA,OAAW,IAAXA,QAAT,QAA4B,YAA5B;AAEA,OAAOC,MAAP,MAAmB,QAAnB;AASA,eAAeD,QAAW,CAAC,eAAeE,UAAf,CAA0B;EACnDC,QADmD;EAEnDC,IAFmD;EAGnDC,IAHmD;EAInDC;AAJmD,CAA1B,EAUA;EACzBA,GAAG,CAAC,OAAD,EAAU,6BAAV,CAAH;EACA,MAAM,CAACC,QAAD,EAAWC,SAAX,IAAwB,MAAMC,OAAO,CAACC,GAAR,CAAY,CAC9CC,eAAe,CAAC;IAAEP,IAAF;IAAQE;EAAR,CAAD,EAAgB,WAAhB,CAD+B,EAE9CK,eAAe,CAAC;IAAEP,IAAF;IAAQE;EAAR,CAAD,EAAgB,YAAhB,CAF+B,CAAZ,EAGjCM,KAHiC,CAG1BC,GAAD,IAAS;IAChBP,GAAG,CAAC,OAAD,EAAU,+BAAV,CAAH;IACAA,GAAG,CAAC,aAAD,EAAiBO,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;IACA,OAAO,EAAP;EACD,CAPmC,CAApC;;EASA,IAAI;IACF,MAAMT,IAAI,CAACU,IAAL,CAAU,WAAV,CAAN;IAEA,MAAM;MAAEC,UAAF;MAAcC;IAAd,IAA+B,MAAMd,QAAQ,CAACe,MAAT,CAAgB,CACzD;MACEC,IAAI,EAAE,YADR;MAEEC,OAAO,EAAE,mBAFX;MAGEC,OAAO,EAAEd;IAHX,CADyD,EAMzD;MACEY,IAAI,EAAE,aADR;MAEEC,OAAO,EAAE,YAFX;MAGEC,OAAO,EAAEb;IAHX,CANyD,CAAhB,CAA3C;IAaA,MAAMH,IAAI,CAACiB,OAAL,CAAa,WAAb,CAAN;IAEA,OAAO;MACLH,IAAI,EAAEH,UADD;MAELO,KAAK,EAAEN;IAFF,CAAP;EAID,CAtBD,CAsBE,OAAOJ,GAAP,EAAY;IACZ,MAAMR,IAAI,CAACiB,OAAL,CAAa,WAAb,CAAN;IACA,MAAMrB,MAAM,CAACuB,IAAP,CAAYX,GAAZ,CAAN;EACD;AACF,CA/CyB,gDAA1B;;AAiDA,eAAeF,eAAf,CACE;EACEP,IADF;EAEEE;AAFF,CADF,EAQEa,IARF,EASmB;EACjB,OAAO,IAAIV,OAAJ,CAAY,CAACgB,OAAD,EAAUC,MAAV,KAAqB;IACtCtB,IAAI,CAAE,oBAAmBe,IAAK,EAA1B,EAA6B,CAACN,GAAD,EAAMc,MAAN,EAAcC,MAAd,KAAyB;MACxD,IAAIf,GAAJ,EAAS;QACPP,GAAG,CAAC,OAAD,EAAU,WAAV,EAAuBsB,MAAM,IAAI,EAAjC,CAAH;QACAF,MAAM,CAACzB,MAAM,CAACuB,IAAP,CAAYX,GAAZ,CAAD,CAAN;QACA;MACD;;MACDY,OAAO,CAACE,MAAM,CAACE,IAAP,EAAD,CAAP;IACD,CAPG,CAAJ;EAQD,CATM,CAAP;AAUD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"author.test.js","names":["describe","exec","jest","fn","lock","take","release","inquirer","prompt","log","beforeEach","mockReset","it","mockImplementationOnce","_","cb","mockResolvedValueOnce","undefined","authorName","authorEmail","author","initAuthor","expect","inquirerPromptCalls","mock","calls","lockTakeCalls","lockReleaseCalls","execCalls","logCalls","filter","type","endsWith","toMatchSnapshot","Error","mockRejectedValueOnce","err","errorCode","code","errorParams","params"],"sources":["../../src/services/author.test.ts"],"sourcesContent":["import _inquirer from 'inquirer';\nimport initAuthor from './author';\nimport YError from 'yerror';\n\ndescribe('initAuthor', () => {\n const exec = jest.fn() as any;\n const lock = {\n take: jest.fn(),\n release: jest.fn(),\n };\n const inquirer = { prompt: jest.fn() };\n const log = jest.fn();\n\n beforeEach(() => {\n exec.mockReset();\n lock.take.mockReset();\n inquirer.prompt.mockReset();\n lock.release.mockReset();\n log.mockReset();\n });\n\n it('should work', async () => {\n exec.mockImplementationOnce((_, cb) => cb(null, 'Wayne Campbell'));\n exec.mockImplementationOnce((_, cb) => cb(null, 'wayne@warner.com'));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockResolvedValueOnce({\n authorName: 'Wayne Campbell',\n authorEmail: 'wayne@warner.com',\n });\n lock.release.mockResolvedValueOnce(undefined);\n\n const author = await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n\n expect({\n author,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n });\n\n it('should handle git failures', async () => {\n exec.mockImplementationOnce((_, cb) => cb(new Error('E_GIT_ERROR')));\n exec.mockImplementationOnce((_, cb) => cb(new Error('E_GIT_ERROR')));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockResolvedValueOnce({\n authorName: 'Wayne Campbell',\n authorEmail: 'wayne@warner.com',\n });\n lock.release.mockResolvedValueOnce(undefined);\n\n const author = await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n\n expect({\n author,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n });\n\n it('should release the lock on failure', async () => {\n exec.mockImplementationOnce((_, cb) => cb(null, 'Wayne Campbell'));\n exec.mockImplementationOnce((_, cb) => cb(null, 'wayne@warner.com'));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockRejectedValueOnce(new Error('E_PROMPT_ERROR'));\n lock.release.mockResolvedValueOnce(undefined);\n\n try {\n await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n } catch (err) {\n expect({\n errorCode: (err as YError).code,\n errorParams: (err as YError).params,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n }\n });\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"author.test.mjs","names":["initAuthor","describe","exec","jest","fn","lock","take","release","inquirer","prompt","log","beforeEach","mockReset","it","mockImplementationOnce","_","cb","mockResolvedValueOnce","undefined","authorName","authorEmail","author","expect","inquirerPromptCalls","mock","calls","lockTakeCalls","lockReleaseCalls","execCalls","logCalls","filter","type","endsWith","toMatchSnapshot","Error","mockRejectedValueOnce","err","errorCode","code","errorParams","params"],"sources":["../../src/services/author.test.ts"],"sourcesContent":["import _inquirer from 'inquirer';\nimport initAuthor from './author';\nimport YError from 'yerror';\n\ndescribe('initAuthor', () => {\n const exec = jest.fn() as any;\n const lock = {\n take: jest.fn(),\n release: jest.fn(),\n };\n const inquirer = { prompt: jest.fn() };\n const log = jest.fn();\n\n beforeEach(() => {\n exec.mockReset();\n lock.take.mockReset();\n inquirer.prompt.mockReset();\n lock.release.mockReset();\n log.mockReset();\n });\n\n it('should work', async () => {\n exec.mockImplementationOnce((_, cb) => cb(null, 'Wayne Campbell'));\n exec.mockImplementationOnce((_, cb) => cb(null, 'wayne@warner.com'));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockResolvedValueOnce({\n authorName: 'Wayne Campbell',\n authorEmail: 'wayne@warner.com',\n });\n lock.release.mockResolvedValueOnce(undefined);\n\n const author = await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n\n expect({\n author,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n });\n\n it('should handle git failures', async () => {\n exec.mockImplementationOnce((_, cb) => cb(new Error('E_GIT_ERROR')));\n exec.mockImplementationOnce((_, cb) => cb(new Error('E_GIT_ERROR')));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockResolvedValueOnce({\n authorName: 'Wayne Campbell',\n authorEmail: 'wayne@warner.com',\n });\n lock.release.mockResolvedValueOnce(undefined);\n\n const author = await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n\n expect({\n author,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n });\n\n it('should release the lock on failure', async () => {\n exec.mockImplementationOnce((_, cb) => cb(null, 'Wayne Campbell'));\n exec.mockImplementationOnce((_, cb) => cb(null, 'wayne@warner.com'));\n lock.take.mockResolvedValueOnce(undefined);\n inquirer.prompt.mockRejectedValueOnce(new Error('E_PROMPT_ERROR'));\n lock.release.mockResolvedValueOnce(undefined);\n\n try {\n await initAuthor({\n inquirer: inquirer as unknown as typeof _inquirer,\n exec,\n lock,\n log,\n });\n } catch (err) {\n expect({\n errorCode: (err as YError).code,\n errorParams: (err as YError).params,\n inquirerPromptCalls: inquirer.prompt.mock.calls,\n lockTakeCalls: lock.take.mock.calls,\n lockReleaseCalls: lock.release.mock.calls,\n execCalls: exec.mock.calls,\n logCalls: log.mock.calls.filter(([type]) => !type.endsWith('stack')),\n }).toMatchSnapshot();\n }\n });\n});\n"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _axios from 'axios';
|
|
2
1
|
import _ora from 'ora';
|
|
3
2
|
import { exec as _exec } from 'child_process';
|
|
4
3
|
import { writeFile as _writeFile, readFile as _readFile, copy as _copy, readdir as _readdir } from 'fs-extra';
|
|
@@ -16,8 +15,11 @@ declare const _default: import("knifecycle").ServiceInitializer<{
|
|
|
16
15
|
readdir: typeof _readdir;
|
|
17
16
|
exec: typeof _exec;
|
|
18
17
|
copy: typeof _copy;
|
|
19
|
-
axios?:
|
|
20
|
-
ora?:
|
|
21
|
-
|
|
18
|
+
axios?: import("axios").AxiosStatic | undefined;
|
|
19
|
+
ora?: {
|
|
20
|
+
(options?: string | _ora.Options | undefined): _ora.Ora;
|
|
21
|
+
promise(action: PromiseLike<unknown>, options?: string | _ora.Options | undefined): _ora.Ora;
|
|
22
|
+
} | undefined;
|
|
23
|
+
log: LogService;
|
|
22
24
|
}, CreateWhookService>;
|
|
23
25
|
export default _default;
|
|
@@ -21,9 +21,9 @@ var _fsExtra = require("fs-extra");
|
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
24
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
24
|
+
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; }
|
|
25
25
|
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
26
|
+
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; }
|
|
27
27
|
|
|
28
28
|
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; }
|
|
29
29
|
|
|
@@ -100,12 +100,12 @@ ${author.name}
|
|
|
100
100
|
url: GIT_IGNORE_URL
|
|
101
101
|
}).then(response => writeFile(_path.default.join(project.directory, '.gitignore'), response.data)).catch(err => {
|
|
102
102
|
log('error', `⚠️ - Could not retrieve the \`.gitignore\` file contents from: "${GIT_IGNORE_URL}"`);
|
|
103
|
-
log('stack', err.stack);
|
|
103
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
104
104
|
}), new Promise((resolve, reject) => exec('git init', {
|
|
105
105
|
cwd: project.directory
|
|
106
106
|
}, (err, stdout, stderr) => {
|
|
107
107
|
if (err) {
|
|
108
|
-
log('stack', stderr);
|
|
108
|
+
log('error-stack', stderr);
|
|
109
109
|
reject(_yerror.default.wrap(err));
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
@@ -113,7 +113,7 @@ ${author.name}
|
|
|
113
113
|
resolve(stdout.trim());
|
|
114
114
|
})).catch(err => {
|
|
115
115
|
log('error', '⚠️ - Could not initialize the git project!');
|
|
116
|
-
log('stack', err.stack);
|
|
116
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
117
117
|
})]);
|
|
118
118
|
log('warning', '✔️ - Project created!');
|
|
119
119
|
const spinner = ora({
|
|
@@ -125,7 +125,7 @@ ${author.name}
|
|
|
125
125
|
cwd: project.directory
|
|
126
126
|
}, (err, stdout, stderr) => {
|
|
127
127
|
if (err) {
|
|
128
|
-
log('stack', stderr);
|
|
128
|
+
log('error-stack', stderr);
|
|
129
129
|
reject(_yerror.default.wrap(err));
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
@@ -141,7 +141,7 @@ ${author.name}
|
|
|
141
141
|
symbol: '❌',
|
|
142
142
|
text: 'Failed to install dependencies'
|
|
143
143
|
});
|
|
144
|
-
log('stack', err.stack);
|
|
144
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
log('warning', `➕ - Run \`cd ${_path.default.relative(CWD, project.directory)}\` to enter the project.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/createWhook.ts"],"names":["GIT_IGNORE_URL","README_REGEXP","initCreateWhook","CWD","SOURCE_DIR","author","project","writeFile","_writeFile","readFile","_readFile","readdir","_readdir","exec","_exec","copy","_copy","axios","_axios","ora","_ora","log","createWhook","basePackageJSON","JSON","parse","path","join","toString","finalPackageJSON","name","description","version","license","engines","main","module","types","private","keywords","email","scripts","metapak","undefined","cli","files","filter","pattern","dependencies","devDependencies","eslintConfig","prettier","babel","jest","Promise","all","directory","src","dest","startsWith","includes","relative","then","data","replace","map","environment","resolve","stringify","method","url","response","catch","err","stack","reject","cwd","stdout","stderr","YError","wrap","trim","spinner","text","start","stopAndPersist","symbol"],"mappings":"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","sourcesContent":["import { autoService } from 'knifecycle';\nimport path from 'path';\nimport _axios from 'axios';\nimport _ora from 'ora';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n readdir as _readdir,\n} from 'fs-extra';\nimport type { LogService } from 'common-services';\nimport type { ProjectService } from './project';\nimport type { AuthorService } from './author';\n\nconst GIT_IGNORE_URL = 'https://www.gitignore.io/api/osx,node,linux';\nconst README_REGEXP =\n /^(?:[^]*)\\[\\/\\/\\]: # \\(::contents:start\\)\\r?\\n\\r?\\n([^]*)\\r?\\n\\r?\\n\\[\\/\\/\\]: # \\(::contents:end\\)(?:[^]*)$/gm;\n\nexport type CreateWhookService = () => Promise<void>;\n\nexport default autoService(async function initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile = _writeFile,\n readFile = _readFile,\n readdir = _readdir,\n exec = _exec,\n copy = _copy,\n axios = _axios,\n ora = _ora,\n log,\n}: {\n CWD: string;\n SOURCE_DIR: string;\n author: AuthorService;\n project: ProjectService;\n writeFile: typeof _writeFile;\n readFile: typeof _readFile;\n readdir: typeof _readdir;\n exec: typeof _exec;\n copy: typeof _copy;\n axios?: typeof _axios;\n ora?: typeof _ora;\n log?: LogService;\n}): Promise<CreateWhookService> {\n return async function createWhook() {\n log('warning', \"🏁️ - Starting Whook project's creation!\");\n\n const basePackageJSON = JSON.parse(\n (await readFile(path.join(SOURCE_DIR, 'package.json'))).toString(),\n );\n\n const finalPackageJSON = {\n name: project.name,\n description: 'A new Whook project',\n version: '0.0.0',\n license: 'SEE LICENSE',\n engines: basePackageJSON.engines,\n main: basePackageJSON.main,\n module: basePackageJSON.module,\n types: basePackageJSON.types,\n private: true,\n keywords: ['whook'],\n author: {\n name: author.name,\n email: author.email,\n },\n scripts: {\n ...basePackageJSON.scripts,\n metapak: undefined,\n cli: undefined,\n },\n files: basePackageJSON.files.filter((pattern) => pattern !== 'src/**/*'),\n dependencies: basePackageJSON.dependencies,\n devDependencies: {\n ...basePackageJSON.devDependencies,\n metapak: undefined,\n 'metapak-nfroidure': undefined,\n },\n eslintConfig: basePackageJSON.eslintConfig,\n prettier: basePackageJSON.prettier,\n babel: basePackageJSON.babel,\n jest: basePackageJSON.jest,\n metapak: undefined,\n };\n\n await Promise.all([\n copy(SOURCE_DIR, project.directory, {\n filter: (src, dest) => {\n if (\n src.startsWith(path.join(SOURCE_DIR, 'node_modules')) ||\n src.startsWith(path.join(SOURCE_DIR, 'dist')) ||\n src.startsWith(path.join(SOURCE_DIR, 'coverage')) ||\n [\n path.join(SOURCE_DIR, 'package.json'),\n path.join(SOURCE_DIR, 'package-lock.json'),\n path.join(SOURCE_DIR, 'LICENSE'),\n path.join(SOURCE_DIR, 'README.md'),\n ].includes(src)\n ) {\n log(\n 'debug',\n `Discarding \"${src}\" => \"${dest} (\"${path.relative(\n src,\n SOURCE_DIR,\n )}\").`,\n );\n return false;\n }\n log('debug', `Moving \"${src}\" => \"${dest}\".`);\n return true;\n },\n }),\n readFile(path.join(SOURCE_DIR, 'README.md')).then((data) =>\n writeFile(\n path.join(project.directory, 'README.md'),\n `# ${project.name}\n\n${data.toString().replace(README_REGEXP, '$1')}\n\n## Author\n${author.name}\n\n`,\n ),\n ),\n ...(\n await readdir(path.join(SOURCE_DIR, 'src', 'config'))\n ).map((environment) =>\n environment === 'common'\n ? Promise.resolve()\n : writeFile(\n path.join(project.directory, `.env.${environment}`),\n 'JWT_SECRET=oudelali\\n',\n ),\n ),\n writeFile(\n path.join(project.directory, 'package.json'),\n JSON.stringify(finalPackageJSON),\n ),\n writeFile(\n path.join(project.directory, 'LICENSE'),\n `Copyright ${author.name}, all rights reserved.`,\n ),\n axios({\n method: 'get',\n url: GIT_IGNORE_URL,\n })\n .then((response) =>\n writeFile(path.join(project.directory, '.gitignore'), response.data),\n )\n .catch((err) => {\n log(\n 'error',\n `⚠️ - Could not retrieve the \\`.gitignore\\` file contents from: \"${GIT_IGNORE_URL}\"`,\n );\n log('stack', err.stack);\n }),\n new Promise((resolve, reject) =>\n exec(\n 'git init',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('stack', stderr);\n reject(YError.wrap(err));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n ).catch((err) => {\n log('error', '⚠️ - Could not initialize the git project!');\n log('stack', err.stack);\n }),\n ]);\n\n log('warning', '✔️ - Project created!');\n\n const spinner = ora({\n text: 'Installing dependencies...',\n }).start();\n\n try {\n await new Promise((resolve, reject) =>\n exec(\n 'npm i',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('stack', stderr);\n reject(YError.wrap(err));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n );\n spinner.stopAndPersist({\n symbol: '✔️',\n text: 'Installed dependencies',\n });\n } catch (err) {\n spinner.stopAndPersist({\n symbol: '❌',\n text: 'Failed to install dependencies',\n });\n log('stack', err.stack);\n }\n\n log(\n 'warning',\n `➕ - Run \\`cd ${path.relative(\n CWD,\n project.directory,\n )}\\` to enter the project.`,\n );\n log(\n 'warning',\n `➕ - Then run \\`DRY_RUN=1 npm run dev\\` to check installation.`,\n );\n log('warning', `➕ - And finally run \\`npm run watch\\` to start dev!`);\n };\n});\n"],"file":"createWhook.js"}
|
|
1
|
+
{"version":3,"file":"createWhook.js","names":["GIT_IGNORE_URL","README_REGEXP","autoService","initCreateWhook","CWD","SOURCE_DIR","author","project","writeFile","_writeFile","readFile","_readFile","readdir","_readdir","exec","_exec","copy","_copy","axios","_axios","ora","_ora","log","createWhook","basePackageJSON","JSON","parse","path","join","toString","finalPackageJSON","name","description","version","license","engines","main","module","types","private","keywords","email","scripts","metapak","undefined","cli","files","filter","pattern","dependencies","devDependencies","eslintConfig","prettier","babel","jest","Promise","all","directory","src","dest","startsWith","includes","relative","then","data","replace","map","environment","resolve","stringify","method","url","response","catch","err","stack","reject","cwd","stdout","stderr","YError","wrap","trim","spinner","text","start","stopAndPersist","symbol"],"sources":["../../src/services/createWhook.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport path from 'path';\nimport _axios from 'axios';\nimport _ora from 'ora';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n readdir as _readdir,\n} from 'fs-extra';\nimport type { LogService } from 'common-services';\nimport type { ProjectService } from './project';\nimport type { AuthorService } from './author';\n\nconst GIT_IGNORE_URL = 'https://www.gitignore.io/api/osx,node,linux';\nconst README_REGEXP =\n /^(?:[^]*)\\[\\/\\/\\]: # \\(::contents:start\\)\\r?\\n\\r?\\n([^]*)\\r?\\n\\r?\\n\\[\\/\\/\\]: # \\(::contents:end\\)(?:[^]*)$/gm;\n\nexport type CreateWhookService = () => Promise<void>;\n\nexport default autoService(async function initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile = _writeFile,\n readFile = _readFile,\n readdir = _readdir,\n exec = _exec,\n copy = _copy,\n axios = _axios,\n ora = _ora,\n log,\n}: {\n CWD: string;\n SOURCE_DIR: string;\n author: AuthorService;\n project: ProjectService;\n writeFile: typeof _writeFile;\n readFile: typeof _readFile;\n readdir: typeof _readdir;\n exec: typeof _exec;\n copy: typeof _copy;\n axios?: typeof _axios;\n ora?: typeof _ora;\n log: LogService;\n}): Promise<CreateWhookService> {\n return async function createWhook() {\n log('warning', \"🏁️ - Starting Whook project's creation!\");\n\n const basePackageJSON = JSON.parse(\n (await readFile(path.join(SOURCE_DIR, 'package.json'))).toString(),\n );\n\n const finalPackageJSON = {\n name: project.name,\n description: 'A new Whook project',\n version: '0.0.0',\n license: 'SEE LICENSE',\n engines: basePackageJSON.engines,\n main: basePackageJSON.main,\n module: basePackageJSON.module,\n types: basePackageJSON.types,\n private: true,\n keywords: ['whook'],\n author: {\n name: author.name,\n email: author.email,\n },\n scripts: {\n ...basePackageJSON.scripts,\n metapak: undefined,\n cli: undefined,\n },\n files: basePackageJSON.files.filter((pattern) => pattern !== 'src/**/*'),\n dependencies: basePackageJSON.dependencies,\n devDependencies: {\n ...basePackageJSON.devDependencies,\n metapak: undefined,\n 'metapak-nfroidure': undefined,\n },\n eslintConfig: basePackageJSON.eslintConfig,\n prettier: basePackageJSON.prettier,\n babel: basePackageJSON.babel,\n jest: basePackageJSON.jest,\n metapak: undefined,\n };\n\n await Promise.all([\n copy(SOURCE_DIR, project.directory, {\n filter: (src, dest) => {\n if (\n src.startsWith(path.join(SOURCE_DIR, 'node_modules')) ||\n src.startsWith(path.join(SOURCE_DIR, 'dist')) ||\n src.startsWith(path.join(SOURCE_DIR, 'coverage')) ||\n [\n path.join(SOURCE_DIR, 'package.json'),\n path.join(SOURCE_DIR, 'package-lock.json'),\n path.join(SOURCE_DIR, 'LICENSE'),\n path.join(SOURCE_DIR, 'README.md'),\n ].includes(src)\n ) {\n log(\n 'debug',\n `Discarding \"${src}\" => \"${dest} (\"${path.relative(\n src,\n SOURCE_DIR,\n )}\").`,\n );\n return false;\n }\n log('debug', `Moving \"${src}\" => \"${dest}\".`);\n return true;\n },\n }),\n readFile(path.join(SOURCE_DIR, 'README.md')).then((data) =>\n writeFile(\n path.join(project.directory, 'README.md'),\n `# ${project.name}\n\n${data.toString().replace(README_REGEXP, '$1')}\n\n## Author\n${author.name}\n\n`,\n ),\n ),\n ...(\n await readdir(path.join(SOURCE_DIR, 'src', 'config'))\n ).map((environment) =>\n environment === 'common'\n ? Promise.resolve()\n : writeFile(\n path.join(project.directory, `.env.${environment}`),\n 'JWT_SECRET=oudelali\\n',\n ),\n ),\n writeFile(\n path.join(project.directory, 'package.json'),\n JSON.stringify(finalPackageJSON),\n ),\n writeFile(\n path.join(project.directory, 'LICENSE'),\n `Copyright ${author.name}, all rights reserved.`,\n ),\n axios({\n method: 'get',\n url: GIT_IGNORE_URL,\n })\n .then((response) =>\n writeFile(path.join(project.directory, '.gitignore'), response.data),\n )\n .catch((err) => {\n log(\n 'error',\n `⚠️ - Could not retrieve the \\`.gitignore\\` file contents from: \"${GIT_IGNORE_URL}\"`,\n );\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }),\n new Promise((resolve, reject) =>\n exec(\n 'git init',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('error-stack', stderr);\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n ).catch((err) => {\n log('error', '⚠️ - Could not initialize the git project!');\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }),\n ]);\n\n log('warning', '✔️ - Project created!');\n\n const spinner = ora({\n text: 'Installing dependencies...',\n }).start();\n\n try {\n await new Promise((resolve, reject) =>\n exec(\n 'npm i',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('error-stack', stderr);\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n );\n spinner.stopAndPersist({\n symbol: '✔️',\n text: 'Installed dependencies',\n });\n } catch (err) {\n spinner.stopAndPersist({\n symbol: '❌',\n text: 'Failed to install dependencies',\n });\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }\n\n log(\n 'warning',\n `➕ - Run \\`cd ${path.relative(\n CWD,\n project.directory,\n )}\\` to enter the project.`,\n );\n log(\n 'warning',\n `➕ - Then run \\`DRY_RUN=1 npm run dev\\` to check installation.`,\n );\n log('warning', `➕ - And finally run \\`npm run watch\\` to start dev!`);\n };\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAUA,MAAMA,cAAc,GAAG,6CAAvB;AACA,MAAMC,aAAa,GACjB,8GADF;;eAKe,IAAAC,mBAAA,EAAY,eAAeC,eAAf,CAA+B;EACxDC,GADwD;EAExDC,UAFwD;EAGxDC,MAHwD;EAIxDC,OAJwD;EAKxDC,SAAS,GAAGC,kBAL4C;EAMxDC,QAAQ,GAAGC,iBAN6C;EAOxDC,OAAO,GAAGC,gBAP8C;EAQxDC,IAAI,GAAGC,mBARiD;EASxDC,IAAI,GAAGC,aATiD;EAUxDC,KAAK,GAAGC,eAVgD;EAWxDC,GAAG,GAAGC,aAXkD;EAYxDC;AAZwD,CAA/B,EA0BK;EAC9B,OAAO,eAAeC,WAAf,GAA6B;IAClCD,GAAG,CAAC,SAAD,EAAY,0CAAZ,CAAH;IAEA,MAAME,eAAe,GAAGC,IAAI,CAACC,KAAL,CACtB,CAAC,MAAMhB,QAAQ,CAACiB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,cAAtB,CAAD,CAAf,EAAwDwB,QAAxD,EADsB,CAAxB;IAIA,MAAMC,gBAAgB,GAAG;MACvBC,IAAI,EAAExB,OAAO,CAACwB,IADS;MAEvBC,WAAW,EAAE,qBAFU;MAGvBC,OAAO,EAAE,OAHc;MAIvBC,OAAO,EAAE,aAJc;MAKvBC,OAAO,EAAEX,eAAe,CAACW,OALF;MAMvBC,IAAI,EAAEZ,eAAe,CAACY,IANC;MAOvBC,MAAM,EAAEb,eAAe,CAACa,MAPD;MAQvBC,KAAK,EAAEd,eAAe,CAACc,KARA;MASvBC,OAAO,EAAE,IATc;MAUvBC,QAAQ,EAAE,CAAC,OAAD,CAVa;MAWvBlC,MAAM,EAAE;QACNyB,IAAI,EAAEzB,MAAM,CAACyB,IADP;QAENU,KAAK,EAAEnC,MAAM,CAACmC;MAFR,CAXe;MAevBC,OAAO,kCACFlB,eAAe,CAACkB,OADd;QAELC,OAAO,EAAEC,SAFJ;QAGLC,GAAG,EAAED;MAHA,EAfgB;MAoBvBE,KAAK,EAAEtB,eAAe,CAACsB,KAAhB,CAAsBC,MAAtB,CAA8BC,OAAD,IAAaA,OAAO,KAAK,UAAtD,CApBgB;MAqBvBC,YAAY,EAAEzB,eAAe,CAACyB,YArBP;MAsBvBC,eAAe,kCACV1B,eAAe,CAAC0B,eADN;QAEbP,OAAO,EAAEC,SAFI;QAGb,qBAAqBA;MAHR,EAtBQ;MA2BvBO,YAAY,EAAE3B,eAAe,CAAC2B,YA3BP;MA4BvBC,QAAQ,EAAE5B,eAAe,CAAC4B,QA5BH;MA6BvBC,KAAK,EAAE7B,eAAe,CAAC6B,KA7BA;MA8BvBC,IAAI,EAAE9B,eAAe,CAAC8B,IA9BC;MA+BvBX,OAAO,EAAEC;IA/Bc,CAAzB;IAkCA,MAAMW,OAAO,CAACC,GAAR,CAAY,CAChBxC,IAAI,CAACX,UAAD,EAAaE,OAAO,CAACkD,SAArB,EAAgC;MAClCV,MAAM,EAAE,CAACW,GAAD,EAAMC,IAAN,KAAe;QACrB,IACED,GAAG,CAACE,UAAJ,CAAejC,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,cAAtB,CAAf,KACAqD,GAAG,CAACE,UAAJ,CAAejC,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,MAAtB,CAAf,CADA,IAEAqD,GAAG,CAACE,UAAJ,CAAejC,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,UAAtB,CAAf,CAFA,IAGA,CACEsB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,cAAtB,CADF,EAEEsB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,mBAAtB,CAFF,EAGEsB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,SAAtB,CAHF,EAIEsB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,WAAtB,CAJF,EAKEwD,QALF,CAKWH,GALX,CAJF,EAUE;UACApC,GAAG,CACD,OADC,EAEA,eAAcoC,GAAI,SAAQC,IAAK,MAAKhC,aAAA,CAAKmC,QAAL,CACnCJ,GADmC,EAEnCrD,UAFmC,CAGnC,KALD,CAAH;UAOA,OAAO,KAAP;QACD;;QACDiB,GAAG,CAAC,OAAD,EAAW,WAAUoC,GAAI,SAAQC,IAAK,IAAtC,CAAH;QACA,OAAO,IAAP;MACD;IAxBiC,CAAhC,CADY,EA2BhBjD,QAAQ,CAACiB,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,WAAtB,CAAD,CAAR,CAA6C0D,IAA7C,CAAmDC,IAAD,IAChDxD,SAAS,CACPmB,aAAA,CAAKC,IAAL,CAAUrB,OAAO,CAACkD,SAAlB,EAA6B,WAA7B,CADO,EAEN,KAAIlD,OAAO,CAACwB,IAAK;AAC5B;AACA,EAAEiC,IAAI,CAACnC,QAAL,GAAgBoC,OAAhB,CAAwBhE,aAAxB,EAAuC,IAAvC,CAA6C;AAC/C;AACA;AACA,EAAEK,MAAM,CAACyB,IAAK;AACd;AACA,CATiB,CADX,CA3BgB,EAwChB,GAAG,CACD,MAAMnB,OAAO,CAACe,aAAA,CAAKC,IAAL,CAAUvB,UAAV,EAAsB,KAAtB,EAA6B,QAA7B,CAAD,CADZ,EAED6D,GAFC,CAEIC,WAAD,IACJA,WAAW,KAAK,QAAhB,GACIZ,OAAO,CAACa,OAAR,EADJ,GAEI5D,SAAS,CACPmB,aAAA,CAAKC,IAAL,CAAUrB,OAAO,CAACkD,SAAlB,EAA8B,QAAOU,WAAY,EAAjD,CADO,EAEP,uBAFO,CALZ,CAxCa,EAkDhB3D,SAAS,CACPmB,aAAA,CAAKC,IAAL,CAAUrB,OAAO,CAACkD,SAAlB,EAA6B,cAA7B,CADO,EAEPhC,IAAI,CAAC4C,SAAL,CAAevC,gBAAf,CAFO,CAlDO,EAsDhBtB,SAAS,CACPmB,aAAA,CAAKC,IAAL,CAAUrB,OAAO,CAACkD,SAAlB,EAA6B,SAA7B,CADO,EAEN,aAAYnD,MAAM,CAACyB,IAAK,wBAFlB,CAtDO,EA0DhBb,KAAK,CAAC;MACJoD,MAAM,EAAE,KADJ;MAEJC,GAAG,EAAEvE;IAFD,CAAD,CAAL,CAIG+D,IAJH,CAISS,QAAD,IACJhE,SAAS,CAACmB,aAAA,CAAKC,IAAL,CAAUrB,OAAO,CAACkD,SAAlB,EAA6B,YAA7B,CAAD,EAA6Ce,QAAQ,CAACR,IAAtD,CALb,EAOGS,KAPH,CAOUC,GAAD,IAAS;MACdpD,GAAG,CACD,OADC,EAEA,mEAAkEtB,cAAe,GAFjF,CAAH;MAIAsB,GAAG,CAAC,aAAD,EAAiBoD,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;IACD,CAbH,CA1DgB,EAwEhB,IAAIpB,OAAJ,CAAY,CAACa,OAAD,EAAUQ,MAAV,KACV9D,IAAI,CACF,UADE,EAEF;MACE+D,GAAG,EAAEtE,OAAO,CAACkD;IADf,CAFE,EAKF,CAACiB,GAAD,EAAMI,MAAN,EAAcC,MAAd,KAAyB;MACvB,IAAIL,GAAJ,EAAS;QACPpD,GAAG,CAAC,aAAD,EAAgByD,MAAhB,CAAH;QACAH,MAAM,CAACI,eAAA,CAAOC,IAAP,CAAYP,GAAZ,CAAD,CAAN;QACA;MACD;;MACDN,OAAO,CAACU,MAAM,CAACI,IAAP,EAAD,CAAP;IACD,CAZC,CADN,EAeET,KAfF,CAeSC,GAAD,IAAS;MACfpD,GAAG,CAAC,OAAD,EAAU,4CAAV,CAAH;MACAA,GAAG,CAAC,aAAD,EAAiBoD,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;IACD,CAlBD,CAxEgB,CAAZ,CAAN;IA6FArD,GAAG,CAAC,SAAD,EAAY,uBAAZ,CAAH;IAEA,MAAM6D,OAAO,GAAG/D,GAAG,CAAC;MAClBgE,IAAI,EAAE;IADY,CAAD,CAAH,CAEbC,KAFa,EAAhB;;IAIA,IAAI;MACF,MAAM,IAAI9B,OAAJ,CAAY,CAACa,OAAD,EAAUQ,MAAV,KAChB9D,IAAI,CACF,OADE,EAEF;QACE+D,GAAG,EAAEtE,OAAO,CAACkD;MADf,CAFE,EAKF,CAACiB,GAAD,EAAMI,MAAN,EAAcC,MAAd,KAAyB;QACvB,IAAIL,GAAJ,EAAS;UACPpD,GAAG,CAAC,aAAD,EAAgByD,MAAhB,CAAH;UACAH,MAAM,CAACI,eAAA,CAAOC,IAAP,CAAYP,GAAZ,CAAD,CAAN;UACA;QACD;;QACDN,OAAO,CAACU,MAAM,CAACI,IAAP,EAAD,CAAP;MACD,CAZC,CADA,CAAN;MAgBAC,OAAO,CAACG,cAAR,CAAuB;QACrBC,MAAM,EAAE,IADa;QAErBH,IAAI,EAAE;MAFe,CAAvB;IAID,CArBD,CAqBE,OAAOV,GAAP,EAAY;MACZS,OAAO,CAACG,cAAR,CAAuB;QACrBC,MAAM,EAAE,GADa;QAErBH,IAAI,EAAE;MAFe,CAAvB;MAIA9D,GAAG,CAAC,aAAD,EAAiBoD,GAAD,CAAeC,KAAf,IAAwB,gBAAxC,CAAH;IACD;;IAEDrD,GAAG,CACD,SADC,EAEA,gBAAeK,aAAA,CAAKmC,QAAL,CACd1D,GADc,EAEdG,OAAO,CAACkD,SAFM,CAGd,0BALD,CAAH;IAOAnC,GAAG,CACD,SADC,EAEA,+DAFA,CAAH;IAIAA,GAAG,CAAC,SAAD,EAAa,qDAAb,CAAH;EACD,CArLD;AAsLD,CAjNc,8I"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
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]
|
|
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
|
|
|
@@ -83,12 +83,12 @@ ${author.name}
|
|
|
83
83
|
url: GIT_IGNORE_URL
|
|
84
84
|
}).then(response => writeFile(path.join(project.directory, '.gitignore'), response.data)).catch(err => {
|
|
85
85
|
log('error', `⚠️ - Could not retrieve the \`.gitignore\` file contents from: "${GIT_IGNORE_URL}"`);
|
|
86
|
-
log('stack', err.stack);
|
|
86
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
87
87
|
}), new Promise((resolve, reject) => exec('git init', {
|
|
88
88
|
cwd: project.directory
|
|
89
89
|
}, (err, stdout, stderr) => {
|
|
90
90
|
if (err) {
|
|
91
|
-
log('stack', stderr);
|
|
91
|
+
log('error-stack', stderr);
|
|
92
92
|
reject(YError.wrap(err));
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
@@ -96,7 +96,7 @@ ${author.name}
|
|
|
96
96
|
resolve(stdout.trim());
|
|
97
97
|
})).catch(err => {
|
|
98
98
|
log('error', '⚠️ - Could not initialize the git project!');
|
|
99
|
-
log('stack', err.stack);
|
|
99
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
100
100
|
})]);
|
|
101
101
|
log('warning', '✔️ - Project created!');
|
|
102
102
|
const spinner = ora({
|
|
@@ -108,7 +108,7 @@ ${author.name}
|
|
|
108
108
|
cwd: project.directory
|
|
109
109
|
}, (err, stdout, stderr) => {
|
|
110
110
|
if (err) {
|
|
111
|
-
log('stack', stderr);
|
|
111
|
+
log('error-stack', stderr);
|
|
112
112
|
reject(YError.wrap(err));
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
@@ -124,7 +124,7 @@ ${author.name}
|
|
|
124
124
|
symbol: '❌',
|
|
125
125
|
text: 'Failed to install dependencies'
|
|
126
126
|
});
|
|
127
|
-
log('stack', err.stack);
|
|
127
|
+
log('error-stack', err.stack || 'no_stack_trace');
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
log('warning', `➕ - Run \`cd ${path.relative(CWD, project.directory)}\` to enter the project.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/createWhook.ts"],"names":["autoService","path","_axios","_ora","YError","exec","_exec","writeFile","_writeFile","readFile","_readFile","copy","_copy","readdir","_readdir","GIT_IGNORE_URL","README_REGEXP","initCreateWhook","CWD","SOURCE_DIR","author","project","axios","ora","log","createWhook","basePackageJSON","JSON","parse","join","toString","finalPackageJSON","name","description","version","license","engines","main","module","types","private","keywords","email","scripts","metapak","undefined","cli","files","filter","pattern","dependencies","devDependencies","eslintConfig","prettier","babel","jest","Promise","all","directory","src","dest","startsWith","includes","relative","then","data","replace","map","environment","resolve","stringify","method","url","response","catch","err","stack","reject","cwd","stdout","stderr","wrap","trim","spinner","text","start","stopAndPersist","symbol"],"mappings":"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","sourcesContent":["import { autoService } from 'knifecycle';\nimport path from 'path';\nimport _axios from 'axios';\nimport _ora from 'ora';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n readdir as _readdir,\n} from 'fs-extra';\nimport type { LogService } from 'common-services';\nimport type { ProjectService } from './project';\nimport type { AuthorService } from './author';\n\nconst GIT_IGNORE_URL = 'https://www.gitignore.io/api/osx,node,linux';\nconst README_REGEXP =\n /^(?:[^]*)\\[\\/\\/\\]: # \\(::contents:start\\)\\r?\\n\\r?\\n([^]*)\\r?\\n\\r?\\n\\[\\/\\/\\]: # \\(::contents:end\\)(?:[^]*)$/gm;\n\nexport type CreateWhookService = () => Promise<void>;\n\nexport default autoService(async function initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile = _writeFile,\n readFile = _readFile,\n readdir = _readdir,\n exec = _exec,\n copy = _copy,\n axios = _axios,\n ora = _ora,\n log,\n}: {\n CWD: string;\n SOURCE_DIR: string;\n author: AuthorService;\n project: ProjectService;\n writeFile: typeof _writeFile;\n readFile: typeof _readFile;\n readdir: typeof _readdir;\n exec: typeof _exec;\n copy: typeof _copy;\n axios?: typeof _axios;\n ora?: typeof _ora;\n log?: LogService;\n}): Promise<CreateWhookService> {\n return async function createWhook() {\n log('warning', \"🏁️ - Starting Whook project's creation!\");\n\n const basePackageJSON = JSON.parse(\n (await readFile(path.join(SOURCE_DIR, 'package.json'))).toString(),\n );\n\n const finalPackageJSON = {\n name: project.name,\n description: 'A new Whook project',\n version: '0.0.0',\n license: 'SEE LICENSE',\n engines: basePackageJSON.engines,\n main: basePackageJSON.main,\n module: basePackageJSON.module,\n types: basePackageJSON.types,\n private: true,\n keywords: ['whook'],\n author: {\n name: author.name,\n email: author.email,\n },\n scripts: {\n ...basePackageJSON.scripts,\n metapak: undefined,\n cli: undefined,\n },\n files: basePackageJSON.files.filter((pattern) => pattern !== 'src/**/*'),\n dependencies: basePackageJSON.dependencies,\n devDependencies: {\n ...basePackageJSON.devDependencies,\n metapak: undefined,\n 'metapak-nfroidure': undefined,\n },\n eslintConfig: basePackageJSON.eslintConfig,\n prettier: basePackageJSON.prettier,\n babel: basePackageJSON.babel,\n jest: basePackageJSON.jest,\n metapak: undefined,\n };\n\n await Promise.all([\n copy(SOURCE_DIR, project.directory, {\n filter: (src, dest) => {\n if (\n src.startsWith(path.join(SOURCE_DIR, 'node_modules')) ||\n src.startsWith(path.join(SOURCE_DIR, 'dist')) ||\n src.startsWith(path.join(SOURCE_DIR, 'coverage')) ||\n [\n path.join(SOURCE_DIR, 'package.json'),\n path.join(SOURCE_DIR, 'package-lock.json'),\n path.join(SOURCE_DIR, 'LICENSE'),\n path.join(SOURCE_DIR, 'README.md'),\n ].includes(src)\n ) {\n log(\n 'debug',\n `Discarding \"${src}\" => \"${dest} (\"${path.relative(\n src,\n SOURCE_DIR,\n )}\").`,\n );\n return false;\n }\n log('debug', `Moving \"${src}\" => \"${dest}\".`);\n return true;\n },\n }),\n readFile(path.join(SOURCE_DIR, 'README.md')).then((data) =>\n writeFile(\n path.join(project.directory, 'README.md'),\n `# ${project.name}\n\n${data.toString().replace(README_REGEXP, '$1')}\n\n## Author\n${author.name}\n\n`,\n ),\n ),\n ...(\n await readdir(path.join(SOURCE_DIR, 'src', 'config'))\n ).map((environment) =>\n environment === 'common'\n ? Promise.resolve()\n : writeFile(\n path.join(project.directory, `.env.${environment}`),\n 'JWT_SECRET=oudelali\\n',\n ),\n ),\n writeFile(\n path.join(project.directory, 'package.json'),\n JSON.stringify(finalPackageJSON),\n ),\n writeFile(\n path.join(project.directory, 'LICENSE'),\n `Copyright ${author.name}, all rights reserved.`,\n ),\n axios({\n method: 'get',\n url: GIT_IGNORE_URL,\n })\n .then((response) =>\n writeFile(path.join(project.directory, '.gitignore'), response.data),\n )\n .catch((err) => {\n log(\n 'error',\n `⚠️ - Could not retrieve the \\`.gitignore\\` file contents from: \"${GIT_IGNORE_URL}\"`,\n );\n log('stack', err.stack);\n }),\n new Promise((resolve, reject) =>\n exec(\n 'git init',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('stack', stderr);\n reject(YError.wrap(err));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n ).catch((err) => {\n log('error', '⚠️ - Could not initialize the git project!');\n log('stack', err.stack);\n }),\n ]);\n\n log('warning', '✔️ - Project created!');\n\n const spinner = ora({\n text: 'Installing dependencies...',\n }).start();\n\n try {\n await new Promise((resolve, reject) =>\n exec(\n 'npm i',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('stack', stderr);\n reject(YError.wrap(err));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n );\n spinner.stopAndPersist({\n symbol: '✔️',\n text: 'Installed dependencies',\n });\n } catch (err) {\n spinner.stopAndPersist({\n symbol: '❌',\n text: 'Failed to install dependencies',\n });\n log('stack', err.stack);\n }\n\n log(\n 'warning',\n `➕ - Run \\`cd ${path.relative(\n CWD,\n project.directory,\n )}\\` to enter the project.`,\n );\n log(\n 'warning',\n `➕ - Then run \\`DRY_RUN=1 npm run dev\\` to check installation.`,\n );\n log('warning', `➕ - And finally run \\`npm run watch\\` to start dev!`);\n };\n});\n"],"file":"createWhook.mjs"}
|
|
1
|
+
{"version":3,"file":"createWhook.mjs","names":["autoService","path","_axios","_ora","YError","exec","_exec","writeFile","_writeFile","readFile","_readFile","copy","_copy","readdir","_readdir","GIT_IGNORE_URL","README_REGEXP","initCreateWhook","CWD","SOURCE_DIR","author","project","axios","ora","log","createWhook","basePackageJSON","JSON","parse","join","toString","finalPackageJSON","name","description","version","license","engines","main","module","types","private","keywords","email","scripts","metapak","undefined","cli","files","filter","pattern","dependencies","devDependencies","eslintConfig","prettier","babel","jest","Promise","all","directory","src","dest","startsWith","includes","relative","then","data","replace","map","environment","resolve","stringify","method","url","response","catch","err","stack","reject","cwd","stdout","stderr","wrap","trim","spinner","text","start","stopAndPersist","symbol"],"sources":["../../src/services/createWhook.ts"],"sourcesContent":["import { autoService } from 'knifecycle';\nimport path from 'path';\nimport _axios from 'axios';\nimport _ora from 'ora';\nimport YError from 'yerror';\nimport { exec as _exec } from 'child_process';\nimport {\n writeFile as _writeFile,\n readFile as _readFile,\n copy as _copy,\n readdir as _readdir,\n} from 'fs-extra';\nimport type { LogService } from 'common-services';\nimport type { ProjectService } from './project';\nimport type { AuthorService } from './author';\n\nconst GIT_IGNORE_URL = 'https://www.gitignore.io/api/osx,node,linux';\nconst README_REGEXP =\n /^(?:[^]*)\\[\\/\\/\\]: # \\(::contents:start\\)\\r?\\n\\r?\\n([^]*)\\r?\\n\\r?\\n\\[\\/\\/\\]: # \\(::contents:end\\)(?:[^]*)$/gm;\n\nexport type CreateWhookService = () => Promise<void>;\n\nexport default autoService(async function initCreateWhook({\n CWD,\n SOURCE_DIR,\n author,\n project,\n writeFile = _writeFile,\n readFile = _readFile,\n readdir = _readdir,\n exec = _exec,\n copy = _copy,\n axios = _axios,\n ora = _ora,\n log,\n}: {\n CWD: string;\n SOURCE_DIR: string;\n author: AuthorService;\n project: ProjectService;\n writeFile: typeof _writeFile;\n readFile: typeof _readFile;\n readdir: typeof _readdir;\n exec: typeof _exec;\n copy: typeof _copy;\n axios?: typeof _axios;\n ora?: typeof _ora;\n log: LogService;\n}): Promise<CreateWhookService> {\n return async function createWhook() {\n log('warning', \"🏁️ - Starting Whook project's creation!\");\n\n const basePackageJSON = JSON.parse(\n (await readFile(path.join(SOURCE_DIR, 'package.json'))).toString(),\n );\n\n const finalPackageJSON = {\n name: project.name,\n description: 'A new Whook project',\n version: '0.0.0',\n license: 'SEE LICENSE',\n engines: basePackageJSON.engines,\n main: basePackageJSON.main,\n module: basePackageJSON.module,\n types: basePackageJSON.types,\n private: true,\n keywords: ['whook'],\n author: {\n name: author.name,\n email: author.email,\n },\n scripts: {\n ...basePackageJSON.scripts,\n metapak: undefined,\n cli: undefined,\n },\n files: basePackageJSON.files.filter((pattern) => pattern !== 'src/**/*'),\n dependencies: basePackageJSON.dependencies,\n devDependencies: {\n ...basePackageJSON.devDependencies,\n metapak: undefined,\n 'metapak-nfroidure': undefined,\n },\n eslintConfig: basePackageJSON.eslintConfig,\n prettier: basePackageJSON.prettier,\n babel: basePackageJSON.babel,\n jest: basePackageJSON.jest,\n metapak: undefined,\n };\n\n await Promise.all([\n copy(SOURCE_DIR, project.directory, {\n filter: (src, dest) => {\n if (\n src.startsWith(path.join(SOURCE_DIR, 'node_modules')) ||\n src.startsWith(path.join(SOURCE_DIR, 'dist')) ||\n src.startsWith(path.join(SOURCE_DIR, 'coverage')) ||\n [\n path.join(SOURCE_DIR, 'package.json'),\n path.join(SOURCE_DIR, 'package-lock.json'),\n path.join(SOURCE_DIR, 'LICENSE'),\n path.join(SOURCE_DIR, 'README.md'),\n ].includes(src)\n ) {\n log(\n 'debug',\n `Discarding \"${src}\" => \"${dest} (\"${path.relative(\n src,\n SOURCE_DIR,\n )}\").`,\n );\n return false;\n }\n log('debug', `Moving \"${src}\" => \"${dest}\".`);\n return true;\n },\n }),\n readFile(path.join(SOURCE_DIR, 'README.md')).then((data) =>\n writeFile(\n path.join(project.directory, 'README.md'),\n `# ${project.name}\n\n${data.toString().replace(README_REGEXP, '$1')}\n\n## Author\n${author.name}\n\n`,\n ),\n ),\n ...(\n await readdir(path.join(SOURCE_DIR, 'src', 'config'))\n ).map((environment) =>\n environment === 'common'\n ? Promise.resolve()\n : writeFile(\n path.join(project.directory, `.env.${environment}`),\n 'JWT_SECRET=oudelali\\n',\n ),\n ),\n writeFile(\n path.join(project.directory, 'package.json'),\n JSON.stringify(finalPackageJSON),\n ),\n writeFile(\n path.join(project.directory, 'LICENSE'),\n `Copyright ${author.name}, all rights reserved.`,\n ),\n axios({\n method: 'get',\n url: GIT_IGNORE_URL,\n })\n .then((response) =>\n writeFile(path.join(project.directory, '.gitignore'), response.data),\n )\n .catch((err) => {\n log(\n 'error',\n `⚠️ - Could not retrieve the \\`.gitignore\\` file contents from: \"${GIT_IGNORE_URL}\"`,\n );\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }),\n new Promise((resolve, reject) =>\n exec(\n 'git init',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('error-stack', stderr);\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n ).catch((err) => {\n log('error', '⚠️ - Could not initialize the git project!');\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }),\n ]);\n\n log('warning', '✔️ - Project created!');\n\n const spinner = ora({\n text: 'Installing dependencies...',\n }).start();\n\n try {\n await new Promise((resolve, reject) =>\n exec(\n 'npm i',\n {\n cwd: project.directory,\n },\n (err, stdout, stderr) => {\n if (err) {\n log('error-stack', stderr);\n reject(YError.wrap(err as Error));\n return;\n }\n resolve(stdout.trim());\n },\n ),\n );\n spinner.stopAndPersist({\n symbol: '✔️',\n text: 'Installed dependencies',\n });\n } catch (err) {\n spinner.stopAndPersist({\n symbol: '❌',\n text: 'Failed to install dependencies',\n });\n log('error-stack', (err as Error).stack || 'no_stack_trace');\n }\n\n log(\n 'warning',\n `➕ - Run \\`cd ${path.relative(\n CWD,\n project.directory,\n )}\\` to enter the project.`,\n );\n log(\n 'warning',\n `➕ - Then run \\`DRY_RUN=1 npm run dev\\` to check installation.`,\n );\n log('warning', `➕ - And finally run \\`npm run watch\\` to start dev!`);\n };\n});\n"],"mappings":"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"}
|