create-warlock 1.0.9 → 1.0.11

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 (82) 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 +44 -0
  8. package/cjs/commands/create-new-app/index.js.map +1 -0
  9. package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
  10. package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
  11. package/cjs/commands/create-new-app/types.d.ts +9 -0
  12. package/cjs/commands/create-new-app/types.d.ts.map +1 -0
  13. package/cjs/commands/create-warlock-app/index.d.ts +3 -0
  14. package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
  15. package/cjs/commands/create-warlock-app/index.js +18 -0
  16. package/cjs/commands/create-warlock-app/index.js.map +1 -0
  17. package/cjs/helpers/app.d.ts +51 -0
  18. package/cjs/helpers/app.d.ts.map +1 -0
  19. package/cjs/helpers/app.js +127 -0
  20. package/cjs/helpers/app.js.map +1 -0
  21. package/cjs/helpers/exec.d.ts +10 -0
  22. package/cjs/helpers/exec.d.ts.map +1 -0
  23. package/cjs/helpers/exec.js +69 -0
  24. package/cjs/helpers/exec.js.map +1 -0
  25. package/cjs/helpers/package-manager.d.ts +6 -0
  26. package/cjs/helpers/package-manager.d.ts.map +1 -0
  27. package/cjs/helpers/package-manager.js +22 -0
  28. package/cjs/helpers/package-manager.js.map +1 -0
  29. package/cjs/helpers/paths.d.ts +4 -0
  30. package/cjs/helpers/paths.d.ts.map +1 -0
  31. package/cjs/helpers/paths.js +8 -0
  32. package/cjs/helpers/paths.js.map +1 -0
  33. package/cjs/helpers/project-builder-helpers.d.ts +7 -0
  34. package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
  35. package/cjs/helpers/project-builder-helpers.js +44 -0
  36. package/cjs/helpers/project-builder-helpers.js.map +1 -0
  37. package/cjs/index.d.ts +2 -0
  38. package/cjs/index.d.ts.map +1 -0
  39. package/cjs/index.js +5 -0
  40. package/cjs/index.js.map +1 -0
  41. package/esm/commands/create-new-app/get-app-path.d.ts +2 -0
  42. package/esm/commands/create-new-app/get-app-path.d.ts.map +1 -0
  43. package/esm/commands/create-new-app/get-app-path.js +8 -0
  44. package/esm/commands/create-new-app/get-app-path.js.map +1 -0
  45. package/esm/commands/create-new-app/index.d.ts +2 -0
  46. package/esm/commands/create-new-app/index.d.ts.map +1 -0
  47. package/esm/commands/create-new-app/index.js +44 -0
  48. package/esm/commands/create-new-app/index.js.map +1 -0
  49. package/esm/commands/create-new-app/select-app-type.d.ts +2 -0
  50. package/esm/commands/create-new-app/select-app-type.d.ts.map +1 -0
  51. package/esm/commands/create-new-app/types.d.ts +9 -0
  52. package/esm/commands/create-new-app/types.d.ts.map +1 -0
  53. package/esm/commands/create-warlock-app/index.d.ts +3 -0
  54. package/esm/commands/create-warlock-app/index.d.ts.map +1 -0
  55. package/esm/commands/create-warlock-app/index.js +18 -0
  56. package/esm/commands/create-warlock-app/index.js.map +1 -0
  57. package/esm/helpers/app.d.ts +51 -0
  58. package/esm/helpers/app.d.ts.map +1 -0
  59. package/esm/helpers/app.js +127 -0
  60. package/esm/helpers/app.js.map +1 -0
  61. package/esm/helpers/exec.d.ts +10 -0
  62. package/esm/helpers/exec.d.ts.map +1 -0
  63. package/esm/helpers/exec.js +69 -0
  64. package/esm/helpers/exec.js.map +1 -0
  65. package/esm/helpers/package-manager.d.ts +6 -0
  66. package/esm/helpers/package-manager.d.ts.map +1 -0
  67. package/esm/helpers/package-manager.js +22 -0
  68. package/esm/helpers/package-manager.js.map +1 -0
  69. package/esm/helpers/paths.d.ts +4 -0
  70. package/esm/helpers/paths.d.ts.map +1 -0
  71. package/esm/helpers/paths.js +8 -0
  72. package/esm/helpers/paths.js.map +1 -0
  73. package/esm/helpers/project-builder-helpers.d.ts +7 -0
  74. package/esm/helpers/project-builder-helpers.d.ts.map +1 -0
  75. package/esm/helpers/project-builder-helpers.js +44 -0
  76. package/esm/helpers/project-builder-helpers.js.map +1 -0
  77. package/esm/index.d.ts +2 -0
  78. package/esm/index.d.ts.map +1 -0
  79. package/esm/index.js +5 -0
  80. package/esm/index.js.map +1 -0
  81. package/package.json +1 -1
  82. package/templates/warlock/package.json +3 -3
@@ -0,0 +1,2 @@
1
+ export default function getAppPath(appName: string): string;
2
+ //# sourceMappingURL=get-app-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-path.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,MAAM,UAgBjD"}
@@ -0,0 +1,8 @@
1
+ 'use strict';var copper=require('@mongez/copper'),fs=require('@mongez/fs'),path=require('path');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespace(path);function getAppPath(appName) {
2
+ const appPath = path__namespace.resolve(process.cwd(), appName);
3
+ if (fs.isDirectory(appPath)) {
4
+ console.log(copper.colors.redBright(`${process.cwd()} has an existing directory \`${copper.colors.cyan(appName)}\`, please choose another app name or another directory to run the command from.`));
5
+ process.exit(1);
6
+ }
7
+ return appPath;
8
+ }module.exports=getAppPath;//# sourceMappingURL=get-app-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-path.js","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"sourcesContent":[null],"names":["path","isDirectory","colors"],"mappings":"4cAIwB,SAAA,UAAU,CAAC,OAAe,EAAA;AAChD,IAAA,MAAM,OAAO,GAAWA,eAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAA,IAAIC,cAAW,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CACTC,aAAM,CAAC,SAAS,CACd,CAAG,EAAA,OAAO,CAAC,GAAG,EAAE,CAAgC,6BAAA,EAAAA,aAAM,CAAC,IAAI,CACzD,OAAO,CACR,CAAA,gFAAA,CAAkF,CACpF,CACF,CAAC;AAEF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB"}
@@ -0,0 +1,2 @@
1
+ export default function createNewApp(createWarlockVersion: string): Promise<void>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/index.ts"],"names":[],"mappings":"AAmBA,wBAA8B,YAAY,CAAC,oBAAoB,EAAE,MAAM,iBA6CtE"}
@@ -0,0 +1,44 @@
1
+ 'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper'),app=require('../../helpers/app.js'),packageManager=require('../../helpers/package-manager.js'),index=require('../create-warlock-app/index.js'),getAppPath=require('./get-app-path.js');const appDetails = {
2
+ appName: "",
3
+ appType: "",
4
+ appPath: "",
5
+ pkgManager: "",
6
+ options: {},
7
+ };
8
+ async function createNewApp(createWarlockVersion) {
9
+ prompts.intro(`✨ Let's create a new ${copper.colors.yellowBright("Warlock Js App")} ✨ ${copper.colors.greenBright(`v` + createWarlockVersion)}`);
10
+ const appName = await prompts.text({
11
+ message: "Enter the app name",
12
+ placeholder: "warlock-app",
13
+ });
14
+ if (prompts.isCancel(appName) || !appName.trim()) {
15
+ prompts.cancel("Application name is required to create a new app");
16
+ process.exit(0);
17
+ }
18
+ const packageManager$1 = await prompts.select({
19
+ message: "Select package manager to use 📦 ",
20
+ initialValue: packageManager.getPackageManager(),
21
+ options: [
22
+ {
23
+ label: "Npm",
24
+ value: "npm",
25
+ },
26
+ {
27
+ label: "Yarn",
28
+ value: "yarn",
29
+ },
30
+ {
31
+ label: "Pnpm",
32
+ value: "pnpm",
33
+ },
34
+ ],
35
+ });
36
+ packageManager.setPackageManager(packageManager$1);
37
+ appDetails.appName = appName;
38
+ appDetails.appPath = getAppPath(appName);
39
+ appDetails.pkgManager = packageManager$1;
40
+ if (!appDetails.appPath)
41
+ return;
42
+ appDetails.appType = "warlock";
43
+ index.createWarlockApp(new app.App(appDetails));
44
+ }module.exports=createNewApp;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/commands/create-new-app/index.ts"],"sourcesContent":[null],"names":["intro","colors","text","isCancel","cancel","packageManager","select","getPackageManager","setPackageManager","createWarlockApp","App"],"mappings":"2QAWA,MAAM,UAAU,GAAsB;AACpC,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,OAAO,EAAE,EAAE;CACZ,CAAC;AAEa,eAAe,YAAY,CAAC,oBAA4B,EAAA;AACrE,IAAAA,aAAK,CACH,CAAwB,qBAAA,EAAAC,aAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA,GAAA,EAAMA,aAAM,CAAC,WAAW,CAAC,CAAG,CAAA,CAAA,GAAG,oBAAoB,CAAC,CAAA,CAAE,CACpH,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,MAAMC,YAAI,CAAC;AACzB,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,WAAW,EAAE,aAAa;AAC3B,KAAA,CAAC,CAAC;IAEH,IAAIC,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;QACxCC,cAAM,CAAC,kDAAkD,CAAC,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,MAAMC,gBAAc,GAAG,MAAMC,cAAM,CAAC;AAClC,QAAA,OAAO,EAAE,mCAAmC;QAC5C,YAAY,EAAEC,gCAAiB,EAAE;AACjC,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA,CAAC,CAAC;IAEHC,gCAAiB,CAACH,gBAAc,CAAC,CAAC;AAElC,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,IAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACzC,IAAA,UAAU,CAAC,UAAU,GAAGA,gBAAc,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO;AAEhC,IAAA,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAE/B,IAAAI,sBAAgB,CAAC,IAAIC,OAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC"}
@@ -0,0 +1,2 @@
1
+ export default function selectAppType(): Promise<any>;
2
+ //# sourceMappingURL=select-app-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-app-type.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/select-app-type.ts"],"names":[],"mappings":"AAGA,wBAA8B,aAAa,iBAoB1C"}
@@ -0,0 +1,9 @@
1
+ export type App = {
2
+ appName?: string;
3
+ appType?: string;
4
+ appPath?: string;
5
+ options?: any;
6
+ pkgManager?: string;
7
+ };
8
+ export type Application = Required<App>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,GAAG;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { App } from "src/helpers/app";
2
+ export declare function createWarlockApp(application: App): Promise<void>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-warlock-app/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,GAAG,iBA4BtD"}
@@ -0,0 +1,18 @@
1
+ 'use strict';var prompts=require('@clack/prompts'),packageManager=require('../../helpers/package-manager.js');async function createWarlockApp(application) {
2
+ application.init().use("warlock").updatePackageJson().updateDotEnv();
3
+ await application.install();
4
+ const gitInstalled = await application.git();
5
+ if (gitInstalled) {
6
+ const loading = prompts.spinner();
7
+ loading.start("📂 Preparing Huskier 🚀");
8
+ await application.exec("npx huskier-init");
9
+ loading.stop("📂 Huskier initialized 🔗");
10
+ }
11
+ if (application.isInstalled) {
12
+ const loading = prompts.spinner();
13
+ loading.start("🔑 Generating JWT Secret");
14
+ await application.exec(packageManager.runPackageManagerCommand("jwt"));
15
+ loading.stop("🔑 JWT Secret generated 🔒");
16
+ }
17
+ application.terminate();
18
+ }exports.createWarlockApp=createWarlockApp;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/commands/create-warlock-app/index.ts"],"sourcesContent":[null],"names":["spinner","runPackageManagerCommand"],"mappings":"8GAIO,eAAe,gBAAgB,CAAC,WAAgB,EAAA;AACrD,IAAA,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;AAErE,IAAA,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;AAE5B,IAAA,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;AAE7C,IAAA,IAAI,YAAY,EAAE;AAChB,QAAA,MAAM,OAAO,GAAGA,eAAO,EAAE,CAAC;AAE1B,QAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAEzC,QAAA,MAAM,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE3C,QAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAC3C,KAAA;IAED,IAAI,WAAW,CAAC,WAAW,EAAE;AAC3B,QAAA,MAAM,OAAO,GAAGA,eAAO,EAAE,CAAC;AAE1B,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE1C,MAAM,WAAW,CAAC,IAAI,CAACC,uCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AAExD,QAAA,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAC5C,KAAA;IAED,WAAW,CAAC,SAAS,EAAE,CAAC;AAC1B"}
@@ -0,0 +1,51 @@
1
+ import { Application } from "src/commands/create-new-app/types";
2
+ import { Template } from "src/helpers/paths";
3
+ export declare class App {
4
+ protected app: Application;
5
+ /**
6
+ * Resolved files
7
+ */
8
+ protected files: Record<string, FileManager>;
9
+ isInstalled: boolean;
10
+ constructor(app: Application);
11
+ use(templateName: Template): this;
12
+ init(): this;
13
+ terminate(): void;
14
+ install(): Promise<this>;
15
+ exec(command: string): Promise<boolean>;
16
+ git(): Promise<boolean>;
17
+ updatePackageJson(): this;
18
+ /**
19
+ * Get package json file
20
+ */
21
+ get package(): FileManager;
22
+ updateDotEnv(): this;
23
+ /**
24
+ * Get env file to update
25
+ */
26
+ get env(): FileManager;
27
+ get name(): string;
28
+ get path(): string;
29
+ file(relativePath: string): FileManager;
30
+ json(relativePath: string): FileManager;
31
+ }
32
+ export declare function app(app: Application): App;
33
+ export declare class FileManager {
34
+ protected filePath: any;
35
+ content: string;
36
+ constructor(filePath: any);
37
+ protected parseContent(): void;
38
+ replace(search: string, replace: string): this;
39
+ replaceAll(search: string, replace: string): this;
40
+ save(): void;
41
+ }
42
+ export declare class JsonFileManager extends FileManager {
43
+ protected parseContent(): void;
44
+ save(): void;
45
+ has(key: string): boolean;
46
+ replace(key: string, value: any): this;
47
+ replaceAll(key: string, value: any): this;
48
+ }
49
+ export declare function file(path: string): FileManager;
50
+ export declare function jsonFile(path: string): JsonFileManager;
51
+ //# 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,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAY,MAAM,mBAAmB,CAAC;AAQvD,qBAAa,GAAG;IAQK,SAAS,CAAC,GAAG,EAAE,WAAW;IAP7C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAE3C,WAAW,UAAS;gBAEE,GAAG,EAAE,WAAW;IAEtC,GAAG,CAAC,YAAY,EAAE,QAAQ;IAY1B,IAAI;IAIJ,SAAS;IAIH,OAAO;IAMP,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,GAAG;IAIT,iBAAiB;IASxB;;OAEG;IACH,IAAW,OAAO,gBAEjB;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;CASjC;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,WAAW,OAEnC;AAED,qBAAa,WAAW;IAEH,SAAS,CAAC,QAAQ;IAD9B,OAAO,EAAG,MAAM,CAAC;gBACK,QAAQ,KAAA;IAIrC,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"}
@@ -0,0 +1,127 @@
1
+ 'use strict';var fs=require('@mongez/fs'),path=require('path'),exec=require('./exec.js'),paths=require('./paths.js'),projectBuilderHelpers=require('./project-builder-helpers.js'),packageManager=require('./package-manager.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);class App {
2
+ app;
3
+ /**
4
+ * Resolved files
5
+ */
6
+ files = {};
7
+ isInstalled = false;
8
+ constructor(app) {
9
+ this.app = app;
10
+ }
11
+ use(templateName) {
12
+ fs.copyDirectory(paths.template(templateName), this.path);
13
+ if (fs.fileExists(this.path + "/.env.example")) {
14
+ fs.copyFile(this.path + "/.env.example", this.path + "/.env");
15
+ }
16
+ fs.renameFile(this.path + "/_.gitignore", this.path + "/.gitignore");
17
+ return this;
18
+ }
19
+ init() {
20
+ return this;
21
+ }
22
+ terminate() {
23
+ projectBuilderHelpers.allDone(this.name);
24
+ }
25
+ async install() {
26
+ this.isInstalled = await projectBuilderHelpers.installDependencies(this.path);
27
+ return this;
28
+ }
29
+ async exec(command) {
30
+ const [commandName, ...optionsList] = command.split(" ");
31
+ return await exec.executeCommand(commandName, optionsList, this.path);
32
+ }
33
+ async git() {
34
+ return await projectBuilderHelpers.initializeGitRepository(this.path);
35
+ }
36
+ updatePackageJson() {
37
+ this.package
38
+ .replace("name", this.name.replaceAll("/", "-"))
39
+ .replaceAll("yarn", packageManager.getPackageManager())
40
+ .save();
41
+ return this;
42
+ }
43
+ /**
44
+ * Get package json file
45
+ */
46
+ get package() {
47
+ return this.json("package.json");
48
+ }
49
+ updateDotEnv() {
50
+ this.file(".env").replaceAll("appName", this.name).save();
51
+ return this;
52
+ }
53
+ /**
54
+ * Get env file to update
55
+ */
56
+ get env() {
57
+ return this.file(".env");
58
+ }
59
+ get name() {
60
+ return this.app.appName;
61
+ }
62
+ get path() {
63
+ return this.app.appPath;
64
+ }
65
+ file(relativePath) {
66
+ const fullPath = path__default.default.resolve(this.path, relativePath);
67
+ if (!this.files[fullPath]) {
68
+ this.files[fullPath] = file(fullPath);
69
+ }
70
+ return this.files[fullPath];
71
+ }
72
+ json(relativePath) {
73
+ const fullPath = path__default.default.resolve(this.path, relativePath);
74
+ if (!this.files[fullPath]) {
75
+ this.files[fullPath] = jsonFile(fullPath);
76
+ }
77
+ return this.files[fullPath];
78
+ }
79
+ }
80
+ class FileManager {
81
+ filePath;
82
+ content;
83
+ constructor(filePath) {
84
+ this.filePath = filePath;
85
+ this.parseContent();
86
+ }
87
+ parseContent() {
88
+ this.content = fs.getFile(this.filePath);
89
+ }
90
+ replace(search, replace) {
91
+ this.content = this.content.replace(search, replace);
92
+ return this;
93
+ }
94
+ replaceAll(search, replace) {
95
+ this.content = this.content.replaceAll(search, replace);
96
+ return this;
97
+ }
98
+ save() {
99
+ fs.putFile(this.filePath, this.content);
100
+ }
101
+ }
102
+ class JsonFileManager extends FileManager {
103
+ parseContent() {
104
+ this.content = fs.getJsonFile(this.filePath);
105
+ }
106
+ save() {
107
+ fs.putJsonFile(this.filePath, this.content);
108
+ }
109
+ has(key) {
110
+ return this.content[key] !== undefined;
111
+ }
112
+ replace(key, value) {
113
+ this.content[key] = value;
114
+ return this;
115
+ }
116
+ replaceAll(key, value) {
117
+ const contentAsString = JSON.stringify(this.content);
118
+ this.content = JSON.parse(contentAsString.replaceAll(key, value));
119
+ return this;
120
+ }
121
+ }
122
+ function file(path) {
123
+ return new FileManager(path);
124
+ }
125
+ function jsonFile(path) {
126
+ return new JsonFileManager(path);
127
+ }exports.App=App;exports.FileManager=FileManager;exports.JsonFileManager=JsonFileManager;exports.file=file;exports.jsonFile=jsonFile;//# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sources":["../../src/helpers/app.ts"],"sourcesContent":[null],"names":["copyDirectory","template","fileExists","copyFile","renameFile","allDone","installDependencies","executeCommand","initializeGitRepository","getPackageManager","path","getFile","putFile","getJsonFile","putJsonFile"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export default function exec(command: string, options?: any): Promise<any>;
2
+ /**
3
+ * This function directly executes a command
4
+ */
5
+ export declare function executeCommand(cmd: string, args: string[], cwd: string): Promise<boolean>;
6
+ export declare function runCommand(cmd: string, args: string[], cwd: string): {
7
+ abort: () => Promise<void>;
8
+ install: Promise<boolean>;
9
+ };
10
+ //# sourceMappingURL=exec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/helpers/exec.ts"],"names":[],"mappings":"AAKA,wBAA8B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,gBAWpE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,oBA0B5E;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;;;EAwClE"}
@@ -0,0 +1,69 @@
1
+ 'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper'),spawn=require('cross-spawn');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var spawn__default=/*#__PURE__*/_interopDefault(spawn);/**
2
+ * This function directly executes a command
3
+ */
4
+ async function executeCommand(cmd, args, cwd) {
5
+ return new Promise(resolve => {
6
+ const child = spawn__default.default(cmd, args, {
7
+ cwd,
8
+ stdio: "ignore",
9
+ });
10
+ child.on("error", e => {
11
+ if (e) {
12
+ if (e.message) {
13
+ prompts.log.error(copper.colors.red(String(e.message)) + `\n\n`);
14
+ }
15
+ else {
16
+ prompts.log.error(copper.colors.red(String(e)) + `\n\n`);
17
+ }
18
+ }
19
+ resolve(false);
20
+ });
21
+ child.on("close", code => {
22
+ if (code === 0) {
23
+ resolve(true);
24
+ }
25
+ else {
26
+ resolve(false);
27
+ }
28
+ });
29
+ });
30
+ }
31
+ function runCommand(cmd, args, cwd) {
32
+ let child;
33
+ const install = new Promise(resolve => {
34
+ try {
35
+ child = spawn__default.default(cmd, args, {
36
+ cwd,
37
+ stdio: "ignore",
38
+ });
39
+ child.on("error", e => {
40
+ if (e) {
41
+ if (e.message) {
42
+ prompts.log.error(copper.colors.red(String(e.message)) + `\n\n`);
43
+ }
44
+ else {
45
+ prompts.log.error(copper.colors.red(String(e)) + `\n\n`);
46
+ }
47
+ }
48
+ resolve(false);
49
+ });
50
+ child.on("close", code => {
51
+ if (code === 0) {
52
+ resolve(true);
53
+ }
54
+ else {
55
+ resolve(false);
56
+ }
57
+ });
58
+ }
59
+ catch (e) {
60
+ resolve(false);
61
+ }
62
+ });
63
+ const abort = async () => {
64
+ if (child) {
65
+ child.kill("SIGINT");
66
+ }
67
+ };
68
+ return { abort, install };
69
+ }exports.executeCommand=executeCommand;exports.runCommand=runCommand;//# sourceMappingURL=exec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec.js","sources":["../../src/helpers/exec.ts"],"sourcesContent":[null],"names":["spawn","log","colors"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function getPackageManager(): any;
2
+ export declare function setPackageManager(packageManager: string): void;
3
+ export declare function installCommand(): string;
4
+ export declare function startCommand(): string;
5
+ export declare function runPackageManagerCommand(command: string): string;
6
+ //# sourceMappingURL=package-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/helpers/package-manager.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,QAQhC;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,QAEvD;AAED,wBAAgB,cAAc,WAE7B;AAED,wBAAgB,YAAY,WAI3B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,UAMvD"}
@@ -0,0 +1,22 @@
1
+ 'use strict';var detectPackageManager=require('which-pm-runs');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var detectPackageManager__default=/*#__PURE__*/_interopDefault(detectPackageManager);let detectedPackageManager;
2
+ function getPackageManager() {
3
+ if (detectedPackageManager) {
4
+ return detectedPackageManager;
5
+ }
6
+ const packageManager = detectPackageManager__default.default();
7
+ return packageManager.name || "npm";
8
+ }
9
+ function setPackageManager(packageManager) {
10
+ detectedPackageManager = packageManager;
11
+ }
12
+ function startCommand() {
13
+ if (getPackageManager() === "npm")
14
+ return "npm run start";
15
+ return `${getPackageManager()} start`;
16
+ }
17
+ function runPackageManagerCommand(command) {
18
+ const packageManager = getPackageManager();
19
+ if (packageManager === "npm")
20
+ return `npm run ${command}`;
21
+ return `${packageManager} ${command}`;
22
+ }exports.getPackageManager=getPackageManager;exports.runPackageManagerCommand=runPackageManagerCommand;exports.setPackageManager=setPackageManager;exports.startCommand=startCommand;//# sourceMappingURL=package-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager.js","sources":["../../src/helpers/package-manager.ts"],"sourcesContent":[null],"names":["detectPackageManager"],"mappings":"qNAEA,IAAI,sBAA0C,CAAC;SAE/B,iBAAiB,GAAA;AAC/B,IAAA,IAAI,sBAAsB,EAAE;AAC1B,QAAA,OAAO,sBAAsB,CAAC;AAC/B,KAAA;AAED,IAAA,MAAM,cAAc,GAAGA,qCAAoB,EAAE,CAAC;AAE9C,IAAA,OAAO,cAAc,CAAC,IAAI,IAAI,KAAK,CAAC;AACtC,CAAC;AAEK,SAAU,iBAAiB,CAAC,cAAsB,EAAA;IACtD,sBAAsB,GAAG,cAAc,CAAC;AAC1C,CAAC;SAMe,YAAY,GAAA;IAC1B,IAAI,iBAAiB,EAAE,KAAK,KAAK;AAAE,QAAA,OAAO,eAAe,CAAC;AAE1D,IAAA,OAAO,CAAG,EAAA,iBAAiB,EAAE,CAAA,MAAA,CAAQ,CAAC;AACxC,CAAC;AAEK,SAAU,wBAAwB,CAAC,OAAe,EAAA;AACtD,IAAA,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE,CAAC;AAE1D,IAAA,OAAO,CAAG,EAAA,cAAc,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;AACxC"}
@@ -0,0 +1,4 @@
1
+ export type Template = "warlock";
2
+ export declare function template(templateName: Template): string;
3
+ export declare function packageRoot(...paths: string[]): string;
4
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/helpers/paths.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC,wBAAgB,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,8 @@
1
+ 'use strict';var path=require('path'),url=require('url');var_documentCurrentScript=typeofdocument!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('helpers/paths.js', document.baseURI).href)));
2
+ const __dirname$1 = path__default.default.dirname(__filename$1);
3
+ function template(templateName) {
4
+ return path__default.default.resolve(__dirname$1, "../", "../", "templates", templateName);
5
+ }
6
+ function packageRoot(...paths) {
7
+ return path__default.default.resolve(__dirname$1, "../", "../", ...paths);
8
+ }exports.packageRoot=packageRoot;exports.template=template;//# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sources":["../../src/helpers/paths.ts"],"sourcesContent":[null],"names":["__filename","fileURLToPath","__dirname","path"],"mappings":"kQAGA,MAAMA,YAAU,GAAGC,iBAAa,CAAC,qMAAe,CAAC,CAAC;AAElD,MAAMC,WAAS,GAAGC,qBAAI,CAAC,OAAO,CAACH,YAAU,CAAC,CAAC;AAIrC,SAAU,QAAQ,CAAC,YAAsB,EAAA;AAC7C,IAAA,OAAOG,qBAAI,CAAC,OAAO,CAACD,WAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC;AAEe,SAAA,WAAW,CAAC,GAAG,KAAe,EAAA;AAC5C,IAAA,OAAOC,qBAAI,CAAC,OAAO,CAACD,WAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;AACzD"}
@@ -0,0 +1,7 @@
1
+ import { Template } from "./paths";
2
+ export declare function initializeGitRepository(appPath: string): Promise<boolean>;
3
+ export declare function installDependencies(appPath: string): Promise<boolean>;
4
+ export declare function updateEnvFile(appPath: string, appName: string): Promise<void>;
5
+ export declare function copyTemplateFiles(templateName: Template, appPath: string, _appName: string): Promise<void>;
6
+ export declare function allDone(appName: string): Promise<void>;
7
+ //# sourceMappingURL=project-builder-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-builder-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/project-builder-helpers.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE7C,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,oBA2B5D;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,oBAuBxD;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAiCnE;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,iBAUjB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,iBAiB5C"}
@@ -0,0 +1,44 @@
1
+ 'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper');require('@mongez/fs'),require('path');var exec=require('./exec.js'),packageManager=require('./package-manager.js');require('./paths.js');async function initializeGitRepository(appPath) {
2
+ if ((await prompts.confirm({
3
+ message: "Do you want to initialize a git repository?",
4
+ initialValue: true,
5
+ })) === false)
6
+ return false;
7
+ const loading = prompts.spinner();
8
+ loading.start("📂 Initializing git repository 🚀");
9
+ // initialize git repository
10
+ await exec.executeCommand(`git`, ["init"], appPath);
11
+ // switching to `main` branch
12
+ await exec.executeCommand(`git`, ["checkout", "-b", "main"], appPath);
13
+ // add files
14
+ await exec.executeCommand(`git`, ["add", "."], appPath);
15
+ // commit files
16
+ await exec.executeCommand(`git`, ["commit", "-m", "Initial commit ⚡️"], appPath);
17
+ loading.stop("📂 Git initialized 🔗");
18
+ return true;
19
+ }
20
+ async function installDependencies(appPath) {
21
+ const result = await exec.runCommand(packageManager.getPackageManager(), ["install"], appPath);
22
+ const confirmed = await prompts.confirm({
23
+ message: "Do you want to install the project dependencies?",
24
+ initialValue: true,
25
+ });
26
+ if (confirmed === false) {
27
+ result.abort();
28
+ return false;
29
+ }
30
+ const loading = prompts.spinner();
31
+ loading.start("📦 Installing dependencies ⏳");
32
+ await result.install;
33
+ loading.stop("📦 Dependencies installed successfully ✅");
34
+ return true;
35
+ }
36
+ async function allDone(appName) {
37
+ prompts.outro("🌟 " +
38
+ copper.colors.bgGreenBright("DONE") +
39
+ " now you're ready to go! Type the following or copy/paste it into your terminal to get started 🚀 ✅");
40
+ console.log(copper.colors.cyan(`cd ${appName} && ${packageManager.startCommand()}`));
41
+ // make an empty line
42
+ console.log();
43
+ console.log(`If you are using VSCode, it's recommended to install the 🛠️ ${copper.colors.yellow(`Generator Z`)} extension. It generates code snippets for you! 🚀`);
44
+ }exports.allDone=allDone;exports.initializeGitRepository=initializeGitRepository;exports.installDependencies=installDependencies;//# sourceMappingURL=project-builder-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-builder-helpers.js","sources":["../../src/helpers/project-builder-helpers.ts"],"sourcesContent":[null],"names":["confirm","spinner","executeCommand","runCommand","getPackageManager","outro","colors","startCommand"],"mappings":"6NAeO,eAAe,uBAAuB,CAAC,OAAe,EAAA;IAC3D,IACE,CAAC,MAAMA,eAAO,CAAC;AACb,QAAA,OAAO,EAAE,6CAA6C;AACtD,QAAA,YAAY,EAAE,IAAI;KACnB,CAAC,MAAM,KAAK;AAEb,QAAA,OAAO,KAAK,CAAC;AAEf,IAAA,MAAM,OAAO,GAAGC,eAAO,EAAE,CAAC;AAE1B,IAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;;IAGnD,MAAMC,mBAAc,CAAC,CAAA,GAAA,CAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAE/C,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGjE,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGnD,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE5E,IAAA,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAEtC,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,eAAe,mBAAmB,CAAC,OAAe,EAAA;AACvD,IAAA,MAAM,MAAM,GAAG,MAAMC,eAAU,CAACC,gCAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3E,IAAA,MAAM,SAAS,GAAG,MAAMJ,eAAO,CAAC;AAC9B,QAAA,OAAO,EAAE,kDAAkD;AAC3D,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,MAAM,CAAC,KAAK,EAAE,CAAC;AAEf,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,MAAM,OAAO,GAAGC,eAAO,EAAE,CAAC;AAE1B,IAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9C,MAAM,MAAM,CAAC,OAAO,CAAC;AAErB,IAAA,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;AAEzD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAoDM,eAAe,OAAO,CAAC,OAAe,EAAA;AAC3C,IAAAI,aAAK,CACH,KAAK;AACH,QAAAC,aAAM,CAAC,aAAa,CAAC,MAAM,CAAC;AAC5B,QAAA,qGAAqG,CACxG,CAAC;AAEF,IAAA,OAAO,CAAC,GAAG,CAACA,aAAM,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,OAAO,OAAOC,2BAAY,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC;;IAG/D,OAAO,CAAC,GAAG,EAAE,CAAC;AAEd,IAAA,OAAO,CAAC,GAAG,CACT,CAAA,6DAAA,EAAgED,aAAM,CAAC,MAAM,CAC3E,CAAa,WAAA,CAAA,CACd,CAAoD,kDAAA,CAAA,CACtD,CAAC;AACJ"}
package/cjs/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export default function createApp(): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,SAAS,SAIhC"}
package/cjs/index.js ADDED
@@ -0,0 +1,5 @@
1
+ 'use strict';var fs=require('@mongez/fs'),index=require('./commands/create-new-app/index.js'),paths=require('./helpers/paths.js');function createApp() {
2
+ const packageJson = fs.getJsonFile(paths.packageRoot("package.json"));
3
+ const createWarlockVersion = packageJson.version;
4
+ index(createWarlockVersion);
5
+ }module.exports=createApp;//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["getJsonFile","packageRoot","createNewApp"],"mappings":"kIAIc,SAAU,SAAS,GAAA;IAC/B,MAAM,WAAW,GAAQA,cAAW,CAACC,iBAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;IACjDC,KAAY,CAAC,oBAAoB,CAAC,CAAC;AACrC"}
@@ -0,0 +1,2 @@
1
+ export default function getAppPath(appName: string): string;
2
+ //# sourceMappingURL=get-app-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-path.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,MAAM,UAgBjD"}
@@ -0,0 +1,8 @@
1
+ import {colors}from'@mongez/copper';import {isDirectory}from'@mongez/fs';import*as path from'path';function getAppPath(appName) {
2
+ const appPath = path.resolve(process.cwd(), appName);
3
+ if (isDirectory(appPath)) {
4
+ console.log(colors.redBright(`${process.cwd()} has an existing directory \`${colors.cyan(appName)}\`, please choose another app name or another directory to run the command from.`));
5
+ process.exit(1);
6
+ }
7
+ return appPath;
8
+ }export{getAppPath as default};//# sourceMappingURL=get-app-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-app-path.js","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"sourcesContent":[null],"names":[],"mappings":"mGAIwB,SAAA,UAAU,CAAC,OAAe,EAAA;AAChD,IAAA,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,SAAS,CACd,CAAG,EAAA,OAAO,CAAC,GAAG,EAAE,CAAgC,6BAAA,EAAA,MAAM,CAAC,IAAI,CACzD,OAAO,CACR,CAAA,gFAAA,CAAkF,CACpF,CACF,CAAC;AAEF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB"}
@@ -0,0 +1,2 @@
1
+ export default function createNewApp(createWarlockVersion: string): Promise<void>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/index.ts"],"names":[],"mappings":"AAmBA,wBAA8B,YAAY,CAAC,oBAAoB,EAAE,MAAM,iBA6CtE"}