create-warlock 4.0.31 → 4.0.41

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 (122) hide show
  1. package/cjs/index.js +427 -5
  2. package/cjs/index.js.map +1 -1
  3. package/create-app.js +0 -0
  4. package/esm/index.js +368 -5
  5. package/esm/index.js.map +1 -1
  6. package/package.json +32 -38
  7. package/templates/warlock/docs/new-module.md +123 -61
  8. package/templates/warlock/package.json +60 -67
  9. package/templates/warlock/src/app/auth/controllers/forgot-password.controller.ts +3 -2
  10. package/templates/warlock/src/app/auth/controllers/login.controller.ts +1 -4
  11. package/templates/warlock/src/app/auth/main.ts +6 -3
  12. package/templates/warlock/src/app/auth/models/otp/migrations/22-12-2025_10-30-20.otp-migration.ts +13 -16
  13. package/templates/warlock/src/app/auth/models/otp/otp.model.ts +26 -31
  14. package/templates/warlock/src/app/auth/requests/login.request.ts +1 -1
  15. package/templates/warlock/src/app/auth/services/auth.service.ts +10 -5
  16. package/templates/warlock/src/app/auth/services/otp.service.ts +2 -12
  17. package/templates/warlock/src/app/auth/services/reset-password.service.ts +1 -1
  18. package/templates/warlock/src/app/posts/controllers/create-new-post.controller.ts +20 -0
  19. package/templates/warlock/src/app/posts/controllers/update-post.controller.ts +24 -0
  20. package/templates/warlock/src/app/posts/models/post/psot.model.ts +33 -0
  21. package/templates/warlock/src/app/posts/routes.ts +11 -0
  22. package/templates/warlock/src/app/shared/utils/global-columns-schema.ts +8 -0
  23. package/templates/warlock/src/app/shared/utils/locales.ts +4 -0
  24. package/templates/warlock/src/app/uploads/controllers/fetch-uploaded-file.controller.ts +32 -0
  25. package/templates/warlock/src/app/uploads/routes.ts +4 -0
  26. package/templates/warlock/src/app/users/controllers/create-new-user.controller.ts +28 -0
  27. package/templates/warlock/src/app/users/controllers/get-users.controller.ts +7 -2
  28. package/templates/warlock/src/app/users/events/inject-created-by-user.into-model.event.ts +32 -0
  29. package/templates/warlock/src/app/users/events/sync.ts +5 -0
  30. package/templates/warlock/src/app/users/main.ts +5 -0
  31. package/templates/warlock/src/app/users/models/user/migrations/11-12-2025_23-58-03-user.migration.ts +12 -12
  32. package/templates/warlock/src/app/users/models/user/user.model.ts +54 -27
  33. package/templates/warlock/src/app/users/repositories/users.repository.ts +16 -20
  34. package/templates/warlock/src/app/users/routes.ts +7 -1
  35. package/templates/warlock/src/app/users/seeds/users.seed.ts +21 -0
  36. package/templates/warlock/src/app/utils/cloud-upload.middleware.ts +14 -0
  37. package/templates/warlock/src/app/utils/router.ts +11 -1
  38. package/templates/warlock/src/config/auth.ts +2 -0
  39. package/templates/warlock/src/config/database.ts +24 -7
  40. package/templates/warlock/src/config/google.ts +22 -0
  41. package/templates/warlock/src/config/storage.ts +17 -8
  42. package/templates/warlock/tsconfig.json +6 -5
  43. package/templates/warlock/yarn.lock +4831 -0
  44. package/cjs/commands/create-new-app/get-app-path.d.ts +0 -2
  45. package/cjs/commands/create-new-app/get-app-path.d.ts.map +0 -1
  46. package/cjs/commands/create-new-app/get-app-path.js +0 -8
  47. package/cjs/commands/create-new-app/get-app-path.js.map +0 -1
  48. package/cjs/commands/create-new-app/index.d.ts +0 -2
  49. package/cjs/commands/create-new-app/index.d.ts.map +0 -1
  50. package/cjs/commands/create-new-app/index.js +0 -50
  51. package/cjs/commands/create-new-app/index.js.map +0 -1
  52. package/cjs/commands/create-new-app/select-app-type.d.ts +0 -2
  53. package/cjs/commands/create-new-app/select-app-type.d.ts.map +0 -1
  54. package/cjs/commands/create-new-app/types.d.ts +0 -9
  55. package/cjs/commands/create-new-app/types.d.ts.map +0 -1
  56. package/cjs/commands/create-warlock-app/index.d.ts +0 -3
  57. package/cjs/commands/create-warlock-app/index.d.ts.map +0 -1
  58. package/cjs/commands/create-warlock-app/index.js +0 -51
  59. package/cjs/commands/create-warlock-app/index.js.map +0 -1
  60. package/cjs/helpers/app.d.ts +0 -54
  61. package/cjs/helpers/app.d.ts.map +0 -1
  62. package/cjs/helpers/app.js +0 -126
  63. package/cjs/helpers/app.js.map +0 -1
  64. package/cjs/helpers/exec.d.ts +0 -10
  65. package/cjs/helpers/exec.d.ts.map +0 -1
  66. package/cjs/helpers/exec.js +0 -69
  67. package/cjs/helpers/exec.js.map +0 -1
  68. package/cjs/helpers/package-manager.d.ts +0 -6
  69. package/cjs/helpers/package-manager.d.ts.map +0 -1
  70. package/cjs/helpers/package-manager.js +0 -22
  71. package/cjs/helpers/package-manager.js.map +0 -1
  72. package/cjs/helpers/paths.d.ts +0 -4
  73. package/cjs/helpers/paths.d.ts.map +0 -1
  74. package/cjs/helpers/paths.js +0 -8
  75. package/cjs/helpers/paths.js.map +0 -1
  76. package/cjs/helpers/project-builder-helpers.d.ts +0 -6
  77. package/cjs/helpers/project-builder-helpers.d.ts.map +0 -1
  78. package/cjs/helpers/project-builder-helpers.js +0 -18
  79. package/cjs/helpers/project-builder-helpers.js.map +0 -1
  80. package/cjs/index.d.ts +0 -2
  81. package/cjs/index.d.ts.map +0 -1
  82. package/esm/commands/create-new-app/get-app-path.d.ts +0 -2
  83. package/esm/commands/create-new-app/get-app-path.d.ts.map +0 -1
  84. package/esm/commands/create-new-app/get-app-path.js +0 -8
  85. package/esm/commands/create-new-app/get-app-path.js.map +0 -1
  86. package/esm/commands/create-new-app/index.d.ts +0 -2
  87. package/esm/commands/create-new-app/index.d.ts.map +0 -1
  88. package/esm/commands/create-new-app/index.js +0 -50
  89. package/esm/commands/create-new-app/index.js.map +0 -1
  90. package/esm/commands/create-new-app/select-app-type.d.ts +0 -2
  91. package/esm/commands/create-new-app/select-app-type.d.ts.map +0 -1
  92. package/esm/commands/create-new-app/types.d.ts +0 -9
  93. package/esm/commands/create-new-app/types.d.ts.map +0 -1
  94. package/esm/commands/create-warlock-app/index.d.ts +0 -3
  95. package/esm/commands/create-warlock-app/index.d.ts.map +0 -1
  96. package/esm/commands/create-warlock-app/index.js +0 -51
  97. package/esm/commands/create-warlock-app/index.js.map +0 -1
  98. package/esm/helpers/app.d.ts +0 -54
  99. package/esm/helpers/app.d.ts.map +0 -1
  100. package/esm/helpers/app.js +0 -126
  101. package/esm/helpers/app.js.map +0 -1
  102. package/esm/helpers/exec.d.ts +0 -10
  103. package/esm/helpers/exec.d.ts.map +0 -1
  104. package/esm/helpers/exec.js +0 -69
  105. package/esm/helpers/exec.js.map +0 -1
  106. package/esm/helpers/package-manager.d.ts +0 -6
  107. package/esm/helpers/package-manager.d.ts.map +0 -1
  108. package/esm/helpers/package-manager.js +0 -22
  109. package/esm/helpers/package-manager.js.map +0 -1
  110. package/esm/helpers/paths.d.ts +0 -4
  111. package/esm/helpers/paths.d.ts.map +0 -1
  112. package/esm/helpers/paths.js +0 -8
  113. package/esm/helpers/paths.js.map +0 -1
  114. package/esm/helpers/project-builder-helpers.d.ts +0 -6
  115. package/esm/helpers/project-builder-helpers.d.ts.map +0 -1
  116. package/esm/helpers/project-builder-helpers.js +0 -18
  117. package/esm/helpers/project-builder-helpers.js.map +0 -1
  118. package/esm/index.d.ts +0 -2
  119. package/esm/index.d.ts.map +0 -1
  120. package/templates/warlock/src/app/users/repositories/users-repository.ts +0 -66
  121. package/templates/warlock/src/app/users/services/get-new-customers.ts +0 -5
  122. package/templates/warlock/src/app/utils/output.ts +0 -5
@@ -1,50 +0,0 @@
1
- import {intro,text,isCancel,cancel,select}from'@clack/prompts';import {colors}from'@mongez/copper';import {App}from'../../helpers/app.js';import {getPackageManager,setPackageManager}from'../../helpers/package-manager.js';import {createWarlockApp}from'../create-warlock-app/index.js';import getAppPath from'./get-app-path.js';const appDetails = {
2
- appName: "",
3
- appType: "",
4
- appPath: "",
5
- pkgManager: "",
6
- options: {},
7
- };
8
- async function createNewApp(createWarlockVersion) {
9
- intro(`✨ Let's create a new ${colors.yellowBright("Warlock Js App")} ✨ ${colors.greenBright(`v` + createWarlockVersion)}`);
10
- const appName = await text({
11
- message: "Enter the app name",
12
- placeholder: "warlock-app",
13
- });
14
- if (isCancel(appName) || !appName.trim()) {
15
- cancel("Application name is required to create a new app");
16
- process.exit(0);
17
- }
18
- // Validate the nodejs version to be not less than 20
19
- const [major] = process.versions.node.split(".").map(Number);
20
- if (major < 20) {
21
- cancel("Node.js version must be at least 20.0.0");
22
- process.exit(0);
23
- }
24
- const packageManager = await select({
25
- message: "Select package manager to use 📦 ",
26
- initialValue: getPackageManager(),
27
- options: [
28
- {
29
- label: "Npm",
30
- value: "npm",
31
- },
32
- {
33
- label: "Yarn",
34
- value: "yarn",
35
- },
36
- {
37
- label: "Pnpm",
38
- value: "pnpm",
39
- },
40
- ],
41
- });
42
- setPackageManager(packageManager);
43
- appDetails.appName = appName;
44
- appDetails.appPath = getAppPath(appName);
45
- appDetails.pkgManager = packageManager;
46
- if (!appDetails.appPath)
47
- return;
48
- appDetails.appType = "warlock";
49
- createWarlockApp(new App(appDetails));
50
- }export{createNewApp as default};//# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/commands/create-new-app/index.ts"],"sourcesContent":[null],"names":[],"mappings":"qUAWA,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,IAAA,KAAK,CACH,CAAwB,qBAAA,EAAA,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA,GAAA,EAAM,MAAM,CAAC,WAAW,CAAC,CAAG,CAAA,CAAA,GAAG,oBAAoB,CAAC,CAAA,CAAE,CACpH,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;AACzB,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,WAAW,EAAE,aAAa;AAC3B,KAAA,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,CAAC,kDAAkD,CAAC,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;;AAGD,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,KAAK,GAAG,EAAE,EAAE;QACd,MAAM,CAAC,yCAAyC,CAAC,CAAC;AAClD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;AAClC,QAAA,OAAO,EAAE,mCAAmC;QAC5C,YAAY,EAAE,iBAAiB,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;IAEH,iBAAiB,CAAC,cAAc,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,GAAG,cAAc,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO;AAEhC,IAAA,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAE/B,IAAA,gBAAgB,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC"}
@@ -1,2 +0,0 @@
1
- export default function selectAppType(): Promise<any>;
2
- //# sourceMappingURL=select-app-type.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,3 +0,0 @@
1
- import { App } from "src/helpers/app";
2
- export declare function createWarlockApp(application: App): Promise<void>;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-warlock-app/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,GAAG,iBAgEtD"}
@@ -1,51 +0,0 @@
1
- import {confirm,spinner}from'@clack/prompts';import path__default from'path';import {rimraf}from'rimraf';import {runPackageManagerCommand}from'../../helpers/package-manager.js';async function createWarlockApp(application) {
2
- // Initialize the basic app structure
3
- application.init().use("warlock").updatePackageJson().updateDotEnv();
4
- // Start the installation process in background immediately
5
- const installProcess = application.install();
6
- // Collect all answers first
7
- const installDeps = (await confirm({
8
- message: "Do you want to install dependencies?",
9
- })) === true;
10
- // If user doesn't want to install dependencies, abort the background process
11
- if (!installDeps) {
12
- installProcess.abort();
13
- // Remove node_modules Asynchronously
14
- const nodeModulesPath = path__default.join(application.path, "node_modules");
15
- rimraf(nodeModulesPath);
16
- }
17
- const useGit = (await confirm({
18
- message: "Do you want to initialize Git repository?",
19
- })) === true;
20
- // Only ask about JWT if dependencies will be installed
21
- let useJWT = false;
22
- if (installDeps) {
23
- useJWT =
24
- (await confirm({
25
- message: "Do you want to generate JWT Secret key?",
26
- })) === true;
27
- }
28
- // Now execute all confirmed tasks
29
- // Handle Git initialization first if requested
30
- if (useGit) {
31
- const loading = spinner();
32
- loading.start("📂 Initializing Git repository...");
33
- await application.git();
34
- loading.stop("📂 Git repository initialized ✅");
35
- }
36
- // Wait for dependencies installation if it was requested
37
- if (installDeps) {
38
- const loading = spinner();
39
- loading.start("📦 Installing dependencies...");
40
- await installProcess.install;
41
- loading.stop("📦 Dependencies installed successfully!");
42
- // Generate JWT if requested
43
- if (useJWT) {
44
- const jwtLoading = spinner();
45
- jwtLoading.start("🔑 Generating JWT Secret...");
46
- await application.exec(runPackageManagerCommand("jwt"));
47
- jwtLoading.stop("🔑 JWT Secret generated 🔒");
48
- }
49
- }
50
- application.terminate();
51
- }export{createWarlockApp};//# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/commands/create-warlock-app/index.ts"],"sourcesContent":[null],"names":["path"],"mappings":"iLAMO,eAAe,gBAAgB,CAAC,WAAgB,EAAA;;AAErD,IAAA,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;;AAGrE,IAAA,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;;AAG7C,IAAA,MAAM,WAAW,GACf,CAAC,MAAM,OAAO,CAAC;AACb,QAAA,OAAO,EAAE,sCAAsC;KAChD,CAAC,MAAM,IAAI,CAAC;;IAGf,IAAI,CAAC,WAAW,EAAE;QAChB,cAAc,CAAC,KAAK,EAAE,CAAC;;AAGvB,QAAA,MAAM,eAAe,GAAGA,aAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEpE,MAAM,CAAC,eAAe,CAAC,CAAC;AACzB,KAAA;AAED,IAAA,MAAM,MAAM,GACV,CAAC,MAAM,OAAO,CAAC;AACb,QAAA,OAAO,EAAE,2CAA2C;KACrD,CAAC,MAAM,IAAI,CAAC;;IAGf,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAA,IAAI,WAAW,EAAE;QACf,MAAM;YACJ,CAAC,MAAM,OAAO,CAAC;AACb,gBAAA,OAAO,EAAE,yCAAyC;aACnD,CAAC,MAAM,IAAI,CAAC;AAChB,KAAA;;;AAKD,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACnD,QAAA,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AACjD,KAAA;;AAGD,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,cAAc,CAAC,OAAO,CAAC;AAC7B,QAAA,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;;AAGxD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,UAAU,GAAG,OAAO,EAAE,CAAC;AAC7B,YAAA,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAChD,MAAM,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,YAAA,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAC/C,SAAA;AACF,KAAA;IAED,WAAW,CAAC,SAAS,EAAE,CAAC;AAC1B"}
@@ -1,54 +0,0 @@
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(): {
15
- abort: () => Promise<void>;
16
- install: Promise<boolean>;
17
- };
18
- exec(command: string): Promise<boolean>;
19
- git(): Promise<boolean>;
20
- updatePackageJson(): this;
21
- /**
22
- * Get package json file
23
- */
24
- get package(): FileManager;
25
- updateDotEnv(): this;
26
- /**
27
- * Get env file to update
28
- */
29
- get env(): FileManager;
30
- get name(): string;
31
- get path(): string;
32
- file(relativePath: string): FileManager;
33
- json(relativePath: string): FileManager;
34
- }
35
- export declare function app(app: Application): App;
36
- export declare class FileManager {
37
- protected filePath: any;
38
- content: string;
39
- constructor(filePath: any);
40
- protected parseContent(): void;
41
- replace(search: string, replace: string): this;
42
- replaceAll(search: string, replace: string): this;
43
- save(): void;
44
- }
45
- export declare class JsonFileManager extends FileManager {
46
- protected parseContent(): void;
47
- save(): void;
48
- has(key: string): boolean;
49
- replace(key: string, value: any): this;
50
- replaceAll(key: string, value: any): this;
51
- }
52
- export declare function file(path: string): FileManager;
53
- export declare function jsonFile(path: string): JsonFileManager;
54
- //# sourceMappingURL=app.d.ts.map
@@ -1 +0,0 @@
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;AAOvD,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;IAIT,OAAO;;;;IAID,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,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"}
@@ -1,126 +0,0 @@
1
- import {copyDirectory,fileExists,copyFile,renameFile,getFile,putFile,getJsonFile,putJsonFile}from'@mongez/fs';import path__default from'path';import {runCommand,executeCommand}from'./exec.js';import {template}from'./paths.js';import {allDone,initializeGitRepository}from'./project-builder-helpers.js';import {getPackageManager}from'./package-manager.js';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
- copyDirectory(template(templateName), this.path);
13
- if (fileExists(this.path + "/.env.example")) {
14
- copyFile(this.path + "/.env.example", this.path + "/.env");
15
- }
16
- renameFile(this.path + "/_.gitignore", this.path + "/.gitignore");
17
- return this;
18
- }
19
- init() {
20
- return this;
21
- }
22
- terminate() {
23
- allDone(this.name);
24
- }
25
- install() {
26
- return runCommand(getPackageManager(), ["install"], this.path);
27
- }
28
- async exec(command) {
29
- const [commandName, ...optionsList] = command.split(" ");
30
- return await executeCommand(commandName, optionsList, this.path);
31
- }
32
- async git() {
33
- return await initializeGitRepository(this.path);
34
- }
35
- updatePackageJson() {
36
- this.package
37
- .replace("name", this.name.replaceAll("/", "-"))
38
- .replaceAll("yarn", getPackageManager())
39
- .save();
40
- return this;
41
- }
42
- /**
43
- * Get package json file
44
- */
45
- get package() {
46
- return this.json("package.json");
47
- }
48
- updateDotEnv() {
49
- this.file(".env").replaceAll("appName", this.name).save();
50
- return this;
51
- }
52
- /**
53
- * Get env file to update
54
- */
55
- get env() {
56
- return this.file(".env");
57
- }
58
- get name() {
59
- return this.app.appName;
60
- }
61
- get path() {
62
- return this.app.appPath;
63
- }
64
- file(relativePath) {
65
- const fullPath = path__default.resolve(this.path, relativePath);
66
- if (!this.files[fullPath]) {
67
- this.files[fullPath] = file(fullPath);
68
- }
69
- return this.files[fullPath];
70
- }
71
- json(relativePath) {
72
- const fullPath = path__default.resolve(this.path, relativePath);
73
- if (!this.files[fullPath]) {
74
- this.files[fullPath] = jsonFile(fullPath);
75
- }
76
- return this.files[fullPath];
77
- }
78
- }
79
- class FileManager {
80
- filePath;
81
- content;
82
- constructor(filePath) {
83
- this.filePath = filePath;
84
- this.parseContent();
85
- }
86
- parseContent() {
87
- this.content = getFile(this.filePath);
88
- }
89
- replace(search, replace) {
90
- this.content = this.content.replace(search, replace);
91
- return this;
92
- }
93
- replaceAll(search, replace) {
94
- this.content = this.content.replaceAll(search, replace);
95
- return this;
96
- }
97
- save() {
98
- putFile(this.filePath, this.content);
99
- }
100
- }
101
- class JsonFileManager extends FileManager {
102
- parseContent() {
103
- this.content = getJsonFile(this.filePath);
104
- }
105
- save() {
106
- putJsonFile(this.filePath, this.content);
107
- }
108
- has(key) {
109
- return this.content[key] !== undefined;
110
- }
111
- replace(key, value) {
112
- this.content[key] = value;
113
- return this;
114
- }
115
- replaceAll(key, value) {
116
- const contentAsString = JSON.stringify(this.content);
117
- this.content = JSON.parse(contentAsString.replaceAll(key, value));
118
- return this;
119
- }
120
- }
121
- function file(path) {
122
- return new FileManager(path);
123
- }
124
- function jsonFile(path) {
125
- return new JsonFileManager(path);
126
- }export{App,FileManager,JsonFileManager,file,jsonFile};//# sourceMappingURL=app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sources":["../../src/helpers/app.ts"],"sourcesContent":[null],"names":["path"],"mappings":"wWAoBa,GAAG,CAAA;AAQe,IAAA,GAAA,CAAA;AAP7B;;AAEG;IACO,KAAK,GAAgC,EAAE,CAAC;IAE3C,WAAW,GAAG,KAAK,CAAC;AAE3B,IAAA,WAAA,CAA6B,GAAgB,EAAA;QAAhB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAa;KAAI;AAE1C,IAAA,GAAG,CAAC,YAAsB,EAAA;QAC/B,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE;AAC3C,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,EAAE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;AAElE,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,SAAS,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpB;IAEM,OAAO,GAAA;AACZ,QAAA,OAAO,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAChE;IAEM,MAAM,IAAI,CAAC,OAAe,EAAA;AAC/B,QAAA,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,MAAM,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAClE;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,OAAO,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjD;IAEM,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,aAAA,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACvC,aAAA,IAAI,EAAE,CAAC;AAEV,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAE1D,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACH,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB;AAEM,IAAA,IAAI,CAAC,YAAoB,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAGA,aAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7B;AAEM,IAAA,IAAI,CAAC,YAAoB,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAGA,aAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7B;AACF,CAAA;MAMY,WAAW,CAAA;AAEO,IAAA,QAAA,CAAA;AADtB,IAAA,OAAO,CAAU;AACxB,IAAA,WAAA,CAA6B,QAAQ,EAAA;QAAR,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAA;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAES,YAAY,GAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC;KACjD;IAEM,OAAO,CAAC,MAAc,EAAE,OAAe,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,UAAU,CAAC,MAAc,EAAE,OAAe,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,IAAI,GAAA;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;AACF,CAAA;AAEK,MAAO,eAAgB,SAAQ,WAAW,CAAA;IACpC,YAAY,GAAA;QACpB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3C;IAEM,IAAI,GAAA;QACT,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1C;AAEM,IAAA,GAAG,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;KACxC;IAEM,OAAO,CAAC,GAAW,EAAE,KAAU,EAAA;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,UAAU,CAAC,GAAW,EAAE,KAAU,EAAA;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAErD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAElE,QAAA,OAAO,IAAI,CAAC;KACb;AACF,CAAA;AAEK,SAAU,IAAI,CAAC,IAAY,EAAA;AAC/B,IAAA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAEK,SAAU,QAAQ,CAAC,IAAY,EAAA;AACnC,IAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC"}
@@ -1,10 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,69 +0,0 @@
1
- import {log}from'@clack/prompts';import {colors}from'@mongez/copper';import spawn from'cross-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(cmd, args, {
7
- cwd,
8
- stdio: "ignore",
9
- });
10
- child.on("error", e => {
11
- if (e) {
12
- if (e.message) {
13
- log.error(colors.red(String(e.message)) + `\n\n`);
14
- }
15
- else {
16
- log.error(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(cmd, args, {
36
- cwd,
37
- stdio: "ignore",
38
- });
39
- child.on("error", e => {
40
- if (e) {
41
- if (e.message) {
42
- log.error(colors.red(String(e.message)) + `\n\n`);
43
- }
44
- else {
45
- log.error(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
- }export{executeCommand,runCommand};//# sourceMappingURL=exec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec.js","sources":["../../src/helpers/exec.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,22 +0,0 @@
1
- import detectPackageManager from'which-pm-runs';let detectedPackageManager;
2
- function getPackageManager() {
3
- if (detectedPackageManager) {
4
- return detectedPackageManager;
5
- }
6
- const packageManager = detectPackageManager();
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 dev";
15
- return `${getPackageManager()} dev`;
16
- }
17
- function runPackageManagerCommand(command) {
18
- const packageManager = getPackageManager();
19
- if (packageManager === "npm")
20
- return `npm run ${command}`;
21
- return `${packageManager} ${command}`;
22
- }export{getPackageManager,runPackageManagerCommand,setPackageManager,startCommand};//# sourceMappingURL=package-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.js","sources":["../../src/helpers/package-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"gDAEA,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,GAAG,oBAAoB,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,aAAa,CAAC;AAExD,IAAA,OAAO,CAAG,EAAA,iBAAiB,EAAE,CAAA,IAAA,CAAM,CAAC;AACtC,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"}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
1
- import path__default from'path';import {fileURLToPath}from'url';const __filename = fileURLToPath(import.meta.url);
2
- const __dirname = path__default.dirname(__filename);
3
- function template(templateName) {
4
- return path__default.resolve(__dirname, "../", "../", "templates", templateName);
5
- }
6
- function packageRoot(...paths) {
7
- return path__default.resolve(__dirname, "../", "../", ...paths);
8
- }export{packageRoot,template};//# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sources":["../../src/helpers/paths.ts"],"sourcesContent":[null],"names":["path"],"mappings":"gEAGA,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAElD,MAAM,SAAS,GAAGA,aAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAIrC,SAAU,QAAQ,CAAC,YAAsB,EAAA;AAC7C,IAAA,OAAOA,aAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC1E,CAAC;AAEe,SAAA,WAAW,CAAC,GAAG,KAAe,EAAA;AAC5C,IAAA,OAAOA,aAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;AACzD"}
@@ -1,6 +0,0 @@
1
- import { Template } from "./paths";
2
- export declare function initializeGitRepository(appPath: string): Promise<boolean>;
3
- export declare function updateEnvFile(appPath: string, appName: string): Promise<void>;
4
- export declare function copyTemplateFiles(templateName: Template, appPath: string, _appName: string): Promise<void>;
5
- export declare function allDone(appName: string): Promise<void>;
6
- //# sourceMappingURL=project-builder-helpers.d.ts.map
@@ -1 +0,0 @@
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,oBAa5D;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,iBAe5C"}
@@ -1,18 +0,0 @@
1
- import {outro}from'@clack/prompts';import {colors}from'@mongez/copper';import'@mongez/fs';import'path';import {executeCommand}from'./exec.js';import {startCommand}from'./package-manager.js';import'./paths.js';async function initializeGitRepository(appPath) {
2
- // initialize git repository
3
- await executeCommand(`git`, ["init"], appPath);
4
- // switching to `main` branch
5
- await executeCommand(`git`, ["checkout", "-b", "main"], appPath);
6
- // add files
7
- await executeCommand(`git`, ["add", "."], appPath);
8
- // commit files
9
- await executeCommand(`git`, ["commit", "-m", "Initial commit ⚡️"], appPath);
10
- return true;
11
- }
12
- async function allDone(appName) {
13
- outro("🌟 Awesome! Your project is ready to rock! " +
14
- "Run the following command to start development:");
15
- console.log(colors.cyan(`cd ${appName} && ${startCommand()}`));
16
- console.log();
17
- console.log(`💡 Pro tip: Install the ${colors.yellow("Generator Z")} extension in VSCode for helpful code snippets and productivity boosters! 🚀`);
18
- }export{allDone,initializeGitRepository};//# sourceMappingURL=project-builder-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-builder-helpers.js","sources":["../../src/helpers/project-builder-helpers.ts"],"sourcesContent":[null],"names":[],"mappings":"iNAeO,eAAe,uBAAuB,CAAC,OAAe,EAAA;;IAE3D,MAAM,cAAc,CAAC,CAAA,GAAA,CAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAE/C,IAAA,MAAM,cAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGjE,IAAA,MAAM,cAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGnD,IAAA,MAAM,cAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE5E,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAoDM,eAAe,OAAO,CAAC,OAAe,EAAA;AAC3C,IAAA,KAAK,CACH,6CAA6C;AAC3C,QAAA,iDAAiD,CACpD,CAAC;AAEF,IAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,OAAO,OAAO,YAAY,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,EAAE,CAAC;AAEd,IAAA,OAAO,CAAC,GAAG,CACT,CAAA,wBAAA,EAA2B,MAAM,CAAC,MAAM,CACtC,aAAa,CACd,CAA8E,4EAAA,CAAA,CAChF,CAAC;AACJ"}
package/esm/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export default function createApp(): void;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,SAAS,SAIhC"}
@@ -1,66 +0,0 @@
1
- import type { FilterByOptions, RepositoryOptions } from "@warlock.js/core";
2
- import { RepositoryManager } from "@warlock.js/core";
3
- import { User } from "../models/user";
4
-
5
- export class UsersRepository extends RepositoryManager<User> {
6
- /**
7
- * {@inheritDoc}
8
- */
9
- public model = User;
10
-
11
- /**
12
- * List default options
13
- */
14
- protected defaultOptions: RepositoryOptions = this.withDefaultOptions({});
15
-
16
- protected cacheDriverName = "redis";
17
-
18
- /**
19
- * Filter By options
20
- */
21
- protected filterBy: FilterByOptions = {
22
- isActive: "bool",
23
- email: "like",
24
- id: "int",
25
- month: "int",
26
- year: "int",
27
- phoneNumber: "like",
28
- isAdmin: "bool",
29
- isVendor: "bool",
30
- isCustomer: "bool",
31
- gender: "=",
32
- name: ["like", ["name", "username"]],
33
- except: ["!int", "id"],
34
- affiliateCode: ["=", "affiliate.code"],
35
- affiliateStatus: ["=", "affiliate.status"],
36
- activationToken: "=",
37
- instagramHash: "=",
38
- };
39
-
40
- /**
41
- * Get all administrators
42
- */
43
- public getAdmins() {
44
- return this.list({
45
- paginate: false,
46
- isAdmin: true,
47
- });
48
- }
49
-
50
- /**
51
- * List pending affiliate partners
52
- */
53
- public listAffiliatePartners(status?: "pending" | "active" | "rejected") {
54
- return this.listActive({
55
- perform(query) {
56
- query.whereNotNull("affiliate");
57
- },
58
- affiliateStatus: status,
59
- deselect: ["lastLogin", "group", "cartProducts", "total", "totalWishList", "totalCompare"],
60
- });
61
- }
62
- }
63
-
64
- const usersRepository = new UsersRepository();
65
-
66
- export default usersRepository;
@@ -1,5 +0,0 @@
1
- import { User } from "../models/user";
2
-
3
- export default function getNewCustomers() {
4
- return User.aggregate().where("isCustomer", true).limit(6).get();
5
- }
@@ -1,5 +0,0 @@
1
- import type { FinalOutput } from "@warlock.js/core";
2
-
3
- export function withBaseOutputDetails(output: FinalOutput) {
4
- return output;
5
- }