@packtory/cli 0.0.14 → 0.0.16

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 (140) hide show
  1. package/command-line-interface/config-loader.js +3 -6
  2. package/command-line-interface/config-loader.js.map +1 -1
  3. package/command-line-interface/preview-io/preview-io-shared.js +32 -0
  4. package/command-line-interface/preview-io/preview-io-shared.js.map +1 -0
  5. package/command-line-interface/preview-io/preview-io.js +16 -0
  6. package/command-line-interface/preview-io/preview-io.js.map +1 -0
  7. package/command-line-interface/preview-io/preview-spawn.js +27 -0
  8. package/command-line-interface/preview-io/preview-spawn.js.map +1 -0
  9. package/command-line-interface/runner/command-parsing.js +11 -0
  10. package/command-line-interface/runner/command-parsing.js.map +1 -0
  11. package/command-line-interface/runner/failure-printing.js +42 -0
  12. package/command-line-interface/runner/failure-printing.js.map +1 -0
  13. package/command-line-interface/runner/pack-handler.js +107 -0
  14. package/command-line-interface/runner/pack-handler.js.map +1 -0
  15. package/command-line-interface/runner/preview-handler.js +47 -0
  16. package/command-line-interface/runner/preview-handler.js.map +1 -0
  17. package/command-line-interface/runner/progress-wiring.js +27 -0
  18. package/command-line-interface/runner/progress-wiring.js.map +1 -0
  19. package/command-line-interface/runner/publish-handler.js +34 -0
  20. package/command-line-interface/runner/publish-handler.js.map +1 -0
  21. package/command-line-interface/runner/release-diff-handler.js +37 -0
  22. package/command-line-interface/runner/release-diff-handler.js.map +1 -0
  23. package/command-line-interface/runner/report-persistence.js +25 -0
  24. package/command-line-interface/runner/report-persistence.js.map +1 -0
  25. package/command-line-interface/runner/runner-symbols.js +11 -0
  26. package/command-line-interface/runner/runner-symbols.js.map +1 -0
  27. package/command-line-interface/runner/runner.js +108 -0
  28. package/command-line-interface/runner/runner.js.map +1 -0
  29. package/command-line-interface/spinner/line-spinner-renderer.js +44 -0
  30. package/command-line-interface/spinner/line-spinner-renderer.js.map +1 -0
  31. package/command-line-interface/{spinner-boot.js → spinner/spinner-boot.js} +2 -1
  32. package/command-line-interface/spinner/spinner-boot.js.map +1 -0
  33. package/command-line-interface/spinner/spinner-glyphs.js +31 -0
  34. package/command-line-interface/spinner/spinner-glyphs.js.map +1 -0
  35. package/command-line-interface/spinner/spinner-render-sequence.js +31 -0
  36. package/command-line-interface/spinner/spinner-render-sequence.js.map +1 -0
  37. package/command-line-interface/spinner/spinner-runtime.js +31 -0
  38. package/command-line-interface/spinner/spinner-runtime.js.map +1 -0
  39. package/command-line-interface/{spinner-shared-state.js → spinner/spinner-shared-state.js} +73 -10
  40. package/command-line-interface/spinner/spinner-shared-state.js.map +1 -0
  41. package/command-line-interface/spinner/spinner-snapshots.js +12 -0
  42. package/command-line-interface/spinner/spinner-snapshots.js.map +1 -0
  43. package/command-line-interface/spinner/spinner-worker-backend.js +38 -0
  44. package/command-line-interface/spinner/spinner-worker-backend.js.map +1 -0
  45. package/command-line-interface/spinner/spinner-worker-loop.js +38 -0
  46. package/command-line-interface/spinner/spinner-worker-loop.js.map +1 -0
  47. package/command-line-interface/spinner/terminal-spinner-renderer.js.map +1 -0
  48. package/common/path-tree.js +79 -0
  49. package/common/path-tree.js.map +1 -0
  50. package/package.json +3 -4
  51. package/packages/command-line-interface/command-line-interface.entry-point.d.ts +2 -2
  52. package/packages/command-line-interface/command-line-interface.entry-point.d.ts.map +1 -1
  53. package/packages/command-line-interface/command-line-interface.entry-point.js +34 -14
  54. package/packages/command-line-interface/command-line-interface.entry-point.js.map +1 -1
  55. package/packages/command-line-interface/spinner-boot.entry-point.js +12 -6
  56. package/packages/command-line-interface/spinner-boot.entry-point.js.map +1 -1
  57. package/packages/command-line-interface/spinner-worker.entry-point.js +1 -1
  58. package/packages/command-line-interface/spinner-worker.entry-point.js.map +1 -1
  59. package/readme.md +34 -0
  60. package/report/html-renderer/artifact-tree-renderer.js +25 -0
  61. package/report/html-renderer/artifact-tree-renderer.js.map +1 -0
  62. package/report/html-renderer/diagnostics-renderer.js +26 -0
  63. package/report/html-renderer/diagnostics-renderer.js.map +1 -0
  64. package/report/html-renderer/diff-renderer.js +31 -0
  65. package/report/html-renderer/diff-renderer.js.map +1 -0
  66. package/report/html-renderer/eliminated-files-renderer.js +16 -0
  67. package/report/html-renderer/eliminated-files-renderer.js.map +1 -0
  68. package/report/html-renderer/html-escaping.js.map +1 -0
  69. package/report/html-renderer/html-primitives.js +25 -0
  70. package/report/html-renderer/html-primitives.js.map +1 -0
  71. package/report/html-renderer/html-renderer.js +57 -0
  72. package/report/html-renderer/html-renderer.js.map +1 -0
  73. package/report/html-renderer/html-styles.js +177 -0
  74. package/report/html-renderer/html-styles.js.map +1 -0
  75. package/report/html-renderer/package-renderer.js +26 -0
  76. package/report/html-renderer/package-renderer.js.map +1 -0
  77. package/report/preview/artifact-diff-builder.js +20 -0
  78. package/report/preview/artifact-diff-builder.js.map +1 -0
  79. package/report/preview/artifact-tree-builder.js +19 -0
  80. package/report/preview/artifact-tree-builder.js.map +1 -0
  81. package/report/preview/bundle-artifact-index.js +15 -0
  82. package/report/preview/bundle-artifact-index.js.map +1 -0
  83. package/report/preview/changed-artifacts.js.map +1 -0
  84. package/report/preview/preview-document-helpers.js +19 -0
  85. package/report/preview/preview-document-helpers.js.map +1 -0
  86. package/report/preview/preview-document.js +62 -0
  87. package/report/preview/preview-document.js.map +1 -0
  88. package/report/preview/preview-result-inspectors.js +30 -0
  89. package/report/preview/preview-result-inspectors.js.map +1 -0
  90. package/report/preview/preview-summary.js +52 -0
  91. package/report/preview/preview-summary.js.map +1 -0
  92. package/report/release-diff/release-diff-document.js +22 -0
  93. package/report/release-diff/release-diff-document.js.map +1 -0
  94. package/report/release-diff/release-diff-summary.js +39 -0
  95. package/report/release-diff/release-diff-summary.js.map +1 -0
  96. package/report/terminal-renderer/terminal-artifact-renderer.js +20 -0
  97. package/report/terminal-renderer/terminal-artifact-renderer.js.map +1 -0
  98. package/report/terminal-renderer/terminal-package-renderer.js +36 -0
  99. package/report/terminal-renderer/terminal-package-renderer.js.map +1 -0
  100. package/report/{terminal-preview-renderer-shared.js → terminal-renderer/terminal-preview-renderer-shared.js} +16 -0
  101. package/report/terminal-renderer/terminal-preview-renderer-shared.js.map +1 -0
  102. package/report/terminal-renderer/terminal-preview-renderer.js +33 -0
  103. package/report/terminal-renderer/terminal-preview-renderer.js.map +1 -0
  104. package/report/terminal-renderer/terminal-release-diff-package-renderer.js +125 -0
  105. package/report/terminal-renderer/terminal-release-diff-package-renderer.js.map +1 -0
  106. package/report/terminal-renderer/terminal-release-diff-renderer.js +53 -0
  107. package/report/terminal-renderer/terminal-release-diff-renderer.js.map +1 -0
  108. package/command-line-interface/preview-io-shared.js +0 -75
  109. package/command-line-interface/preview-io-shared.js.map +0 -1
  110. package/command-line-interface/preview-io.js +0 -15
  111. package/command-line-interface/preview-io.js.map +0 -1
  112. package/command-line-interface/runner.js +0 -244
  113. package/command-line-interface/runner.js.map +0 -1
  114. package/command-line-interface/spinner-boot.js.map +0 -1
  115. package/command-line-interface/spinner-shared-state.js.map +0 -1
  116. package/command-line-interface/spinner-worker-backend.js +0 -62
  117. package/command-line-interface/spinner-worker-backend.js.map +0 -1
  118. package/command-line-interface/spinner-worker-loop.js +0 -94
  119. package/command-line-interface/spinner-worker-loop.js.map +0 -1
  120. package/command-line-interface/terminal-spinner-renderer.js.map +0 -1
  121. package/common/typed-diff.js +0 -5
  122. package/common/typed-diff.js.map +0 -1
  123. package/report/changed-artifacts.js.map +0 -1
  124. package/report/html-escaping.js.map +0 -1
  125. package/report/html-renderer.js +0 -337
  126. package/report/html-renderer.js.map +0 -1
  127. package/report/preview-document-diff.js +0 -17
  128. package/report/preview-document-diff.js.map +0 -1
  129. package/report/preview-document-helpers.js +0 -173
  130. package/report/preview-document-helpers.js.map +0 -1
  131. package/report/preview-document-tree.js +0 -13
  132. package/report/preview-document-tree.js.map +0 -1
  133. package/report/preview-document.js +0 -97
  134. package/report/preview-document.js.map +0 -1
  135. package/report/terminal-preview-renderer-shared.js.map +0 -1
  136. package/report/terminal-preview-renderer.js +0 -94
  137. package/report/terminal-preview-renderer.js.map +0 -1
  138. /package/command-line-interface/{terminal-spinner-renderer.js → spinner/terminal-spinner-renderer.js} +0 -0
  139. /package/report/{html-escaping.js → html-renderer/html-escaping.js} +0 -0
  140. /package/report/{changed-artifacts.js → preview/changed-artifacts.js} +0 -0
@@ -1,11 +1,8 @@
1
1
  import path from 'node:path';
2
- import { isPlainObject } from 'remeda';
2
+ import { hasProp, isPlainObject } from 'remeda';
3
3
  function isFunction(value) {
4
4
  return typeof value === 'function';
5
5
  }
6
- function hasOwn(value, key) {
7
- return Object.hasOwn(value, key);
8
- }
9
6
  export function createConfigLoader(dependencies) {
10
7
  const { currentWorkingDirectory, importModule } = dependencies;
11
8
  async function importConfigModule() {
@@ -19,10 +16,10 @@ export function createConfigLoader(dependencies) {
19
16
  return {
20
17
  async load() {
21
18
  const module = await importConfigModule();
22
- if (hasOwn(module, 'config')) {
19
+ if (hasProp(module, 'config')) {
23
20
  return module.config;
24
21
  }
25
- if (hasOwn(module, 'buildConfig')) {
22
+ if (hasProp(module, 'buildConfig')) {
26
23
  const { buildConfig } = module;
27
24
  if (isFunction(buildConfig)) {
28
25
  return buildConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../source/command-line-interface/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAavC,SAAS,UAAU,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AAED,SAAS,MAAM,CACX,KAA6C,EAC7C,GAAM;IAEN,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAsC;IACrE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IAE/D,KAAK,UAAU,kBAAkB;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,KAAK,CAAC,IAAI;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAE1C,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC3B,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;gBAChC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1B,OAAO,WAAW,EAAE,CAAC;gBACzB,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC1F,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../source/command-line-interface/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAahD,SAAS,UAAU,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAsC;IACrE,MAAM,EAAE,uBAAuB,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IAE/D,KAAK,UAAU,kBAAkB;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO;QACH,KAAK,CAAC,IAAI;YACN,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAE1C,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/B,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC1B,OAAO,WAAW,EAAE,CAAC;gBACzB,CAAC;gBAED,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC1F,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,32 @@
1
+ import path from 'node:path';
2
+ import { spawnForCompletion } from "./preview-spawn.js";
3
+ export function createPreviewIo(dependencies) {
4
+ const shell = dependencies.shell ?? 'sh';
5
+ return {
6
+ createTemporaryPreviewHtmlPath() {
7
+ return path.join(dependencies.tmpdir(), `packtory-preview-${dependencies.randomUuid()}.html`);
8
+ },
9
+ async pagePreviewOutput(content) {
10
+ if (!dependencies.stdoutIsTTY) {
11
+ return false;
12
+ }
13
+ if (dependencies.pager !== undefined && dependencies.pager !== '') {
14
+ const didPage = await spawnForCompletion(dependencies.spawnProcess, shell, ['-lc', dependencies.pager], content);
15
+ if (didPage) {
16
+ return true;
17
+ }
18
+ }
19
+ return spawnForCompletion(dependencies.spawnProcess, shell, ['-lc', 'less -R'], content);
20
+ },
21
+ async openPreviewFile(filePath) {
22
+ try {
23
+ await dependencies.openFile(filePath);
24
+ return true;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ }
30
+ };
31
+ }
32
+ //# sourceMappingURL=preview-io-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-io-shared.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/preview-io/preview-io-shared.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAkB5E,MAAM,UAAU,eAAe,CAAC,YAAmC;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC;IAEzC,OAAO;QACH,8BAA8B;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,oBAAoB,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,CAAC,iBAAiB,CAAC,OAAO;YAC3B,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,YAAY,CAAC,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;gBAChE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACpC,YAAY,CAAC,YAAY,EACzB,KAAK,EACL,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAC3B,OAAO,CACV,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACV,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,kBAAkB,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7F,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,QAAQ;YAC1B,IAAI,CAAC;gBACD,MAAM,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import os from 'node:os';
3
+ import { createPreviewIo } from "./preview-io-shared.js";
4
+ import { defaultSpawnProcess } from "./preview-spawn.js";
5
+ export function createDefaultPreviewIo(dependencies) {
6
+ return createPreviewIo({
7
+ openFile: dependencies.openFile,
8
+ spawnProcess: dependencies.spawnProcess ?? defaultSpawnProcess,
9
+ randomUuid: dependencies.randomUuid ?? randomUUID,
10
+ tmpdir: dependencies.tmpdir ?? os.tmpdir,
11
+ shell: dependencies.shell,
12
+ pager: dependencies.pager,
13
+ stdoutIsTTY: dependencies.stdoutIsTTY
14
+ });
15
+ }
16
+ //# sourceMappingURL=preview-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-io.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/preview-io/preview-io.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,eAAe,EAA8C,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKzD,MAAM,UAAU,sBAAsB,CAAC,YAA0C;IAC7E,OAAO,eAAe,CAAC;QACnB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,YAAY,EAAE,YAAY,CAAC,YAAY,IAAI,mBAAmB;QAC9D,UAAU,EAAE,YAAY,CAAC,UAAU,IAAI,UAAU;QACjD,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM;QACxC,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,WAAW,EAAE,YAAY,CAAC,WAAW;KACxC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { spawn } from 'node:child_process';
2
+ export function defaultSpawnProcess(command, args, options) {
3
+ return spawn(command, Array.from(args), {
4
+ ...options,
5
+ stdio: options.stdio === 'ignore' ? 'ignore' : Array.from(options.stdio)
6
+ });
7
+ }
8
+ export async function spawnForCompletion(spawnProcess, command, args, content) {
9
+ return new Promise((resolve) => {
10
+ const child = spawnProcess(command, args, { stdio: ['pipe', 'inherit', 'inherit'] });
11
+ if (child.stdin === null) {
12
+ resolve(false);
13
+ return;
14
+ }
15
+ child.on('error', () => {
16
+ resolve(false);
17
+ });
18
+ child.on('close', (code) => {
19
+ resolve(code === 0);
20
+ });
21
+ child.stdin.on('error', () => {
22
+ resolve(false);
23
+ });
24
+ child.stdin.end(content);
25
+ });
26
+ }
27
+ //# sourceMappingURL=preview-spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-spawn.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/preview-io/preview-spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAkB3C,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAuB,EAAE,OAAqB;IAC/F,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpC,GAAG,OAAO;QACV,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC3E,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,YAA2B,EAC3B,OAAe,EACf,IAAuB,EACvB,OAAe;IAEf,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,11 @@
1
+ function hasCommandParseError(result) {
2
+ return 'error' in result;
3
+ }
4
+ export function getParseExitCode(log, result) {
5
+ if (!hasCommandParseError(result)) {
6
+ return undefined;
7
+ }
8
+ log(result.error.config.message);
9
+ return result.error.config.exitCode;
10
+ }
11
+ //# sourceMappingURL=command-parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parsing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/command-parsing.ts"],"names":[],"mappings":"AAaA,SAAS,oBAAoB,CAAC,MAA0B;IACpD,OAAO,OAAO,IAAI,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAA8B,EAAE,MAA0B;IACvF,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { bold, dim, green, red } from 'yoctocolors';
2
+ import { getErrorSymbol, getSuccessSymbol, getWarningSymbol } from "./runner-symbols.js";
3
+ export function printDryRunNote(log, flags) {
4
+ if (flags.noDryRun) {
5
+ return;
6
+ }
7
+ log(`${getWarningSymbol()} ${dim(` Note: dry-run mode was enabled, so there was nothing really published; add the ${bold('--no-dry-run')} flag to disable dry-run mode`)}`);
8
+ }
9
+ function printInvalidConfigErrors(log, issues) {
10
+ const title = `${getErrorSymbol()} The provided config is invalid, there are ${issues.length} issue(s)`;
11
+ log(`${title}\n\n- ${issues.join('\n- ')}`);
12
+ }
13
+ function printCheckErrors(log, issues) {
14
+ const title = `${getErrorSymbol()} Checks failed, there are ${issues.length} issue(s)`;
15
+ log(`${title}\n\n- ${issues.join('\n- ')}`);
16
+ }
17
+ function printPartialErrorSummary(log, error) {
18
+ const total = error.succeeded.length + error.failures.length;
19
+ const failureCount = red(String(error.failures.length));
20
+ const successCount = green(String(error.succeeded.length));
21
+ const summary = `${getErrorSymbol()} ${failureCount} from ${bold(String(total))} package(s) failed; ` +
22
+ `${successCount} succeeded`;
23
+ const details = error.failures.map((failure) => {
24
+ return `- ${failure.message}`;
25
+ });
26
+ log([summary, ...details].join('\n'));
27
+ }
28
+ export function printPublishFailure(log, error) {
29
+ if (error.type === 'config') {
30
+ printInvalidConfigErrors(log, error.issues);
31
+ }
32
+ else if (error.type === 'checks') {
33
+ printCheckErrors(log, error.issues);
34
+ }
35
+ else {
36
+ printPartialErrorSummary(log, error);
37
+ }
38
+ }
39
+ export function printSuccessSummary(log, results) {
40
+ log(`${getSuccessSymbol()} Success: all ${results.length} package(s) have been published`);
41
+ }
42
+ //# sourceMappingURL=failure-printing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-printing.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/failure-printing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKzF,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAqC;IAC9E,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO;IACX,CAAC;IACD,GAAG,CACC,GAAG,gBAAgB,EAAE,IAAI,GAAG,CACxB,mFAAmF,IAAI,CACnF,cAAc,CACjB,+BAA+B,CACnC,EAAE,CACN,CAAC;AACN,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW,EAAE,MAAyB;IACpE,MAAM,KAAK,GAAG,GAAG,cAAc,EAAE,8CAA8C,MAAM,CAAC,MAAM,WAAW,CAAC;IACxG,GAAG,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,MAAyB;IAC5D,MAAM,KAAK,GAAG,GAAG,cAAc,EAAE,6BAA6B,MAAM,CAAC,MAAM,WAAW,CAAC;IACvF,GAAG,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAW,EAAE,KAA0B;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC7D,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GACT,GAAG,cAAc,EAAE,IAAI,YAAY,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB;QACrF,GAAG,YAAY,YAAY,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3C,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,KAAqB;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1B,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,OAAyC;IACtF,GAAG,CAAC,GAAG,gBAAgB,EAAE,iBAAiB,OAAO,CAAC,MAAM,iCAAiC,CAAC,CAAC;AAC/F,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { getErrorSymbol, getSuccessSymbol } from "./runner-symbols.js";
2
+ function formatIssueList(prefix, issues) {
3
+ const issueCount = `${issues.length} issue(s)`;
4
+ return `${getErrorSymbol()} ${prefix}, there are ${issueCount}\n\n- ${issues.join('\n- ')}`;
5
+ }
6
+ function formatPartialResolveFailure(error) {
7
+ const messages = error.error.failures.map((failure) => {
8
+ return `- ${failure.message}`;
9
+ });
10
+ return [`${getErrorSymbol()} ${messages.length} package(s) failed to resolve`, ...messages].join('\n');
11
+ }
12
+ function formatPeerFailure(error) {
13
+ const lines = error.items.map((item) => {
14
+ return `- "${item.packageName}" needs peer "${item.peer}"`;
15
+ });
16
+ const count = error.items.length;
17
+ const header = `${getErrorSymbol()} Pack of "${error.packageName}" is missing ${count} peer dependency(ies)`;
18
+ return [header, ...lines].join('\n');
19
+ }
20
+ function formatBundleDepFailure(packageName) {
21
+ const note = 'declares bundleDependencies which pack does not yet support without --vendor-dependencies';
22
+ return `${getErrorSymbol()} Package "${packageName}" ${note}`;
23
+ }
24
+ function formatPackageNotFound(packageName) {
25
+ return `${getErrorSymbol()} Package "${packageName}" is not declared in the packtory configuration`;
26
+ }
27
+ function formatVendorSymlinkOutsidePackageFailure(error) {
28
+ const reason = 'rejected a vendored dependency with a symlink that escapes its package directory';
29
+ const header = `${getErrorSymbol()} Pack of "${error.packageName}" ${reason}`;
30
+ const target = `which resolves to "${error.resolvedTargetPath}"`;
31
+ const details = `- "${error.vendoredPackageName}" contains "${error.entryRelativePath}" ${target}`;
32
+ return [header, details].join('\n');
33
+ }
34
+ function formatVendorInvalidDependencyNameFailure(error) {
35
+ const reason = 'rejected a vendored package.json with an invalid dependency name';
36
+ const header = `${getErrorSymbol()} Pack of "${error.packageName}" ${reason}`;
37
+ const sourceLabel = error.sourcePackageName === undefined ? 'the configured external set' : `"${error.sourcePackageName}"`;
38
+ const tail = 'which is not a valid npm package name';
39
+ const details = `- ${sourceLabel} declares dependency "${error.invalidDependencyName}" ${tail}`;
40
+ return [header, details].join('\n');
41
+ }
42
+ function formatIssueListFailure(error) {
43
+ if (error.type === 'config') {
44
+ return formatIssueList('The provided config is invalid', error.issues);
45
+ }
46
+ return formatIssueList('Checks failed', error.issues);
47
+ }
48
+ function formatPackPackageFailure(error) {
49
+ if (error.type === 'package-not-found') {
50
+ return formatPackageNotFound(error.packageName);
51
+ }
52
+ if (error.type === 'bundle-dependencies-unsupported') {
53
+ return formatBundleDepFailure(error.packageName);
54
+ }
55
+ if (error.type === 'vendor-symlink-target-outside-package') {
56
+ return formatVendorSymlinkOutsidePackageFailure(error);
57
+ }
58
+ if (error.type === 'vendor-invalid-dependency-name') {
59
+ return formatVendorInvalidDependencyNameFailure(error);
60
+ }
61
+ return formatPeerFailure(error);
62
+ }
63
+ function isConfigOrCheckError(error) {
64
+ return error.type === 'config' || error.type === 'checks';
65
+ }
66
+ function isPackPackageError(error) {
67
+ return (error.type === 'package-not-found' ||
68
+ error.type === 'bundle-dependencies-unsupported' ||
69
+ error.type === 'peer-dependencies-unsatisfied' ||
70
+ error.type === 'vendor-symlink-target-outside-package' ||
71
+ error.type === 'vendor-invalid-dependency-name');
72
+ }
73
+ function formatPackFailure(error) {
74
+ if (isConfigOrCheckError(error)) {
75
+ return formatIssueListFailure(error);
76
+ }
77
+ if (isPackPackageError(error)) {
78
+ return formatPackPackageFailure(error);
79
+ }
80
+ return formatPartialResolveFailure(error);
81
+ }
82
+ function reportOutcome(log, outcome, flags) {
83
+ if (outcome.result.isErr) {
84
+ log(formatPackFailure(outcome.result.error));
85
+ return 1;
86
+ }
87
+ log(`${getSuccessSymbol()} Packed "${flags.packageName}" as ${flags.format} to ${flags.outputPath}`);
88
+ return 0;
89
+ }
90
+ export async function runPackHandler(deps) {
91
+ const { log, packtory, spinnerRenderer, configLoader, flags } = deps;
92
+ try {
93
+ const outcome = await packtory.packPackage(await configLoader.load(), {
94
+ packageName: flags.packageName,
95
+ format: flags.format,
96
+ outputPath: flags.outputPath,
97
+ version: flags.version,
98
+ vendorDependencies: flags.vendorDependencies
99
+ });
100
+ spinnerRenderer.stopAll();
101
+ return reportOutcome(log, outcome, flags);
102
+ }
103
+ finally {
104
+ spinnerRenderer.stopAll();
105
+ }
106
+ }
107
+ //# sourceMappingURL=pack-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/pack-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { buildPreviewDocument } from "../../report/preview/preview-document.js";
2
+ import { renderHtmlReport } from "../../report/html-renderer/html-renderer.js";
3
+ import { renderFailureOnlyTerminalPreview, renderTerminalPreview } from "../../report/terminal-renderer/terminal-preview-renderer.js";
4
+ import { createEmptyReport } from "./report-persistence.js";
5
+ function isPreviewableResult(result) {
6
+ return result.isOk || (result.error.type === 'partial' && result.error.succeeded.length > 0);
7
+ }
8
+ async function renderOpenedReport(deps, document) {
9
+ const filePath = deps.createTemporaryFilePath();
10
+ await deps.fileManager.writeFile(filePath, renderHtmlReport(document));
11
+ const opened = await deps.openFile(filePath);
12
+ if (!opened) {
13
+ deps.log(filePath);
14
+ }
15
+ }
16
+ async function renderInlinePreview(deps, document, result) {
17
+ if (isPreviewableResult(result)) {
18
+ await deps.pageOutput(renderTerminalPreview(document));
19
+ }
20
+ else {
21
+ deps.log(renderFailureOnlyTerminalPreview(document).trimEnd());
22
+ }
23
+ }
24
+ async function renderDocument(deps, document, result) {
25
+ await (deps.flags.open ? renderOpenedReport(deps, document) : renderInlinePreview(deps, document, result));
26
+ }
27
+ export async function runPreviewHandler(deps) {
28
+ const { packtory, spinnerRenderer, configLoader, fileManager } = deps;
29
+ try {
30
+ const config = await configLoader.load();
31
+ const outcome = await packtory.buildAndPublishAll(config, { dryRun: true, collectReport: true });
32
+ spinnerRenderer.stopAll();
33
+ const report = outcome.getReport() ?? createEmptyReport();
34
+ const document = await buildPreviewDocument({
35
+ report,
36
+ result: outcome.result,
37
+ dryRun: true,
38
+ fileManager
39
+ });
40
+ await renderDocument(deps, document, outcome.result);
41
+ return outcome.result.isErr ? 1 : 0;
42
+ }
43
+ finally {
44
+ spinnerRenderer.stopAll();
45
+ }
46
+ }
47
+ //# sourceMappingURL=preview-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/preview-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EACH,gCAAgC,EAChC,qBAAqB,EACxB,MAAM,6DAA6D,CAAC;AAGrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAiB5D,SAAS,mBAAmB,CAAC,MAA8B;IACvD,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,IAA8F,EAC9F,QAAyB;IAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,IAAoD,EACpD,QAAyB,EACzB,MAA8B;IAE9B,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,IAAwB,EACxB,QAAyB,EACzB,MAA8B;IAE9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC5D,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACtE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,iBAAiB,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YACxC,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,IAAI;YACZ,WAAW;SACd,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACP,eAAe,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACL,CAAC"}
@@ -0,0 +1,27 @@
1
+ function describeDoneStatus(status, version) {
2
+ if (status === 'already-published') {
3
+ return `Nothing has changed, published version ${version} is already up-to-date`;
4
+ }
5
+ if (status === 'initial-version') {
6
+ return `First version ${version} has been published`;
7
+ }
8
+ return `New version ${version} published`;
9
+ }
10
+ export function registerProgressListeners(progressBroadcaster, spinnerRenderer) {
11
+ progressBroadcaster.on('scheduled', (payload) => {
12
+ spinnerRenderer.add(payload.packageName, payload.packageName, 'Scheduled …');
13
+ });
14
+ progressBroadcaster.on('error', (payload) => {
15
+ spinnerRenderer.stop(payload.packageName, 'failure', payload.error.message);
16
+ });
17
+ progressBroadcaster.on('done', (payload) => {
18
+ spinnerRenderer.stop(payload.packageName, 'success', describeDoneStatus(payload.status, payload.version));
19
+ });
20
+ progressBroadcaster.on('building', (payload) => {
21
+ spinnerRenderer.updateMessage(payload.packageName, `Building package with version ${payload.version}`);
22
+ });
23
+ progressBroadcaster.on('rebuilding', (payload) => {
24
+ spinnerRenderer.updateMessage(payload.packageName, `Rebuilding package with version ${payload.version}`);
25
+ });
26
+ }
27
+ //# sourceMappingURL=progress-wiring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-wiring.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/progress-wiring.ts"],"names":[],"mappings":"AAGA,SAAS,kBAAkB,CAAC,MAAc,EAAE,OAAe;IACvD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACjC,OAAO,0CAA0C,OAAO,wBAAwB,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC/B,OAAO,iBAAiB,OAAO,qBAAqB,CAAC;IACzD,CAAC;IACD,OAAO,eAAe,OAAO,YAAY,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,mBAA8C,EAC9C,eAAwC;IAExC,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;QAC5C,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;QACxC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QACvC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;QAC3C,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,iCAAiC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;QAC7C,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,mCAAmC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { printDryRunNote, printPublishFailure, printSuccessSummary } from "./failure-printing.js";
2
+ import { writeReports } from "./report-persistence.js";
3
+ async function reportOutcome(log, fileManager, outcome, flags) {
4
+ let exitCode = 0;
5
+ if (outcome.result.isErr) {
6
+ exitCode = 1;
7
+ printPublishFailure(log, outcome.result.error);
8
+ }
9
+ else {
10
+ printSuccessSummary(log, outcome.result.value);
11
+ }
12
+ await writeReports(fileManager, outcome.getReport(), outcome.result, flags, !flags.noDryRun);
13
+ return exitCode;
14
+ }
15
+ export async function runPublishHandler(deps) {
16
+ const { log, packtory, spinnerRenderer, configLoader, fileManager, flags } = deps;
17
+ let shouldStopSpinners = true;
18
+ try {
19
+ const outcome = await packtory.buildAndPublishAll(await configLoader.load(), {
20
+ dryRun: !flags.noDryRun,
21
+ collectReport: flags.reportJson || flags.reportHtml
22
+ });
23
+ shouldStopSpinners = false;
24
+ spinnerRenderer.stopAll();
25
+ return await reportOutcome(log, fileManager, outcome, flags);
26
+ }
27
+ finally {
28
+ if (shouldStopSpinners) {
29
+ spinnerRenderer.stopAll();
30
+ }
31
+ printDryRunNote(log, { noDryRun: flags.noDryRun });
32
+ }
33
+ }
34
+ //# sourceMappingURL=publish-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/publish-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,YAAY,EAAoB,MAAM,yBAAyB,CAAC;AAczE,KAAK,UAAU,aAAa,CACxB,GAAW,EACX,WAA8C,EAC9C,OAAqB,EACrB,KAAkC;IAElC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,QAAQ,GAAG,CAAC,CAAC;QACb,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACJ,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7F,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IAC5D,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAClF,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE;YACzE,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ;YACvB,aAAa,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;SACtD,CAAC,CAAC;QACH,kBAAkB,GAAG,KAAK,CAAC;QAC3B,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,OAAO,MAAM,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACP,IAAI,kBAAkB,EAAE,CAAC;YACrB,eAAe,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QACD,eAAe,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { buildReleaseDiffDocument } from "../../report/release-diff/release-diff-document.js";
2
+ import { renderFailureOnlyTerminalReleaseDiff, renderTerminalReleaseDiff } from "../../report/terminal-renderer/terminal-release-diff-renderer.js";
3
+ function succeededPackagesFrom(result) {
4
+ if (result.isOk) {
5
+ return result.value;
6
+ }
7
+ if (result.error.type === 'partial') {
8
+ return result.error.succeeded;
9
+ }
10
+ return [];
11
+ }
12
+ async function renderDocument(deps, document) {
13
+ if (document.previewable) {
14
+ await deps.pageOutput(renderTerminalReleaseDiff(document));
15
+ return;
16
+ }
17
+ deps.log(renderFailureOnlyTerminalReleaseDiff(document).trimEnd());
18
+ }
19
+ export async function runReleaseDiffHandler(deps) {
20
+ const { packtory, spinnerRenderer, configLoader } = deps;
21
+ try {
22
+ const config = await configLoader.load();
23
+ const outcome = await packtory.diffAgainstLatestPublished(config);
24
+ spinnerRenderer.stopAll();
25
+ const document = buildReleaseDiffDocument({
26
+ report: outcome.getReport(),
27
+ result: outcome.result,
28
+ packages: succeededPackagesFrom(outcome.result)
29
+ });
30
+ await renderDocument(deps, document);
31
+ return outcome.result.isErr ? 1 : 0;
32
+ }
33
+ finally {
34
+ spinnerRenderer.stopAll();
35
+ }
36
+ }
37
+ //# sourceMappingURL=release-diff-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-diff-handler.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/release-diff-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAA4B,MAAM,oDAAoD,CAAC;AACxH,OAAO,EACH,oCAAoC,EACpC,yBAAyB,EAC5B,MAAM,kEAAkE,CAAC;AAc1E,SAAS,qBAAqB,CAAC,MAA4B;IACvD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,MAAM,CAAC,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,IAAwD,EACxD,QAA6B;IAE7B,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,OAAO;IACX,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAA4B;IACpE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAClE,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,wBAAwB,CAAC;YACtC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACP,eAAe,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;AACL,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { buildPreviewDocument } from "../../report/preview/preview-document.js";
2
+ import { renderHtmlReport } from "../../report/html-renderer/html-renderer.js";
3
+ const jsonIndentSpaces = 2;
4
+ export function createEmptyReport() {
5
+ return {
6
+ schemaVersion: 1,
7
+ generatedAt: new Date().toISOString(),
8
+ packages: {},
9
+ aggregate: { crossBundleLinks: [] }
10
+ };
11
+ }
12
+ // eslint-disable-next-line @typescript-eslint/max-params -- report persistence needs shared flags plus build outcome/report data
13
+ export async function writeReports(fileManager, report, result, flags, dryRun) {
14
+ if (report === undefined) {
15
+ return;
16
+ }
17
+ if (flags.reportJson) {
18
+ await fileManager.writeFile('packtory-report.json', `${JSON.stringify(report, undefined, jsonIndentSpaces)}\n`);
19
+ }
20
+ if (flags.reportHtml) {
21
+ const document = await buildPreviewDocument({ report, result, dryRun, fileManager });
22
+ await fileManager.writeFile('packtory-report.html', renderHtmlReport(document));
23
+ }
24
+ }
25
+ //# sourceMappingURL=report-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-persistence.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/report-persistence.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAO3B,MAAM,UAAU,iBAAiB;IAC7B,OAAO;QACH,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;KACtC,CAAC;AACN,CAAC;AAED,iIAAiI;AACjI,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,WAAwD,EACxD,MAA+B,EAC/B,MAAqE,EACrE,KAAkB,EAClB,MAAe;IAEf,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,WAAW,CAAC,SAAS,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpH,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,CAAC,SAAS,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpF,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { bold, green, red, yellow } from 'yoctocolors';
2
+ export function getErrorSymbol() {
3
+ return bold(red('✖'));
4
+ }
5
+ export function getSuccessSymbol() {
6
+ return bold(green('✔'));
7
+ }
8
+ export function getWarningSymbol() {
9
+ return yellow('⚠');
10
+ }
11
+ //# sourceMappingURL=runner-symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-symbols.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/runner/runner-symbols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,UAAU,cAAc;IAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,108 @@
1
+ /* eslint-disable import/max-dependencies -- the CLI runner wires four subcommands plus shared dependencies */
2
+ import { binary, command, flag, oneOf, option, positional, runSafely, string, subcommands } from 'cmd-ts';
3
+ import { getParseExitCode } from "./command-parsing.js";
4
+ import { runPackHandler } from "./pack-handler.js";
5
+ import { runPreviewHandler } from "./preview-handler.js";
6
+ import { runReleaseDiffHandler } from "./release-diff-handler.js";
7
+ import { registerProgressListeners } from "./progress-wiring.js";
8
+ import { runPublishHandler } from "./publish-handler.js";
9
+ export function createCommandLineInterfaceRunner(dependencies) {
10
+ const { log, packtory, progressBroadcaster, spinnerRenderer, configLoader, fileManager, pageOutput, openFile, createTemporaryFilePath } = dependencies;
11
+ let exitCode = 0;
12
+ const publishCommandName = 'publish';
13
+ const previewCommandName = 'preview';
14
+ const releaseDiffCommandName = 'release-diff';
15
+ const packCommandName = 'pack';
16
+ const defaultPackVersion = '0.0.0';
17
+ const baseCommand = subcommands({
18
+ name: 'packtory',
19
+ cmds: {
20
+ [publishCommandName]: command({
21
+ name: publishCommandName,
22
+ description: 'Builds and publishes all packages (dry-run enabled by default).',
23
+ args: {
24
+ noDryRun: flag({ long: 'no-dry-run' }),
25
+ reportJson: flag({ long: 'report-json' }),
26
+ reportHtml: flag({ long: 'report-html' })
27
+ },
28
+ async handler({ noDryRun, reportJson, reportHtml }) {
29
+ exitCode = await runPublishHandler({
30
+ log,
31
+ packtory,
32
+ spinnerRenderer,
33
+ configLoader,
34
+ fileManager,
35
+ flags: { noDryRun, reportJson, reportHtml }
36
+ });
37
+ }
38
+ }),
39
+ [previewCommandName]: command({
40
+ name: previewCommandName,
41
+ description: 'Builds all packages in fresh dry-run mode and opens a human preview.',
42
+ args: { open: flag({ long: 'open' }) },
43
+ async handler({ open }) {
44
+ exitCode = await runPreviewHandler({
45
+ log,
46
+ pageOutput,
47
+ openFile,
48
+ createTemporaryFilePath,
49
+ packtory,
50
+ spinnerRenderer,
51
+ configLoader,
52
+ fileManager,
53
+ flags: { open }
54
+ });
55
+ }
56
+ }),
57
+ [releaseDiffCommandName]: command({
58
+ name: releaseDiffCommandName,
59
+ description: 'Compares the next dry-run build against the latest published version, per package.',
60
+ args: {},
61
+ async handler() {
62
+ exitCode = await runReleaseDiffHandler({
63
+ log,
64
+ pageOutput,
65
+ packtory,
66
+ spinnerRenderer,
67
+ configLoader
68
+ });
69
+ }
70
+ }),
71
+ [packCommandName]: command({
72
+ name: packCommandName,
73
+ description: 'Builds a single configured package and writes it as a zip, tar, or folder artifact.',
74
+ args: {
75
+ packageName: positional({ type: string, displayName: 'package' }),
76
+ format: option({ long: 'format', type: oneOf(['zip', 'tar', 'folder']) }),
77
+ outputPath: option({ long: 'out', type: string }),
78
+ version: option({
79
+ long: 'version',
80
+ type: string,
81
+ defaultValue: () => {
82
+ return defaultPackVersion;
83
+ }
84
+ }),
85
+ vendorDependencies: flag({ long: 'vendor-dependencies' })
86
+ },
87
+ async handler({ packageName, format, outputPath, version, vendorDependencies }) {
88
+ exitCode = await runPackHandler({
89
+ log,
90
+ packtory,
91
+ spinnerRenderer,
92
+ configLoader,
93
+ flags: { packageName, format, outputPath, version, vendorDependencies }
94
+ });
95
+ }
96
+ })
97
+ }
98
+ });
99
+ return {
100
+ async run(programArguments) {
101
+ exitCode = 0;
102
+ registerProgressListeners(progressBroadcaster, spinnerRenderer);
103
+ const parseExitCode = getParseExitCode(log, await runSafely(binary(baseCommand), Array.from(programArguments)));
104
+ return parseExitCode ?? exitCode;
105
+ }
106
+ };
107
+ }
108
+ //# sourceMappingURL=runner.js.map