percher 0.5.3 → 0.5.4

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.
@@ -108493,7 +108493,8 @@ async function envList(ctx, input = {}) {
108493
108493
  }
108494
108494
  // ../core/dist/commands/export.js
108495
108495
  import { randomUUID } from "node:crypto";
108496
- import { rename } from "node:fs/promises";
108496
+ import { createWriteStream } from "node:fs";
108497
+ import { rename, unlink } from "node:fs/promises";
108497
108498
  import { isAbsolute, resolve as resolvePath } from "node:path";
108498
108499
  var exportInputSchema = exports_external.object({
108499
108500
  app: exports_external.string().optional(),
@@ -108516,35 +108517,45 @@ function resolveAppName3(ctx, provided) {
108516
108517
  }
108517
108518
  async function streamToFile(outPath, source) {
108518
108519
  const tmpPath = `${outPath}.part-${randomUUID()}`;
108519
- const writer = Bun.file(tmpPath).writer();
108520
- let bytes = 0;
108520
+ const out = createWriteStream(tmpPath);
108521
108521
  const reader = source.getReader();
108522
+ const closed = new Promise((resolve6) => out.once("close", () => resolve6()));
108523
+ let onWriteError;
108524
+ const writeFailed = new Promise((_, reject) => {
108525
+ onWriteError = reject;
108526
+ });
108527
+ out.once("error", onWriteError);
108528
+ writeFailed.catch(() => {});
108529
+ let bytes = 0;
108522
108530
  try {
108523
- while (true) {
108524
- const { done, value } = await reader.read();
108531
+ for (;; ) {
108532
+ const { done, value } = await Promise.race([reader.read(), writeFailed]);
108525
108533
  if (done)
108526
108534
  break;
108527
- if (value && value.length > 0) {
108528
- writer.write(value);
108529
- bytes += value.length;
108535
+ if (value && value.byteLength > 0) {
108536
+ bytes += value.byteLength;
108537
+ if (!out.write(value)) {
108538
+ await Promise.race([
108539
+ new Promise((resolve6) => out.once("drain", resolve6)),
108540
+ writeFailed
108541
+ ]);
108542
+ }
108530
108543
  }
108531
108544
  }
108532
- await writer.end();
108545
+ await new Promise((resolve6, reject) => {
108546
+ out.end((err) => err ? reject(err) : resolve6());
108547
+ });
108548
+ await closed;
108533
108549
  } catch (err) {
108534
- try {
108535
- await writer.end();
108536
- } catch {}
108537
- try {
108538
- await Bun.file(tmpPath).delete?.();
108539
- } catch {}
108550
+ out.destroy();
108551
+ await closed;
108552
+ await unlink(tmpPath).catch(() => {});
108540
108553
  throw err;
108541
108554
  }
108542
108555
  try {
108543
108556
  await rename(tmpPath, outPath);
108544
108557
  } catch (err) {
108545
- try {
108546
- await Bun.file(tmpPath).delete?.();
108547
- } catch {}
108558
+ await unlink(tmpPath).catch(() => {});
108548
108559
  throw err;
108549
108560
  }
108550
108561
  return { bytes };
@@ -115975,7 +115986,7 @@ async function renderError(stderr, error48) {
115975
115986
  // package.json
115976
115987
  var package_default = {
115977
115988
  name: "percher",
115978
- version: "0.5.3",
115989
+ version: "0.5.4",
115979
115990
  description: "CLI for the Percher hosting platform — publish apps with one command",
115980
115991
  type: "module",
115981
115992
  bin: {
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "percher",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "CLI for the Percher hosting platform — publish apps with one command",
5
5
  "type": "module",
6
6
  "bin": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "percher",
3
- "version": "0.5.3",
3
+ "version": "0.5.4",
4
4
  "description": "CLI for the Percher hosting platform — publish apps with one command",
5
5
  "type": "module",
6
6
  "bin": {