create-warlock 4.0.162 → 4.0.164

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 (96) hide show
  1. package/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
  2. package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
  3. package/cjs/commands/create-new-app/get-app-path.js +8 -0
  4. package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
  5. package/cjs/commands/create-new-app/index.d.ts +2 -0
  6. package/cjs/commands/create-new-app/index.d.ts.map +1 -0
  7. package/cjs/commands/create-new-app/index.js +96 -0
  8. package/cjs/commands/create-new-app/index.js.map +1 -0
  9. package/cjs/commands/create-new-app/types.d.ts +16 -0
  10. package/cjs/commands/create-new-app/types.d.ts.map +1 -0
  11. package/cjs/commands/create-warlock-app/index.d.ts +3 -0
  12. package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
  13. package/cjs/commands/create-warlock-app/index.js +55 -0
  14. package/cjs/commands/create-warlock-app/index.js.map +1 -0
  15. package/cjs/features/database-drivers.d.ts +31 -0
  16. package/cjs/features/database-drivers.d.ts.map +1 -0
  17. package/cjs/features/database-drivers.js +53 -0
  18. package/cjs/features/database-drivers.js.map +1 -0
  19. package/cjs/features/features-map.d.ts +35 -0
  20. package/cjs/features/features-map.d.ts.map +1 -0
  21. package/cjs/features/features-map.js +120 -0
  22. package/cjs/features/features-map.js.map +1 -0
  23. package/cjs/helpers/app.d.ts +71 -0
  24. package/cjs/helpers/app.d.ts.map +1 -0
  25. package/cjs/helpers/app.js +196 -0
  26. package/cjs/helpers/app.js.map +1 -0
  27. package/cjs/helpers/exec.d.ts +10 -0
  28. package/cjs/helpers/exec.d.ts.map +1 -0
  29. package/cjs/helpers/exec.js +69 -0
  30. package/cjs/helpers/exec.js.map +1 -0
  31. package/cjs/helpers/package-manager.d.ts +18 -0
  32. package/cjs/helpers/package-manager.d.ts.map +1 -0
  33. package/cjs/helpers/package-manager.js +104 -0
  34. package/cjs/helpers/package-manager.js.map +1 -0
  35. package/cjs/helpers/paths.d.ts +4 -0
  36. package/cjs/helpers/paths.d.ts.map +1 -0
  37. package/cjs/helpers/paths.js +8 -0
  38. package/cjs/helpers/paths.js.map +1 -0
  39. package/cjs/helpers/project-builder-helpers.d.ts +6 -0
  40. package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
  41. package/cjs/helpers/project-builder-helpers.js +11 -0
  42. package/cjs/helpers/project-builder-helpers.js.map +1 -0
  43. package/cjs/index.d.ts +2 -0
  44. package/cjs/index.d.ts.map +1 -0
  45. package/cjs/index.js +3 -0
  46. package/cjs/index.js.map +1 -0
  47. package/cjs/ui/banner.d.ts +29 -0
  48. package/cjs/ui/banner.d.ts.map +1 -0
  49. package/cjs/ui/banner.js +142 -0
  50. package/cjs/ui/banner.js.map +1 -0
  51. package/cjs/ui/spinners.d.ts +18 -0
  52. package/cjs/ui/spinners.d.ts.map +1 -0
  53. package/cjs/ui/spinners.js +17 -0
  54. package/cjs/ui/spinners.js.map +1 -0
  55. package/esm/features/database-drivers.d.ts +31 -0
  56. package/esm/features/database-drivers.d.ts.map +1 -0
  57. package/esm/features/database-drivers.js +53 -0
  58. package/esm/features/database-drivers.js.map +1 -0
  59. package/esm/features/features-map.d.ts +35 -0
  60. package/esm/features/features-map.d.ts.map +1 -0
  61. package/esm/features/features-map.js +120 -0
  62. package/esm/features/features-map.js.map +1 -0
  63. package/esm/helpers/app.d.ts +71 -0
  64. package/esm/helpers/app.d.ts.map +1 -0
  65. package/esm/helpers/app.js +196 -0
  66. package/esm/helpers/app.js.map +1 -0
  67. package/esm/helpers/exec.d.ts +10 -0
  68. package/esm/helpers/exec.d.ts.map +1 -0
  69. package/esm/helpers/exec.js +69 -0
  70. package/esm/helpers/exec.js.map +1 -0
  71. package/esm/helpers/package-manager.d.ts +18 -0
  72. package/esm/helpers/package-manager.d.ts.map +1 -0
  73. package/esm/helpers/package-manager.js +104 -0
  74. package/esm/helpers/package-manager.js.map +1 -0
  75. package/esm/helpers/paths.d.ts +4 -0
  76. package/esm/helpers/paths.d.ts.map +1 -0
  77. package/esm/helpers/paths.js +8 -0
  78. package/esm/helpers/paths.js.map +1 -0
  79. package/esm/helpers/project-builder-helpers.d.ts +6 -0
  80. package/esm/helpers/project-builder-helpers.d.ts.map +1 -0
  81. package/esm/helpers/project-builder-helpers.js +11 -0
  82. package/esm/helpers/project-builder-helpers.js.map +1 -0
  83. package/esm/index.d.ts +2 -0
  84. package/esm/index.d.ts.map +1 -0
  85. package/esm/index.js +3 -0
  86. package/esm/index.js.map +1 -0
  87. package/esm/ui/banner.d.ts +29 -0
  88. package/esm/ui/banner.d.ts.map +1 -0
  89. package/esm/ui/banner.js +142 -0
  90. package/esm/ui/banner.js.map +1 -0
  91. package/esm/ui/spinners.d.ts +18 -0
  92. package/esm/ui/spinners.d.ts.map +1 -0
  93. package/esm/ui/spinners.js +17 -0
  94. package/esm/ui/spinners.js.map +1 -0
  95. package/package.json +1 -1
  96. package/templates/warlock/package.json +7 -7
@@ -0,0 +1,142 @@
1
+ 'use strict';var copper=require('@mongez/copper');const warlockTextAnsi = `
2
+ \x1b[49m
3
+ \x1b[49m \x1b[38;2;252;238;36m██╗ ██╗ █████╗ ██████╗ ██╗ ██████╗ ██████╗██╗ ██╗ \x1b[38;2;252;238;36m ██╗ ███████╗\x1b[m
4
+ \x1b[49m \x1b[38;2;250;235;34m██║ ██║██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝██║ ██╔╝ \x1b[38;2;250;235;34m ██║ ██╔════╝\x1b[m
5
+ \x1b[49m \x1b[38;2;248;233;32m██║ █╗ ██║███████║██████╔╝██║ ██║ ██║██║ █████╔╝ \x1b[38;2;248;233;32m ██║ ███████╗\x1b[m
6
+ \x1b[49m \x1b[38;2;246;231;30m██║███╗██║██╔══██║██╔══██╗██║ ██║ ██║██║ ██╔═██╗ \x1b[38;2;246;231;30m██ ██║ ╚════██║\x1b[m
7
+ \x1b[49m \x1b[38;2;244;229;28m╚███╔███╔╝██║ ██║██║ ██║███████╗╚██████╔╝╚██████╗██║ ██╗ \x1b[38;2;244;229;28m╚█████╔╝ ███████║\x1b[m
8
+ \x1b[49m \x1b[38;2;242;227;26m ╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝ \x1b[38;2;242;227;26m ╚════╝ ╚══════╝\x1b[m
9
+ \x1b[49m
10
+ `;
11
+ const warlockLogoAnsi = `\x1b[49m \x1b[38;2;247;232;77;49m▄\x1b[38;2;235;228;105;49m▄\x1b[49m \x1b[m
12
+ \x1b[49m \x1b[38;2;247;241;62;49m▄\x1b[38;2;251;243;29;48;2;245;240;69m▄\x1b[38;2;224;224;112;48;2;246;238;52m▄\x1b[49m \x1b[38;2;246;240;65;49m▄\x1b[38;2;252;238;32;48;2;250;237;68m▄\x1b[38;2;246;236;76;48;2;246;237;52m▄\x1b[49m \x1b[m
13
+ \x1b[49m \x1b[38;2;245;234;80;49m▄\x1b[38;2;246;238;58;49m▄\x1b[49m \x1b[49;38;2;240;232;72m▀\x1b[49;38;2;237;237;100m▀\x1b[49m \x1b[38;2;236;236;132;49m▄\x1b[38;2;253;244;30;48;2;255;235;78m▄\x1b[38;2;254;233;21;48;2;247;240;49m▄\x1b[38;2;249;206;52;48;2;253;234;25m▄\x1b[49;38;2;246;212;65m▀\x1b[49m \x1b[m
14
+ \x1b[49m \x1b[38;2;246;233;50;49m▄\x1b[38;2;250;235;26;48;2;237;228;118m▄\x1b[38;2;251;232;21;48;2;249;237;38m▄\x1b[38;2;249;231;20;48;2;251;234;21m▄\x1b[38;2;248;230;21;48;2;252;232;20m▄\x1b[38;2;248;230;21;48;2;248;233;25m▄\x1b[38;2;248;231;22;48;2;245;236;68m▄\x1b[38;2;247;233;32;49m▄\x1b[38;2;242;226;87;49m▄\x1b[49m \x1b[38;2;227;227;99;49m▄\x1b[38;2;250;235;43;49m▄\x1b[38;2;253;235;28;48;2;244;233;69m▄\x1b[38;2;254;226;25;48;2;252;237;25m▄\x1b[38;2;253;199;25;48;2;253;229;24m▄\x1b[38;2;247;205;73;48;2;253;201;27m▄\x1b[49;38;2;235;206;88m▀\x1b[49m \x1b[m
15
+ \x1b[49m \x1b[38;2;239;226;86;49m▄\x1b[38;2;250;235;34;49m▄\x1b[38;2;252;234;19;48;2;243;231;71m▄\x1b[38;2;251;233;19;48;2;251;234;28m▄\x1b[38;2;250;233;19;48;2;251;233;20m▄\x1b[38;2;251;233;20;48;2;250;232;20m▄\x1b[38;2;253;235;25;48;2;251;231;20m▄\x1b[38;2;245;232;53;48;2;251;232;20m▄\x1b[38;2;245;228;57;48;2;250;232;22m▄\x1b[38;2;247;229;39;48;2;248;231;22m▄\x1b[38;2;247;232;22;48;2;248;229;21m▄\x1b[38;2;247;231;21;48;2;248;229;20m▄\x1b[38;2;247;230;20;48;2;247;230;22m▄\x1b[38;2;248;230;20;48;2;246;234;38m▄\x1b[38;2;250;232;28;48;2;239;230;123m▄\x1b[38;2;250;231;49;49m▄\x1b[38;2;235;216;78;49m▄\x1b[49m \x1b[38;2;246;235;53;49m▄\x1b[38;2;251;236;23;48;2;244;232;75m▄\x1b[38;2;252;233;21;48;2;252;236;27m▄\x1b[38;2;253;227;26;48;2;253;233;23m▄\x1b[38;2;253;201;29;48;2;253;228;30m▄\x1b[38;2;253;199;27;48;2;253;201;26m▄\x1b[38;2;232;197;104;48;2;249;201;47m▄\x1b[49m \x1b[m
16
+ \x1b[49m \x1b[38;2;247;232;50;49m▄\x1b[38;2;250;233;28;48;2;245;226;98m▄\x1b[38;2;252;232;20;48;2;249;234;40m▄\x1b[38;2;251;231;20;48;2;253;236;23m▄\x1b[38;2;251;232;20;48;2;252;233;19m▄\x1b[38;2;252;234;22;48;2;250;233;19m▄\x1b[38;2;250;235;38;48;2;251;233;20m▄\x1b[38;2;241;231;68;48;2;252;235;24m▄\x1b[49;38;2;249;234;47m▀\x1b[49;38;2;242;229;78m▀\x1b[49m \x1b[49;38;2;247;229;54m▀\x1b[38;2;241;227;99;48;2;247;231;33m▄\x1b[38;2;248;233;50;48;2;247;232;22m▄\x1b[38;2;250;229;28;48;2;249;230;22m▄\x1b[38;2;254;226;26;48;2;253;224;23m▄\x1b[38;2;235;221;94;48;2;249;221;35m▄\x1b[49m \x1b[38;2;243;237;61;49m▄\x1b[38;2;251;237;28;48;2;243;236;87m▄\x1b[38;2;251;234;20;48;2;250;236;36m▄\x1b[38;2;252;232;21;48;2;252;234;21m▄\x1b[38;2;251;225;23;48;2;251;232;21m▄\x1b[38;2;250;198;26;48;2;251;225;24m▄\x1b[38;2;253;197;26;48;2;251;199;27m▄\x1b[38;2;252;200;38;48;2;255;199;28m▄\x1b[49;38;2;245;202;65m▀\x1b[49m \x1b[m
17
+ \x1b[49m \x1b[38;2;244;235;52;48;2;219;219;128m▄\x1b[38;2;247;234;53;49m▄\x1b[38;2;235;216;118;49m▄\x1b[49m \x1b[38;2;246;236;50;49m▄\x1b[38;2;253;238;21;48;2;249;234;58m▄\x1b[38;2;251;234;20;48;2;250;236;33m▄\x1b[38;2;251;233;19;48;2;252;234;21m▄\x1b[38;2;252;233;21;48;2;251;232;19m▄\x1b[38;2;252;233;26;48;2;251;231;20m▄\x1b[38;2;249;233;43;48;2;253;233;21m▄\x1b[49;38;2;252;236;30m▀\x1b[49;38;2;246;236;57m▀\x1b[49m \x1b[38;2;242;235;87;49m▄\x1b[49m \x1b[49;38;2;246;229;106m▀\x1b[49;38;2;247;227;62m▀\x1b[49m \x1b[49;38;2;248;237;47m▀\x1b[38;2;245;232;62;48;2;247;234;35m▄\x1b[38;2;253;231;26;48;2;252;234;23m▄\x1b[38;2;253;204;27;48;2;253;226;23m▄\x1b[38;2;252;199;34;48;2;252;200;26m▄\x1b[38;2;247;203;52;48;2;253;197;26m▄\x1b[49;38;2;251;199;35m▀\x1b[49;38;2;241;207;96m▀\x1b[49m \x1b[38;2;246;238;65;49m▄\x1b[38;2;250;226;39;49m▄\x1b[38;2;238;221;59;49m▄\x1b[49m \x1b[m
18
+ \x1b[49m \x1b[38;2;242;235;52;48;2;248;235;48m▄\x1b[38;2;251;234;24;48;2;251;234;23m▄\x1b[38;2;251;232;21;48;2;250;237;38m▄\x1b[38;2;248;233;20;48;2;244;236;69m▄\x1b[38;2;246;236;44;49m▄\x1b[38;2;243;238;64;49m▄\x1b[49m \x1b[49;38;2;235;228;87m▀\x1b[49;38;2;247;231;40m▀\x1b[38;2;242;230;96;48;2;248;234;24m▄\x1b[38;2;239;226;78;48;2;252;235;23m▄\x1b[49;38;2;250;234;35m▀\x1b[49;38;2;239;233;98m▀\x1b[49m \x1b[38;2;252;242;36;48;2;246;243;65m▄\x1b[38;2;252;240;31;48;2;251;245;46m▄\x1b[38;2;248;241;106;49m▄\x1b[49m \x1b[38;2;241;241;85;49m▄\x1b[38;2;250;238;34;48;2;244;234;69m▄\x1b[38;2;246;216;49;48;2;253;234;31m▄\x1b[38;2;228;215;121;48;2;252;210;33m▄\x1b[49;38;2;248;205;53m▀\x1b[49m \x1b[38;2;238;238;85;49m▄\x1b[38;2;243;233;63;49m▄\x1b[38;2;251;237;23;48;2;246;237;79m▄\x1b[38;2;253;234;22;48;2;247;234;52m▄\x1b[38;2;253;214;24;48;2;254;233;26m▄\x1b[38;2;249;210;44;48;2;252;212;31m▄\x1b[49m \x1b[m
19
+ \x1b[49m \x1b[49;38;2;228;228;67m▀\x1b[38;2;250;235;32;48;2;252;237;25m▄\x1b[38;2;252;223;25;48;2;250;227;23m▄\x1b[38;2;250;213;27;48;2;248;230;19m▄\x1b[38;2;247;224;25;48;2;247;230;19m▄\x1b[38;2;247;229;19;48;2;246;233;20m▄\x1b[38;2;248;231;22;48;2;243;234;51m▄\x1b[38;2;247;233;22;48;2;236;227;76m▄\x1b[38;2;243;233;67;49m▄\x1b[49m \x1b[38;2;250;238;38;48;2;240;235;82m▄\x1b[38;2;251;235;20;48;2;253;240;20m▄\x1b[38;2;252;232;22;48;2;253;235;23m▄\x1b[38;2;252;237;34;48;2;250;242;52m▄\x1b[49m \x1b[49;38;2;242;234;57m▀\x1b[49;38;2;233;233;78m▀\x1b[49m \x1b[38;2;244;233;98;49m▄\x1b[38;2;251;236;35;49m▄\x1b[38;2;252;236;22;48;2;243;232;72m▄\x1b[38;2;252;235;25;48;2;252;239;28m▄\x1b[38;2;251;233;21;48;2;250;234;20m▄\x1b[38;2;252;220;25;48;2;251;234;21m▄\x1b[38;2;251;203;25;48;2;253;229;23m▄\x1b[38;2;253;205;26;48;2;253;206;25m▄\x1b[38;2;248;209;53;48;2;250;211;51m▄\x1b[49m \x1b[m
20
+ \x1b[49m \x1b[49;38;2;242;230;81m▀\x1b[49;38;2;249;218;33m▀\x1b[38;2;242;212;73;48;2;250;214;26m▄\x1b[38;2;248;210;32;48;2;251;212;26m▄\x1b[38;2;248;213;26;48;2;249;210;26m▄\x1b[38;2;251;214;26;48;2;248;228;27m▄\x1b[38;2;250;214;27;48;2;250;231;20m▄\x1b[38;2;248;226;24;48;2;248;232;19m▄\x1b[38;2;247;231;19;48;2;245;234;26m▄\x1b[38;2;247;232;20;48;2;240;230;78m▄\x1b[38;2;245;236;35;49m▄\x1b[38;2;241;234;86;49m▄\x1b[49m \x1b[38;2;250;237;45;49m▄\x1b[38;2;251;234;20;48;2;251;237;25m▄\x1b[38;2;248;231;21;48;2;249;233;22m▄\x1b[38;2;247;230;20;48;2;248;231;21m▄\x1b[38;2;249;230;21;48;2;252;233;22m▄\x1b[38;2;252;238;35;48;2;249;239;60m▄\x1b[49m \x1b[38;2;223;207;143;49m▄\x1b[38;2;248;232;43;49m▄\x1b[38;2;250;233;21;48;2;237;219;109m▄\x1b[38;2;251;232;20;48;2;249;232;44m▄\x1b[38;2;252;232;21;48;2;251;233;22m▄\x1b[38;2;252;230;21;48;2;252;233;20m▄\x1b[38;2;253;215;26;48;2;253;233;20m▄\x1b[38;2;253;200;29;48;2;253;228;27m▄\x1b[38;2;254;203;28;48;2;252;203;26m▄\x1b[38;2;249;207;48;48;2;252;203;26m▄\x1b[38;2;242;215;74;48;2;253;204;27m▄\x1b[49;38;2;249;209;50m▀\x1b[49;38;2;241;213;99m▀\x1b[49m \x1b[m
21
+ \x1b[49m \x1b[49;38;2;243;213;61m▀\x1b[38;2;231;219;85;48;2;248;216;32m▄\x1b[38;2;245;214;58;48;2;250;215;26m▄\x1b[38;2;248;214;32;48;2;252;212;27m▄\x1b[38;2;250;215;26;48;2;249;217;27m▄\x1b[38;2;250;215;27;48;2;247;227;23m▄\x1b[38;2;247;220;28;48;2;246;231;20m▄\x1b[38;2;246;230;21;48;2;246;234;23m▄\x1b[38;2;251;235;24;48;2;247;237;45m▄\x1b[38;2;242;237;101;49m▄\x1b[49m \x1b[38;2;248;239;63;49m▄\x1b[38;2;252;235;20;48;2;252;237;26m▄\x1b[48;2;249;232;20m \x1b[38;2;250;231;22;48;2;247;230;20m▄\x1b[38;2;248;232;34;48;2;247;230;21m▄\x1b[38;2;248;232;22;48;2;248;231;21m▄\x1b[38;2;249;233;21;48;2;253;235;25m▄\x1b[38;2;251;240;38;48;2;246;241;79m▄\x1b[49m \x1b[38;2;252;237;26;48;2;244;236;59m▄\x1b[38;2;252;233;20;48;2;250;233;23m▄\x1b[48;2;251;232;20m \x1b[38;2;252;230;22;48;2;251;231;20m▄\x1b[38;2;253;214;24;48;2;251;231;20m▄\x1b[38;2;253;200;28;48;2;252;225;22m▄\x1b[38;2;250;203;41;48;2;252;203;26m▄\x1b[38;2;248;205;64;48;2;253;198;28m▄\x1b[49;38;2;249;202;46m▀\x1b[49;38;2;246;207;62m▀\x1b[49m \x1b[m
22
+ \x1b[49m \x1b[49;38;2;245;216;88m▀\x1b[49;38;2;246;216;52m▀\x1b[38;2;242;216;78;48;2;248;216;31m▄\x1b[38;2;249;217;38;48;2;250;215;27m▄\x1b[38;2;250;222;30;48;2;247;227;26m▄\x1b[48;2;248;232;23m \x1b[38;2;252;237;28;48;2;251;241;41m▄\x1b[38;2;238;238;119;49m▄\x1b[49m \x1b[38;2;243;235;85;49m▄\x1b[38;2;252;238;21;48;2;252;240;29m▄\x1b[38;2;252;234;23;48;2;251;234;22m▄\x1b[38;2;254;234;22;48;2;252;233;22m▄\x1b[38;2;248;227;59;48;2;251;232;38m▄\x1b[38;2;244;234;96;48;2;248;235;51m▄\x1b[38;2;251;238;32;48;2;249;235;24m▄\x1b[38;2;250;236;23;48;2;249;234;21m▄\x1b[38;2;252;234;22;48;2;253;236;25m▄\x1b[38;2;251;244;44;48;2;246;246;103m▄\x1b[49m \x1b[38;2;251;240;33;48;2;238;232;81m▄\x1b[38;2;249;233;21;48;2;251;236;19m▄\x1b[38;2;253;227;24;48;2;252;231;21m▄\x1b[38;2;254;204;26;48;2;252;224;23m▄\x1b[38;2;248;206;55;48;2;253;206;27m▄\x1b[49;38;2;250;204;40m▀\x1b[49;38;2;246;207;60m▀\x1b[49m \x1b[m
23
+ \x1b[49m \x1b[38;2;246;215;54;48;2;242;211;53m▄\x1b[38;2;253;217;20;48;2;248;216;35m▄\x1b[38;2;250;221;23;48;2;246;219;57m▄\x1b[38;2;245;232;39;49m▄\x1b[38;2;245;234;65;49m▄\x1b[49m \x1b[38;2;243;219;121;48;2;250;221;50m▄\x1b[38;2;252;221;33;48;2;251;222;30m▄\x1b[38;2;250;228;31;48;2;248;231;26m▄\x1b[38;2;249;232;23;48;2;251;234;23m▄\x1b[38;2;253;238;29;48;2;249;242;63m▄\x1b[49m \x1b[38;2;235;235;112;49m▄\x1b[38;2;251;236;21;48;2;251;240;34m▄\x1b[38;2;250;232;23;48;2;251;234;21m▄\x1b[38;2;253;230;24;48;2;252;233;23m▄\x1b[38;2;250;222;52;48;2;251;227;36m▄\x1b[49m \x1b[38;2;248;241;69;48;2;248;238;48m▄\x1b[38;2;251;239;28;48;2;250;238;25m▄\x1b[38;2;250;236;24;48;2;251;235;23m▄\x1b[38;2;252;234;23;48;2;252;238;26m▄\x1b[38;2;248;240;59;48;2;239;239;128m▄\x1b[49m \x1b[38;2;247;239;52;48;2;244;233;100m▄\x1b[38;2;249;234;20;48;2;252;238;23m▄\x1b[38;2;252;231;22;48;2;250;232;22m▄\x1b[38;2;253;207;25;48;2;253;216;26m▄\x1b[38;2;250;208;54;48;2;252;207;37m▄\x1b[49m \x1b[38;2;241;227;71;49m▄\x1b[38;2;247;213;44;49m▄\x1b[38;2;253;208;29;48;2;237;211;88m▄\x1b[38;2;254;205;28;48;2;248;213;47m▄\x1b[49m \x1b[m
24
+ \x1b[49m \x1b[38;2;245;230;60;48;2;242;224;49m▄\x1b[38;2;249;236;23;48;2;249;233;21m▄\x1b[38;2;252;235;26;48;2;250;231;20m▄\x1b[38;2;249;234;30;48;2;249;233;21m▄\x1b[38;2;254;236;27;48;2;252;236;25m▄\x1b[38;2;249;238;49;48;2;247;241;52m▄\x1b[49m \x1b[38;2;245;216;64;48;2;250;222;59m▄\x1b[38;2;252;220;31;48;2;252;223;33m▄\x1b[38;2;249;229;27;48;2;248;231;24m▄\x1b[38;2;248;230;21;48;2;251;233;22m▄\x1b[38;2;248;235;29;48;2;242;235;85m▄\x1b[38;2;251;235;24;48;2;250;242;49m▄\x1b[38;2;250;231;23;48;2;250;233;22m▄\x1b[38;2;253;225;23;48;2;252;230;24m▄\x1b[38;2;250;215;49;48;2;253;222;28m▄\x1b[49;38;2;244;222;89m▀\x1b[49m \x1b[38;2;247;234;63;48;2;248;238;46m▄\x1b[38;2;251;238;25;48;2;250;237;25m▄\x1b[38;2;250;233;22;48;2;250;234;21m▄\x1b[38;2;251;233;21;48;2;252;237;26m▄\x1b[38;2;244;232;62;49m▄\x1b[38;2;249;232;21;48;2;252;239;24m▄\x1b[38;2;250;231;22;48;2;249;231;22m▄\x1b[38;2;252;212;25;48;2;252;225;23m▄\x1b[38;2;251;209;55;48;2;253;204;27m▄\x1b[49;38;2;239;206;99m▀\x1b[49m \x1b[38;2;250;237;49;48;2;250;242;50m▄\x1b[38;2;251;234;22;48;2;252;231;25m▄\x1b[38;2;253;227;27;48;2;253;212;26m▄\x1b[38;2;254;206;26;48;2;254;204;25m▄\x1b[49m \x1b[m
25
+ \x1b[49m \x1b[38;2;253;239;29;48;2;238;230;84m▄\x1b[38;2;254;234;24;48;2;253;238;23m▄\x1b[38;2;253;209;29;48;2;254;233;26m▄\x1b[38;2;244;216;71;48;2;241;220;99m▄\x1b[49m \x1b[38;2;247;217;53;48;2;250;218;44m▄\x1b[38;2;251;217;31;48;2;250;222;31m▄\x1b[38;2;247;228;24;48;2;245;229;20m▄\x1b[48;2;245;229;19m \x1b[38;2;246;229;19;48;2;247;229;20m▄\x1b[38;2;253;224;24;48;2;251;229;23m▄\x1b[38;2;249;211;52;48;2;253;213;27m▄\x1b[49;38;2;244;210;68m▀\x1b[49m \x1b[38;2;249;234;57;48;2;249;237;39m▄\x1b[38;2;250;235;23;48;2;250;234;24m▄\x1b[38;2;247;231;19;48;2;247;230;19m▄\x1b[38;2;244;229;16;48;2;247;230;18m▄\x1b[38;2;246;229;18;48;2;246;230;19m▄\x1b[38;2;253;223;23;48;2;252;228;21m▄\x1b[38;2;253;206;37;48;2;253;208;26m▄\x1b[49;38;2;251;211;57m▀\x1b[49m \x1b[38;2;250;239;47;48;2;250;239;50m▄\x1b[38;2;250;236;23;48;2;249;235;22m▄\x1b[38;2;254;231;28;48;2;254;229;26m▄\x1b[38;2;255;209;26;48;2;254;209;27m▄\x1b[49m \x1b[m
26
+ \x1b[49m \x1b[38;2;245;239;70;49m▄\x1b[38;2;253;241;21;48;2;250;243;39m▄\x1b[38;2;251;208;32;48;2;254;237;23m▄\x1b[38;2;248;210;82;48;2;252;208;31m▄\x1b[49;38;2;245;213;78m▀\x1b[49m \x1b[38;2;246;218;70;48;2;252;217;33m▄\x1b[38;2;250;220;29;48;2;248;225;27m▄\x1b[38;2;248;229;24;48;2;245;229;20m▄\x1b[38;2;253;223;23;48;2;251;228;21m▄\x1b[38;2;252;209;33;48;2;253;211;26m▄\x1b[49;38;2;242;208;64m▀\x1b[49m \x1b[49;38;2;237;237;91m▀\x1b[38;2;246;235;64;48;2;251;237;29m▄\x1b[38;2;248;237;24;48;2;248;233;23m▄\x1b[38;2;247;233;21;48;2;245;231;18m▄\x1b[38;2;253;230;23;48;2;249;230;19m▄\x1b[38;2;253;206;30;48;2;253;209;24m▄\x1b[38;2;239;223;96;48;2;249;207;58m▄\x1b[49m \x1b[38;2;247;239;50;48;2;247;239;47m▄\x1b[38;2;249;236;23;48;2;250;236;23m▄\x1b[48;2;254;230;27m \x1b[38;2;254;209;27;48;2;254;209;26m▄\x1b[49m \x1b[m
27
+ \x1b[49m \x1b[38;2;235;235;78;49m▄\x1b[38;2;253;240;32;48;2;234;234;90m▄\x1b[38;2;249;224;34;48;2;253;242;25m▄\x1b[38;2;245;214;92;48;2;251;215;32m▄\x1b[49;38;2;240;209;85m▀\x1b[49m \x1b[38;2;245;235;64;49m▄\x1b[38;2;253;239;32;48;2;239;231;112m▄\x1b[38;2;246;239;82;49m▄\x1b[49m \x1b[49;38;2;246;219;73m▀\x1b[38;2;249;221;48;48;2;252;220;29m▄\x1b[38;2;254;222;27;48;2;253;228;27m▄\x1b[38;2;253;208;28;48;2;254;210;24m▄\x1b[38;2;237;219;73;48;2;244;208;63m▄\x1b[49m \x1b[38;2;249;236;42;49m▄\x1b[38;2;250;234;23;49m▄\x1b[38;2;249;231;24;49m▄\x1b[38;2;248;228;34;49m▄\x1b[38;2;243;226;99;49m▄\x1b[49m \x1b[49;38;2;242;242;67m▀\x1b[38;2;248;238;57;48;2;252;238;26m▄\x1b[38;2;253;236;26;48;2;251;235;23m▄\x1b[38;2;253;213;26;48;2;253;227;24m▄\x1b[38;2;247;209;62;48;2;247;209;61m▄\x1b[49m \x1b[38;2;247;239;49;48;2;247;239;47m▄\x1b[38;2;250;234;23;48;2;250;235;22m▄\x1b[38;2;254;228;28;48;2;254;230;28m▄\x1b[38;2;254;207;26;48;2;254;208;26m▄\x1b[49m \x1b[m
28
+ \x1b[49m \x1b[38;2;246;237;59;49m▄\x1b[38;2;249;236;35;48;2;249;240;43m▄\x1b[49;38;2;249;233;39m▀\x1b[49;38;2;237;219;109m▀\x1b[49m \x1b[38;2;239;234;80;49m▄\x1b[38;2;251;241;38;49m▄\x1b[38;2;252;239;32;48;2;252;242;48m▄\x1b[38;2;249;237;37;48;2;253;239;24m▄\x1b[38;2;245;233;57;48;2;254;236;21m▄\x1b[38;2;237;237;128;48;2;251;239;47m▄\x1b[49m \x1b[49;38;2;244;221;68m▀\x1b[38;2;252;216;33;48;2;254;216;24m▄\x1b[38;2;244;211;78;48;2;245;211;57m▄\x1b[49m \x1b[38;2;250;238;31;48;2;250;239;49m▄\x1b[38;2;249;233;20;48;2;251;235;20m▄\x1b[38;2;246;232;19;48;2;249;232;19m▄\x1b[38;2;246;231;19;48;2;248;231;19m▄\x1b[38;2;251;232;21;48;2;251;230;20m▄\x1b[38;2;253;217;25;48;2;250;222;34m▄\x1b[38;2;243;225;103;49m▄\x1b[49m \x1b[49;38;2;238;230;85m▀\x1b[38;2;251;237;40;48;2;253;238;27m▄\x1b[38;2;237;219;83;48;2;250;212;43m▄\x1b[49m \x1b[38;2;248;238;53;49m▄\x1b[38;2;252;234;34;48;2;250;237;49m▄\x1b[38;2;253;220;26;48;2;252;233;23m▄\x1b[38;2;252;202;28;48;2;253;225;29m▄\x1b[38;2;254;204;26;48;2;254;205;26m▄\x1b[49m \x1b[m
29
+ \x1b[49m \x1b[38;2;240;229;56;48;2;247;232;62m▄\x1b[49;38;2;249;238;37m▀\x1b[49m \x1b[49;38;2;231;231;110m▀\x1b[49;38;2;244;241;45m▀\x1b[49;38;2;239;239;63m▀\x1b[49m \x1b[49;38;2;241;217;88m▀\x1b[49m \x1b[38;2;249;236;52;48;2;249;237;33m▄\x1b[38;2;250;237;24;48;2;248;234;22m▄\x1b[38;2;250;234;21;48;2;246;233;19m▄\x1b[38;2;251;230;21;48;2;247;233;19m▄\x1b[38;2;253;210;26;48;2;252;230;22m▄\x1b[38;2;251;207;36;48;2;253;209;27m▄\x1b[49;38;2;243;219;95m▀\x1b[49m \x1b[49;38;2;241;223;96m▀\x1b[49m \x1b[38;2;242;233;67;49m▄\x1b[38;2;249;236;41;49m▄\x1b[38;2;253;237;23;48;2;245;232;63m▄\x1b[38;2;253;226;24;48;2;251;238;38m▄\x1b[38;2;251;201;26;48;2;252;234;23m▄\x1b[38;2;251;198;26;48;2;251;210;25m▄\x1b[38;2;253;202;29;48;2;251;199;25m▄\x1b[38;2;251;203;42;48;2;253;201;28m▄\x1b[38;2;229;211;123;48;2;253;203;32m▄\x1b[49m \x1b[m
30
+ \x1b[38;2;222;222;144;49m▄\x1b[38;2;229;220;123;48;2;234;225;98m▄\x1b[49;38;2;228;215;121m▀\x1b[49m \x1b[38;2;248;236;46;49m▄\x1b[38;2;252;236;21;48;2;243;230;66m▄\x1b[38;2;251;233;20;48;2;249;234;38m▄\x1b[38;2;251;231;20;48;2;248;234;33m▄\x1b[38;2;248;231;20;48;2;244;229;67m▄\x1b[38;2;244;233;47;49m▄\x1b[38;2;236;236;70;49m▄\x1b[49m \x1b[49;38;2;247;212;46m▀\x1b[49;38;2;250;209;30m▀\x1b[38;2;240;225;150;48;2;251;202;30m▄\x1b[49;38;2;252;203;36m▀\x1b[49;38;2;241;212;90m▀\x1b[49m \x1b[38;2;235;235;98;49m▄\x1b[38;2;243;235;63;49m▄\x1b[38;2;251;238;25;48;2;237;228;73m▄\x1b[38;2;253;236;20;48;2;247;234;52m▄\x1b[38;2;254;230;22;48;2;252;238;23m▄\x1b[38;2;252;206;26;48;2;253;233;21m▄\x1b[38;2;253;198;28;48;2;252;217;25m▄\x1b[38;2;252;201;36;48;2;252;196;26m▄\x1b[38;2;240;205;70;48;2;252;199;28m▄\x1b[49;38;2;250;202;38m▀\x1b[49;38;2;241;213;88m▀\x1b[49m \x1b[m
31
+ \x1b[49;38;2;207;207;191m▀\x1b[49m \x1b[38;2;236;232;82;49m▄\x1b[38;2;248;239;48;49m▄\x1b[49m \x1b[49;38;2;244;231;69m▀\x1b[49;38;2;249;233;29m▀\x1b[38;2;244;228;69;48;2;248;234;23m▄\x1b[38;2;249;233;28;48;2;247;231;21m▄\x1b[38;2;247;232;25;48;2;247;230;20m▄\x1b[38;2;248;231;23;48;2;248;231;19m▄\x1b[38;2;249;232;23;48;2;247;233;20m▄\x1b[38;2;249;233;24;48;2;246;237;59m▄\x1b[38;2;248;237;29;48;2;242;242;77m▄\x1b[38;2;244;240;76;49m▄\x1b[49m \x1b[38;2;241;234;99;49m▄\x1b[38;2;250;238;41;49m▄\x1b[38;2;253;237;26;48;2;242;232;79m▄\x1b[38;2;253;236;25;48;2;252;240;27m▄\x1b[38;2;254;233;24;48;2;254;236;20m▄\x1b[38;2;251;210;29;48;2;253;235;21m▄\x1b[38;2;251;197;28;48;2;253;225;23m▄\x1b[38;2;246;202;53;48;2;254;200;27m▄\x1b[49;38;2;253;199;32m▀\x1b[49;38;2;245;207;64m▀\x1b[49m \x1b[m
32
+ \x1b[49m \x1b[49;38;2;231;219;97m▀\x1b[49;38;2;243;229;58m▀\x1b[49m \x1b[49;38;2;237;237;91m▀\x1b[49;38;2;246;231;56m▀\x1b[38;2;246;238;68;48;2;246;233;22m▄\x1b[38;2;245;230;48;48;2;246;233;21m▄\x1b[38;2;247;235;23;48;2;247;232;19m▄\x1b[38;2;246;233;21;48;2;247;232;18m▄\x1b[38;2;247;232;20;48;2;248;232;18m▄\x1b[38;2;247;231;19;48;2;246;234;29m▄\x1b[38;2;247;232;20;48;2;240;230;80m▄\x1b[38;2;246;233;34;49m▄\x1b[38;2;245;231;52;49m▄\x1b[38;2;250;233;23;48;2;225;225;105m▄\x1b[38;2;252;233;19;48;2;248;234;46m▄\x1b[38;2;253;233;20;48;2;253;235;21m▄\x1b[38;2;254;232;21;48;2;253;234;20m▄\x1b[38;2;252;217;24;48;2;254;234;20m▄\x1b[38;2;253;202;35;48;2;254;230;23m▄\x1b[38;2;246;211;84;48;2;253;201;28m▄\x1b[49;38;2;250;203;46m▀\x1b[49;38;2;247;206;82m▀\x1b[49m \x1b[m
33
+ \x1b[49m \x1b[49;38;2;247;226;63m▀\x1b[49;38;2;247;232;36m▀\x1b[38;2;245;229;57;48;2;246;232;22m▄\x1b[38;2;247;230;31;48;2;248;232;21m▄\x1b[38;2;247;232;21;48;2;247;231;19m▄\x1b[38;2;247;233;19;48;2;246;231;18m▄\x1b[38;2;247;232;17;48;2;246;231;17m▄\x1b[38;2;251;232;19;48;2;249;232;17m▄\x1b[38;2;253;221;24;48;2;252;232;20m▄\x1b[38;2;249;207;48;48;2;253;229;22m▄\x1b[38;2;248;209;72;48;2;253;207;28m▄\x1b[49;38;2;245;202;59m▀\x1b[49;38;2;237;200;109m▀\x1b[49m \x1b[m
34
+ \x1b[49m \x1b[49;38;2;242;230;89m▀\x1b[49;38;2;247;232;50m▀\x1b[38;2;244;227;72;48;2;249;233;28m▄\x1b[38;2;244;218;55;48;2;252;231;23m▄\x1b[49;38;2;250;215;37m▀\x1b[49;38;2;244;206;65m▀\x1b[49m \x1b[m
35
+ `;
36
+ /**
37
+ * Get the intro banner with ASCII art
38
+ */
39
+ function getIntroBanner(version) {
40
+ const versionLine = `v${version}`;
41
+ const totalWidth = 38; // Total width inside the box
42
+ const padding = " ".repeat(totalWidth - 3 - versionLine.length); // 3 is for leading spaces " "
43
+ return `
44
+ ${copper.colors.magentaBright("╭──────────────────────────────────────╮")}
45
+ ${copper.colors.magentaBright("│")} ${copper.colors.magentaBright("│")}
46
+ ${copper.colors.magentaBright("│")} 🧙 ${copper.colors.bold(copper.colors.yellowBright("WARLOCK.JS"))} ${copper.colors.magentaBright("│")}
47
+ ${copper.colors.magentaBright("│")} ${copper.colors.cyan("The Magical Node.js Framework")} ${copper.colors.magentaBright("│")}
48
+ ${copper.colors.magentaBright("│")} ${copper.colors.magentaBright("│")}
49
+ ${copper.colors.magentaBright("│")} ${copper.colors.green(versionLine)}${padding}${copper.colors.magentaBright("│")}
50
+ ${copper.colors.magentaBright("│")} ${copper.colors.magentaBright("│")}
51
+ ${copper.colors.magentaBright("╰──────────────────────────────────────╯")}
52
+ `;
53
+ }
54
+ /**
55
+ * Display the intro banner
56
+ */
57
+ function showIntroBanner(version) {
58
+ console.log(warlockLogoAnsi);
59
+ console.log(warlockTextAnsi);
60
+ console.log(getIntroBanner(version));
61
+ }
62
+ /**
63
+ * Get the success screen with project summary
64
+ */
65
+ function getSuccessScreen(options) {
66
+ const { projectName, database, features, packageManager } = options;
67
+ // Format features text
68
+ let featuresText = features.join(", ");
69
+ if (features.length === 0) {
70
+ featuresText = "none";
71
+ }
72
+ // Calculate dynamic width
73
+ const baseLabelLength = 10; // "Project: ".length
74
+ const padding = 6; // 3 spaces left, 3 spaces right padding for text inside box
75
+ const projectLineLen = projectName.length + baseLabelLength;
76
+ const dbLineLen = database.length + baseLabelLength;
77
+ const featuresLineLen = featuresText.length + baseLabelLength;
78
+ // Find the longest line to determine box width
79
+ // Ensure minimum width of 50 for aesthetics
80
+ const maxContentLength = Math.max(projectLineLen, dbLineLen, featuresLineLen, 40);
81
+ const boxWidth = maxContentLength + padding + 2; // +2 for borders │
82
+ // Helper to generate borders
83
+ const createBorder = (start, end) => copper.colors.magentaBright(start + "─".repeat(boxWidth - 2) + end);
84
+ // Helper to pad content lines
85
+ const padLine = (label, value, isFeature = false) => {
86
+ const valueColor = (text) => {
87
+ if (isFeature && text === "none")
88
+ return copper.colors.dim(text);
89
+ return copper.colors.white(text);
90
+ };
91
+ const labelPart = copper.colors.dim(label.padEnd(10)); // "Project: "
92
+ const valuePart = valueColor(value);
93
+ // Calculate visible length for padding
94
+ const contentVisibleLength = 3 + 10 + value.length;
95
+ const remaining = boxWidth - 2 - contentVisibleLength; // -2 for borders
96
+ return (copper.colors.magentaBright("│") +
97
+ " " +
98
+ labelPart +
99
+ valuePart +
100
+ " ".repeat(remaining) +
101
+ copper.colors.magentaBright("│"));
102
+ };
103
+ const emptyLine = copper.colors.magentaBright("│") +
104
+ " ".repeat(boxWidth - 2) +
105
+ copper.colors.magentaBright("│");
106
+ const headerText = "🎉 YOUR PROJECT IS READY! 🎉";
107
+ const headerPadding = Math.floor((boxWidth - 2 - headerText.length) / 2);
108
+ const headerLine = copper.colors.magentaBright("│") +
109
+ " ".repeat(headerPadding) +
110
+ copper.colors.bold(copper.colors.green(headerText)) +
111
+ " ".repeat(boxWidth - 2 - headerPadding - headerText.length) +
112
+ copper.colors.magentaBright("│");
113
+ const devCommand = packageManager === "npm" ? "npm run dev" : `${packageManager} dev`;
114
+ return `
115
+ ${createBorder("╭", "╮")}
116
+ ${emptyLine}
117
+ ${headerLine}
118
+ ${emptyLine}
119
+ ${padLine("Project:", projectName)}
120
+ ${padLine("Database:", database)}
121
+ ${padLine("Features:", featuresText, true)}
122
+ ${emptyLine}
123
+ ${createBorder("╰", "╯")}
124
+
125
+ ${copper.colors.bold(copper.colors.cyan("🚀 Next steps:"))}
126
+
127
+ ${copper.colors.cyan("cd")} ${projectName}
128
+ ${copper.colors.cyan(devCommand)}
129
+
130
+ ${copper.colors.dim("💡 Pro tip: Install the")} ${copper.colors.yellow("Generator Z")} ${copper.colors.dim("extension in VSCode")}
131
+ ${copper.colors.dim("for helpful code snippets and productivity boosters!")}
132
+
133
+ ${copper.colors.dim("📚 Docs:")} ${copper.colors.cyan("https://warlock.js.org")}
134
+ ${copper.colors.dim("⭐ Star us:")} ${copper.colors.cyan("https://github.com/warlockjs/framework")}
135
+ `;
136
+ }
137
+ /**
138
+ * Display the success screen
139
+ */
140
+ function showSuccessScreen(options) {
141
+ console.log(getSuccessScreen(options));
142
+ }exports.getIntroBanner=getIntroBanner;exports.getSuccessScreen=getSuccessScreen;exports.showIntroBanner=showIntroBanner;exports.showSuccessScreen=showSuccessScreen;exports.warlockLogoAnsi=warlockLogoAnsi;exports.warlockTextAnsi=warlockTextAnsi;//# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sources":["../../src/ui/banner.ts"],"sourcesContent":[null],"names":["colors"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Themed spinner messages for the wizard
3
+ */
4
+ export declare const spinnerMessages: {
5
+ readonly installingDeps: "📦 Summoning dependencies...";
6
+ readonly depsInstalled: "📦 Dependencies materialized! ✅";
7
+ readonly initializingGit: "📂 Initializing grimoire (git)...";
8
+ readonly gitInitialized: "📂 Grimoire initialized! ✅";
9
+ readonly generatingJwt: "🔐 Forging secret keys...";
10
+ readonly jwtGenerated: "🔐 Secret keys forged! ✅";
11
+ readonly warmingCache: "⚡ Charging magical circuits...";
12
+ readonly cacheWarmed: "⚡ Circuits charged! ✅";
13
+ readonly configuringFeatures: "🔧 Configuring enchantments...";
14
+ readonly featuresConfigured: "🔧 Enchantments applied! ✅";
15
+ readonly copyingTemplate: "📋 Preparing your spellbook...";
16
+ readonly templateCopied: "📋 Spellbook ready! ✅";
17
+ };
18
+ //# sourceMappingURL=spinners.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinners.d.ts","sourceRoot":"","sources":["../../src/ui/spinners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAkBlB,CAAC"}
@@ -0,0 +1,17 @@
1
+ 'use strict';/**
2
+ * Themed spinner messages for the wizard
3
+ */
4
+ const spinnerMessages = {
5
+ installingDeps: "📦 Summoning dependencies...",
6
+ depsInstalled: "📦 Dependencies materialized! ✅",
7
+ initializingGit: "📂 Initializing grimoire (git)...",
8
+ gitInitialized: "📂 Grimoire initialized! ✅",
9
+ generatingJwt: "🔐 Forging secret keys...",
10
+ jwtGenerated: "🔐 Secret keys forged! ✅",
11
+ warmingCache: "⚡ Charging magical circuits...",
12
+ cacheWarmed: "⚡ Circuits charged! ✅",
13
+ configuringFeatures: "🔧 Configuring enchantments...",
14
+ featuresConfigured: "🔧 Enchantments applied! ✅",
15
+ copyingTemplate: "📋 Preparing your spellbook...",
16
+ templateCopied: "📋 Spellbook ready! ✅",
17
+ };exports.spinnerMessages=spinnerMessages;//# sourceMappingURL=spinners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spinners.js","sources":["../../src/ui/spinners.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;AAEG;AACU,MAAA,eAAe,GAAG;AAC7B,IAAA,cAAc,EAAE,8BAA8B;AAC9C,IAAA,aAAa,EAAE,iCAAiC;AAEhD,IAAA,eAAe,EAAE,mCAAmC;AACpD,IAAA,cAAc,EAAE,4BAA4B;AAE5C,IAAA,aAAa,EAAE,2BAA2B;AAC1C,IAAA,YAAY,EAAE,0BAA0B;AAExC,IAAA,YAAY,EAAE,gCAAgC;AAC9C,IAAA,WAAW,EAAE,uBAAuB;AAEpC,IAAA,mBAAmB,EAAE,gCAAgC;AACrD,IAAA,kBAAkB,EAAE,4BAA4B;AAEhD,IAAA,eAAe,EAAE,gCAAgC;AACjD,IAAA,cAAc,EAAE,uBAAuB;"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Database driver options and configuration
3
+ */
4
+ export type DatabaseDriver = {
5
+ value: string;
6
+ label: string;
7
+ package: string;
8
+ packageVersion: string;
9
+ defaultPort: number;
10
+ disabled?: boolean;
11
+ hint?: string;
12
+ };
13
+ export declare const databaseDrivers: DatabaseDriver[];
14
+ /**
15
+ * Get database driver options for the select prompt
16
+ */
17
+ export declare function getDatabaseDriverOptions(): {
18
+ value: string;
19
+ label: string;
20
+ hint: string;
21
+ disabled: boolean;
22
+ }[];
23
+ /**
24
+ * Get database driver config by value
25
+ */
26
+ export declare function getDatabaseDriver(value: string): DatabaseDriver | undefined;
27
+ /**
28
+ * Get database driver dependency
29
+ */
30
+ export declare function getDatabaseDependency(driverValue: string): Record<string, string>;
31
+ //# sourceMappingURL=database-drivers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-drivers.d.ts","sourceRoot":"","sources":["../../src/features/database-drivers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,cAAc,EAwB3C,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB;;;;;IAOvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB"}
@@ -0,0 +1,53 @@
1
+ const databaseDrivers = [
2
+ {
3
+ value: "mongodb",
4
+ label: "MongoDB",
5
+ package: "mongodb",
6
+ packageVersion: "^7.0.0",
7
+ defaultPort: 27017,
8
+ },
9
+ {
10
+ value: "postgres",
11
+ label: "PostgreSQL",
12
+ package: "pg",
13
+ packageVersion: "^8.11.0",
14
+ defaultPort: 5432,
15
+ },
16
+ {
17
+ value: "mysql",
18
+ label: "MySQL (Coming Soon)",
19
+ package: "mysql2",
20
+ packageVersion: "^3.5.0",
21
+ defaultPort: 3306,
22
+ disabled: true,
23
+ hint: "MySQL support coming in a future release",
24
+ },
25
+ ];
26
+ /**
27
+ * Get database driver options for the select prompt
28
+ */
29
+ function getDatabaseDriverOptions() {
30
+ return databaseDrivers.map(driver => ({
31
+ value: driver.value,
32
+ label: driver.label,
33
+ hint: driver.hint,
34
+ disabled: driver.disabled,
35
+ }));
36
+ }
37
+ /**
38
+ * Get database driver config by value
39
+ */
40
+ function getDatabaseDriver(value) {
41
+ return databaseDrivers.find(driver => driver.value === value);
42
+ }
43
+ /**
44
+ * Get database driver dependency
45
+ */
46
+ function getDatabaseDependency(driverValue) {
47
+ const driver = getDatabaseDriver(driverValue);
48
+ if (!driver)
49
+ return {};
50
+ return {
51
+ [driver.package]: driver.packageVersion,
52
+ };
53
+ }export{databaseDrivers,getDatabaseDependency,getDatabaseDriver,getDatabaseDriverOptions};//# sourceMappingURL=database-drivers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-drivers.js","sources":["../../src/features/database-drivers.ts"],"sourcesContent":[null],"names":[],"mappings":"AAaa,MAAA,eAAe,GAAqB;AAC/C,IAAA;AACE,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,WAAW,EAAE,KAAK;AACnB,KAAA;AACD,IAAA;AACE,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,KAAK,EAAE,YAAY;AACnB,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,WAAW,EAAE,IAAI;AAClB,KAAA;AACD,IAAA;AACE,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE,0CAA0C;AACjD,KAAA;EACD;AAEF;;AAEG;SACa,wBAAwB,GAAA;IACtC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,KAAK;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC1B,KAAA,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;AAEG;AACG,SAAU,iBAAiB,CAAC,KAAa,EAAA;AAC7C,IAAA,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;AAEG;AACG,SAAU,qBAAqB,CACnC,WAAmB,EAAA;AAEnB,IAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAC9C,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE,CAAC;IAEvB,OAAO;AACL,QAAA,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc;KACxC,CAAC;AACJ"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Hardcoded features map with dependencies, devDependencies, and config stubs
3
+ */
4
+ export type FeatureConfig = {
5
+ label: string;
6
+ description: string;
7
+ dependencies: Record<string, string>;
8
+ devDependencies?: Record<string, string>;
9
+ configStub?: {
10
+ name: string;
11
+ content: string;
12
+ };
13
+ };
14
+ export declare const communicatorConfigStub = "import { CommunicatorsConfigurations } from \"@warlock.js/herald\";\n\nconst communicatorsConfigurations: CommunicatorsConfigurations = {\n host: process.env.RABBITMQ_HOST || \"localhost\",\n port: Number(process.env.RABBITMQ_PORT) || 5672,\n username: process.env.RABBITMQ_USER || \"guest\",\n password: process.env.RABBITMQ_PASSWORD || \"guest\",\n};\n\nexport default communicatorsConfigurations;\n";
15
+ export declare const featuresMap: Record<string, FeatureConfig>;
16
+ /**
17
+ * Get feature options for the multiselect prompt
18
+ */
19
+ export declare function getFeatureOptions(): {
20
+ value: string;
21
+ label: string;
22
+ hint: string;
23
+ }[];
24
+ /**
25
+ * Get all dependencies for selected features
26
+ */
27
+ export declare function getFeatureDependencies(selectedFeatures: string[]): {
28
+ dependencies: Record<string, string>;
29
+ devDependencies: Record<string, string>;
30
+ };
31
+ /**
32
+ * Get config stubs for selected features
33
+ */
34
+ export declare function getFeatureConfigStubs(selectedFeatures: string[]): Array<FeatureConfig>;
35
+ //# sourceMappingURL=features-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-map.d.ts","sourceRoot":"","sources":["../../src/features/features-map.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,sBAAsB,0ZAUlC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAqErD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB;;;;IAMhC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG;IAClE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,CAeA;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,MAAM,EAAE,GACzB,KAAK,CAAC,aAAa,CAAC,CAWtB"}
@@ -0,0 +1,120 @@
1
+ const communicatorConfigStub = `import { CommunicatorsConfigurations } from "@warlock.js/herald";
2
+
3
+ const communicatorsConfigurations: CommunicatorsConfigurations = {
4
+ host: process.env.RABBITMQ_HOST || "localhost",
5
+ port: Number(process.env.RABBITMQ_PORT) || 5672,
6
+ username: process.env.RABBITMQ_USER || "guest",
7
+ password: process.env.RABBITMQ_PASSWORD || "guest",
8
+ };
9
+
10
+ export default communicatorsConfigurations;
11
+ `;
12
+ const featuresMap = {
13
+ react: {
14
+ label: "React (rendering & mails)",
15
+ description: "React and ReactDOM for rendering React components (non-interactive), useful for email templates and HTML generation",
16
+ dependencies: {
17
+ react: "^19.0.0",
18
+ "react-dom": "^19.0.0",
19
+ },
20
+ devDependencies: {
21
+ "@types/react": "^19.0.0",
22
+ "@types/react-dom": "^19.0.0",
23
+ },
24
+ },
25
+ image: {
26
+ label: "Image processing (Sharp)",
27
+ description: "Sharp for image manipulation and optimization",
28
+ dependencies: {
29
+ sharp: "^0.34.0",
30
+ },
31
+ },
32
+ mail: {
33
+ label: "Mail (Nodemailer)",
34
+ description: "Nodemailer for sending emails",
35
+ dependencies: {
36
+ nodemailer: "^6.9.0",
37
+ },
38
+ devDependencies: {
39
+ "@types/nodemailer": "^6.4.0",
40
+ },
41
+ },
42
+ redis: {
43
+ label: "Redis cache",
44
+ description: "Redis client for caching",
45
+ dependencies: {
46
+ redis: "^4.6.0",
47
+ },
48
+ },
49
+ scheduler: {
50
+ label: "Scheduler",
51
+ description: "Warlock scheduler for background tasks and cron jobs",
52
+ dependencies: {
53
+ "@warlock.js/scheduler": "~4.0.0",
54
+ },
55
+ },
56
+ s3: {
57
+ label: "S3 storage",
58
+ description: "AWS S3 for cloud file storage",
59
+ dependencies: {
60
+ "@aws-sdk/client-s3": "^3.0.0",
61
+ "@aws-sdk/lib-storage": "^3.0.0",
62
+ "@aws-sdk/s3-request-presigner": "^3.0.0",
63
+ },
64
+ },
65
+ herald: {
66
+ label: "Herald (RabbitMQ)",
67
+ description: "Message broker for event-driven architecture",
68
+ dependencies: {
69
+ "@warlock.js/herald": "~4.0.0",
70
+ amqplib: "^0.10.0",
71
+ },
72
+ devDependencies: {
73
+ "@types/amqplib": "^0.10.0",
74
+ },
75
+ configStub: {
76
+ name: "communicator",
77
+ content: communicatorConfigStub,
78
+ },
79
+ },
80
+ };
81
+ /**
82
+ * Get feature options for the multiselect prompt
83
+ */
84
+ function getFeatureOptions() {
85
+ return Object.entries(featuresMap).map(([key, config]) => ({
86
+ value: key,
87
+ label: config.label,
88
+ hint: config.description,
89
+ }));
90
+ }
91
+ /**
92
+ * Get all dependencies for selected features
93
+ */
94
+ function getFeatureDependencies(selectedFeatures) {
95
+ const dependencies = {};
96
+ const devDependencies = {};
97
+ for (const feature of selectedFeatures) {
98
+ const config = featuresMap[feature];
99
+ if (config) {
100
+ Object.assign(dependencies, config.dependencies);
101
+ if (config.devDependencies) {
102
+ Object.assign(devDependencies, config.devDependencies);
103
+ }
104
+ }
105
+ }
106
+ return { dependencies, devDependencies };
107
+ }
108
+ /**
109
+ * Get config stubs for selected features
110
+ */
111
+ function getFeatureConfigStubs(selectedFeatures) {
112
+ const stubs = [];
113
+ for (const feature of selectedFeatures) {
114
+ const config = featuresMap[feature];
115
+ if (config?.configStub) {
116
+ stubs.push(config.configStub);
117
+ }
118
+ }
119
+ return stubs;
120
+ }export{communicatorConfigStub,featuresMap,getFeatureConfigStubs,getFeatureDependencies,getFeatureOptions};//# sourceMappingURL=features-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features-map.js","sources":["../../src/features/features-map.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { AppOptions, Application } from "../commands/create-new-app/types";
2
+ import { Template } from "./paths";
3
+ export declare class App {
4
+ protected app: Application;
5
+ /**
6
+ * Resolved files
7
+ */
8
+ protected files: Record<string, FileManager>;
9
+ /**
10
+ * Resolved JSON files
11
+ */
12
+ protected jsonFiles: Record<string, JsonFileManager>;
13
+ isInstalled: boolean;
14
+ constructor(app: Application);
15
+ get options(): AppOptions;
16
+ use(templateName: Template): this;
17
+ init(): this;
18
+ terminate(): void;
19
+ install(): {
20
+ abort: () => Promise<void>;
21
+ install: Promise<boolean>;
22
+ };
23
+ exec(command: string): Promise<boolean>;
24
+ git(): Promise<boolean>;
25
+ updatePackageJson(): this;
26
+ /**
27
+ * Add database driver dependency to package.json
28
+ */
29
+ addDatabaseDriver(driverValue: string): this;
30
+ /**
31
+ * Add selected features' dependencies to package.json
32
+ */
33
+ addFeatures(features: string[]): this;
34
+ /**
35
+ * Copy config stubs for features that require them
36
+ */
37
+ copyConfigStubs(): this;
38
+ /**
39
+ * Get package json file
40
+ */
41
+ get package(): JsonFileManager;
42
+ updateDotEnv(): this;
43
+ /**
44
+ * Get env file to update
45
+ */
46
+ get env(): FileManager;
47
+ get name(): string;
48
+ get path(): string;
49
+ file(relativePath: string): FileManager;
50
+ json(relativePath: string): JsonFileManager;
51
+ }
52
+ export declare function app(app: Application): App;
53
+ export declare class FileManager {
54
+ protected filePath: string;
55
+ content: string;
56
+ constructor(filePath: string);
57
+ protected parseContent(): void;
58
+ replace(search: string, replace: string): this;
59
+ replaceAll(search: string, replace: string): this;
60
+ save(): void;
61
+ }
62
+ export declare class JsonFileManager extends FileManager {
63
+ protected parseContent(): void;
64
+ save(): void;
65
+ has(key: string): boolean;
66
+ replace(key: string, value: any): this;
67
+ replaceAll(key: string, value: any): this;
68
+ }
69
+ export declare function file(path: string): FileManager;
70
+ export declare function jsonFile(path: string): JsonFileManager;
71
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAW3E,OAAO,EAAE,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE7C,qBAAa,GAAG;IAaK,SAAS,CAAC,GAAG,EAAE,WAAW;IAZ7C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAElD;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAM;IAEnD,WAAW,UAAS;gBAEE,GAAG,EAAE,WAAW;IAE7C,IAAW,OAAO,IAAI,UAAU,CAE/B;IAEM,GAAG,CAAC,YAAY,EAAE,QAAQ;IAY1B,IAAI;IAIJ,SAAS;IAIT,OAAO;;;;IAID,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,GAAG;IAOT,iBAAiB;IASxB;;OAEG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM;IAuC5C;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE;IAqBrC;;OAEG;IACI,eAAe;IAqBtB;;OAEG;IACH,IAAW,OAAO,oBAEjB;IAEM,YAAY;IAMnB;;OAEG;IACH,IAAW,GAAG,gBAEb;IAED,IAAW,IAAI,WAEd;IAED,IAAW,IAAI,WAEd;IAEM,IAAI,CAAC,YAAY,EAAE,MAAM;IAUzB,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe;CASnD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,WAAW,OAEnC;AAED,qBAAa,WAAW;IAEH,SAAS,CAAC,QAAQ,EAAE,MAAM;IADtC,OAAO,EAAG,MAAM,CAAC;gBACK,QAAQ,EAAE,MAAM;IAI7C,SAAS,CAAC,YAAY;IAIf,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMvC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,IAAI;CAGZ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAS,CAAC,YAAY;IAIf,IAAI;IAIJ,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAM/B,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAO1C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,eAEhC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,mBAEpC"}