@ethlete/cli 2.1.0-next.9 → 3.0.0-next.17

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 (117) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/README.md +30 -7
  3. package/design/define-call.ts +8 -8
  4. package/design/web/frame.ts +11 -5
  5. package/design/web/host.css +4 -4
  6. package/design/web/host.ts +68 -68
  7. package/package.json +3 -3
  8. package/src/index.d.ts +1 -0
  9. package/src/index.js +18 -4
  10. package/src/index.js.map +1 -1
  11. package/src/lib/api/clear.js +13 -3
  12. package/src/lib/api/clear.js.map +1 -1
  13. package/src/lib/api/compose.js +5 -1
  14. package/src/lib/api/compose.js.map +1 -1
  15. package/src/lib/api/definition.js +6 -2
  16. package/src/lib/api/definition.js.map +1 -1
  17. package/src/lib/api/git.d.ts +11 -4
  18. package/src/lib/api/git.js +35 -8
  19. package/src/lib/api/git.js.map +1 -1
  20. package/src/lib/api/help.js +18 -4
  21. package/src/lib/api/help.js.map +1 -1
  22. package/src/lib/api/index.d.ts +1 -0
  23. package/src/lib/api/index.js +1 -0
  24. package/src/lib/api/index.js.map +1 -1
  25. package/src/lib/api/load-definitions.js +10 -1
  26. package/src/lib/api/load-definitions.js.map +1 -1
  27. package/src/lib/api/ports.js +12 -3
  28. package/src/lib/api/ports.js.map +1 -1
  29. package/src/lib/api/run.js +81 -7
  30. package/src/lib/api/run.js.map +1 -1
  31. package/src/lib/api/seeds.d.ts +55 -0
  32. package/src/lib/api/seeds.js +215 -0
  33. package/src/lib/api/seeds.js.map +1 -0
  34. package/src/lib/api/setup.js +1 -1
  35. package/src/lib/api/setup.js.map +1 -1
  36. package/src/lib/api/state.js +7 -5
  37. package/src/lib/api/state.js.map +1 -1
  38. package/src/lib/auth/composer-auth.js +3 -2
  39. package/src/lib/auth/composer-auth.js.map +1 -1
  40. package/src/lib/auth/gitlab-token.js +1 -1
  41. package/src/lib/auth/gitlab-token.js.map +1 -1
  42. package/src/lib/config/diagnose.js +15 -9
  43. package/src/lib/config/diagnose.js.map +1 -1
  44. package/src/lib/config/local-config.d.ts +1 -1
  45. package/src/lib/design/check.js +27 -16
  46. package/src/lib/design/check.js.map +1 -1
  47. package/src/lib/design/serve.js +5 -5
  48. package/src/lib/design/serve.js.map +1 -1
  49. package/src/lib/design/vite-paths.d.ts +7 -0
  50. package/src/lib/design/vite-paths.js +15 -0
  51. package/src/lib/design/vite-paths.js.map +1 -0
  52. package/src/lib/doctor/doctor-command.js +18 -4
  53. package/src/lib/doctor/doctor-command.js.map +1 -1
  54. package/src/lib/release.d.ts +38 -1
  55. package/src/lib/release.js +150 -43
  56. package/src/lib/release.js.map +1 -1
  57. package/src/lib/update/agent-rules-sync.d.ts +37 -0
  58. package/src/lib/update/agent-rules-sync.js +40 -0
  59. package/src/lib/update/agent-rules-sync.js.map +1 -0
  60. package/src/lib/update/agent-setup.d.ts +33 -0
  61. package/src/lib/update/agent-setup.js +124 -0
  62. package/src/lib/update/agent-setup.js.map +1 -0
  63. package/src/lib/update/ai.d.ts +37 -8
  64. package/src/lib/update/ai.js +193 -24
  65. package/src/lib/update/ai.js.map +1 -1
  66. package/src/lib/update/args.d.ts +2 -0
  67. package/src/lib/update/args.js +22 -2
  68. package/src/lib/update/args.js.map +1 -1
  69. package/src/lib/update/available-migrations.d.ts +10 -0
  70. package/src/lib/update/available-migrations.js +23 -0
  71. package/src/lib/update/available-migrations.js.map +1 -0
  72. package/src/lib/update/commits.d.ts +63 -0
  73. package/src/lib/update/commits.js +146 -0
  74. package/src/lib/update/commits.js.map +1 -0
  75. package/src/lib/update/gitignore.d.ts +8 -0
  76. package/src/lib/update/gitignore.js +22 -0
  77. package/src/lib/update/gitignore.js.map +1 -0
  78. package/src/lib/update/index.d.ts +6 -0
  79. package/src/lib/update/index.js +6 -0
  80. package/src/lib/update/index.js.map +1 -1
  81. package/src/lib/update/migration-manifest.d.ts +10 -0
  82. package/src/lib/update/migration-manifest.js +15 -3
  83. package/src/lib/update/migration-manifest.js.map +1 -1
  84. package/src/lib/update/migration-record.d.ts +24 -0
  85. package/src/lib/update/migration-record.js +48 -0
  86. package/src/lib/update/migration-record.js.map +1 -0
  87. package/src/lib/update/migrations-command.d.ts +14 -0
  88. package/src/lib/update/migrations-command.js +212 -0
  89. package/src/lib/update/migrations-command.js.map +1 -0
  90. package/src/lib/update/package-manager.d.ts +20 -1
  91. package/src/lib/update/package-manager.js +34 -15
  92. package/src/lib/update/package-manager.js.map +1 -1
  93. package/src/lib/update/packages.js +31 -9
  94. package/src/lib/update/packages.js.map +1 -1
  95. package/src/lib/update/pending.d.ts +16 -0
  96. package/src/lib/update/pending.js +21 -5
  97. package/src/lib/update/pending.js.map +1 -1
  98. package/src/lib/update/plan.d.ts +28 -2
  99. package/src/lib/update/plan.js +54 -3
  100. package/src/lib/update/plan.js.map +1 -1
  101. package/src/lib/update/registry.d.ts +32 -4
  102. package/src/lib/update/registry.js +145 -8
  103. package/src/lib/update/registry.js.map +1 -1
  104. package/src/lib/update/run-migrations.d.ts +2 -0
  105. package/src/lib/update/run-migrations.js +20 -15
  106. package/src/lib/update/run-migrations.js.map +1 -1
  107. package/src/lib/update/scan.d.ts +14 -0
  108. package/src/lib/update/scan.js +57 -0
  109. package/src/lib/update/scan.js.map +1 -0
  110. package/src/lib/update/semver.js +2 -1
  111. package/src/lib/update/semver.js.map +1 -1
  112. package/src/lib/update/tasks.d.ts +18 -1
  113. package/src/lib/update/tasks.js +114 -43
  114. package/src/lib/update/tasks.js.map +1 -1
  115. package/src/lib/update/update-command.d.ts +7 -0
  116. package/src/lib/update/update-command.js +286 -64
  117. package/src/lib/update/update-command.js.map +1 -1
@@ -11,6 +11,9 @@ const resolve_checkout_1 = require("./resolve-checkout");
11
11
  const setup_1 = require("./setup");
12
12
  const suggest_1 = require("./suggest");
13
13
  const clone_1 = require("./clone");
14
+ const git_2 = require("./git");
15
+ const gitignore_1 = require("../update/gitignore");
16
+ const seeds_1 = require("./seeds");
14
17
  const auth_hint_1 = require("./auth-hint");
15
18
  const utils_1 = require("../utils");
16
19
  const local_config_1 = require("../config/local-config");
@@ -42,7 +45,7 @@ const takeComposeProjectDown = (composePath) => {
42
45
  };
43
46
  const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
44
47
  var _a, _b, _c, _d, _e, _f, _g, _h;
45
- const { argv, root, invocation, command, name, api, service } = options;
48
+ const { argv, root, invocation, command, name, api, service, seedSteps: steps } = options;
46
49
  const exposeOnLan = argv.includes('--host');
47
50
  const isGitCommand = definition_1.GIT_API_COMMANDS.includes(command);
48
51
  const checkout = (0, resolve_checkout_1.resolveApiCheckout)({
@@ -66,8 +69,9 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
66
69
  }));
67
70
  if (!accepted)
68
71
  return 1;
69
- if (!(0, clone_1.isGitIgnored)(root, into)) {
70
- console.warn(`\n${clone_1.DEFAULT_CHECKOUT_DIR}/ is not gitignored. Add it before you commit anything.\n`);
72
+ const ignoreLine = `/${clone_1.DEFAULT_CHECKOUT_DIR}/${name}/`;
73
+ if ((0, gitignore_1.ignoreEntry)({ root, entry: ignoreLine, probe: `${clone_1.DEFAULT_CHECKOUT_DIR}/${name}/` })) {
74
+ console.log(`\nAdded ${ignoreLine} to .gitignore.`);
71
75
  }
72
76
  const cloned = (0, clone_1.cloneApiRepo)({ repoUrl, into, branch });
73
77
  if (cloned !== 0) {
@@ -183,7 +187,12 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
183
187
  (0, child_process_1.spawnSync)(engine, ['network', 'create', api.network], { stdio: 'ignore' });
184
188
  }
185
189
  console.log(`Starting ${name}: ${api.services.join(', ')}.`);
186
- const started = (0, child_process_1.spawnSync)(binary, [...composePrefix, 'up', '-d', ...api.services], { cwd, env, encoding: 'utf8' });
190
+ const started = (0, child_process_1.spawnSync)(binary, [...composePrefix, 'up', '-d', ...api.services], {
191
+ cwd,
192
+ env,
193
+ encoding: 'utf8',
194
+ maxBuffer: Infinity,
195
+ });
187
196
  const startedOutput = `${(_c = started.stdout) !== null && _c !== void 0 ? _c : ''}\n${(_d = started.stderr) !== null && _d !== void 0 ? _d : ''}`.trim();
188
197
  if (started.error) {
189
198
  console.error(started.error.message);
@@ -245,6 +254,29 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
245
254
  else
246
255
  runCompose('exec', target, 'bash');
247
256
  }
257
+ else if (steps !== undefined) {
258
+ const directory = (0, seeds_1.containerSeedDirectory)(name);
259
+ const copied = (0, child_process_1.spawnSync)(binary, [...composePrefix, ...(0, seeds_1.seedCopyArgs)(api.execService, directory)], {
260
+ cwd,
261
+ env,
262
+ input: (0, seeds_1.tarDirectory)((0, seeds_1.seedDirectory)(root, name)),
263
+ stdio: ['pipe', 'inherit', 'inherit'],
264
+ });
265
+ if (copied.error || copied.status !== 0) {
266
+ if (copied.error)
267
+ console.error(copied.error.message);
268
+ console.error(`Could not copy ${(0, seeds_1.seedDirectory)(root, name)} into the ${api.execService} container.`);
269
+ return copied.status || 1;
270
+ }
271
+ for (const step of steps) {
272
+ console.log(`\nRunning ${step.label} in ${api.execService}.`);
273
+ runCompose(...(0, seeds_1.seedRunArgs)({ service: api.execService, directory, step, tty: process.stdin.isTTY === true }));
274
+ if (exitCode !== 0) {
275
+ console.error(`\n${step.label} failed with exit code ${exitCode}.`);
276
+ return exitCode;
277
+ }
278
+ }
279
+ }
248
280
  else {
249
281
  const execCommand = (_h = (_g = api.exec) === null || _g === void 0 ? void 0 : _g[command]) !== null && _h !== void 0 ? _h : [];
250
282
  runCompose('exec', api.execService, ...execCommand);
@@ -262,7 +294,8 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
262
294
  return exitCode;
263
295
  });
264
296
  const runApiCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ apis, argv, root = process.cwd(), invocation = 'et api', }) {
265
- const [command, nameArgument, service] = argv.filter((arg) => !arg.startsWith('--'));
297
+ var _b;
298
+ const [command, nameArgument, service] = argv.filter((arg) => !arg.startsWith('-'));
266
299
  const wantsHelp = argv.includes('--help') || argv.includes('-h') || command === 'help';
267
300
  if (wantsHelp && nameArgument === undefined) {
268
301
  console.log((0, help_1.apiHelp)(apis, invocation));
@@ -285,7 +318,7 @@ const runApiCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
285
318
  return 1;
286
319
  }
287
320
  const known = Object.keys(apis);
288
- const unknown = names.find((candidate) => apis[candidate] === undefined);
321
+ const unknown = names.find((candidate) => !Object.prototype.hasOwnProperty.call(apis, candidate));
289
322
  if (unknown !== undefined) {
290
323
  console.error(known.length === 0
291
324
  ? (0, help_1.apiHelp)(apis, invocation)
@@ -320,9 +353,50 @@ const runApiCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
320
353
  }
321
354
  if (command === 'clear')
322
355
  return clear(names);
356
+ const stepsByApi = new Map();
357
+ const isSeedCommand = seeds_1.SEED_API_COMMANDS.some((candidate) => candidate === command);
358
+ for (const { name } of isSeedCommand ? targets.filter(({ api }) => { var _a; return !((_a = api.exec) === null || _a === void 0 ? void 0 : _a[command]); }) : []) {
359
+ const manifest = (0, seeds_1.readSeedManifest)(root, name);
360
+ if (!manifest.ok) {
361
+ console.error(manifest.problem);
362
+ return 1;
363
+ }
364
+ if ((0, git_2.ignoredByGit)(root, (0, seeds_1.seedManifestPath)(name)) === true) {
365
+ console.warn(`${(0, seeds_1.seedManifestPath)(name)} is gitignored, so nobody else gets these seeds. Ignore only the managed ` +
366
+ `checkout: replace the ${clone_1.DEFAULT_CHECKOUT_DIR} line in .gitignore with "/${clone_1.DEFAULT_CHECKOUT_DIR}/${name}/".\n`);
367
+ }
368
+ const seedNames = (0, seeds_1.parseSeedList)(service);
369
+ if (command === 'seed' && seedNames.length === 0) {
370
+ console.log((0, seeds_1.seedListText)({ api: name, manifest: manifest.value, invocation }));
371
+ continue;
372
+ }
373
+ const steps = (0, seeds_1.seedSteps)({
374
+ manifest: manifest.value,
375
+ names: seedNames,
376
+ withFixtures: command === 'fixtures',
377
+ api: name,
378
+ });
379
+ if (!steps.ok) {
380
+ console.error(steps.problem);
381
+ return 1;
382
+ }
383
+ stepsByApi.set(name, steps.value);
384
+ }
323
385
  let exitCode = 0;
324
386
  for (const { name, api } of targets) {
325
- const code = yield runOneApiCommand({ argv, root, invocation, command, name, api, service });
387
+ const seedStepsOfApi = stepsByApi.get(name);
388
+ if (isSeedCommand && !((_b = api.exec) === null || _b === void 0 ? void 0 : _b[command]) && seedStepsOfApi === undefined)
389
+ continue;
390
+ const code = yield runOneApiCommand({
391
+ argv,
392
+ root,
393
+ invocation,
394
+ command,
395
+ name,
396
+ api,
397
+ service,
398
+ seedSteps: seedStepsOfApi,
399
+ });
326
400
  if (code !== 0)
327
401
  exitCode = code;
328
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export declare const SEEDS_DIR = ".ethlete/seeds";
2
+ export declare const SEED_MANIFEST_FILE_NAME = "seeds.json";
3
+ export declare const CONTAINER_SEEDS_DIR = "/tmp/ethlete-seeds";
4
+ /** The commands an API gets from `.ethlete/seeds/<name>/seeds.json`. An `exec` entry of the same name runs instead. */
5
+ export declare const SEED_API_COMMANDS: readonly ["seed", "fixtures"];
6
+ export type Seed = {
7
+ description?: string;
8
+ /** Shell lines, run in order by one `sh` that stops at the first failing line. */
9
+ run: string[];
10
+ env?: Record<string, string>;
11
+ };
12
+ export type SeedManifest = {
13
+ fixtures?: string[];
14
+ seeds: Record<string, Seed>;
15
+ };
16
+ export type SeedStep = {
17
+ label: string;
18
+ lines: string[];
19
+ env: Record<string, string>;
20
+ };
21
+ type Parsed<T> = {
22
+ ok: true;
23
+ value: T;
24
+ } | {
25
+ ok: false;
26
+ problem: string;
27
+ };
28
+ export declare const parseSeedManifest: (value: unknown) => Parsed<SeedManifest>;
29
+ export declare const seedDirectory: (root: string, name: string) => string;
30
+ export declare const seedManifestPath: (name: string) => string;
31
+ export declare const readSeedManifest: (root: string, name: string) => Parsed<SeedManifest>;
32
+ export declare const parseSeedList: (argument: string | undefined) => string[];
33
+ export declare const seedSteps: (options: {
34
+ manifest: SeedManifest;
35
+ names: string[];
36
+ withFixtures: boolean;
37
+ api: string;
38
+ }) => Parsed<SeedStep[]>;
39
+ export declare const seedListText: (options: {
40
+ api: string;
41
+ manifest: SeedManifest;
42
+ invocation: string;
43
+ }) => string;
44
+ export declare const shellQuote: (value: string) => string;
45
+ export declare const containerSeedDirectory: (api: string) => string;
46
+ export declare const seedCopyArgs: (service: string, directory: string) => string[];
47
+ export declare const seedRunArgs: (options: {
48
+ service: string;
49
+ directory: string;
50
+ step: SeedStep;
51
+ tty: boolean;
52
+ }) => string[];
53
+ /** A ustar archive of everything under `directory`, built in memory so the host needs no `tar` of its own. */
54
+ export declare const tarDirectory: (directory: string) => Buffer<ArrayBuffer>;
55
+ export {};
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tarDirectory = exports.seedRunArgs = exports.seedCopyArgs = exports.containerSeedDirectory = exports.shellQuote = exports.seedListText = exports.seedSteps = exports.parseSeedList = exports.readSeedManifest = exports.seedManifestPath = exports.seedDirectory = exports.parseSeedManifest = exports.SEED_API_COMMANDS = exports.CONTAINER_SEEDS_DIR = exports.SEED_MANIFEST_FILE_NAME = exports.SEEDS_DIR = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const clone_1 = require("./clone");
7
+ const suggest_1 = require("./suggest");
8
+ exports.SEEDS_DIR = `${clone_1.DEFAULT_CHECKOUT_DIR}/seeds`;
9
+ exports.SEED_MANIFEST_FILE_NAME = 'seeds.json';
10
+ exports.CONTAINER_SEEDS_DIR = '/tmp/ethlete-seeds';
11
+ /** The commands an API gets from `.ethlete/seeds/<name>/seeds.json`. An `exec` entry of the same name runs instead. */
12
+ exports.SEED_API_COMMANDS = ['seed', 'fixtures'];
13
+ const SEED_NAME = /^[\w-]+$/;
14
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
15
+ const isLineList = (value) => Array.isArray(value) && value.length > 0 && value.every((line) => typeof line === 'string' && line.trim() !== '');
16
+ const unknownKeys = (value, known) => Object.keys(value).filter((key) => !known.includes(key));
17
+ const parseSeed = (name, value) => {
18
+ const at = `seeds.${name}`;
19
+ if (!SEED_NAME.test(name)) {
20
+ return { ok: false, problem: `"${name}" is not a seed name. Use letters, digits, "-" and "_".` };
21
+ }
22
+ if (!isRecord(value))
23
+ return { ok: false, problem: `${at} must be an object with a "run" list.` };
24
+ const extra = unknownKeys(value, ['description', 'run', 'env']);
25
+ if (extra.length > 0) {
26
+ return { ok: false, problem: `${at} has an unknown key "${extra[0]}". Known keys: description, run, env.` };
27
+ }
28
+ if (!isLineList(value['run']))
29
+ return { ok: false, problem: `${at}.run must be a non-empty list of shell lines.` };
30
+ if (value['description'] !== undefined && typeof value['description'] !== 'string') {
31
+ return { ok: false, problem: `${at}.description must be a string.` };
32
+ }
33
+ const env = value['env'];
34
+ if (env !== undefined) {
35
+ const valid = isRecord(env) &&
36
+ Object.entries(env).every(([key, entry]) => /^[A-Za-z_]\w*$/.test(key) && typeof entry === 'string');
37
+ if (!valid) {
38
+ return { ok: false, problem: `${at}.env must map variable names to strings.` };
39
+ }
40
+ }
41
+ return {
42
+ ok: true,
43
+ value: {
44
+ run: value['run'],
45
+ description: value['description'],
46
+ env: env,
47
+ },
48
+ };
49
+ };
50
+ const parseSeedManifest = (value) => {
51
+ var _a;
52
+ if (!isRecord(value))
53
+ return { ok: false, problem: 'The manifest must be a JSON object.' };
54
+ const extra = unknownKeys(value, ['fixtures', 'seeds']);
55
+ if (extra.length > 0) {
56
+ return { ok: false, problem: `Unknown key "${extra[0]}". Known keys: fixtures, seeds.` };
57
+ }
58
+ const fixtures = value['fixtures'];
59
+ if (fixtures !== undefined && !isLineList(fixtures)) {
60
+ return { ok: false, problem: 'fixtures must be a non-empty list of shell lines.' };
61
+ }
62
+ const rawSeeds = (_a = value['seeds']) !== null && _a !== void 0 ? _a : {};
63
+ if (!isRecord(rawSeeds))
64
+ return { ok: false, problem: 'seeds must be an object of named seeds.' };
65
+ const seeds = {};
66
+ for (const [name, entry] of Object.entries(rawSeeds)) {
67
+ const seed = parseSeed(name, entry);
68
+ if (!seed.ok)
69
+ return seed;
70
+ seeds[name] = seed.value;
71
+ }
72
+ return { ok: true, value: { fixtures, seeds } };
73
+ };
74
+ exports.parseSeedManifest = parseSeedManifest;
75
+ const seedDirectory = (root, name) => (0, path_1.join)(root, exports.SEEDS_DIR, name);
76
+ exports.seedDirectory = seedDirectory;
77
+ const seedManifestPath = (name) => `${exports.SEEDS_DIR}/${name}/${exports.SEED_MANIFEST_FILE_NAME}`;
78
+ exports.seedManifestPath = seedManifestPath;
79
+ const readSeedManifest = (root, name) => {
80
+ const path = (0, exports.seedManifestPath)(name);
81
+ const absolute = (0, path_1.join)(root, path);
82
+ if (!(0, fs_1.existsSync)(absolute)) {
83
+ return {
84
+ ok: false,
85
+ problem: `The ${name} API has no seeds. Create ${path}:\n\n` +
86
+ ` {\n "fixtures": ["bin/console doctrine:fixtures:load -n"],\n` +
87
+ ` "seeds": {\n "demo": { "description": "Demo data", "run": ["php $SEED_DIR/demo.php"] }\n }\n }`,
88
+ };
89
+ }
90
+ let parsed;
91
+ try {
92
+ parsed = JSON.parse((0, fs_1.readFileSync)(absolute, 'utf8'));
93
+ }
94
+ catch (error) {
95
+ return { ok: false, problem: `${path} is not valid JSON: ${error.message}` };
96
+ }
97
+ const manifest = (0, exports.parseSeedManifest)(parsed);
98
+ return manifest.ok ? manifest : { ok: false, problem: `${path}: ${manifest.problem}` };
99
+ };
100
+ exports.readSeedManifest = readSeedManifest;
101
+ const parseSeedList = (argument) => (argument !== null && argument !== void 0 ? argument : '')
102
+ .split(',')
103
+ .map((name) => name.trim())
104
+ .filter((name) => name !== '');
105
+ exports.parseSeedList = parseSeedList;
106
+ const seedSteps = (options) => {
107
+ const { manifest, names, withFixtures, api } = options;
108
+ const known = Object.keys(manifest.seeds);
109
+ const unknown = names.find((name) => !Object.prototype.hasOwnProperty.call(manifest.seeds, name));
110
+ if (unknown !== undefined) {
111
+ return {
112
+ ok: false,
113
+ problem: `The ${api} API has no seed "${unknown}".${(0, suggest_1.didYouMean)(unknown, known)}\n\n` +
114
+ `Seeds: ${known.length > 0 ? known.join(', ') : 'none'}`,
115
+ };
116
+ }
117
+ if (withFixtures && !manifest.fixtures) {
118
+ return { ok: false, problem: `${(0, exports.seedManifestPath)(api)} declares no fixtures.` };
119
+ }
120
+ const fixtures = withFixtures && manifest.fixtures ? [{ label: 'fixtures', lines: manifest.fixtures, env: {} }] : [];
121
+ const seeds = names.map((name) => {
122
+ var _a;
123
+ const seed = manifest.seeds[name];
124
+ return { label: name, lines: seed.run, env: (_a = seed.env) !== null && _a !== void 0 ? _a : {} };
125
+ });
126
+ return { ok: true, value: [...fixtures, ...seeds] };
127
+ };
128
+ exports.seedSteps = seedSteps;
129
+ const seedListText = (options) => {
130
+ const { api, manifest, invocation } = options;
131
+ const entries = Object.entries(manifest.seeds);
132
+ const width = Math.max(...entries.map(([name]) => name.length), 0);
133
+ if (entries.length === 0)
134
+ return `${(0, exports.seedManifestPath)(api)} declares no seeds.`;
135
+ return [
136
+ `Seeds of the ${api} API`,
137
+ '',
138
+ ...entries.map(([name, seed]) => { var _a; return ` ${name.padEnd(width)} ${(_a = seed.description) !== null && _a !== void 0 ? _a : seed.run.join('; ')}`; }),
139
+ '',
140
+ `Run them with "${invocation} seed ${api} ${entries.map(([name]) => name).join(',')}".`,
141
+ ].join('\n');
142
+ };
143
+ exports.seedListText = seedListText;
144
+ const shellQuote = (value) => `'${value.replace(/'/g, `'\\''`)}'`;
145
+ exports.shellQuote = shellQuote;
146
+ const containerSeedDirectory = (api) => path_1.posix.join(exports.CONTAINER_SEEDS_DIR, api);
147
+ exports.containerSeedDirectory = containerSeedDirectory;
148
+ const seedCopyArgs = (service, directory) => {
149
+ const quoted = (0, exports.shellQuote)(directory);
150
+ return ['exec', '-T', service, 'sh', '-c', `rm -rf ${quoted} && mkdir -p ${quoted} && tar -x -C ${quoted}`];
151
+ };
152
+ exports.seedCopyArgs = seedCopyArgs;
153
+ const seedRunArgs = (options) => {
154
+ const { service, directory, step, tty } = options;
155
+ const exportLines = Object.entries(Object.assign({ SEED_DIR: directory }, step.env)).map(([key, value]) => `export ${key}=${(0, exports.shellQuote)(value)}`);
156
+ return ['exec', ...(tty ? [] : ['-T']), service, 'sh', '-c', ['set -e', ...exportLines, ...step.lines].join('\n')];
157
+ };
158
+ exports.seedRunArgs = seedRunArgs;
159
+ const BLOCK = 512;
160
+ const octal = (value, length) => value.toString(8).padStart(length - 1, '0') + '\0';
161
+ const splitTarName = (name) => {
162
+ if (Buffer.byteLength(name) <= 100)
163
+ return ['', name];
164
+ for (let index = name.indexOf('/'); index !== -1; index = name.indexOf('/', index + 1)) {
165
+ const prefix = name.slice(0, index);
166
+ const rest = name.slice(index + 1);
167
+ if (Buffer.byteLength(prefix) <= 155 && Buffer.byteLength(rest) <= 100)
168
+ return [prefix, rest];
169
+ }
170
+ throw new Error(`${name} is too long a path for a seed folder.`);
171
+ };
172
+ const tarHeader = (options) => {
173
+ const header = Buffer.alloc(BLOCK);
174
+ const [prefix, name] = splitTarName(options.name);
175
+ header.write(name, 0);
176
+ header.write(octal(options.mode, 8), 100);
177
+ header.write(octal(0, 8), 108);
178
+ header.write(octal(0, 8), 116);
179
+ header.write(octal(options.size, 12), 124);
180
+ header.write(octal(options.mtime, 12), 136);
181
+ header.write(' '.repeat(8), 148);
182
+ header.write(options.directory ? '5' : '0', 156);
183
+ header.write('ustar\0', 257);
184
+ header.write('00', 263);
185
+ header.write(prefix, 345);
186
+ const checksum = header.reduce((sum, byte) => sum + byte, 0);
187
+ header.write(`${checksum.toString(8).padStart(6, '0')}\0 `, 148);
188
+ return header;
189
+ };
190
+ /** A ustar archive of everything under `directory`, built in memory so the host needs no `tar` of its own. */
191
+ const tarDirectory = (directory) => {
192
+ const blocks = [];
193
+ const add = (relative) => {
194
+ const absolute = (0, path_1.join)(directory, relative);
195
+ for (const entry of (0, fs_1.readdirSync)(absolute).sort()) {
196
+ const name = relative === '' ? entry : `${relative}/${entry}`;
197
+ const stats = (0, fs_1.statSync)((0, path_1.join)(directory, name));
198
+ const mtime = Math.floor(stats.mtimeMs / 1000);
199
+ if (stats.isDirectory()) {
200
+ blocks.push(tarHeader({ name: `${name}/`, mode: 0o755, size: 0, mtime, directory: true }));
201
+ add(name);
202
+ }
203
+ else if (stats.isFile()) {
204
+ const contents = (0, fs_1.readFileSync)((0, path_1.join)(directory, name));
205
+ blocks.push(tarHeader({ name, mode: stats.mode & 0o777, size: contents.length, mtime, directory: false }));
206
+ blocks.push(contents, Buffer.alloc((BLOCK - (contents.length % BLOCK)) % BLOCK));
207
+ }
208
+ }
209
+ };
210
+ add('');
211
+ blocks.push(Buffer.alloc(BLOCK * 2));
212
+ return Buffer.concat(blocks);
213
+ };
214
+ exports.tarDirectory = tarDirectory;
215
+ //# sourceMappingURL=seeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seeds.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/seeds.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const runApiSetup = ({ setupCommand, composePath, envFile }) => {
15
15
  const envPath = envFile === undefined ? undefined : (0, path_1.join)(composePath, envFile);
16
16
  const existedBefore = envPath !== undefined && (0, fs_1.existsSync)(envPath);
17
17
  console.log(`Running "${setupCommand}" in ${composePath}.`);
18
- const result = (0, child_process_1.spawnSync)(setupCommand, { cwd: composePath, shell: true, encoding: 'utf8' });
18
+ const result = (0, child_process_1.spawnSync)(setupCommand, { cwd: composePath, shell: true, encoding: 'utf8', maxBuffer: Infinity });
19
19
  const output = `${(_a = result.stdout) !== null && _a !== void 0 ? _a : ''}\n${(_b = result.stderr) !== null && _b !== void 0 ? _b : ''}`.trim();
20
20
  const status = (_c = result.status) !== null && _c !== void 0 ? _c : 1;
21
21
  const fail = (reason) => {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/setup.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,2BAAgC;AAChC,+BAA4B;AAW5B;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAgB,EAAE,EAAE;;IAClF,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,QAAQ,WAAW,GAAG,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,KAAK,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE;QAC9B,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnC,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,YAAY,2BAA2B,MAAM,GAAG,CAAC,CAAC;IAEpF,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,YAAY,cAAc,OAAO,4BAA4B,WAAW,GAAG,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,aAAa,CAAC,CAAC;;QACjE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC;IAExF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA9BW,QAAA,WAAW,eA8BtB"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/setup.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,2BAAgC;AAChC,+BAA4B;AAW5B;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAgB,EAAE,EAAE;;IAClF,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,OAAO,KAAK,SAAS,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,QAAQ,WAAW,GAAG,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjH,MAAM,MAAM,GAAG,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,KAAK,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,MAAM,mCAAI,CAAC,CAAC;IAElC,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,EAAE;QAC9B,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtB,OAAO,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnC,CAAC,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEpD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,YAAY,2BAA2B,MAAM,GAAG,CAAC,CAAC;IAEpF,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,YAAY,cAAc,OAAO,4BAA4B,WAAW,GAAG,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,aAAa,CAAC,CAAC;;QACjE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAC,CAAC,WAAW,OAAO,GAAG,CAAC,CAAC;IAExF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AA9BW,QAAA,WAAW,eA8BtB"}
@@ -10,13 +10,15 @@ const pad = (text, width) => text.padEnd(width);
10
10
  const serviceStates = (options) => {
11
11
  const { services, containers } = options;
12
12
  return services.map((service) => {
13
- var _a, _b;
14
- const container = containers.find((candidate) => candidate.service === service);
13
+ var _a;
14
+ const replicas = containers.filter((candidate) => candidate.service === service);
15
+ const stopped = replicas.find((replica) => !(0, compose_1.isRunningStatus)(replica.status));
16
+ const shown = stopped !== null && stopped !== void 0 ? stopped : replicas[0];
15
17
  return {
16
18
  service,
17
- status: (_a = container === null || container === void 0 ? void 0 : container.status) !== null && _a !== void 0 ? _a : 'no container',
18
- running: container !== undefined && (0, compose_1.isRunningStatus)(container.status),
19
- ports: ((_b = container === null || container === void 0 ? void 0 : container.ports) !== null && _b !== void 0 ? _b : []).map(({ host, container: target }) => `${host} -> ${target}`),
19
+ status: (_a = shown === null || shown === void 0 ? void 0 : shown.status) !== null && _a !== void 0 ? _a : 'no container',
20
+ running: replicas.length > 0 && stopped === undefined,
21
+ ports: replicas.flatMap((replica) => replica.ports.map(({ host, container: target }) => `${host} -> ${target}`)),
20
22
  };
21
23
  });
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/state.ts"],"names":[],"mappings":";;;AAAA,uCAA4D;AAW5D,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEhE;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,OAI7B,EAAkB,EAAE;IACnB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEzC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAEhF,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,cAAc;YAC3C,OAAO,EAAE,SAAS,KAAK,SAAS,IAAI,IAAA,yBAAe,EAAC,SAAS,CAAC,MAAM,CAAC;YACrE,KAAK,EAAE,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC;SAC7F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB;AAEF,kFAAkF;AAC3E,MAAM,iBAAiB,GAAG,CAAC,MAA+B,EAAE,EAAE;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9E,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAClC,KAAK,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAC9F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/state.ts"],"names":[],"mappings":";;;AAAA,uCAA4D;AAW5D,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEhE;;;GAGG;AACI,MAAM,aAAa,GAAG,CAAC,OAI7B,EAAkB,EAAE;IACnB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAEzC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAA,yBAAe,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;QAErC,OAAO;YACL,OAAO;YACP,MAAM,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,cAAc;YACvC,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,SAAS;YACrD,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;SACjH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,aAAa,iBAmBxB;AAEF,kFAAkF;AAC3E,MAAM,iBAAiB,GAAG,CAAC,MAA+B,EAAE,EAAE;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9E,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAClC,KAAK,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAC9F;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
@@ -44,12 +44,13 @@ const writeGitlabToken = (options) => {
44
44
  const replaced = tokens[host] !== undefined && tokens[host] !== token;
45
45
  tokens[host] = token;
46
46
  (0, fs_1.mkdirSync)(home, { recursive: true });
47
+ // writeFileSync only applies mode when it creates the file, so an existing one is narrowed before the token lands.
48
+ if ((0, fs_1.existsSync)(path))
49
+ (0, fs_1.chmodSync)(path, 0o600);
47
50
  (0, fs_1.writeFileSync)(path, `${JSON.stringify(Object.assign(Object.assign({}, read.auth), { [GITLAB_TOKENS]: tokens }), null, 4)}\n`, {
48
51
  encoding: 'utf8',
49
52
  mode: 0o600,
50
53
  });
51
- // writeFileSync only applies mode when it creates the file, and this one usually already exists.
52
- (0, fs_1.chmodSync)(path, 0o600);
53
54
  return { ok: true, path, replaced };
54
55
  };
55
56
  exports.writeGitlabToken = writeGitlabToken;
@@ -1 +1 @@
1
- {"version":3,"file":"composer-auth.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/composer-auth.ts"],"names":[],"mappings":";;;AAAA,2BAAmF;AACnF,2BAA6B;AAC7B,+BAA4B;AAE5B;;;GAGG;AACI,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,WAAW,CAAC,CAAC;AAAzD,QAAA,mBAAmB,uBAAsC;AAE/D,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAA7D,QAAA,gBAAgB,oBAA6C;AAE1E,MAAM,aAAa,GAAG,cAAc,CAAC;AAIrC,MAAM,YAAY,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAuC,CAAC;AAEvG,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAmD,EAAE;IACjF,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAE3C,IAAI,MAAe,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAChH,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,+BAA+B,EAAE,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAsB,EAAE,CAAC;AAC1C,CAAC,CAAC;AAIF;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAsD,EAAoB,EAAE;IAC3G,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE5B,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,kEAAkE,EAAE,CAAC;IACtH,CAAC;IAED,MAAM,MAAM,qBAAQ,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;IAEtE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAErB,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrC,IAAA,kBAAa,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,iCAAM,IAAI,CAAC,IAAI,KAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC7F,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,iGAAiG;IACjG,IAAA,cAAS,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEvB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B;AAEF,sFAAsF;AAC/E,MAAM,iBAAiB,GAAG,CAAC,OAAuC,EAAE,EAAE;;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtD,OAAO,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACpF,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEF,2DAA2D;AACpD,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,CAAC;IAE9C,OAAO,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC;AAChF,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
1
+ {"version":3,"file":"composer-auth.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/auth/composer-auth.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ const TIMEOUT_MS = 10000;
6
6
  const request = (options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
7
7
  const { url, headers } = options;
8
8
  try {
9
- const response = yield fetch(url, { headers, signal: AbortSignal.timeout(TIMEOUT_MS) });
9
+ const response = yield fetch(url, { headers, redirect: 'error', signal: AbortSignal.timeout(TIMEOUT_MS) });
10
10
  return { response };
11
11
  }
12
12
  catch (error) {