@ethlete/cli 3.0.0-next.16 → 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.
- package/CHANGELOG.md +6 -0
- package/README.md +8 -0
- package/package.json +1 -1
- package/src/lib/api/definition.js +6 -2
- package/src/lib/api/definition.js.map +1 -1
- package/src/lib/api/help.js +18 -4
- package/src/lib/api/help.js.map +1 -1
- package/src/lib/api/index.d.ts +1 -0
- package/src/lib/api/index.js +1 -0
- package/src/lib/api/index.js.map +1 -1
- package/src/lib/api/run.js +73 -4
- package/src/lib/api/run.js.map +1 -1
- package/src/lib/api/seeds.d.ts +55 -0
- package/src/lib/api/seeds.js +215 -0
- package/src/lib/api/seeds.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @ethlete/cli
|
|
2
2
|
|
|
3
|
+
## 3.0.0-next.17
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add `et api seed` and `et api fixtures`, which copy `.ethlete/seeds/<api>/` into the API container and run the seeds its `seeds.json` names. A clone now gitignores only its own `/.ethlete/<api>/`.
|
|
8
|
+
|
|
3
9
|
## 3.0.0-next.16
|
|
4
10
|
|
|
5
11
|
### Major Changes
|
package/README.md
CHANGED
|
@@ -104,10 +104,18 @@ yarn et api clone hub # clone the API into .ethlete/hub
|
|
|
104
104
|
yarn et api clear hub # remove that clone again
|
|
105
105
|
yarn et api clear --all # remove every managed clone
|
|
106
106
|
yarn et api setup hub # run the API's own setupCommand, which writes its .env
|
|
107
|
+
yarn et api seed hub # list the seeds in .ethlete/seeds/hub/seeds.json
|
|
108
|
+
yarn et api seed hub demo,shop # run two of them, in that order
|
|
109
|
+
yarn et api fixtures hub demo # load the fixtures, then run the demo seed
|
|
107
110
|
```
|
|
108
111
|
|
|
109
112
|
Every command takes a comma-separated list of names, and acts on each API in turn.
|
|
110
113
|
|
|
114
|
+
`seed` and `fixtures` read `.ethlete/seeds/<name>/seeds.json`, copy that folder into the API
|
|
115
|
+
container at `$SEED_DIR`, and run the shell lines of each seed you name there. The folder is
|
|
116
|
+
committed, so gitignore each managed checkout as `/.ethlete/<name>/`, never `.ethlete/` as a whole.
|
|
117
|
+
An `exec` entry named `seed` or `fixtures` runs instead.
|
|
118
|
+
|
|
111
119
|
`clone`, `checkout`, `pull`, `setup` and `clear` act on the checkout itself, so they work before the
|
|
112
120
|
API has an `.env` and need no container engine. `pull` refuses to run on a checkout with uncommitted
|
|
113
121
|
changes unless you pass `--force`. `--force` resets the branch to its remote and throws away local
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.apiCommandNames = exports.dependencyInstallCommandName = exports.installsDependencies = exports.GIT_API_COMMANDS = exports.BUILT_IN_API_COMMANDS = void 0;
|
|
4
|
+
const seeds_1 = require("./seeds");
|
|
4
5
|
exports.BUILT_IN_API_COMMANDS = [
|
|
5
6
|
'up',
|
|
6
7
|
'down',
|
|
@@ -25,8 +26,11 @@ exports.dependencyInstallCommandName = dependencyInstallCommandName;
|
|
|
25
26
|
const apiCommandNames = (api) => {
|
|
26
27
|
var _a;
|
|
27
28
|
return [
|
|
28
|
-
...
|
|
29
|
-
|
|
29
|
+
...new Set([
|
|
30
|
+
...exports.BUILT_IN_API_COMMANDS.filter((command) => command !== 'setup' || api.setupCommand),
|
|
31
|
+
...seeds_1.SEED_API_COMMANDS,
|
|
32
|
+
...Object.keys((_a = api.exec) !== null && _a !== void 0 ? _a : {}),
|
|
33
|
+
]),
|
|
30
34
|
];
|
|
31
35
|
};
|
|
32
36
|
exports.apiCommandNames = apiCommandNames;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/definition.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/definition.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAgC/B,QAAA,qBAAqB,GAAG;IACnC,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO;CACC,CAAC;AAEX,wGAAwG;AAC3F,QAAA,gBAAgB,GAAa,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAExE,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAElG,oHAAoH;AAC7G,MAAM,oBAAoB,GAAG,CAAC,WAA8B,EAAE,EAAE,WACrE,OAAA,qBAAqB,CAAC,QAAQ,CAAC,MAAA,WAAW,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;AAD1C,QAAA,oBAAoB,wBACsB;AAEvD,gGAAgG;AACzF,MAAM,4BAA4B,GAAG,CAAC,GAAkB,EAAE,EAAE,WACjE,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,eAAC,OAAA,IAAA,4BAAoB,EAAC,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAG,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAA,EAAA,CAAC;AAD9E,QAAA,4BAA4B,gCACkD;AAE3F,+GAA+G;AACxG,MAAM,eAAe,GAAG,CAAC,GAAkB,EAAE,EAAE;;IAAC,OAAA;QACrD,GAAG,IAAI,GAAG,CAAC;YACT,GAAG,6BAAqB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC;YACrF,GAAG,yBAAiB;YACpB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;SAC/B,CAAC;KACH,CAAA;CAAA,CAAC;AANW,QAAA,eAAe,mBAM1B"}
|
package/src/lib/api/help.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.singleApiHelp = exports.apiHelp = void 0;
|
|
4
4
|
const definition_1 = require("./definition");
|
|
5
|
+
const seeds_1 = require("./seeds");
|
|
5
6
|
const BUILT_IN_DESCRIPTIONS = {
|
|
6
7
|
up: 'Start the containers of the API',
|
|
7
8
|
down: 'Stop them',
|
|
@@ -13,6 +14,11 @@ const BUILT_IN_DESCRIPTIONS = {
|
|
|
13
14
|
pull: 'Fetch and fast-forward the checked-out branch',
|
|
14
15
|
setup: "Run the API's own setupCommand in its compose directory",
|
|
15
16
|
};
|
|
17
|
+
const SEED_DESCRIPTIONS = {
|
|
18
|
+
seed: 'List the seeds in .ethlete/seeds/<name>/seeds.json, or run the ones you name',
|
|
19
|
+
fixtures: 'Run the fixtures of that manifest, then the seeds you name',
|
|
20
|
+
};
|
|
21
|
+
const isSeedCommand = (command) => seeds_1.SEED_API_COMMANDS.some((candidate) => candidate === command);
|
|
16
22
|
const pad = (text, width) => text.padEnd(width);
|
|
17
23
|
/** The help text for `et api`, listing the built-in commands and what each API adds to them. */
|
|
18
24
|
const apiHelp = (apis, invocation) => {
|
|
@@ -20,15 +26,20 @@ const apiHelp = (apis, invocation) => {
|
|
|
20
26
|
const width = Math.max(8, ...entries.map(([name]) => name.length));
|
|
21
27
|
const commandWidth = Math.max(8, ...definition_1.BUILT_IN_API_COMMANDS.map((command) => command.length), ...entries.flatMap(([, api]) => { var _a; return Object.keys((_a = api.exec) !== null && _a !== void 0 ? _a : {}).map((command) => command.length); }));
|
|
22
28
|
const apiLines = entries.map(([name, api]) => ` ${pad(name, width)} ${(0, definition_1.apiCommandNames)(api).join(', ')}`);
|
|
23
|
-
const execNames = [
|
|
29
|
+
const execNames = [
|
|
30
|
+
...new Set(entries.flatMap(([, api]) => { var _a; return Object.keys((_a = api.exec) !== null && _a !== void 0 ? _a : {}).filter((command) => !isSeedCommand(command)); })),
|
|
31
|
+
];
|
|
24
32
|
return [
|
|
25
|
-
`Usage: ${invocation} <command> <api>[,<api>] [--host]`,
|
|
33
|
+
`Usage: ${invocation} <command> <api>[,<api>] [<service> | <seed>[,<seed>]] [--host]`,
|
|
26
34
|
'',
|
|
27
35
|
'Commands',
|
|
28
36
|
...definition_1.BUILT_IN_API_COMMANDS.map((command) => ` ${pad(command, commandWidth)} ${BUILT_IN_DESCRIPTIONS[command]}`),
|
|
37
|
+
...seeds_1.SEED_API_COMMANDS.map((command) => ` ${pad(command, commandWidth)} ${SEED_DESCRIPTIONS[command]}`),
|
|
29
38
|
...execNames.map((command) => ` ${pad(command, commandWidth)} Declared by the API itself`),
|
|
30
39
|
` ${pad('help', commandWidth)} What one API accepts, and where its checkout is`,
|
|
31
40
|
'',
|
|
41
|
+
`An exec entry named seed or fixtures in ethlete.apis.js runs instead of the built-in command.`,
|
|
42
|
+
'',
|
|
32
43
|
'APIs',
|
|
33
44
|
...(apiLines.length > 0 ? apiLines : [' none — declare them in ethlete.apis.js']),
|
|
34
45
|
'',
|
|
@@ -43,11 +54,14 @@ const apiHelp = (apis, invocation) => {
|
|
|
43
54
|
};
|
|
44
55
|
exports.apiHelp = apiHelp;
|
|
45
56
|
const commandDescription = (api, command) => {
|
|
46
|
-
var _a
|
|
57
|
+
var _a;
|
|
47
58
|
if (command === 'setup' && api.setupCommand)
|
|
48
59
|
return `Run "${api.setupCommand}" in ${api.composeDir}`;
|
|
60
|
+
const execCommand = (_a = api.exec) === null || _a === void 0 ? void 0 : _a[command];
|
|
61
|
+
if (isSeedCommand(command))
|
|
62
|
+
return execCommand ? execCommand.join(' ') : SEED_DESCRIPTIONS[command];
|
|
49
63
|
const builtIn = definition_1.BUILT_IN_API_COMMANDS.find((candidate) => candidate === command);
|
|
50
|
-
return builtIn ? BUILT_IN_DESCRIPTIONS[builtIn] : (
|
|
64
|
+
return builtIn ? BUILT_IN_DESCRIPTIONS[builtIn] : (execCommand !== null && execCommand !== void 0 ? execCommand : []).join(' ');
|
|
51
65
|
};
|
|
52
66
|
/** The help text for one API: every command it accepts, what each one runs, and where its files are. */
|
|
53
67
|
const singleApiHelp = (options) => {
|
package/src/lib/api/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/help.ts"],"names":[],"mappings":";;;AAAA,6CAAqG;
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/help.ts"],"names":[],"mappings":"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"}
|
package/src/lib/api/index.d.ts
CHANGED
package/src/lib/api/index.js
CHANGED
|
@@ -13,6 +13,7 @@ tslib_1.__exportStar(require("./load-definitions"), exports);
|
|
|
13
13
|
tslib_1.__exportStar(require("./ports"), exports);
|
|
14
14
|
tslib_1.__exportStar(require("./resolve-checkout"), exports);
|
|
15
15
|
tslib_1.__exportStar(require("./run"), exports);
|
|
16
|
+
tslib_1.__exportStar(require("./seeds"), exports);
|
|
16
17
|
tslib_1.__exportStar(require("./setup"), exports);
|
|
17
18
|
tslib_1.__exportStar(require("./state"), exports);
|
|
18
19
|
tslib_1.__exportStar(require("./suggest"), exports);
|
package/src/lib/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,oDAA0B;AAC1B,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB;AACxB,uDAA6B;AAC7B,gDAAsB;AACtB,iDAAuB;AACvB,6DAAmC;AACnC,kDAAwB;AACxB,6DAAmC;AACnC,gDAAsB;AACtB,kDAAwB;AACxB,kDAAwB;AACxB,oDAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/api/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,oDAA0B;AAC1B,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB;AACxB,uDAA6B;AAC7B,gDAAsB;AACtB,iDAAuB;AACvB,6DAAmC;AACnC,kDAAwB;AACxB,6DAAmC;AACnC,gDAAsB;AACtB,kDAAwB;AACxB,kDAAwB;AACxB,kDAAwB;AACxB,oDAA0B"}
|
package/src/lib/api/run.js
CHANGED
|
@@ -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
|
-
|
|
70
|
-
|
|
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) {
|
|
@@ -250,6 +254,29 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
|
|
|
250
254
|
else
|
|
251
255
|
runCompose('exec', target, 'bash');
|
|
252
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
|
+
}
|
|
253
280
|
else {
|
|
254
281
|
const execCommand = (_h = (_g = api.exec) === null || _g === void 0 ? void 0 : _g[command]) !== null && _h !== void 0 ? _h : [];
|
|
255
282
|
runCompose('exec', api.execService, ...execCommand);
|
|
@@ -267,6 +294,7 @@ const runOneApiCommand = (options) => tslib_1.__awaiter(void 0, void 0, void 0,
|
|
|
267
294
|
return exitCode;
|
|
268
295
|
});
|
|
269
296
|
const runApiCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ apis, argv, root = process.cwd(), invocation = 'et api', }) {
|
|
297
|
+
var _b;
|
|
270
298
|
const [command, nameArgument, service] = argv.filter((arg) => !arg.startsWith('-'));
|
|
271
299
|
const wantsHelp = argv.includes('--help') || argv.includes('-h') || command === 'help';
|
|
272
300
|
if (wantsHelp && nameArgument === undefined) {
|
|
@@ -325,9 +353,50 @@ const runApiCommand = (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function*
|
|
|
325
353
|
}
|
|
326
354
|
if (command === 'clear')
|
|
327
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
|
+
}
|
|
328
385
|
let exitCode = 0;
|
|
329
386
|
for (const { name, api } of targets) {
|
|
330
|
-
const
|
|
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
|
+
});
|
|
331
400
|
if (code !== 0)
|
|
332
401
|
exitCode = code;
|
|
333
402
|
}
|
package/src/lib/api/run.js.map
CHANGED
|
@@ -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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"}
|