@nathapp/na-cli 1.0.0-rc.14 → 1.0.0-rc.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/.npm/_cacache/index-v5/05/34/1929926becc54c1f69c0921ab74c461c1777ab3d43213900acd4779dbf27 +1 -1
  2. package/.npm/_cacache/index-v5/0b/57/19385728919a097d1777ef98285f6cdfca14b66511276b641ec4a3af64bc +1 -1
  3. package/.npm/_cacache/index-v5/0b/90/c147816be94e86ed9bbb4b9e20409e4791a8991fcfd41d7a44489dedd29b +1 -1
  4. package/.npm/_cacache/index-v5/0b/ac/1bc19a224468b5a9e4382b946d33bb4c236306c2cefe190e5e2db1ded98a +1 -1
  5. package/.npm/_cacache/index-v5/12/6d/f094b1c476935fbda8814b43ee001b439b1f793c265ee5bd97d566143fb4 +1 -1
  6. package/.npm/_cacache/index-v5/12/80/c192e66daf6ba49f528ae81b986857735e6d257bdf4b0b1758eb795cae9b +1 -1
  7. package/.npm/_cacache/index-v5/13/32/a5865acd35ae515cde972c2d6cbff2863e694975883870de78b62a80f30e +1 -1
  8. package/.npm/_cacache/index-v5/14/33/be443b6e6c3ef0ff8f09987bc62d5ef9e61259f3331c422182f6bb74fdeb +1 -1
  9. package/.npm/_cacache/index-v5/14/f7/87042931e5944467d47331c350feb4384bf9143ab6ceebf7108a55905843 +1 -1
  10. package/.npm/_cacache/index-v5/14/fa/f87baceab26935686548c742091e7014930673bc1f077574c54c4c6c2d2d +1 -1
  11. package/.npm/_cacache/index-v5/15/26/abf1072208668be6e34a4311ad25f34fc908c21abc17ef01b5836cef1879 +1 -1
  12. package/.npm/_cacache/index-v5/1a/fd/532a4c7bf52c908d567ded2bb11b0f3282f0733d0d079a5291c2f72e0077 +1 -1
  13. package/.npm/_cacache/index-v5/1b/15/2ed036cc76081b7f1bfb3aa59d491eb3b3602c9381ec8d81435ceecf56b5 +1 -1
  14. package/.npm/_cacache/index-v5/27/b7/7f36d855e73b72c900bef7ba44a2a553de3d77b218493b4ddb6ae6fce516 +1 -1
  15. package/.npm/_cacache/index-v5/27/cc/afd4aa090b087c509f17e75196209f498c916da50ee4e9f26bd8424fd6f7 +1 -1
  16. package/.npm/_cacache/index-v5/2d/80/b5e9ca2e40744e7fa089861626d2a29c62363c01729964f4cf0c3e8ee632 +1 -1
  17. package/.npm/_cacache/index-v5/2d/ed/7f785cb92982f557fdc81aec4081952ce428eb449dd91fa0867b6676fa17 +1 -1
  18. package/.npm/_cacache/index-v5/2e/30/64338ba8469bd5c48ab7843f9d06a83992a346cfd592194af9c6d4d6dc48 +1 -1
  19. package/.npm/_cacache/index-v5/2e/a8/503d5f11e5dcde5786e3973ff160d2acc4736af22f9cd5a883c26adc7824 +1 -1
  20. package/.npm/_cacache/index-v5/30/98/41b0d8db0052e964e4843260ec8a0b12f2541721317cd5ee90b07b6a4d59 +1 -1
  21. package/.npm/_cacache/index-v5/31/64/15cefe5f3b923ebb9c684b37db7451ccf335632aab377fa3c730ec2e79cd +1 -1
  22. package/.npm/_cacache/index-v5/31/ac/4d241faeb3fea9ec8318fd93dd55eb70a87cc8a6e3f849ccef9863882b4b +3 -3
  23. package/.npm/_cacache/index-v5/31/ca/a8c3ab0670811a3887ede187dcd3856d14272349a18f6844f7c8007cc05e +1 -1
  24. package/.npm/_cacache/index-v5/34/a0/f70f68dcf9baef2ff21f29fdd206513fe5b10736be36ddd2f65a654a8f23 +1 -1
  25. package/.npm/_cacache/index-v5/34/f7/8879c3cd1412a0890461590276aa13d0344cb4e09494a4b3d854a7c7660a +1 -1
  26. package/.npm/_cacache/index-v5/35/e5/adb97753b463aa67dc9f26f39e8a52f68bf467cf1187509be7da174c057d +1 -1
  27. package/.npm/_cacache/index-v5/37/53/b5dccfb634beb6de718b268b6434849f27d3cf60d426dc19472a642a3f01 +1 -1
  28. package/.npm/_cacache/index-v5/38/2e/fe53691fa43d2f5ac447c8a2431535ec49118be55bf483c6362d4f72c79b +1 -1
  29. package/.npm/_cacache/index-v5/3c/f6/26a7f7dccb969c764b8bdecb3667023c64bc1159e674fbeeca633c54964c +1 -1
  30. package/.npm/_cacache/index-v5/3d/dd/3e8c6b6c875addf2057fb5fa152fff0fab217f78a8e51c0aa457a925bf12 +1 -1
  31. package/.npm/_cacache/index-v5/3e/77/916dd3c99bb6e83a0217305b0a2a541f122d977edcb92fa6b58eed796c17 +1 -1
  32. package/.npm/_cacache/index-v5/40/62/d04e75208dec117f72a95a5989f81fac7565a530fd22f70ea5e3abc377c3 +2 -2
  33. package/.npm/_cacache/index-v5/42/89/e110619623b1c9111a6392de4b1a62a904fb08d0601f87b9c8e1d493f5d6 +1 -1
  34. package/.npm/_cacache/index-v5/46/5b/f3ce50d3f54a5d65ac316d3c71ef8a8f8bdb072b6dfabc2c69018c3e942a +1 -1
  35. package/.npm/_cacache/index-v5/48/17/0ecf04bc0839b23c609ec7bfea9d339fa2cc3ee5982716cf7465ffaea675 +1 -1
  36. package/.npm/_cacache/index-v5/53/aa/b41f4759346e1d3b6651322d78c7983a4a546cdd6c18c3eb56c944571e4b +1 -1
  37. package/.npm/_cacache/index-v5/57/4d/cdafdfd03e43ca95652cbbb0b23bbbbeef3e16fa307726cb2ae8a5658531 +1 -1
  38. package/.npm/_cacache/index-v5/58/c9/9f8c27572bf3034e8fa9cc74fc00878e45fa7d75d4570d4430e82bfb5ef3 +1 -1
  39. package/.npm/_cacache/index-v5/5a/8c/47e273da29b52c911f59eca44c62faa84be4bb59b1de259ba100ff968559 +1 -1
  40. package/.npm/_cacache/index-v5/5e/89/be4afbbaa5c56c070a74790be14bd112b9e1b3f251324d766264b2c5f880 +1 -1
  41. package/.npm/_cacache/index-v5/5e/e7/453bd89145eccf9d67f5797fb09e5a017b5b13f1ac45cb7b70bda45940ec +2 -2
  42. package/.npm/_cacache/index-v5/5f/57/67c3b0c63ea4198903509c050bb99de2eabd6a2fba583067c4f587dc25f7 +1 -1
  43. package/.npm/_cacache/index-v5/60/8c/b74a2ae1c6978d635a1a21438c553d956a762176742b2749d09db964bf4d +1 -1
  44. package/.npm/_cacache/index-v5/68/6b/1f834b2ea43c7a9d1ffd80eb09f9d44af0895dc31dc3955d4b4c797ea825 +1 -1
  45. package/.npm/_cacache/index-v5/6d/61/c9e7e8446341cea439547eb023fbf47c954ba932e6944a3fd50413c1e861 +1 -1
  46. package/.npm/_cacache/index-v5/6d/b3/82949bd186224f1f51cb3fabdad6a93aa6a64c685b395a36f0a34af15119 +1 -1
  47. package/.npm/_cacache/index-v5/6f/d8/170c71ac7185da1b8040f10243c7294ff9a667a27fffc3479ba2f222f014 +1 -1
  48. package/.npm/_cacache/index-v5/74/d3/f9a4984e5548c5f72b3dc858046781cc3a892b34b6b7e7c353fbc93aa060 +1 -1
  49. package/.npm/_cacache/index-v5/75/ec/5dd4c902abf3f9ae589620cd4fd5b6ccfe045b8abdfbfa050d1a5ba8c01e +1 -1
  50. package/.npm/_cacache/index-v5/77/be/4d3f23909fd5905444d34cb0ce78d5bf6ce157670ae6ed614389a2027d18 +1 -1
  51. package/.npm/_cacache/index-v5/7d/8f/423d7e791f7fedd6bef784f0f467761c619f209ce9c788f08b63e968a880 +1 -1
  52. package/.npm/_cacache/index-v5/80/da/c34ca077ec2051cad25b3313e4e75ff4ad2dc2b12a9c250cb9545c0adc4b +1 -1
  53. package/.npm/_cacache/index-v5/84/d7/a5acf52705a1beb66603196f4bc44e583052d0f1d5a23dfb5316da1811d3 +1 -1
  54. package/.npm/_cacache/index-v5/86/7a/c59a43ec4985d34346e5714968f7220d176ea3a61b55464a7fecae01ac47 +1 -1
  55. package/.npm/_cacache/index-v5/87/55/e56d34b37c3170079064597cabb288d076b0d0468eaba3b8a0cf8686ce1f +1 -1
  56. package/.npm/_cacache/index-v5/8a/c9/c10bf71d66461aba0899e81d7a146332c45dbbacb1693c38fc2e4e578e39 +3 -3
  57. package/.npm/_cacache/index-v5/8a/ee/e3e86b627c10a9fc4ed610c15792507293ba1c14e7ba839e22aec609f1e0 +1 -1
  58. package/.npm/_cacache/index-v5/8b/ee/c2ea22c4bf9c5ddcd0333850e543442de3364478847c7ebc382b1ff3a70d +2 -2
  59. package/.npm/_cacache/index-v5/8c/2d/fc95c0f3896963b4fe4b745b6d2bbc04a2a75f31f108ff740215559617f0 +1 -1
  60. package/.npm/_cacache/index-v5/8e/95/715914a073e3319f22dfec7ffac9df9f293d150c0d6723a60ce08ab7f735 +1 -1
  61. package/.npm/_cacache/index-v5/92/a4/7b5bd924b74993fc2b0de1a458842881545ca2cc22f6bc104a0db4fafdab +1 -1
  62. package/.npm/_cacache/index-v5/96/3a/a15f6c4dc3aeb3fd89c0b7a8c3ba58cb31a9b72c98e3b11a8ef1647b537f +1 -1
  63. package/.npm/_cacache/index-v5/96/b2/def9b882b950a49a7096d71afd5fce3a6a9454795fc060b1901e41d44620 +1 -1
  64. package/.npm/_cacache/index-v5/98/64/01faddae5e2bf199c5f8953942897841c5634b1800e246226ea5489f4584 +1 -1
  65. package/.npm/_cacache/index-v5/99/a9/8e746181ef13bc400da207da412881206f4d2004d75453373f6ee7b25ffa +1 -1
  66. package/.npm/_cacache/index-v5/9a/fc/baddd71f459a50b3c710a007fa7d59fa62febef98033b7331374bf02db64 +1 -1
  67. package/.npm/_cacache/index-v5/9b/55/1bc87872916d09156d5c7056d7ac2b245e7a7638b817eb3dbeafa9d33be8 +1 -1
  68. package/.npm/_cacache/index-v5/9b/b8/d45062af43674e433f967d20768d308ed6ce195be6acadfb7cfd21d11e67 +1 -1
  69. package/.npm/_cacache/index-v5/9c/0e/3faaf557a9613fb7f09b5cecc63ebe78da10371a1f2f58b636f8dcb9a914 +1 -1
  70. package/.npm/_cacache/index-v5/9c/b1/fff150691ce095677426e98bb894621ce4a88097d4b2c5c342224e1852ae +1 -1
  71. package/.npm/_cacache/index-v5/9d/eb/0927bbd589e18b447a3726f591019d6728da728f603e77a1ded3f78dc6eb +1 -1
  72. package/.npm/_cacache/index-v5/9f/43/3636172cbc03abf2262c921f9f71572e6b049aa3db8c65d166bcfe5aca5f +1 -1
  73. package/.npm/_cacache/index-v5/a0/9e/5b7b95cdee86846e4fbe92c9e16e0e7f337c77d2c12de9778522b15bed2e +1 -1
  74. package/.npm/_cacache/index-v5/a1/ff/6532bc014331c9b572482a4bd805bf54a7ff8b4ca179b1c811aff3dec690 +1 -1
  75. package/.npm/_cacache/index-v5/a7/11/13f3c5864a7e9d12ca50a19b99d77d88fbcebb1ceb7455eb7ff77f158b64 +1 -1
  76. package/.npm/_cacache/index-v5/aa/9b/8b6d9e0f45dde1c6af2a4fc211f9b3a74f14041dc04a8a20490a478660b2 +1 -1
  77. package/.npm/_cacache/index-v5/aa/c4/489c0e6a9e4cbd64a8acd4fbfda113e9dfdd114f464830471fda53fff0cd +1 -1
  78. package/.npm/_cacache/index-v5/ab/47/d7a88d46cb8996b726bc7ed9280b5eea26889ab7c848149032a6e8911e4b +1 -1
  79. package/.npm/_cacache/index-v5/ac/4c/71e880f5d5c742e0e3807e7f3c398e920dd019bbf723586f0a7342715580 +1 -1
  80. package/.npm/_cacache/index-v5/ac/86/c0732592365d753d382502d91754a3c88f8b20e22cc25a0327beb9429687 +1 -1
  81. package/.npm/_cacache/index-v5/b0/9b/1a1d76c3ad82dd54353bb8ac8397667df4c5db97e42abf0de3fab68065bb +1 -1
  82. package/.npm/_cacache/index-v5/b3/b3/05a8af0a671c32b41850c1223429fe74449cfcb4c7cac54a9c7c213dfcae +3 -3
  83. package/.npm/_cacache/index-v5/b3/ba/fbf7da5c8eb06d9cc72143e3d36d7f701447b4e0a221c40d4960e06c7296 +1 -1
  84. package/.npm/_cacache/index-v5/b5/5f/1a200e91b7580c5893016e1b1397b6a076ff51cc7c5d382c3b1f1e52edd5 +1 -1
  85. package/.npm/_cacache/index-v5/b6/a8/3bf06da815e92239da2bd4ef7322819b458ee23ae8db9f02dc9a3dca722f +1 -1
  86. package/.npm/_cacache/index-v5/b7/38/992d3e6c01fc9098d137f7dbccfcaa5f5124ba9c487e582e6e0d83f99d30 +1 -1
  87. package/.npm/_cacache/index-v5/b7/d6/b5986a5f5d44d726090a94a22a8dff7a7c391df4a4fa4862bb50b1da196b +1 -1
  88. package/.npm/_cacache/index-v5/ba/d5/f7d95a8e3571758f8b5d095a21909a8f6cdfe7fd2349f7f72b2801eef079 +1 -1
  89. package/.npm/_cacache/index-v5/bb/8a/9c0052bb21f628e48a1e8d25084ee4adb402eba28c747d0299ebf4c3185d +1 -1
  90. package/.npm/_cacache/index-v5/be/a3/c0779c8e0be92c748c91a7dad4e6f0fe57ba0158b6bb1bcfddd8fc56c934 +1 -1
  91. package/.npm/_cacache/index-v5/be/c2/aa68eca6cebd477430ae24727732ec08ee9fc9ef2482df77932eb2f413d9 +1 -1
  92. package/.npm/_cacache/index-v5/bf/7c/375aec77f76404d91225e72006a0105b2a6ec04bb02cfa365ebcd4a0232b +1 -1
  93. package/.npm/_cacache/index-v5/c0/15/8b360dbe06b62052f2a43702140af0bca66e2e4064d7d2016efb4a2a149a +1 -1
  94. package/.npm/_cacache/index-v5/c2/a4/488f71f39bc65742422faf2c74e3b330852ef2192dbb3198fed044e60c20 +1 -1
  95. package/.npm/_cacache/index-v5/c4/89/38b2ab5b89326ead12dbed7a2076caa44d1207dd6cdb3f9f93273843dcf5 +1 -1
  96. package/.npm/_cacache/index-v5/c4/ac/4511be3eecea50ee9cadc09a612f9be8598d7b29d5c8b1253c75fa283cc5 +1 -1
  97. package/.npm/_cacache/index-v5/c5/2d/90031096314e15f4fcc35c804c2180f88214a7851b531aa27bd64064f740 +1 -1
  98. package/.npm/_cacache/index-v5/c7/5e/2acc90bb8fd9d3150354ec8b2f7e7cc2c8e0e59efd575a1963f1ca66cbed +1 -1
  99. package/.npm/_cacache/index-v5/c9/f5/c4a24d8834c4e9523cc24e10c6db63876e3eecdb2cf33762b159e3a1e92f +1 -1
  100. package/.npm/_cacache/index-v5/cc/2d/3cc1e00b73d00c921b8f8c92faaae480a160fc63637ba7b098518db79e02 +1 -1
  101. package/.npm/_cacache/index-v5/cf/56/427919eefb09afe942b12902069325293191afa7d59ff0f2b016c402b4ec +1 -1
  102. package/.npm/_cacache/index-v5/d3/ba/564670f99cd2d757d1ac6209834faf1ce9a94ed856243cf090249d9b2b38 +1 -1
  103. package/.npm/_cacache/index-v5/d5/f4/0913a74f5e223a4fe6108493dd3b03c2d47259df459926160659513c9ad3 +1 -1
  104. package/.npm/_cacache/index-v5/dd/03/456ce7d8bffee20c3acf7e18ef6501b637d59a6fa3fa7bac5ed160b6be3f +1 -1
  105. package/.npm/_cacache/index-v5/e3/6a/b90e45414a9e52cdf1e4a96698065357795b9400d7af079b0a75ee8fd76d +1 -1
  106. package/.npm/_cacache/index-v5/e7/16/c0952e37a6a02b506441a59ee6b0e7fa873a515247763df9dddd162bbcf0 +1 -1
  107. package/.npm/_cacache/index-v5/e8/50/601e38974398787a5a8a8b8d835e29447814cd68ff6fe2e9629738e124c6 +1 -1
  108. package/.npm/_cacache/index-v5/ee/47/02714e9e61ca394444a92772fe85340de8bd216b58f59e1af25d5618303f +1 -1
  109. package/.npm/_cacache/index-v5/ef/74/026f830458505ca7ae44dac678900360af24ed6e76521eb12df5fadcf26f +1 -1
  110. package/.npm/_cacache/index-v5/f1/75/91238e32e2ac4d9c4976deec39a2e6ca85c0c678a4466a50ca4412272a7c +1 -1
  111. package/.npm/_cacache/index-v5/f2/1f/c662626ec8eafafa54476678b9f71799a74ee368f2b7845a6ec9f9174a4d +3 -3
  112. package/.npm/_cacache/index-v5/f5/a4/ca599571c5bcfc5351ca53c418a6cd9d162539528b1ed87a692a1677020e +1 -1
  113. package/.npm/_cacache/index-v5/f6/18/16e565c66306149a0b31bb2af01babb55bd65ef7cb85a8a11d486d933b60 +1 -1
  114. package/.npm/_cacache/index-v5/f8/f5/f04b833fa130e113a9093088ad108d8cf9b2b1d5a0336e48cbf0916b8686 +1 -1
  115. package/.npm/_cacache/index-v5/fa/88/31cbd6ca584e75edf3642c6f8b079c1f2b5eca1d7b2780ce2e86c24f1e84 +1 -1
  116. package/.npm/_cacache/index-v5/fb/ae/46c38299837b3b4dcee9dc45854a6901355864326b4e64c730727ca1c88a +1 -1
  117. package/.npm/_cacache/index-v5/fc/1c/958fc085ebdc42fa37d4985cba976a5cca21f678c751c968f8fe9b259455 +1 -1
  118. package/.npm/_cacache/index-v5/fd/2e/6ead8880f4d02a536a570e21b13b4e7c9700082833e556cd53e9e92bfd1b +1 -1
  119. package/.npm/_cacache/index-v5/fd/46/fa56121e15b7f090f8050d0c954bbc9452e4c7ddde82777b2e00552c4220 +1 -1
  120. package/dist/index.js +46 -5
  121. package/dist/index.js.map +1 -1
  122. package/dist/utils/template.js +179 -138
  123. package/dist/utils/template.js.map +1 -1
  124. package/package.json +1 -1
  125. package/src/index.ts +4 -4
  126. package/src/utils/template.ts +82 -82
@@ -17,7 +17,7 @@ export interface CliOptions {
17
17
  projectName: string
18
18
  templateName: string
19
19
  templatePath: string
20
- tartgetPath: string
20
+ targetPath: string
21
21
  config: TemplateConfig
22
22
  }
23
23
 
@@ -30,8 +30,8 @@ export function render(content: string, data: TemplateData) {
30
30
  return ejs.render(content, data);
31
31
  }
32
32
 
33
+ export async function generateTemplate(templateDir: string, targetDirectory: string) {
33
34
 
34
- export function generateTemplate(templateDir: string, targetDirectory: string) {
35
35
  const templateChoices = fs.readdirSync(templateDir);
36
36
 
37
37
  const QUESTIONS = [
@@ -65,11 +65,9 @@ export function generateTemplate(templateDir: string, targetDirectory: string) {
65
65
  },
66
66
  ];
67
67
 
68
-
69
68
  console.log(`Welcome to ${name} version ${version}`);
70
- inquirer.prompt(QUESTIONS)
69
+ return inquirer.prompt(QUESTIONS)
71
70
  .then(answers => {
72
-
73
71
  answers = Object.assign({}, answers, yargs.argv);
74
72
  // @ts-ignore
75
73
  const projectChoice = answers['template'];
@@ -80,22 +78,22 @@ export function generateTemplate(templateDir: string, targetDirectory: string) {
80
78
  // @ts-ignore
81
79
  const runInstall = answers['run_install'];
82
80
  const templatePath = path.join(templateDir, projectChoice);
83
- const tartgetPath = path.join(targetDirectory, projectName);
81
+ const targetPath = path.join(targetDirectory, projectName);
84
82
  const templateConfig = getTemplateConfig(templatePath);
85
83
 
86
84
  const options: CliOptions = {
87
85
  projectName,
88
86
  templateName: projectChoice,
89
87
  templatePath,
90
- tartgetPath,
88
+ targetPath: targetPath,
91
89
  config: templateConfig
92
90
  }
93
91
 
94
- if (!createProject(tartgetPath)) {
92
+ if (!createProject(targetPath)) {
95
93
  return;
96
94
  }
97
95
 
98
- createDirectoryContents(templatePath, projectName, templateConfig, author);
96
+ createDirectoryContents(targetDirectory, templatePath, projectName, templateConfig, author);
99
97
 
100
98
  if (runInstall && !postProcess(options)) {
101
99
  return;
@@ -103,111 +101,113 @@ export function generateTemplate(templateDir: string, targetDirectory: string) {
103
101
 
104
102
  showMessage(options);
105
103
  });
104
+ }
106
105
 
107
- function showMessage(options: CliOptions) {
108
- console.log('');
109
- console.log(chalk.green('Done.'));
110
- console.log(chalk.green(`Go into the project: cd ${options.projectName}`));
111
106
 
112
- const message = options.config.postMessage;
113
107
 
114
- if (message) {
115
- console.log('');
116
- console.log(chalk.yellow(message));
117
- console.log('');
118
- }
108
+ function showMessage(options: CliOptions) {
109
+ console.log('');
110
+ console.log(chalk.green('Done.'));
111
+ console.log(chalk.green(`Go into the project: cd ${options.projectName}`));
112
+
113
+ const message = options.config.postMessage;
119
114
 
115
+ if (message) {
116
+ console.log('');
117
+ console.log(chalk.yellow(message));
118
+ console.log('');
120
119
  }
121
120
 
122
- function getTemplateConfig(templatePath: string): TemplateConfig {
123
- const configPath = path.join(templatePath, '.template.json');
121
+ }
124
122
 
125
- if (!fs.existsSync(configPath)) return {};
123
+ function getTemplateConfig(templatePath: string): TemplateConfig {
124
+ const configPath = path.join(templatePath, '.template.json');
126
125
 
127
- const templateConfigContent = fs.readFileSync(configPath);
126
+ if (!fs.existsSync(configPath)) return {};
128
127
 
129
- if (templateConfigContent) {
130
- return JSON.parse(templateConfigContent.toString());
131
- }
128
+ const templateConfigContent = fs.readFileSync(configPath);
132
129
 
133
- return {};
130
+ if (templateConfigContent) {
131
+ return JSON.parse(templateConfigContent.toString());
134
132
  }
135
133
 
136
- function createProject(projectPath: string) {
137
- if (fs.existsSync(projectPath)) {
138
- console.log(chalk.red(`Folder ${projectPath} exists. Delete or use another name.`));
139
- return false;
140
- }
134
+ return {};
135
+ }
141
136
 
142
- fs.mkdirSync(projectPath);
143
- return true;
137
+ function createProject(projectPath: string) {
138
+ if (fs.existsSync(projectPath)) {
139
+ console.log(chalk.red(`Folder ${projectPath} exists. Delete or use another name.`));
140
+ return false;
144
141
  }
145
142
 
146
- function postProcess(options: CliOptions) {
147
- console.log('');
148
- console.log("running post installation..please wait...")
149
- if (isNode(options)) {
150
- return postProcessNode(options);
151
- }
152
- return true;
153
- }
143
+ fs.mkdirSync(projectPath);
144
+ return true;
145
+ }
154
146
 
155
- function isNode(options: CliOptions) {
156
- return fs.existsSync(path.join(options.templatePath, 'package.json'));
147
+ function postProcess(options: CliOptions) {
148
+ console.log('');
149
+ console.log("running post installation..please wait...")
150
+ if (isNode(options)) {
151
+ return postProcessNode(options);
157
152
  }
153
+ return true;
154
+ }
158
155
 
159
- function postProcessNode(options: CliOptions) {
160
- shell.cd(options.tartgetPath);
156
+ function isNode(options: CliOptions) {
157
+ return fs.existsSync(path.join(options.templatePath, 'package.json'));
158
+ }
161
159
 
162
- let cmd = '';
160
+ function postProcessNode(options: CliOptions) {
161
+ shell.cd(options.targetPath);
163
162
 
164
- if (shell.which('yarn')) {
165
- cmd = 'yarn';
166
- } else if (shell.which('npm')) {
167
- cmd = 'npm install';
168
- }
163
+ let cmd = '';
169
164
 
170
- if (cmd) {
171
- const result = shell.exec(cmd);
165
+ if (shell.which('yarn')) {
166
+ cmd = 'yarn';
167
+ } else if (shell.which('npm')) {
168
+ cmd = 'npm install';
169
+ }
172
170
 
173
- if (result.code !== 0) {
174
- return false;
175
- }
176
- } else {
177
- console.log(chalk.red('No yarn or npm found. Cannot run installation.'));
178
- }
171
+ if (cmd) {
172
+ const result = shell.exec(cmd);
179
173
 
180
- return true;
174
+ if (result.code !== 0) {
175
+ return false;
176
+ }
177
+ } else {
178
+ console.log(chalk.red('No yarn or npm found. Cannot run installation.'));
181
179
  }
182
180
 
183
- const SKIP_FILES = ['node_modules', '.template.json'];
181
+ return true;
182
+ }
184
183
 
185
- function createDirectoryContents(templatePath: string, projectName: string, config: TemplateConfig, author?: string) {
186
- const filesToCreate = fs.readdirSync(templatePath);
184
+ const SKIP_FILES = ['node_modules', '.template.json'];
187
185
 
188
- filesToCreate.forEach(file => {
189
- const origFilePath = path.join(templatePath, file);
186
+ function createDirectoryContents(targetDirectory: string, projectTemplatePath: string, projectName: string, config: TemplateConfig, author?: string) {
187
+ const filesToCreate = fs.readdirSync(projectTemplatePath);
190
188
 
191
- // get stats about the current file
192
- const stats = fs.statSync(origFilePath);
189
+ filesToCreate.forEach(file => {
190
+ const origFilePath = path.join(projectTemplatePath, file);
193
191
 
194
- if (SKIP_FILES.indexOf(file) > -1) return;
192
+ // get stats about the current file
193
+ const stats = fs.statSync(origFilePath);
195
194
 
196
- if (stats.isFile()) {
197
- let contents = fs.readFileSync(origFilePath, 'utf8');
195
+ if (SKIP_FILES.indexOf(file) > -1) return;
198
196
 
199
- if (file === '.npmignore-rename') file = '.npmignore';
197
+ if (stats.isFile()) {
198
+ let contents = fs.readFileSync(origFilePath, 'utf8');
200
199
 
201
- contents = render(contents, { projectName, author });
200
+ if (file === '.npmignore-rename') file = '.npmignore';
202
201
 
203
- const writePath = path.join(targetDirectory, projectName, file);
204
- fs.writeFileSync(writePath, contents, 'utf8');
205
- } else if (stats.isDirectory()) {
206
- fs.mkdirSync(path.join(targetDirectory, projectName, file));
202
+ contents = render(contents, { projectName, author });
207
203
 
208
- // recursive call
209
- createDirectoryContents(path.join(templatePath, file), path.join(projectName, file), config, author);
210
- }
211
- });
212
- }
204
+ const writePath = path.join(targetDirectory, projectName, file);
205
+ fs.writeFileSync(writePath, contents, 'utf8');
206
+ } else if (stats.isDirectory()) {
207
+ fs.mkdirSync(path.join(targetDirectory, projectName, file));
208
+
209
+ // recursive call
210
+ createDirectoryContents(targetDirectory, path.join(projectTemplatePath, file), path.join(projectName, file), config, author);
211
+ }
212
+ });
213
213
  }