create-warlock 4.0.157 → 4.0.161

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 (110) hide show
  1. package/package.json +1 -1
  2. package/templates/warlock/package.json +7 -7
  3. package/cjs/commands/create-new-app/get-app-path.d.ts +0 -2
  4. package/cjs/commands/create-new-app/get-app-path.d.ts.map +0 -1
  5. package/cjs/commands/create-new-app/get-app-path.js +0 -8
  6. package/cjs/commands/create-new-app/get-app-path.js.map +0 -1
  7. package/cjs/commands/create-new-app/index.d.ts +0 -2
  8. package/cjs/commands/create-new-app/index.d.ts.map +0 -1
  9. package/cjs/commands/create-new-app/index.js +0 -96
  10. package/cjs/commands/create-new-app/index.js.map +0 -1
  11. package/cjs/commands/create-new-app/types.d.ts +0 -16
  12. package/cjs/commands/create-new-app/types.d.ts.map +0 -1
  13. package/cjs/commands/create-warlock-app/index.d.ts +0 -3
  14. package/cjs/commands/create-warlock-app/index.d.ts.map +0 -1
  15. package/cjs/commands/create-warlock-app/index.js +0 -55
  16. package/cjs/commands/create-warlock-app/index.js.map +0 -1
  17. package/cjs/features/database-drivers.d.ts +0 -31
  18. package/cjs/features/database-drivers.d.ts.map +0 -1
  19. package/cjs/features/database-drivers.js +0 -53
  20. package/cjs/features/database-drivers.js.map +0 -1
  21. package/cjs/features/features-map.d.ts +0 -35
  22. package/cjs/features/features-map.d.ts.map +0 -1
  23. package/cjs/features/features-map.js +0 -120
  24. package/cjs/features/features-map.js.map +0 -1
  25. package/cjs/helpers/app.d.ts +0 -71
  26. package/cjs/helpers/app.d.ts.map +0 -1
  27. package/cjs/helpers/app.js +0 -196
  28. package/cjs/helpers/app.js.map +0 -1
  29. package/cjs/helpers/exec.d.ts +0 -10
  30. package/cjs/helpers/exec.d.ts.map +0 -1
  31. package/cjs/helpers/exec.js +0 -69
  32. package/cjs/helpers/exec.js.map +0 -1
  33. package/cjs/helpers/package-manager.d.ts +0 -18
  34. package/cjs/helpers/package-manager.d.ts.map +0 -1
  35. package/cjs/helpers/package-manager.js +0 -104
  36. package/cjs/helpers/package-manager.js.map +0 -1
  37. package/cjs/helpers/paths.d.ts +0 -4
  38. package/cjs/helpers/paths.d.ts.map +0 -1
  39. package/cjs/helpers/paths.js +0 -8
  40. package/cjs/helpers/paths.js.map +0 -1
  41. package/cjs/helpers/project-builder-helpers.d.ts +0 -6
  42. package/cjs/helpers/project-builder-helpers.d.ts.map +0 -1
  43. package/cjs/helpers/project-builder-helpers.js +0 -11
  44. package/cjs/helpers/project-builder-helpers.js.map +0 -1
  45. package/cjs/index.d.ts +0 -2
  46. package/cjs/index.d.ts.map +0 -1
  47. package/cjs/index.js +0 -3
  48. package/cjs/index.js.map +0 -1
  49. package/cjs/ui/banner.d.ts +0 -29
  50. package/cjs/ui/banner.d.ts.map +0 -1
  51. package/cjs/ui/banner.js +0 -142
  52. package/cjs/ui/banner.js.map +0 -1
  53. package/cjs/ui/spinners.d.ts +0 -18
  54. package/cjs/ui/spinners.d.ts.map +0 -1
  55. package/cjs/ui/spinners.js +0 -17
  56. package/cjs/ui/spinners.js.map +0 -1
  57. package/esm/commands/create-new-app/get-app-path.d.ts +0 -2
  58. package/esm/commands/create-new-app/get-app-path.d.ts.map +0 -1
  59. package/esm/commands/create-new-app/get-app-path.js +0 -8
  60. package/esm/commands/create-new-app/get-app-path.js.map +0 -1
  61. package/esm/commands/create-new-app/index.d.ts +0 -2
  62. package/esm/commands/create-new-app/index.d.ts.map +0 -1
  63. package/esm/commands/create-new-app/index.js +0 -96
  64. package/esm/commands/create-new-app/index.js.map +0 -1
  65. package/esm/commands/create-new-app/types.d.ts +0 -16
  66. package/esm/commands/create-new-app/types.d.ts.map +0 -1
  67. package/esm/commands/create-warlock-app/index.d.ts +0 -3
  68. package/esm/commands/create-warlock-app/index.d.ts.map +0 -1
  69. package/esm/commands/create-warlock-app/index.js +0 -55
  70. package/esm/commands/create-warlock-app/index.js.map +0 -1
  71. package/esm/features/database-drivers.d.ts +0 -31
  72. package/esm/features/database-drivers.d.ts.map +0 -1
  73. package/esm/features/database-drivers.js +0 -53
  74. package/esm/features/database-drivers.js.map +0 -1
  75. package/esm/features/features-map.d.ts +0 -35
  76. package/esm/features/features-map.d.ts.map +0 -1
  77. package/esm/features/features-map.js +0 -120
  78. package/esm/features/features-map.js.map +0 -1
  79. package/esm/helpers/app.d.ts +0 -71
  80. package/esm/helpers/app.d.ts.map +0 -1
  81. package/esm/helpers/app.js +0 -196
  82. package/esm/helpers/app.js.map +0 -1
  83. package/esm/helpers/exec.d.ts +0 -10
  84. package/esm/helpers/exec.d.ts.map +0 -1
  85. package/esm/helpers/exec.js +0 -69
  86. package/esm/helpers/exec.js.map +0 -1
  87. package/esm/helpers/package-manager.d.ts +0 -18
  88. package/esm/helpers/package-manager.d.ts.map +0 -1
  89. package/esm/helpers/package-manager.js +0 -104
  90. package/esm/helpers/package-manager.js.map +0 -1
  91. package/esm/helpers/paths.d.ts +0 -4
  92. package/esm/helpers/paths.d.ts.map +0 -1
  93. package/esm/helpers/paths.js +0 -8
  94. package/esm/helpers/paths.js.map +0 -1
  95. package/esm/helpers/project-builder-helpers.d.ts +0 -6
  96. package/esm/helpers/project-builder-helpers.d.ts.map +0 -1
  97. package/esm/helpers/project-builder-helpers.js +0 -11
  98. package/esm/helpers/project-builder-helpers.js.map +0 -1
  99. package/esm/index.d.ts +0 -2
  100. package/esm/index.d.ts.map +0 -1
  101. package/esm/index.js +0 -3
  102. package/esm/index.js.map +0 -1
  103. package/esm/ui/banner.d.ts +0 -29
  104. package/esm/ui/banner.d.ts.map +0 -1
  105. package/esm/ui/banner.js +0 -142
  106. package/esm/ui/banner.js.map +0 -1
  107. package/esm/ui/spinners.d.ts +0 -18
  108. package/esm/ui/spinners.d.ts.map +0 -1
  109. package/esm/ui/spinners.js +0 -17
  110. package/esm/ui/spinners.js.map +0 -1
@@ -1,120 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"features-map.js","sources":["../../src/features/features-map.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,196 +0,0 @@
1
- import {copyDirectory,fileExists,copyFile,renameFile,getFile,putFile,getJsonFile,putJsonFile}from'@mongez/fs';import path__default from'path';import {getDatabaseDependency,getDatabaseDriver}from'../features/database-drivers.js';import {getFeatureDependencies,getFeatureConfigStubs}from'../features/features-map.js';import {runCommand,executeCommand}from'./exec.js';import {getPackageManager}from'./package-manager.js';import {template}from'./paths.js';class App {
2
- app;
3
- /**
4
- * Resolved files
5
- */
6
- files = {};
7
- /**
8
- * Resolved JSON files
9
- */
10
- jsonFiles = {};
11
- isInstalled = false;
12
- constructor(app) {
13
- this.app = app;
14
- }
15
- get options() {
16
- return this.app.options;
17
- }
18
- use(templateName) {
19
- copyDirectory(template(templateName), this.path);
20
- if (fileExists(this.path + "/.env.example")) {
21
- copyFile(this.path + "/.env.example", this.path + "/.env");
22
- }
23
- renameFile(this.path + "/_.gitignore", this.path + "/.gitignore");
24
- return this;
25
- }
26
- init() {
27
- return this;
28
- }
29
- terminate() {
30
- // No longer using outro, using showSuccessScreen instead
31
- }
32
- install() {
33
- return runCommand(getPackageManager(), ["install"], this.path);
34
- }
35
- async exec(command) {
36
- const [commandName, ...optionsList] = command.split(" ");
37
- return await executeCommand(commandName, optionsList, this.path);
38
- }
39
- async git() {
40
- const { initializeGitRepository } = await import('./project-builder-helpers.js');
41
- return await initializeGitRepository(this.path);
42
- }
43
- updatePackageJson() {
44
- this.package
45
- .replace("name", this.name.replaceAll("/", "-"))
46
- .replaceAll("yarn", getPackageManager())
47
- .save();
48
- return this;
49
- }
50
- /**
51
- * Add database driver dependency to package.json
52
- */
53
- addDatabaseDriver(driverValue) {
54
- const dependency = getDatabaseDependency(driverValue);
55
- const driver = getDatabaseDriver(driverValue);
56
- // Add dependency
57
- const packageJson = this.package;
58
- for (const [pkg, version] of Object.entries(dependency)) {
59
- packageJson.content.dependencies[pkg] = version;
60
- }
61
- packageJson.save();
62
- // Update .env with DB_DRIVER and DB_PORT
63
- if (driver) {
64
- let envContent = getFile(this.path + "/.env");
65
- envContent = envContent.replace(/DB_PORT=\d+/, `DB_PORT=${driver.defaultPort}`);
66
- // Add DB_DRIVER if not present, or update it
67
- if (envContent.includes("DB_DRIVER=")) {
68
- envContent = envContent.replace(/DB_DRIVER=\w*/, `DB_DRIVER=${driver.value}`);
69
- }
70
- else {
71
- // Add after DB_PORT line
72
- envContent = envContent.replace(/DB_PORT=\d+/, `DB_PORT=${driver.defaultPort}\nDB_DRIVER=${driver.value}`);
73
- }
74
- putFile(this.path + "/.env", envContent);
75
- }
76
- return this;
77
- }
78
- /**
79
- * Add selected features' dependencies to package.json
80
- */
81
- addFeatures(features) {
82
- if (features.length === 0)
83
- return this;
84
- const { dependencies, devDependencies } = getFeatureDependencies(features);
85
- const packageJson = this.package;
86
- // Merge dependencies
87
- for (const [pkg, version] of Object.entries(dependencies)) {
88
- packageJson.content.dependencies[pkg] = version;
89
- }
90
- // Merge devDependencies
91
- for (const [pkg, version] of Object.entries(devDependencies)) {
92
- packageJson.content.devDependencies[pkg] = version;
93
- }
94
- packageJson.save();
95
- return this;
96
- }
97
- /**
98
- * Copy config stubs for features that require them
99
- */
100
- copyConfigStubs() {
101
- const features = this.options.features || [];
102
- const stubs = getFeatureConfigStubs(features);
103
- for (const stub of stubs) {
104
- const configPath = path__default.join(this.path, "src", "config", `${stub.name}.ts`);
105
- // Only create if doesn't exist
106
- if (!fileExists(configPath)) {
107
- putFile(configPath, stub.content);
108
- }
109
- }
110
- return this;
111
- }
112
- /**
113
- * Get package json file
114
- */
115
- get package() {
116
- return this.json("package.json");
117
- }
118
- updateDotEnv() {
119
- this.file(".env").replaceAll("appName", this.name).save();
120
- return this;
121
- }
122
- /**
123
- * Get env file to update
124
- */
125
- get env() {
126
- return this.file(".env");
127
- }
128
- get name() {
129
- return this.app.appName;
130
- }
131
- get path() {
132
- return this.app.appPath;
133
- }
134
- file(relativePath) {
135
- const fullPath = path__default.resolve(this.path, relativePath);
136
- if (!this.files[fullPath]) {
137
- this.files[fullPath] = file(fullPath);
138
- }
139
- return this.files[fullPath];
140
- }
141
- json(relativePath) {
142
- const fullPath = path__default.resolve(this.path, relativePath);
143
- if (!this.jsonFiles[fullPath]) {
144
- this.jsonFiles[fullPath] = jsonFile(fullPath);
145
- }
146
- return this.jsonFiles[fullPath];
147
- }
148
- }
149
- class FileManager {
150
- filePath;
151
- content;
152
- constructor(filePath) {
153
- this.filePath = filePath;
154
- this.parseContent();
155
- }
156
- parseContent() {
157
- this.content = getFile(this.filePath);
158
- }
159
- replace(search, replace) {
160
- this.content = this.content.replace(search, replace);
161
- return this;
162
- }
163
- replaceAll(search, replace) {
164
- this.content = this.content.replaceAll(search, replace);
165
- return this;
166
- }
167
- save() {
168
- putFile(this.filePath, this.content);
169
- }
170
- }
171
- class JsonFileManager extends FileManager {
172
- parseContent() {
173
- this.content = getJsonFile(this.filePath);
174
- }
175
- save() {
176
- putJsonFile(this.filePath, this.content);
177
- }
178
- has(key) {
179
- return this.content[key] !== undefined;
180
- }
181
- replace(key, value) {
182
- this.content[key] = value;
183
- return this;
184
- }
185
- replaceAll(key, value) {
186
- const contentAsString = JSON.stringify(this.content);
187
- this.content = JSON.parse(contentAsString.replaceAll(key, value));
188
- return this;
189
- }
190
- }
191
- function file(path) {
192
- return new FileManager(path);
193
- }
194
- function jsonFile(path) {
195
- return new JsonFileManager(path);
196
- }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":"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"}
@@ -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,18 +0,0 @@
1
- export declare function getPackageManager(): string;
2
- /**
3
- * Detect available package managers asynchronously and cache results
4
- */
5
- export declare function detectPackageManagers(): Promise<void>;
6
- /**
7
- * Get available package managers on the system
8
- */
9
- export declare function getSystemPackageManagers(): string[];
10
- /**
11
- * Get the preferred package manager based on priority
12
- */
13
- export declare function getPreferredPackageManager(): string;
14
- export declare function setPackageManager(packageManager: string): void;
15
- export declare function installCommand(): string;
16
- export declare function startCommand(): string;
17
- export declare function runPackageManagerCommand(command: string): string;
18
- //# 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":"AAUA,wBAAgB,iBAAiB,WAMhC;AA0BD;;GAEG;AACH,wBAAsB,qBAAqB,kBAsB1C;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAcnD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAenD;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,104 +0,0 @@
1
- import {exec,execSync}from'child_process';import {promisify}from'util';import detectPackageManager from'which-pm-runs';const execAsync = promisify(exec);
2
- let detectedPackageManager;
3
- let cachedSystemManagers;
4
- let cachedPreferredManager;
5
- function getPackageManager() {
6
- if (detectedPackageManager) {
7
- return detectedPackageManager;
8
- }
9
- return getPreferredPackageManager();
10
- }
11
- /**
12
- * Check if a package manager is installed
13
- */
14
- function isInstalled(manager) {
15
- try {
16
- execSync(`${manager} --version`, { stdio: "ignore" });
17
- return true;
18
- }
19
- catch {
20
- return false;
21
- }
22
- }
23
- /**
24
- * Check if a package manager is installed (async)
25
- */
26
- async function checkManager(manager) {
27
- try {
28
- await execAsync(`${manager} --version`);
29
- return true;
30
- }
31
- catch {
32
- return false;
33
- }
34
- }
35
- /**
36
- * Detect available package managers asynchronously and cache results
37
- */
38
- async function detectPackageManagers() {
39
- const managers = ["npm"];
40
- const checks = [checkManager("yarn"), checkManager("pnpm")];
41
- const [hasYarn, hasPnpm] = await Promise.all(checks);
42
- if (hasYarn)
43
- managers.push("yarn");
44
- if (hasPnpm)
45
- managers.push("pnpm");
46
- cachedSystemManagers = managers;
47
- // Determine preference
48
- const runningPm = detectPackageManager()?.name;
49
- if (runningPm && runningPm !== "npm") {
50
- cachedPreferredManager = runningPm;
51
- }
52
- else if (hasYarn) {
53
- cachedPreferredManager = "yarn";
54
- }
55
- else if (hasPnpm) {
56
- cachedPreferredManager = "pnpm";
57
- }
58
- else {
59
- cachedPreferredManager = "npm";
60
- }
61
- }
62
- /**
63
- * Get available package managers on the system
64
- */
65
- function getSystemPackageManagers() {
66
- if (cachedSystemManagers)
67
- return cachedSystemManagers;
68
- const managers = ["npm"]; // npm is assumed to be always available
69
- if (isInstalled("yarn")) {
70
- managers.push("yarn");
71
- }
72
- if (isInstalled("pnpm")) {
73
- managers.push("pnpm");
74
- }
75
- return managers;
76
- }
77
- /**
78
- * Get the preferred package manager based on priority
79
- */
80
- function getPreferredPackageManager() {
81
- if (cachedPreferredManager)
82
- return cachedPreferredManager;
83
- // Priority 1: The manager currently running the script
84
- const runningPm = detectPackageManager()?.name;
85
- if (runningPm && runningPm !== "npm")
86
- return runningPm;
87
- // Priority 2: Yarn (if installed)
88
- if (isInstalled("yarn"))
89
- return "yarn";
90
- // Priority 3: pnpm (if installed)
91
- if (isInstalled("pnpm"))
92
- return "pnpm";
93
- // Priority 4: npm (default)
94
- return "npm";
95
- }
96
- function setPackageManager(packageManager) {
97
- detectedPackageManager = packageManager;
98
- }
99
- function runPackageManagerCommand(command) {
100
- const packageManager = getPackageManager();
101
- if (packageManager === "npm")
102
- return `npm run ${command}`;
103
- return `${packageManager} ${command}`;
104
- }export{detectPackageManagers,getPackageManager,getPreferredPackageManager,getSystemPackageManagers,runPackageManagerCommand,setPackageManager};//# 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":"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"}
@@ -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