@pristine-ts/cli 2.0.6 → 2.0.7

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 (85) hide show
  1. package/dist/lib/cjs/bootstrap/build-runner.js +1 -1
  2. package/dist/lib/cjs/cli.module.js +12 -7
  3. package/dist/lib/cjs/cli.module.js.map +1 -1
  4. package/dist/lib/cjs/commands/build.command.js +15 -14
  5. package/dist/lib/cjs/commands/build.command.js.map +1 -1
  6. package/dist/lib/cjs/commands/config-print.command.js +16 -11
  7. package/dist/lib/cjs/commands/config-print.command.js.map +1 -1
  8. package/dist/lib/cjs/commands/help.command.js +17 -17
  9. package/dist/lib/cjs/commands/help.command.js.map +1 -1
  10. package/dist/lib/cjs/commands/info.command.js +26 -21
  11. package/dist/lib/cjs/commands/info.command.js.map +1 -1
  12. package/dist/lib/cjs/commands/init.command.js +22 -21
  13. package/dist/lib/cjs/commands/init.command.js.map +1 -1
  14. package/dist/lib/cjs/commands/list.command.js +6 -6
  15. package/dist/lib/cjs/commands/list.command.js.map +1 -1
  16. package/dist/lib/cjs/commands/start.command.js +12 -13
  17. package/dist/lib/cjs/commands/start.command.js.map +1 -1
  18. package/dist/lib/cjs/event-handlers/cli.event-handler.js +9 -7
  19. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  20. package/dist/lib/cjs/managers/cli-output.manager.js +45 -0
  21. package/dist/lib/cjs/managers/cli-output.manager.js.map +1 -0
  22. package/dist/lib/cjs/managers/cli-progress-bar.manager.js +49 -0
  23. package/dist/lib/cjs/managers/cli-progress-bar.manager.js.map +1 -0
  24. package/dist/lib/cjs/managers/cli-prompt.manager.js +99 -0
  25. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -0
  26. package/dist/lib/cjs/managers/cli-spinner.manager.js +93 -0
  27. package/dist/lib/cjs/managers/cli-spinner.manager.js.map +1 -0
  28. package/dist/lib/cjs/managers/managers.js +4 -1
  29. package/dist/lib/cjs/managers/managers.js.map +1 -1
  30. package/dist/lib/cjs/managers/shell.manager.js +25 -20
  31. package/dist/lib/cjs/managers/shell.manager.js.map +1 -1
  32. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  33. package/dist/lib/esm/bootstrap/build-runner.js +1 -1
  34. package/dist/lib/esm/cli.module.js +12 -7
  35. package/dist/lib/esm/cli.module.js.map +1 -1
  36. package/dist/lib/esm/commands/build.command.js +16 -15
  37. package/dist/lib/esm/commands/build.command.js.map +1 -1
  38. package/dist/lib/esm/commands/config-print.command.js +16 -11
  39. package/dist/lib/esm/commands/config-print.command.js.map +1 -1
  40. package/dist/lib/esm/commands/help.command.js +17 -17
  41. package/dist/lib/esm/commands/help.command.js.map +1 -1
  42. package/dist/lib/esm/commands/info.command.js +27 -22
  43. package/dist/lib/esm/commands/info.command.js.map +1 -1
  44. package/dist/lib/esm/commands/init.command.js +23 -22
  45. package/dist/lib/esm/commands/init.command.js.map +1 -1
  46. package/dist/lib/esm/commands/list.command.js +6 -6
  47. package/dist/lib/esm/commands/list.command.js.map +1 -1
  48. package/dist/lib/esm/commands/start.command.js +13 -14
  49. package/dist/lib/esm/commands/start.command.js.map +1 -1
  50. package/dist/lib/esm/event-handlers/cli.event-handler.js +9 -7
  51. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  52. package/dist/lib/esm/managers/cli-output.manager.js +42 -0
  53. package/dist/lib/esm/managers/cli-output.manager.js.map +1 -0
  54. package/dist/lib/esm/managers/cli-progress-bar.manager.js +46 -0
  55. package/dist/lib/esm/managers/cli-progress-bar.manager.js.map +1 -0
  56. package/dist/lib/esm/managers/cli-prompt.manager.js +63 -0
  57. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -0
  58. package/dist/lib/esm/managers/cli-spinner.manager.js +90 -0
  59. package/dist/lib/esm/managers/cli-spinner.manager.js.map +1 -0
  60. package/dist/lib/esm/managers/managers.js +4 -1
  61. package/dist/lib/esm/managers/managers.js.map +1 -1
  62. package/dist/lib/esm/managers/shell.manager.js +26 -21
  63. package/dist/lib/esm/managers/shell.manager.js.map +1 -1
  64. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  65. package/dist/types/bootstrap/build-runner.d.ts +1 -1
  66. package/dist/types/commands/build.command.d.ts +3 -3
  67. package/dist/types/commands/config-print.command.d.ts +8 -3
  68. package/dist/types/commands/help.command.d.ts +3 -3
  69. package/dist/types/commands/info.command.d.ts +5 -3
  70. package/dist/types/commands/init.command.d.ts +3 -3
  71. package/dist/types/commands/list.command.d.ts +3 -3
  72. package/dist/types/commands/start.command.d.ts +3 -3
  73. package/dist/types/event-handlers/cli.event-handler.d.ts +1 -3
  74. package/dist/types/managers/cli-output.manager.d.ts +21 -0
  75. package/dist/types/managers/cli-progress-bar.manager.d.ts +17 -0
  76. package/dist/types/managers/cli-prompt.manager.d.ts +22 -0
  77. package/dist/types/managers/cli-spinner.manager.d.ts +34 -0
  78. package/dist/types/managers/managers.d.ts +4 -1
  79. package/dist/types/managers/shell.manager.d.ts +3 -3
  80. package/package.json +9 -9
  81. package/dist/lib/cjs/managers/console.manager.js +0 -277
  82. package/dist/lib/cjs/managers/console.manager.js.map +0 -1
  83. package/dist/lib/esm/managers/console.manager.js +0 -241
  84. package/dist/lib/esm/managers/console.manager.js.map +0 -1
  85. package/dist/types/managers/console.manager.d.ts +0 -93
@@ -12,7 +12,7 @@ import { spawnSync } from "child_process";
12
12
  * inline avoids the awkward "exit, ask the user to type a command, re-enter" loop.
13
13
  *
14
14
  * Spawning rather than dispatching to `BuildCommand` directly keeps `AppModuleLoader` free
15
- * of the build pipeline's dependency graph (ConsoleManager, ShellManager, etc.) which only
15
+ * of the build pipeline's dependency graph (LogHandler, ShellManager, CliOutput, etc.) which only
16
16
  * exists in the kernel container — and the kernel hasn't booted yet at the point this is
17
17
  * called. The subprocess re-bootstraps the kernel cleanly with all of those services.
18
18
  *
@@ -30,11 +30,16 @@ export const CliModule = {
30
30
  ValidationModule,
31
31
  ],
32
32
  /**
33
- * When running through the CLI, logs share stderr with our own CLI output. We layer a
34
- * tighter set of defaults than `LoggingModule` ships with so the terminal stays
35
- * readable: Simple line-oriented format and `Error`-only severity threshold. Users can
36
- * override both in `pristine.config.ts:config` or via env-var resolvers — `configDefaults`
37
- * sits below the file and overrides in the resolution chain.
33
+ * When running through the CLI, logs are the user-facing channel there is no separate
34
+ * "structured output" surface that competes with them. We layer a CLI-friendly set of
35
+ * defaults on top of LoggingModule's: the `Pretty` output mode (colored, icon-prefixed
36
+ * single-line rendering) and the `Info` severity threshold so command narration
37
+ * (`Compiling`, `Build complete`, `Server listening`) is visible by default — matching
38
+ * the pre-LogHandler-consolidation behavior of `ConsoleManager.writeInfo/Success`.
39
+ * Users who want a quieter CLI (or a different output mode) can override either key in
40
+ * `pristine.config.ts:config` — the file beats `configDefaults` in the resolution chain.
41
+ * Env vars are checked LAST in the resolver chain, after configDefaults, so they cannot
42
+ * override these CLI defaults; use the config file for that.
38
43
  *
39
44
  * No `isLoggingModulePresent` check needed — `LoggingModule` is a hard import above, so
40
45
  * these keys are always registered when CliModule is in the graph. (And if a future
@@ -42,8 +47,8 @@ export const CliModule = {
42
47
  * with an actionable "unknown key" error — the right failure mode for that case.)
43
48
  */
44
49
  configDefaults: {
45
- [LoggingModuleKeyname + ".consoleLoggerOutputMode"]: OutputModeEnum.Simple,
46
- [LoggingModuleKeyname + ".logSeverityLevelConfiguration"]: SeverityEnum.Error,
50
+ [LoggingModuleKeyname + ".consoleLoggerOutputMode"]: OutputModeEnum.Pretty,
51
+ [LoggingModuleKeyname + ".logSeverityLevelConfiguration"]: SeverityEnum.Info,
47
52
  },
48
53
  };
49
54
  //# sourceMappingURL=cli.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.module.js","sourceRoot":"","sources":["../../../src/cli.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAE3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAE9B,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,oFAAoF;AACpF,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,OAAO,EAAE,gBAAgB;IACzB,wBAAwB,EAAE,EAAE;IAC5B,aAAa,EAAE;QACb,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,gBAAgB;KACjB;IACD;;;;;;;;;;;OAWG;IACH,cAAc,EAAE;QACd,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,cAAc,CAAC,MAAM;QAC1E,CAAC,oBAAoB,GAAG,gCAAgC,CAAC,EAAE,YAAY,CAAC,KAAK;KAC9E;CACF,CAAA"}
1
+ {"version":3,"file":"cli.module.js","sourceRoot":"","sources":["../../../src/cli.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAE3D,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAE9B,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,oFAAoF;AACpF,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,OAAO,EAAE,gBAAgB;IACzB,wBAAwB,EAAE,EAAE;IAC5B,aAAa,EAAE;QACb,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,gBAAgB;KACjB;IACD;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,EAAE;QACd,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,cAAc,CAAC,MAAM;QAC1E,CAAC,oBAAoB,GAAG,gCAAgC,CAAC,EAAE,YAAY,CAAC,IAAI;KAC7E;CACF,CAAA"}
@@ -7,6 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
10
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -19,8 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
19
22
  import fs from "fs";
20
23
  import path from "path";
21
24
  import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
22
- import { injectable } from "tsyringe";
23
- import { ConsoleManager } from "../managers/console.manager";
25
+ import { inject, injectable } from "tsyringe";
24
26
  import { ShellManager } from "../managers/shell.manager";
25
27
  import { CliModuleKeyname } from "../cli.module.keyname";
26
28
  import { ConfigLoader } from "../config/config-loader";
@@ -45,8 +47,8 @@ import { BuildManifestWriter } from "../bootstrap/build-manifest-writer";
45
47
  * - clean: false (set true to wipe outDir before building)
46
48
  */
47
49
  let BuildCommand = class BuildCommand {
48
- constructor(consoleManager, shellManager, configLoader, buildManifestWriter) {
49
- this.consoleManager = consoleManager;
50
+ constructor(logHandler, shellManager, configLoader, buildManifestWriter) {
51
+ this.logHandler = logHandler;
50
52
  this.shellManager = shellManager;
51
53
  this.configLoader = configLoader;
52
54
  this.buildManifestWriter = buildManifestWriter;
@@ -69,18 +71,18 @@ let BuildCommand = class BuildCommand {
69
71
  if (clean && outDir !== undefined) {
70
72
  const absOut = path.resolve(projectRoot, outDir);
71
73
  if (fs.existsSync(absOut)) {
72
- this.consoleManager.writeInfo(`Cleaning ${outDir}/`);
74
+ this.logHandler.info(`Cleaning ${outDir}/`, { highlights: { outDir } });
73
75
  fs.rmSync(absOut, { recursive: true, force: true });
74
76
  }
75
77
  }
76
78
  const invocations = this.resolveTscInvocations(projectRoot, tsconfig, format);
77
79
  if (invocations.length === 0) {
78
- this.consoleManager.writeError(`No tsconfig found. Looked for: ${this.expectedTsconfigsForFormat(tsconfig, format).join(", ")}`);
80
+ this.logHandler.error("No tsconfig found.", { highlights: { searched: this.expectedTsconfigsForFormat(tsconfig, format) } });
79
81
  return ExitCode.Error;
80
82
  }
81
83
  for (const tsconfigPath of invocations) {
82
84
  const relTsconfig = path.relative(projectRoot, tsconfigPath);
83
- this.consoleManager.writeInfo(`Compiling with ${relTsconfig}`);
85
+ this.logHandler.info(`Compiling with ${relTsconfig}`, { highlights: { tsconfig: relTsconfig } });
84
86
  try {
85
87
  // The shell command runs in the current process's CWD, which is already projectRoot.
86
88
  // Don't pass `directory` here — ShellManager's PathManager resolution would double
@@ -92,12 +94,12 @@ let BuildCommand = class BuildCommand {
92
94
  });
93
95
  }
94
96
  catch (error) {
95
- this.consoleManager.writeError(`tsc failed for ${relTsconfig}`);
97
+ this.logHandler.error(`tsc failed for ${relTsconfig}`, { highlights: { tsconfig: relTsconfig } });
96
98
  return ExitCode.Error;
97
99
  }
98
100
  }
99
101
  this.writeManifestIfConfigured(projectRoot, (_f = resolvedConfig.config.cli) === null || _f === void 0 ? void 0 : _f.appModule);
100
- this.consoleManager.writeSuccess(`Build complete (${invocations.length} tsconfig${invocations.length > 1 ? "s" : ""}).`);
102
+ this.logHandler.success("Build complete.", { highlights: { tsconfigs: invocations.length } });
101
103
  return ExitCode.Success;
102
104
  });
103
105
  }
@@ -110,16 +112,15 @@ let BuildCommand = class BuildCommand {
110
112
  const absoluteSource = path.resolve(projectRoot, appModule.sourcePath);
111
113
  const absoluteOutput = path.resolve(projectRoot, appModule.outputPath);
112
114
  if (fs.existsSync(absoluteSource) === false) {
113
- this.consoleManager.writeWarning(`Build succeeded but appModule.sourcePath '${appModule.sourcePath}' does not exist; skipping manifest.`);
115
+ this.logHandler.warning("Build succeeded but appModule.sourcePath does not exist; skipping manifest.", { highlights: { sourcePath: appModule.sourcePath } });
114
116
  return;
115
117
  }
116
118
  if (fs.existsSync(absoluteOutput) === false) {
117
- this.consoleManager.writeWarning(`Build succeeded but appModule.outputPath '${appModule.outputPath}' was not produced; skipping manifest. ` +
118
- `Check your tsconfig outDir / file layout.`);
119
+ this.logHandler.warning("Build succeeded but appModule.outputPath was not produced; skipping manifest. Check your tsconfig outDir / file layout.", { highlights: { outputPath: appModule.outputPath } });
119
120
  return;
120
121
  }
121
122
  const manifest = this.buildManifestWriter.write(projectRoot, appModule.sourcePath, appModule.outputPath);
122
- this.consoleManager.writeInfo(`Manifest written: .pristine/build-manifest.json (built at ${manifest.builtAt})`);
123
+ this.logHandler.info("Manifest written: .pristine/build-manifest.json", { highlights: { builtAt: manifest.builtAt } });
123
124
  }
124
125
  /**
125
126
  * For `format: "both"`, we run two passes: the primary tsconfig (assumed ESM-ish), then
@@ -157,8 +158,8 @@ BuildCommand = __decorate([
157
158
  tag(ServiceDefinitionTagEnum.Command),
158
159
  moduleScoped(CliModuleKeyname),
159
160
  injectable(),
160
- __metadata("design:paramtypes", [ConsoleManager,
161
- ShellManager,
161
+ __param(0, inject("LogHandlerInterface")),
162
+ __metadata("design:paramtypes", [Object, ShellManager,
162
163
  ConfigLoader,
163
164
  BuildManifestWriter])
164
165
  ], BuildCommand);
@@ -1 +1 @@
1
- {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/commands/build.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;GAkBG;AAII,IAAM,YAAY,GAAlB,MAAM,YAAY;IAQvB,YACmB,cAA8B,EAC9B,YAA0B,EAC1B,YAA0B,EAC1B,mBAAwC;QAHxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAX3D,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,6CAA6C,CAAC;QAE3C,oBAAe,GAAW,eAAe,CAAC;QAC1C,kBAAa,GAA2B,KAAK,CAAC;IAQ/D,CAAC;IAEK,GAAG,CAAC,IAAS;;;YACjB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,WAAW,EAAC,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,MAAA,MAAA,cAAc,CAAC,MAAM,CAAC,GAAG,0CAAE,KAAK,mCAAI,EAAE,CAAC;YAE3D,MAAM,QAAQ,GAAG,MAAA,WAAW,CAAC,QAAQ,mCAAI,IAAI,CAAC,eAAe,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,MAAM,mCAAI,IAAI,CAAC,aAAa,CAAC;YACxD,MAAM,KAAK,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,KAAK,CAAC;YACzC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAElC,IAAI,KAAK,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC;oBACrD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,UAAU,CAC5B,kCAAkC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjG,CAAC;gBACF,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,KAAK,MAAM,YAAY,IAAI,WAAW,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC;oBACH,qFAAqF;oBACrF,mFAAmF;oBACnF,gFAAgF;oBAChF,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,WAAW,EAAE,EAAE;wBAC3D,YAAY,EAAE,IAAI;wBAClB,cAAc,EAAE,KAAK;wBACrB,gCAAgC,EAAE,KAAK;qBACxC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;oBAChE,OAAO,QAAQ,CAAC,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,MAAA,cAAc,CAAC,MAAM,CAAC,GAAG,0CAAE,SAAS,CAAC,CAAC;YAElF,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,mBAAmB,WAAW,CAAC,MAAM,YAAY,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACzH,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;IAEO,yBAAyB,CAAC,WAAmB,EAAE,SAAmE;QACxH,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAK,SAAS,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAK,SAAS,EAAE,CAAC;YAC/E,kFAAkF;YAClF,kDAAkD;YAClD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QAEvE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,CAC9B,6CAA6C,SAAS,CAAC,UAAU,sCAAsC,CACxG,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,CAC9B,6CAA6C,SAAS,CAAC,UAAU,yCAAyC;gBAC1G,2CAA2C,CAC5C,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;QACzG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,6DAA6D,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;IAClH,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,WAAmB,EAAE,OAAe,EAAE,MAA8B;QAChG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEtD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE1D,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO;QACP,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,0BAA0B,CAAC,OAAe,EAAE,MAA8B;QAChF,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;CACF,CAAA;AA9HY,YAAY;IAHxB,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAUwB,cAAc;QAChB,YAAY;QACZ,YAAY;QACL,mBAAmB;GAZhD,YAAY,CA8HxB"}
1
+ {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/commands/build.command.ts"],"names":[],"mappings":"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"}
@@ -19,17 +19,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
19
19
  import path from "path";
20
20
  import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
21
21
  import { injectable } from "tsyringe";
22
- import { ConsoleManager } from "../managers/console.manager";
22
+ import { CliOutput } from "../managers/cli-output.manager";
23
23
  import { CliModuleKeyname } from "../cli.module.keyname";
24
24
  import { ConfigLoader } from "../config/config-loader";
25
25
  /**
26
26
  * Prints the resolved Pristine configuration plus where it was loaded from. Useful for
27
27
  * debugging discovery — when `pristine` is doing something unexpected, the first question is
28
28
  * always "which config file did it actually pick up?"
29
+ *
30
+ * This is a report command: its entire output is the report. It goes through `CliOutput`
31
+ * exclusively (not `LogHandler`) so the dump pipes/redirects cleanly — `pristine
32
+ * p:config:print > config.json` must produce a usable file, with no severity gating, no
33
+ * per-line timestamp/icon decoration, and no fan-out to file/Sentry transports.
29
34
  */
30
35
  let ConfigPrintCommand = class ConfigPrintCommand {
31
- constructor(consoleManager, configLoader) {
32
- this.consoleManager = consoleManager;
36
+ constructor(cliOutput, configLoader) {
37
+ this.cliOutput = cliOutput;
33
38
  this.configLoader = configLoader;
34
39
  this.optionsType = null;
35
40
  this.name = "p:config:print";
@@ -39,18 +44,18 @@ let ConfigPrintCommand = class ConfigPrintCommand {
39
44
  return __awaiter(this, void 0, void 0, function* () {
40
45
  const resolved = yield this.configLoader.load({ startDir: process.cwd() });
41
46
  if (resolved.configFilePath !== undefined) {
42
- this.consoleManager.writeInfo(`Config file: ${path.relative(process.cwd(), resolved.configFilePath)}`);
47
+ this.cliOutput.writeLine(`Config file: ${path.relative(process.cwd(), resolved.configFilePath)}`);
43
48
  }
44
49
  else {
45
- this.consoleManager.writeInfo("No config file found — running with defaults.");
50
+ this.cliOutput.writeLine("No config file found — running with defaults.");
46
51
  }
47
- this.consoleManager.writeLine("");
48
- this.consoleManager.writeLine(JSON.stringify(resolved.config, null, 2));
52
+ this.cliOutput.writeLine("");
53
+ this.cliOutput.writeLine(JSON.stringify(resolved.config, null, 2));
49
54
  if (Object.keys(resolved.provenance).length > 0) {
50
- this.consoleManager.writeLine("");
51
- this.consoleManager.writeInfo("Provenance:");
55
+ this.cliOutput.writeLine("");
56
+ this.cliOutput.writeLine("Provenance:");
52
57
  for (const [field, source] of Object.entries(resolved.provenance)) {
53
- this.consoleManager.writeLine(` ${field}: ${source}`);
58
+ this.cliOutput.writeLine(` ${field}: ${source}`);
54
59
  }
55
60
  }
56
61
  return ExitCode.Success;
@@ -61,7 +66,7 @@ ConfigPrintCommand = __decorate([
61
66
  tag(ServiceDefinitionTagEnum.Command),
62
67
  moduleScoped(CliModuleKeyname),
63
68
  injectable(),
64
- __metadata("design:paramtypes", [ConsoleManager,
69
+ __metadata("design:paramtypes", [CliOutput,
65
70
  ConfigLoader])
66
71
  ], ConfigPrintCommand);
67
72
  export { ConfigPrintCommand };
@@ -1 +1 @@
1
- {"version":3,"file":"config-print.command.js","sourceRoot":"","sources":["../../../../src/commands/config-print.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD;;;;GAIG;AAII,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAK7B,YACmB,cAA8B,EAC9B,YAA0B;QAD1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAN7C,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,0EAA0E,CAAC;IAMzF,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;YAEzE,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACF,CAAA;AAjCY,kBAAkB;IAH9B,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAOwB,cAAc;QAChB,YAAY;GAPlC,kBAAkB,CAiC9B"}
1
+ {"version":3,"file":"config-print.command.js","sourceRoot":"","sources":["../../../../src/commands/config-print.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD;;;;;;;;;GASG;AAII,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAK7B,YACmB,SAAoB,EACpB,YAA0B;QAD1B,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAN7C,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,0EAA0E,CAAC;IAMzF,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;YAEzE,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACpG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAEnE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBACxC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACF,CAAA;AAjCY,kBAAkB;IAH9B,GAAG,CAAC,wBAAwB,CAAC,OAAO,CAAC;IACrC,YAAY,CAAC,gBAAgB,CAAC;IAC9B,UAAU,EAAE;qCAOmB,SAAS;QACN,YAAY;GAPlC,kBAAkB,CAiC9B"}
@@ -21,7 +21,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
21
21
  };
22
22
  import { inject, injectable } from "tsyringe";
23
23
  import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
24
- import { ConsoleManager } from "../managers/console.manager";
24
+ import { CliOutput } from "../managers/cli-output.manager";
25
25
  import { CliModuleKeyname } from "../cli.module.keyname";
26
26
  /**
27
27
  * Prints a usage banner plus a one-line summary for every registered command. The output is
@@ -39,8 +39,8 @@ import { CliModuleKeyname } from "../cli.module.keyname";
39
39
  * by which point every Command-tagged class is fully constructed and cached.
40
40
  */
41
41
  let HelpCommand = class HelpCommand {
42
- constructor(consoleManager, container) {
43
- this.consoleManager = consoleManager;
42
+ constructor(cliOutput, container) {
43
+ this.cliOutput = cliOutput;
44
44
  this.container = container;
45
45
  this.optionsType = null;
46
46
  this.name = "p:help";
@@ -55,25 +55,25 @@ let HelpCommand = class HelpCommand {
55
55
  // The lazy resolve breaks the cycle. The child container is constructor-
56
56
  // injected, so only the enumeration is late-bound.
57
57
  const commands = this.container.resolveAll(ServiceDefinitionTagEnum.Command);
58
- this.consoleManager.writeLine("Pristine CLI");
59
- this.consoleManager.writeLine("");
60
- this.consoleManager.writeLine("Usage:");
61
- this.consoleManager.writeLine(" pristine <command> [--option=value ...]");
62
- this.consoleManager.writeLine("");
63
- this.consoleManager.writeLine("Commands:");
58
+ this.cliOutput.writeLine("Pristine CLI");
59
+ this.cliOutput.writeLine("");
60
+ this.cliOutput.writeLine("Usage:");
61
+ this.cliOutput.writeLine(" pristine <command> [--option=value ...]");
62
+ this.cliOutput.writeLine("");
63
+ this.cliOutput.writeLine("Commands:");
64
64
  const sorted = [...commands].sort((a, b) => a.name.localeCompare(b.name));
65
65
  const longestName = sorted.reduce((max, c) => Math.max(max, c.name.length), 0);
66
66
  for (const command of sorted) {
67
67
  const padded = command.name.padEnd(longestName + 2, " ");
68
68
  const description = (_a = command.description) !== null && _a !== void 0 ? _a : "";
69
- this.consoleManager.writeLine(` ${padded}${description}`);
69
+ this.cliOutput.writeLine(` ${padded}${description}`);
70
70
  }
71
- this.consoleManager.writeLine("");
72
- this.consoleManager.writeLine("Adding your own command:");
73
- this.consoleManager.writeLine(" 1. Implement CommandInterface from '@pristine-ts/cli'");
74
- this.consoleManager.writeLine(" 2. Decorate with @tag(ServiceDefinitionTagEnum.Command) @injectable()");
75
- this.consoleManager.writeLine(" 3. Make sure your AppModule's import graph reaches the file");
76
- this.consoleManager.writeLine(" 4. Invoke as: pristine <your-command-name>");
71
+ this.cliOutput.writeLine("");
72
+ this.cliOutput.writeLine("Adding your own command:");
73
+ this.cliOutput.writeLine(" 1. Implement CommandInterface from '@pristine-ts/cli'");
74
+ this.cliOutput.writeLine(" 2. Decorate with @tag(ServiceDefinitionTagEnum.Command) @injectable()");
75
+ this.cliOutput.writeLine(" 3. Make sure your AppModule's import graph reaches the file");
76
+ this.cliOutput.writeLine(" 4. Invoke as: pristine <your-command-name>");
77
77
  return ExitCode.Success;
78
78
  });
79
79
  }
@@ -83,7 +83,7 @@ HelpCommand = __decorate([
83
83
  moduleScoped(CliModuleKeyname),
84
84
  injectable(),
85
85
  __param(1, inject(ServiceDefinitionTagEnum.CurrentChildContainer)),
86
- __metadata("design:paramtypes", [ConsoleManager, Object])
86
+ __metadata("design:paramtypes", [CliOutput, Object])
87
87
  ], HelpCommand);
88
88
  export { HelpCommand };
89
89
  //# sourceMappingURL=help.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.command.js","sourceRoot":"","sources":["../../../../src/commands/help.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help.command.js","sourceRoot":"","sources":["../../../../src/commands/help.command.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
10
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -20,8 +23,8 @@ import fs from "fs";
20
23
  import os from "os";
21
24
  import path from "path";
22
25
  import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
23
- import { injectable } from "tsyringe";
24
- import { ConsoleManager } from "../managers/console.manager";
26
+ import { inject, injectable } from "tsyringe";
27
+ import { CliOutput } from "../managers/cli-output.manager";
25
28
  import { CliModuleKeyname } from "../cli.module.keyname";
26
29
  import { ConfigLoader } from "../config/config-loader";
27
30
  import { AppModuleLoader } from "../bootstrap/app-module-loader";
@@ -36,8 +39,9 @@ import { AppModuleLoader } from "../bootstrap/app-module-loader";
36
39
  * prevents `kernel.start()`.
37
40
  */
38
41
  let InfoCommand = class InfoCommand {
39
- constructor(consoleManager, configLoader, appModuleLoader) {
40
- this.consoleManager = consoleManager;
42
+ constructor(logHandler, cliOutput, configLoader, appModuleLoader) {
43
+ this.logHandler = logHandler;
44
+ this.cliOutput = cliOutput;
41
45
  this.configLoader = configLoader;
42
46
  this.appModuleLoader = appModuleLoader;
43
47
  this.optionsType = null;
@@ -58,26 +62,26 @@ let InfoCommand = class InfoCommand {
58
62
  });
59
63
  }
60
64
  printRuntimeBanner() {
61
- this.consoleManager.writeLine("Pristine CLI");
62
- this.consoleManager.writeLine(` Version: ${this.readCliVersion()}`);
63
- this.consoleManager.writeLine(` Node: ${process.version}`);
64
- this.consoleManager.writeLine(` Platform: ${os.platform()} ${os.arch()} (${os.release()})`);
65
- this.consoleManager.writeLine(` CWD: ${process.cwd()}`);
66
- this.consoleManager.writeLine("");
65
+ this.cliOutput.writeLine("Pristine CLI");
66
+ this.cliOutput.writeLine(` Version: ${this.readCliVersion()}`);
67
+ this.cliOutput.writeLine(` Node: ${process.version}`);
68
+ this.cliOutput.writeLine(` Platform: ${os.platform()} ${os.arch()} (${os.release()})`);
69
+ this.cliOutput.writeLine(` CWD: ${process.cwd()}`);
70
+ this.cliOutput.writeLine("");
67
71
  }
68
72
  printConfigSection() {
69
73
  return __awaiter(this, void 0, void 0, function* () {
70
74
  var _a, _b, _c, _d, _e;
71
75
  const resolvedConfig = yield this.configLoader.load({ startDir: process.cwd() });
72
- this.consoleManager.writeLine("Configuration");
73
- this.consoleManager.writeLine(` Config file: ${(_a = resolvedConfig.configFilePath) !== null && _a !== void 0 ? _a : "(none — using defaults)"}`);
76
+ this.cliOutput.writeLine("Configuration");
77
+ this.cliOutput.writeLine(` Config file: ${(_a = resolvedConfig.configFilePath) !== null && _a !== void 0 ? _a : "(none — using defaults)"}`);
74
78
  if (((_c = (_b = resolvedConfig.config.cli) === null || _b === void 0 ? void 0 : _b.appModule) === null || _c === void 0 ? void 0 : _c.sourcePath) !== undefined) {
75
- this.consoleManager.writeLine(` AppModule src: ${resolvedConfig.config.cli.appModule.sourcePath} (from config file)`);
79
+ this.cliOutput.writeLine(` AppModule src: ${resolvedConfig.config.cli.appModule.sourcePath} (from config file)`);
76
80
  }
77
81
  if (((_e = (_d = resolvedConfig.config.cli) === null || _d === void 0 ? void 0 : _d.appModule) === null || _e === void 0 ? void 0 : _e.outputPath) !== undefined) {
78
- this.consoleManager.writeLine(` AppModule out: ${resolvedConfig.config.cli.appModule.outputPath} (from config file)`);
82
+ this.cliOutput.writeLine(` AppModule out: ${resolvedConfig.config.cli.appModule.outputPath} (from config file)`);
79
83
  }
80
- this.consoleManager.writeLine("");
84
+ this.cliOutput.writeLine("");
81
85
  });
82
86
  }
83
87
  printAppModuleSection() {
@@ -88,25 +92,25 @@ let InfoCommand = class InfoCommand {
88
92
  const loaded = yield this.appModuleLoader.load();
89
93
  modules = this.collectModules(loaded.appModule);
90
94
  pluginNames = loaded.plugins.map(p => p.name);
91
- this.consoleManager.writeLine(`AppModule: ${loaded.appModule.keyname}`);
95
+ this.cliOutput.writeLine(`AppModule: ${loaded.appModule.keyname}`);
92
96
  }
93
97
  catch (error) {
94
- this.consoleManager.writeError(`Could not load AppModule: ${error.message}`);
98
+ this.logHandler.error("Could not load AppModule", { highlights: { error: error.message } });
95
99
  return ExitCode.Error;
96
100
  }
97
101
  if (pluginNames.length > 0) {
98
- this.consoleManager.writeLine(`Plugins (${pluginNames.length}):`);
102
+ this.cliOutput.writeLine(`Plugins (${pluginNames.length}):`);
99
103
  for (const name of pluginNames) {
100
- this.consoleManager.writeLine(` - ${name}`);
104
+ this.cliOutput.writeLine(` - ${name}`);
101
105
  }
102
106
  }
103
- this.consoleManager.writeLine(`Imported modules (${modules.length}):`);
107
+ this.cliOutput.writeLine(`Imported modules (${modules.length}):`);
104
108
  const uniqueByKeyname = new Map();
105
109
  for (const m of modules) {
106
110
  uniqueByKeyname.set(m.keyname, m);
107
111
  }
108
112
  for (const m of [...uniqueByKeyname.values()].sort((a, b) => a.keyname.localeCompare(b.keyname))) {
109
- this.consoleManager.writeLine(` - ${m.keyname}`);
113
+ this.cliOutput.writeLine(` - ${m.keyname}`);
110
114
  }
111
115
  return ExitCode.Success;
112
116
  });
@@ -147,7 +151,8 @@ InfoCommand = __decorate([
147
151
  tag(ServiceDefinitionTagEnum.Command),
148
152
  moduleScoped(CliModuleKeyname),
149
153
  injectable(),
150
- __metadata("design:paramtypes", [ConsoleManager,
154
+ __param(0, inject("LogHandlerInterface")),
155
+ __metadata("design:paramtypes", [Object, CliOutput,
151
156
  ConfigLoader,
152
157
  AppModuleLoader])
153
158
  ], InfoCommand);
@@ -1 +1 @@
1
- {"version":3,"file":"info.command.js","sourceRoot":"","sources":["../../../../src/commands/info.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info.command.js","sourceRoot":"","sources":["../../../../src/commands/info.command.ts"],"names":[],"mappings":"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"}