@joltdesign/scripts 0.1.0 → 0.2.1

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.
package/bin/Config.js CHANGED
@@ -1,18 +1,11 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { readFile } from 'node:fs/promises';
11
2
  import path from 'node:path';
12
3
  import dotenv from 'dotenv';
13
4
  import shelljs from 'shelljs';
14
- import { constToCamel, execC, fileExists } from './utils.js';
5
+ import { constToCamel, execC, fileExists, replaceAsync } from './utils.js';
15
6
  const { which } = shelljs;
7
+ const dbImageRegex = /\b(?<type>mysql|mariadb)\b/i;
8
+ const ARG_REGEX = /{(?<type>(?:tf|tofu|terraform|conf|config)):(?<variable>[a-z0-9_-]+)}/gi;
16
9
  function parseEnvFile(env) {
17
10
  const parsed = {};
18
11
  for (const [k, v] of Object.entries(env)) {
@@ -21,7 +14,7 @@ function parseEnvFile(env) {
21
14
  return parsed;
22
15
  }
23
16
  export const DEFAULT_AWS_REGION = 'eu-west-1';
24
- export class Config {
17
+ class Config {
25
18
  get configPath() {
26
19
  return this._configPath;
27
20
  }
@@ -110,120 +103,258 @@ export class Config {
110
103
  return key in this.config;
111
104
  }
112
105
  // biome-ignore lint/suspicious/noExplicitAny: the TF var could be anything
113
- tfVar(key_1) {
114
- return __awaiter(this, arguments, void 0, function* (key, throwOnFail = false) {
115
- var _a;
116
- try {
117
- const result = yield execC(this.command('tofu'), ['output', '-json', key]);
118
- const output = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString();
119
- if (output !== undefined) {
120
- return JSON.parse(output);
121
- }
106
+ async tfVar(key, throwOnFail = false) {
107
+ var _a;
108
+ try {
109
+ const result = await execC(this.command('tofu'), ['output', '-json', key]);
110
+ const output = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString();
111
+ if (output !== undefined) {
112
+ return JSON.parse(output);
122
113
  }
123
- catch (e) {
124
- if (throwOnFail) {
125
- throw e;
126
- }
114
+ }
115
+ catch (e) {
116
+ if (throwOnFail) {
117
+ throw e;
127
118
  }
128
- });
119
+ }
129
120
  }
130
121
  awsRegion() {
131
122
  var _a;
132
123
  return (_a = process.env.AWS_REGION) !== null && _a !== void 0 ? _a : DEFAULT_AWS_REGION;
133
124
  }
134
- getDockerImageName() {
135
- return __awaiter(this, arguments, void 0, function* (isDev = false) {
136
- if (isDev) {
137
- if (this.has('devImageName')) {
138
- return this.get('devImageName');
139
- }
140
- const tfDevImageName = yield this.tfVar('dev_docker_image_name');
141
- if (tfDevImageName) {
142
- return tfDevImageName;
143
- }
144
- if (this.has('imageName')) {
145
- return `${this.get('imageName')}-dev`;
146
- }
147
- const tfImageName = yield this.tfVar('docker_image_name');
148
- if (tfImageName) {
149
- return `${tfImageName}-dev`;
150
- }
151
- return undefined;
125
+ async getDockerImageName(isDev = false) {
126
+ if (isDev) {
127
+ if (this.has('devImageName')) {
128
+ return this.get('devImageName');
129
+ }
130
+ const tfDevImageName = await this.tfVar('dev_docker_image_name');
131
+ if (tfDevImageName) {
132
+ return tfDevImageName;
152
133
  }
153
134
  if (this.has('imageName')) {
154
- return this.get('imageName');
135
+ return `${this.get('imageName')}-dev`;
155
136
  }
156
- const tfImageName = yield this.tfVar('docker_image_name');
137
+ const tfImageName = await this.tfVar('docker_image_name');
157
138
  if (tfImageName) {
158
- return tfImageName;
139
+ return `${tfImageName}-dev`;
159
140
  }
160
- });
141
+ return undefined;
142
+ }
143
+ if (this.has('imageName')) {
144
+ return this.get('imageName');
145
+ }
146
+ const tfImageName = await this.tfVar('docker_image_name');
147
+ if (tfImageName) {
148
+ return tfImageName;
149
+ }
161
150
  }
162
- getRemoteRepo() {
163
- return __awaiter(this, arguments, void 0, function* (isDev = false) {
164
- if (isDev) {
165
- if (this.has('devRemoteRepo')) {
166
- return this.get('devRemoteRepo');
167
- }
168
- const tfDevEcrRepo = yield this.tfVar('dev_ecr_url');
169
- if (tfDevEcrRepo) {
170
- return tfDevEcrRepo;
171
- }
172
- return undefined;
173
- }
174
- if (this.has('remoteRepo')) {
175
- return this.get('remoteRepo');
176
- }
177
- const tfEcrRepo = yield this.tfVar('ecr_url');
178
- if (tfEcrRepo) {
179
- return tfEcrRepo;
180
- }
181
- });
182
- }
183
- getComposeConfig() {
184
- return __awaiter(this, arguments, void 0, function* (throwOnFail = false) {
185
- var _a;
186
- if (this.composeConfig !== undefined) {
187
- return this.composeConfig || undefined;
188
- }
189
- try {
190
- const result = yield execC(this.command('docker compose'), ["--profile='*'", 'config', '--format=json']);
191
- const output = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString();
192
- if (output !== undefined) {
193
- const parsed = JSON.parse(output);
194
- this.composeConfig = parsed;
195
- return parsed;
151
+ async getRemoteRepo(isDev = false) {
152
+ if (isDev) {
153
+ if (this.has('devRemoteRepo')) {
154
+ return this.get('devRemoteRepo');
155
+ }
156
+ const tfDevEcrRepo = await this.tfVar('dev_ecr_url');
157
+ if (tfDevEcrRepo) {
158
+ return tfDevEcrRepo;
159
+ }
160
+ return undefined;
161
+ }
162
+ if (this.has('remoteRepo')) {
163
+ return this.get('remoteRepo');
164
+ }
165
+ const tfEcrRepo = await this.tfVar('ecr_url');
166
+ if (tfEcrRepo) {
167
+ return tfEcrRepo;
168
+ }
169
+ }
170
+ async getComposeConfig(throwOnFail = false) {
171
+ var _a;
172
+ if (this.composeConfig !== undefined) {
173
+ return this.composeConfig || undefined;
174
+ }
175
+ try {
176
+ const result = await execC(this.command('docker compose'), ["--profile='*'", 'config', '--format=json']);
177
+ const output = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString();
178
+ if (output !== undefined) {
179
+ const parsed = JSON.parse(output);
180
+ this.composeConfig = parsed;
181
+ return parsed;
182
+ }
183
+ }
184
+ catch (e) {
185
+ if (throwOnFail) {
186
+ throw e;
187
+ }
188
+ this.composeConfig = false;
189
+ return undefined;
190
+ }
191
+ }
192
+ getComposeCommand() {
193
+ const command = this.command('docker compose');
194
+ const parts = command.split(' ');
195
+ return [parts[0], parts.slice(1)];
196
+ }
197
+ async getCacheContainerInfo() {
198
+ var _a, _b, _c, _d, _e, _f, _g;
199
+ const composeConfig = await this.getComposeConfig();
200
+ const services = composeConfig === null || composeConfig === void 0 ? void 0 : composeConfig.services;
201
+ let container = (_a = this.get('cacheContainer')) !== null && _a !== void 0 ? _a : this.get('redisContainer');
202
+ let type = '';
203
+ if (!container && services) {
204
+ for (const [serviceName, service] of Object.entries(services)) {
205
+ const match = (_b = service.image) === null || _b === void 0 ? void 0 : _b.match(/\b(?<type>redis|valkey)\b/i);
206
+ if (match) {
207
+ container = serviceName;
208
+ type = (_d = (_c = match.groups) === null || _c === void 0 ? void 0 : _c.type) !== null && _d !== void 0 ? _d : '';
209
+ break;
196
210
  }
197
211
  }
198
- catch (e) {
199
- if (throwOnFail) {
200
- throw e;
212
+ }
213
+ if (!container || !services) {
214
+ return;
215
+ }
216
+ if (!type) {
217
+ const { image } = services[container];
218
+ const match = image === null || image === void 0 ? void 0 : image.match(/\b(?<type>redis|valkey)\b/i);
219
+ if (match) {
220
+ type = (_g = (_f = (_e = match.groups) === null || _e === void 0 ? void 0 : _e.type) === null || _f === void 0 ? void 0 : _f.toLowerCase()) !== null && _g !== void 0 ? _g : '';
221
+ }
222
+ if (!type) {
223
+ return;
224
+ }
225
+ }
226
+ let cliCommand;
227
+ switch (type) {
228
+ case 'redis':
229
+ cliCommand = 'redis-cli';
230
+ break;
231
+ case 'valkey':
232
+ cliCommand = 'valkey-cli';
233
+ break;
234
+ default:
235
+ return;
236
+ }
237
+ return { name: container, type, cliCommand, service: services[container] };
238
+ }
239
+ async getDBContainerInfo() {
240
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
241
+ const result = {};
242
+ const composeConfig = await this.getComposeConfig();
243
+ const services = composeConfig === null || composeConfig === void 0 ? void 0 : composeConfig.services;
244
+ if (this.has('dbContainer')) {
245
+ result.name = this.get('dbContainer');
246
+ }
247
+ else if (services) {
248
+ for (const [serviceName, service] of Object.entries(services)) {
249
+ const match = (_a = service.image) === null || _a === void 0 ? void 0 : _a.match(dbImageRegex);
250
+ if (match === null || match === void 0 ? void 0 : match.groups) {
251
+ result.name = serviceName;
252
+ result.type = match.groups.type.toLowerCase();
253
+ result.dumpCommand = this.getDBDumpCommandFromImageType((_b = match.groups) === null || _b === void 0 ? void 0 : _b.type);
254
+ result.cliCommand = this.getDBCLICommandFromImageType((_c = match.groups) === null || _c === void 0 ? void 0 : _c.type);
255
+ result.credentials = {
256
+ db: (_d = service.environment) === null || _d === void 0 ? void 0 : _d.DB_NAME,
257
+ user: (_e = service.environment) === null || _e === void 0 ? void 0 : _e.DB_USER,
258
+ pass: (_f = service.environment) === null || _f === void 0 ? void 0 : _f.DB_PASS,
259
+ };
201
260
  }
202
- this.composeConfig = false;
203
- return undefined;
204
261
  }
205
- });
262
+ }
263
+ if (!result.name) {
264
+ return;
265
+ }
266
+ if (this.has('dbDumpCommand')) {
267
+ result.dumpCommand = this.get('dbDumpCommand');
268
+ }
269
+ else if (services) {
270
+ const image = (_g = services[result.name]) === null || _g === void 0 ? void 0 : _g.image;
271
+ if (image) {
272
+ const match = image.match(dbImageRegex);
273
+ result.type = (_h = match === null || match === void 0 ? void 0 : match.groups) === null || _h === void 0 ? void 0 : _h.type.toLowerCase();
274
+ result.dumpCommand = this.getDBDumpCommandFromImageType((_j = match === null || match === void 0 ? void 0 : match.groups) === null || _j === void 0 ? void 0 : _j.type);
275
+ result.cliCommand = this.getDBCLICommandFromImageType((_k = match === null || match === void 0 ? void 0 : match.groups) === null || _k === void 0 ? void 0 : _k.type);
276
+ }
277
+ }
278
+ if (!result.dumpCommand) {
279
+ return;
280
+ }
281
+ if (!result.credentials) {
282
+ result.credentials = {
283
+ db: undefined,
284
+ user: undefined,
285
+ pass: undefined,
286
+ };
287
+ }
288
+ if (this.has('dbName')) {
289
+ result.credentials.db = this.get('dbName');
290
+ }
291
+ if (this.has('dbUser')) {
292
+ result.credentials.user = this.get('dbUser');
293
+ }
294
+ if (this.has('dbPass')) {
295
+ result.credentials.pass = this.get('dbPass');
296
+ }
297
+ if (Object.values(result.credentials).findIndex((x) => x === undefined) !== -1) {
298
+ return;
299
+ }
300
+ if (services) {
301
+ result.service = services[result.name];
302
+ }
303
+ return result;
206
304
  }
207
305
  asJson() {
208
306
  return JSON.stringify(this.config);
209
307
  }
308
+ async parseArg(arg) {
309
+ return await replaceAsync(arg, ARG_REGEX, async (x, ...args) => await this.parseArgCallback(x, ...args));
310
+ }
311
+ // biome-ignore lint/suspicious/noExplicitAny: this is the actual String.replace signature
312
+ async parseArgCallback(substring, ...args) {
313
+ var _a, _b;
314
+ const type = args[0];
315
+ const name = args[1];
316
+ switch (type === null || type === void 0 ? void 0 : type.toLowerCase()) {
317
+ case 'tf':
318
+ case 'tofu':
319
+ case 'terraform':
320
+ return (_a = (await this.tfVar(name))) !== null && _a !== void 0 ? _a : substring;
321
+ case 'conf':
322
+ case 'config':
323
+ return (_b = this.get(name)) !== null && _b !== void 0 ? _b : substring;
324
+ }
325
+ return substring;
326
+ }
327
+ getDBCLICommandFromImageType(type) {
328
+ switch (type) {
329
+ case 'mysql':
330
+ return 'mysql';
331
+ case 'mariadb':
332
+ return 'mariadb';
333
+ }
334
+ }
335
+ getDBDumpCommandFromImageType(type) {
336
+ switch (type) {
337
+ case 'mysql':
338
+ return 'mysqldump';
339
+ case 'mariadb':
340
+ return 'mariadb-dump';
341
+ }
342
+ }
210
343
  }
211
344
  let cachedConfig;
212
- export default function getConfig() {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- if (!cachedConfig) {
215
- const paths = ['./bin/.env', '.env'];
216
- for (const path of paths) {
217
- if (yield fileExists(path)) {
218
- const contents = yield readFile(path);
219
- const parsedConfig = parseEnvFile(dotenv.parse(contents));
220
- cachedConfig = new Config(parsedConfig, path);
221
- break;
222
- }
345
+ export default async function getConfig() {
346
+ if (!cachedConfig) {
347
+ const paths = ['./bin/.env', '.env'];
348
+ for (const path of paths) {
349
+ if (await fileExists(path)) {
350
+ const contents = await readFile(path);
351
+ const parsedConfig = parseEnvFile(dotenv.parse(contents));
352
+ cachedConfig = new Config(parsedConfig, path);
353
+ break;
223
354
  }
224
- cachedConfig || (cachedConfig = new Config());
225
355
  }
226
- return cachedConfig;
227
- });
356
+ cachedConfig || (cachedConfig = new Config());
357
+ }
358
+ return cachedConfig;
228
359
  }
229
360
  //# sourceMappingURL=Config.js.map
package/bin/Config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"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"}
package/bin/cli.js CHANGED
@@ -3,7 +3,9 @@ import { BuildCommand } from './Command/Build.js';
3
3
  import { ConfigCommand } from './Command/Config.js';
4
4
  import { DockerBuildCommand, DockerLoginCommand, DockerPushCommand, DockerTagCommand } from './Command/Docker.js';
5
5
  import { WPCommand } from './Command/WP.js';
6
- import { ECSDeployCommand } from './Command/AWS.js';
6
+ import { ECSDeployCommand, LogsTailCommand, S3SyncCommand } from './Command/AWS.js';
7
+ import { DBDumpCommand, DBResetCommand } from './Command/DB.js';
8
+ import { CacheFlushCommand } from './Command/Cache.js';
7
9
  const [node, app, ...args] = process.argv;
8
10
  const cli = new Cli({
9
11
  binaryLabel: 'Jolt Scripts',
@@ -18,5 +20,10 @@ cli.register(DockerTagCommand);
18
20
  cli.register(DockerPushCommand);
19
21
  cli.register(WPCommand);
20
22
  cli.register(ECSDeployCommand);
23
+ cli.register(DBDumpCommand);
24
+ cli.register(DBResetCommand);
25
+ cli.register(CacheFlushCommand);
26
+ cli.register(S3SyncCommand);
27
+ cli.register(LogsTailCommand);
21
28
  cli.runExit(args);
22
29
  //# sourceMappingURL=cli.js.map
package/bin/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,OAAO;CACvB,CAAC,CAAA;AAEF,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC1B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAChC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAChC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAC/B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AACvB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,OAAO;CACvB,CAAC,CAAA;AAEF,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAC1B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAChC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AAChC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAC/B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AACvB,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;AAC9B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;AAC5B,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;AAC/B,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC3B,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;AAC7B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA"}
package/bin/utils.js CHANGED
@@ -1,23 +1,12 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { stat } from 'node:fs/promises';
11
2
  import { execa } from 'execa';
12
- export function fileExists(path) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- try {
15
- return (yield stat(path)).isFile();
16
- }
17
- catch (e) {
18
- return false;
19
- }
20
- });
3
+ export async function fileExists(path) {
4
+ try {
5
+ return (await stat(path)).isFile();
6
+ }
7
+ catch (e) {
8
+ return false;
9
+ }
21
10
  }
22
11
  export function constToCamel(key) {
23
12
  let parts = key.split('_');
@@ -25,15 +14,30 @@ export function constToCamel(key) {
25
14
  parts[0] = parts[0].toLocaleLowerCase();
26
15
  return parts.join('');
27
16
  }
28
- export function execC(command_1) {
29
- return __awaiter(this, arguments, void 0, function* (command, args = [], options = {}) {
30
- const allOptions = Object.assign({ shell: true }, options);
31
- if (options.context) {
32
- allOptions.stdin || (allOptions.stdin = options.context.stdin);
33
- allOptions.stdout || (allOptions.stdout = options.context.stdout);
34
- allOptions.stderr || (allOptions.stderr = options.context.stderr);
35
- }
36
- return yield execa(command, args, allOptions);
17
+ export async function execC(command, args = [], options = {}) {
18
+ const allOptions = {
19
+ shell: true,
20
+ ...options,
21
+ };
22
+ if (options.context) {
23
+ allOptions.stdin || (allOptions.stdin = options.context.stdin);
24
+ allOptions.stdout || (allOptions.stdout = options.context.stdout);
25
+ allOptions.stderr || (allOptions.stderr = options.context.stderr);
26
+ }
27
+ return await execa(command, args, allOptions);
28
+ }
29
+ export function delay(ms) {
30
+ return new Promise((res) => setTimeout(res, ms, null));
31
+ }
32
+ export async function replaceAsync(str, replace,
33
+ // biome-ignore lint/suspicious/noExplicitAny: this is the actual String.replace signature
34
+ asyncFn) {
35
+ const promises = [];
36
+ str.replace(replace, (full, ...args) => {
37
+ promises.push(asyncFn(full, ...args));
38
+ return full;
37
39
  });
40
+ const data = await Promise.all(promises);
41
+ return str.replace(replace, () => data.shift() || '');
38
42
  }
39
43
  //# sourceMappingURL=utils.js.map
package/bin/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAGvC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAM7B,MAAM,UAAgB,UAAU,CAAC,IAAc;;QAC7C,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;CAAA;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAC3F,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;IAEvC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAgB,KAAK;yDAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAwB,EAAE;QAC1F,MAAM,UAAU,mBACd,KAAK,EAAE,IAAI,IACR,OAAO,CACX,CAAA;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,UAAU,CAAC,KAAK,KAAhB,UAAU,CAAC,KAAK,GAAK,OAAO,CAAC,OAAO,CAAC,KAAK,EAAA;YAC1C,UAAU,CAAC,MAAM,KAAjB,UAAU,CAAC,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAA;YAC5C,UAAU,CAAC,MAAM,KAAjB,UAAU,CAAC,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAA;QAC9C,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IAC/C,CAAC;CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAGvC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAM7B,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc;IAC7C,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IACpC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAC3F,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAA;IAEvC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAe,EAAE,OAAiB,EAAE,EAAE,UAAwB,EAAE;IAC1F,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,IAAI;QACX,GAAG,OAAO;KACX,CAAA;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,UAAU,CAAC,KAAK,KAAhB,UAAU,CAAC,KAAK,GAAK,OAAO,CAAC,OAAO,CAAC,KAAK,EAAA;QAC1C,UAAU,CAAC,MAAM,KAAjB,UAAU,CAAC,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAA;QAC5C,UAAU,CAAC,MAAM,KAAjB,UAAU,CAAC,MAAM,GAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAA;IAC9C,CAAC;IAED,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,OAAwB;AACxB,0FAA0F;AAC1F,OAA+D;IAE/D,MAAM,QAAQ,GAAsB,EAAE,CAAA;IAEtC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAExC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACvD,CAAC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "bin": {
5
5
  "jolt": "./bin/cli.js"
6
6
  },
7
- "version": "0.1.0",
7
+ "version": "0.2.1",
8
8
  "type": "module",
9
9
  "devDependencies": {
10
10
  "@biomejs/biome": "1.9.4",
@@ -23,7 +23,7 @@
23
23
  "watch": "tsc -w"
24
24
  },
25
25
  "dependencies": {
26
- "chalk": "^5.4.1",
26
+ "ansis": "^4.0.0",
27
27
  "clipanion": "^4.0.0-rc.4",
28
28
  "dotenv": "^16.5.0",
29
29
  "execa": "^9.5.3",