@ethlete/cli 2.1.0-next.3 → 2.1.0-next.5

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 (57) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +103 -6
  3. package/package.json +1 -1
  4. package/src/index.d.ts +1 -1
  5. package/src/index.js +31 -10
  6. package/src/index.js.map +1 -1
  7. package/src/lib/api/api-command.d.ts +4 -0
  8. package/src/lib/api/api-command.js +27 -0
  9. package/src/lib/api/api-command.js.map +1 -0
  10. package/src/lib/api/auth-hint.d.ts +9 -0
  11. package/src/lib/api/auth-hint.js +33 -0
  12. package/src/lib/api/auth-hint.js.map +1 -0
  13. package/src/lib/api/clone.d.ts +12 -0
  14. package/src/lib/api/clone.js +24 -0
  15. package/src/lib/api/clone.js.map +1 -0
  16. package/src/lib/api/compose.d.ts +17 -0
  17. package/src/lib/api/compose.js +58 -0
  18. package/src/lib/api/compose.js.map +1 -0
  19. package/src/lib/api/definition.d.ts +32 -0
  20. package/src/lib/api/definition.js +9 -0
  21. package/src/lib/api/definition.js.map +1 -0
  22. package/src/lib/api/git.d.ts +21 -0
  23. package/src/lib/api/git.js +59 -0
  24. package/src/lib/api/git.js.map +1 -0
  25. package/src/lib/api/help.d.ts +3 -0
  26. package/src/lib/api/help.js +39 -0
  27. package/src/lib/api/help.js.map +1 -0
  28. package/src/lib/api/index.d.ts +10 -0
  29. package/src/lib/api/index.js +14 -0
  30. package/src/lib/api/index.js.map +1 -0
  31. package/src/lib/api/load-definitions.d.ts +16 -0
  32. package/src/lib/api/load-definitions.js +22 -0
  33. package/src/lib/api/load-definitions.js.map +1 -0
  34. package/src/lib/api/resolve-checkout.d.ts +35 -0
  35. package/src/lib/api/resolve-checkout.js +78 -0
  36. package/src/lib/api/resolve-checkout.js.map +1 -0
  37. package/src/lib/api/run.d.ts +10 -0
  38. package/src/lib/api/run.js +149 -0
  39. package/src/lib/api/run.js.map +1 -0
  40. package/src/lib/config/diagnose.d.ts +7 -0
  41. package/src/lib/config/diagnose.js +103 -0
  42. package/src/lib/config/diagnose.js.map +1 -0
  43. package/src/lib/config/index.d.ts +2 -0
  44. package/src/lib/config/index.js +6 -0
  45. package/src/lib/config/index.js.map +1 -0
  46. package/src/lib/config/local-config.d.ts +44 -0
  47. package/src/lib/config/local-config.js +52 -0
  48. package/src/lib/config/local-config.js.map +1 -0
  49. package/src/lib/doctor/doctor-command.d.ts +4 -0
  50. package/src/lib/doctor/doctor-command.js +65 -0
  51. package/src/lib/doctor/doctor-command.js.map +1 -0
  52. package/src/lib/doctor/index.d.ts +1 -0
  53. package/src/lib/doctor/index.js +5 -0
  54. package/src/lib/doctor/index.js.map +1 -0
  55. package/src/lib/index.d.ts +3 -0
  56. package/src/lib/index.js +3 -0
  57. package/src/lib/index.js.map +1 -1
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.doctorCommand = void 0;
4
+ const compose_1 = require("../api/compose");
5
+ const path_1 = require("path");
6
+ const load_definitions_1 = require("../api/load-definitions");
7
+ const resolve_checkout_1 = require("../api/resolve-checkout");
8
+ const diagnose_1 = require("../config/diagnose");
9
+ const local_config_1 = require("../config/local-config");
10
+ const indent = (text) => text.replace(/\n/g, '\n ');
11
+ const describeComposeTool = () => {
12
+ const tool = (0, compose_1.resolveComposeTool)();
13
+ return tool
14
+ ? { line: `container engine: ${(0, compose_1.composeBinary)(tool.compose).join(' ')}`, problems: [] }
15
+ : { line: undefined, problems: [`No compose tool found. Tried: ${(0, compose_1.composeToolNames)().join(', ')}.`] };
16
+ };
17
+ const describeApis = (root) => {
18
+ const { found, apis, fileName } = (0, load_definitions_1.loadApiDefinitions)(root);
19
+ if (!found)
20
+ return { lines: [], problems: [] };
21
+ const lines = [];
22
+ const problems = [];
23
+ for (const [name, api] of Object.entries(apis)) {
24
+ const checkout = (0, resolve_checkout_1.resolveApiCheckout)({ root, name, api });
25
+ if (checkout.ok) {
26
+ lines.push(`${fileName}: ${name} → ${checkout.checkout.composePath}`);
27
+ }
28
+ else if (checkout.clonable) {
29
+ problems.push(`${checkout.problem} Run "et api clone ${name}".`);
30
+ }
31
+ else {
32
+ problems.push(checkout.problem);
33
+ }
34
+ }
35
+ return { lines, problems };
36
+ };
37
+ /** Reports every problem with this machine's setup, so `et api` does not have to find them one at a time. */
38
+ const doctorCommand = ({ root }) => {
39
+ // A file that exists but cannot be parsed still has to be reported, so this asks whether the file
40
+ // is there rather than whether it could be read.
41
+ const hasConfig = [local_config_1.LOCAL_CONFIG_FILE_NAME, local_config_1.LEGACY_LOCAL_CONFIG_FILE_NAME].some((fileName) => (0, local_config_1.readLocalConfigFile)((0, path_1.join)(root, fileName)).status !== 'absent');
42
+ const hasApis = (0, load_definitions_1.loadApiDefinitions)(root).found;
43
+ if (!hasConfig && !hasApis) {
44
+ console.log(`Nothing to check: ${root} has no ${local_config_1.LOCAL_CONFIG_FILE_NAME} and no ${load_definitions_1.API_DEFINITIONS_FILE_NAMES[0]}.`);
45
+ return 0;
46
+ }
47
+ const configProblems = (0, diagnose_1.diagnoseLocalConfig)({ root });
48
+ const compose = describeComposeTool();
49
+ const apis = describeApis(root);
50
+ const problems = [...configProblems, ...compose.problems, ...apis.problems];
51
+ for (const line of [compose.line, ...apis.lines].filter(Boolean)) {
52
+ console.log(` ${line}`);
53
+ }
54
+ if (problems.length === 0) {
55
+ console.log('\nNo problems found.');
56
+ return 0;
57
+ }
58
+ console.error(`\n${problems.length} problem(s):\n`);
59
+ for (const problem of problems) {
60
+ console.error(` - ${indent(problem)}`);
61
+ }
62
+ return 1;
63
+ };
64
+ exports.doctorCommand = doctorCommand;
65
+ //# sourceMappingURL=doctor-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-command.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/doctor/doctor-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './doctor-command';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./doctor-command"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/lib/doctor/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC"}
@@ -1 +1,4 @@
1
+ export * from './api';
2
+ export * from './config';
3
+ export * from './doctor';
1
4
  export * from './release';
package/src/lib/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./api"), exports);
5
+ tslib_1.__exportStar(require("./config"), exports);
6
+ tslib_1.__exportStar(require("./doctor"), exports);
4
7
  tslib_1.__exportStar(require("./release"), exports);
5
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/cli/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB;AACtB,mDAAyB;AACzB,mDAAyB;AACzB,oDAA0B"}