@packtory/cli 0.0.27 → 0.0.28

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.
@@ -8,6 +8,7 @@ function writeSlot(accessors, update) {
8
8
  export function createWorkerSpinnerBackend(dependencies) {
9
9
  const { runtime } = dependencies;
10
10
  const shutdownFlushTimeoutMs = Math.max(runtime.accessors.getIntervalMs() * shutdownFlushIntervals, minimumShutdownFlushTimeoutMs);
11
+ let shutdownSignaled = false;
11
12
  function ensureSlotIndexFits(slotIndex) {
12
13
  if (slotIndex >= runtime.slotCount) {
13
14
  throw new RangeError(`Spinner slot index ${slotIndex} exceeds backend capacity ${runtime.slotCount}; increase slotCount`);
@@ -27,6 +28,10 @@ export function createWorkerSpinnerBackend(dependencies) {
27
28
  writeSlot(runtime.accessors, { slotIndex, state: status, label, message });
28
29
  },
29
30
  shutdown() {
31
+ if (shutdownSignaled) {
32
+ return;
33
+ }
34
+ shutdownSignaled = true;
30
35
  runtime.accessors.requestShutdown();
31
36
  const shutdownMutation = runtime.accessors.markMutation();
32
37
  if (runtime.accessors.getIntervalMs() > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-worker-backend.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/spinner/spinner-worker-backend.ts"],"names":[],"mappings":"AAIA,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAS1C,SAAS,SAAS,CAAC,SAAiC,EAAE,MAAkB;IACpE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,SAAS,CAAC,YAAY,EAAE,CAAC;AAC7B,CAAC;AAMD,MAAM,UAAU,0BAA0B,CAAC,YAA8C;IACrF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACnC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,sBAAsB,EAC1D,6BAA6B,CAChC,CAAC;IAEF,SAAS,mBAAmB,CAAC,SAAiB;QAC1C,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAChB,sBAAsB,SAAS,6BAA6B,OAAO,CAAC,SAAS,sBAAsB,CACtG,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO;QACH,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO;YAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACpC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,QAAQ;YACJ,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"spinner-worker-backend.js","sourceRoot":"","sources":["../../../../../source/command-line-interface/spinner/spinner-worker-backend.ts"],"names":[],"mappings":"AAIA,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAS1C,SAAS,SAAS,CAAC,SAAiC,EAAE,MAAkB;IACpE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAClF,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/C,SAAS,CAAC,YAAY,EAAE,CAAC;AAC7B,CAAC;AAMD,MAAM,UAAU,0BAA0B,CAAC,YAA8C;IACrF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CACnC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,sBAAsB,EAC1D,6BAA6B,CAChC,CAAC;IACF,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,SAAS,mBAAmB,CAAC,SAAiB;QAC1C,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAChB,sBAAsB,SAAS,6BAA6B,OAAO,CAAC,SAAS,sBAAsB,CACtG,CAAC;QACN,CAAC;IACL,CAAC;IAED,OAAO;QACH,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO;YACzB,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO;YAC5B,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACpC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QACD,QAAQ;YACJ,IAAI,gBAAgB,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "cmd-ts": "0.15.0",
11
11
  "open": "11.0.0",
12
- "packtory": "0.0.27",
12
+ "packtory": "0.0.28",
13
13
  "remeda": "2.37.0",
14
14
  "ts-pattern": "5.9.0",
15
15
  "yoctocolors": "2.1.2"
@@ -45,5 +45,5 @@
45
45
  "./packages/command-line-interface/spinner-worker.entry-point.js"
46
46
  ],
47
47
  "type": "module",
48
- "version": "0.0.27"
48
+ "version": "0.0.28"
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-interface.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/command-line-interface.entry-point.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAwHrF,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"command-line-interface.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/command-line-interface.entry-point.ts"],"names":[],"mappings":";AAOA,OAAO,KAAK,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA2HrF,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC"}
@@ -22,7 +22,7 @@ import { createPacktory } from "packtory/packtory/packtory.js";
22
22
  import { createScheduler } from "packtory/packtory/scheduler.js";
23
23
  import { readCiEnvironment } from "packtory/bundle-emitter/repository-coherence.js";
24
24
  import { buildPackageProcessorComposition } from "packtory/packages/package-processor.composition.js";
25
- import { createBootedSpinnerRuntime } from "./spinner-boot.entry-point.js";
25
+ import { awaitSpinnerWorkerTermination, createBootedSpinnerRuntime } from "./spinner-boot.entry-point.js";
26
26
  async function importModule(modulePath) {
27
27
  return import(__rewriteRelativeImportExtension(modulePath));
28
28
  }
@@ -100,11 +100,14 @@ function setExitCode(exitCode) {
100
100
  async function main() {
101
101
  const exitCode = await commandLinerInterfaceRunner.run(process.argv);
102
102
  setExitCode(exitCode);
103
+ spinnerRenderer.stopAll();
104
+ await awaitSpinnerWorkerTermination();
103
105
  }
104
- function crash(error) {
106
+ async function crash(error) {
105
107
  spinnerRenderer.stopAll();
106
108
  console.error(error);
107
109
  process.exitCode = 1;
110
+ await awaitSpinnerWorkerTermination();
108
111
  }
109
112
  main().catch(crash);
110
113
  //# sourceMappingURL=command-line-interface.entry-point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-interface.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/command-line-interface.entry-point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-line-interface.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/command-line-interface.entry-point.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { setTimeout as scheduleTimeout } from 'node:timers';
2
3
  import { fileURLToPath } from 'node:url';
3
4
  import { Worker as WorkerThread } from 'node:worker_threads';
4
5
  import { bootSpinnerRuntime } from "../../command-line-interface/spinner/spinner-boot.js";
@@ -6,7 +7,9 @@ const bootModulePath = fileURLToPath(import.meta.url);
6
7
  const bootModuleExtension = path.extname(bootModulePath);
7
8
  const workerModulePath = path.join(path.dirname(bootModulePath), `spinner-worker.entry-point${bootModuleExtension}`);
8
9
  const defaultStdoutColumns = 80;
10
+ const workerTerminationGraceMs = 1000;
9
11
  const workerExecArgv = bootModuleExtension === '.ts' ? ['--experimental-strip-types', '--enable-source-maps'] : ['--enable-source-maps'];
12
+ let pendingWorkerTermination = Promise.resolve();
10
13
  function spawnWorker(request) {
11
14
  const worker = new WorkerThread(workerModulePath, {
12
15
  workerData: {
@@ -19,6 +22,11 @@ function spawnWorker(request) {
19
22
  worker.on('error', (error) => {
20
23
  process.stderr.write(`spinner worker error: ${error.message}\n`);
21
24
  });
25
+ pendingWorkerTermination = new Promise((resolve) => {
26
+ worker.once('exit', () => {
27
+ resolve();
28
+ });
29
+ });
22
30
  }
23
31
  export function createBootedSpinnerRuntime() {
24
32
  return bootSpinnerRuntime({
@@ -30,4 +38,10 @@ export function createBootedSpinnerRuntime() {
30
38
  initialMessage: 'Starting …'
31
39
  });
32
40
  }
41
+ export async function awaitSpinnerWorkerTermination() {
42
+ const graceTimeout = new Promise((resolve) => {
43
+ scheduleTimeout(resolve, workerTerminationGraceMs).unref();
44
+ });
45
+ await Promise.race([pendingWorkerTermination, graceTimeout]);
46
+ }
33
47
  //# sourceMappingURL=spinner-boot.entry-point.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner-boot.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/spinner-boot.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAG1F,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,6BAA6B,mBAAmB,EAAE,CAAC,CAAC;AACrH,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,cAAc,GAChB,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEtH,SAAS,WAAW,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,gBAAgB,EAAE;QAC9C,UAAU,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACrD;QACD,QAAQ,EAAE,cAAc;KAC3B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,OAAO,kBAAkB,CAAC;QACtB,WAAW;QACX,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACvC,2LAA2L;QAC3L,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,oBAAoB;QAC7D,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,YAAY;KAC/B,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"spinner-boot.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/command-line-interface/spinner-boot.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAG1F,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtD,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,6BAA6B,mBAAmB,EAAE,CAAC,CAAC;AACrH,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,cAAc,GAChB,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;AAEtH,IAAI,wBAAwB,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAEhE,SAAS,WAAW,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,gBAAgB,EAAE;QAC9C,UAAU,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;SACrD;QACD,QAAQ,EAAE,cAAc;KAC3B,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IACH,wBAAwB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACrD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,0BAA0B;IACtC,OAAO,kBAAkB,CAAC;QACtB,WAAW;QACX,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACvC,2LAA2L;QAC3L,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,oBAAoB;QAC7D,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,YAAY;KAC/B,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B;IAC/C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC/C,eAAe,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC;AACjE,CAAC"}
package/sbom.cdx.json CHANGED
@@ -9,16 +9,16 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.26"
12
+ "version": "0.0.27"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@packtory/cli",
19
- "version": "0.0.27",
20
- "bom-ref": "pkg:npm/@packtory/cli@0.0.27",
21
- "purl": "pkg:npm/@packtory/cli@0.0.27"
19
+ "version": "0.0.28",
20
+ "bom-ref": "pkg:npm/@packtory/cli@0.0.28",
21
+ "purl": "pkg:npm/@packtory/cli@0.0.28"
22
22
  }
23
23
  },
24
24
  "components": [
@@ -51,15 +51,15 @@
51
51
  {
52
52
  "type": "library",
53
53
  "name": "packtory",
54
- "version": "0.0.27",
55
- "bom-ref": "pkg:npm/packtory@0.0.27",
54
+ "version": "0.0.28",
55
+ "bom-ref": "pkg:npm/packtory@0.0.28",
56
56
  "scope": "required",
57
57
  "licenses": [
58
58
  {
59
59
  "expression": "MIT"
60
60
  }
61
61
  ],
62
- "purl": "pkg:npm/packtory@0.0.27"
62
+ "purl": "pkg:npm/packtory@0.0.28"
63
63
  },
64
64
  {
65
65
  "type": "library",
@@ -103,11 +103,11 @@
103
103
  ],
104
104
  "dependencies": [
105
105
  {
106
- "ref": "pkg:npm/@packtory/cli@0.0.27",
106
+ "ref": "pkg:npm/@packtory/cli@0.0.28",
107
107
  "dependsOn": [
108
108
  "pkg:npm/cmd-ts@0.15.0",
109
109
  "pkg:npm/open@11.0.0",
110
- "pkg:npm/packtory@0.0.27",
110
+ "pkg:npm/packtory@0.0.28",
111
111
  "pkg:npm/remeda@2.37.0",
112
112
  "pkg:npm/ts-pattern@5.9.0",
113
113
  "pkg:npm/yoctocolors@2.1.2"
@@ -120,7 +120,7 @@
120
120
  "ref": "pkg:npm/open@11.0.0"
121
121
  },
122
122
  {
123
- "ref": "pkg:npm/packtory@0.0.27"
123
+ "ref": "pkg:npm/packtory@0.0.28"
124
124
  },
125
125
  {
126
126
  "ref": "pkg:npm/remeda@2.37.0"