From 543b7f6f77c1a7326642324d369d671e16893074 Mon Sep 17 00:00:00 2001 From: Joakim Carlstein Date: Mon, 5 Feb 2024 15:09:29 +0100 Subject: [PATCH] fix(bun): import setTimeout/setInterval from "node:timers" for .unref() to correctly work --- .changeset/late-suits-destroy.md | 5 +++++ packages/cli/src/cli.ts | 1 + packages/cli/src/exec.ts | 1 + packages/cli/src/reporters/default.ts | 1 + 4 files changed, 8 insertions(+) create mode 100644 .changeset/late-suits-destroy.md diff --git a/.changeset/late-suits-destroy.md b/.changeset/late-suits-destroy.md new file mode 100644 index 0000000..68dabbf --- /dev/null +++ b/.changeset/late-suits-destroy.md @@ -0,0 +1,5 @@ +--- +'@emigrate/cli': patch +--- + +Use setTimeout/setInterval from "node:timers" so that .unref() correctly works with Bun diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index c4c031e..daf7976 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -1,6 +1,7 @@ #!/usr/bin/env node import process from 'node:process'; import { parseArgs } from 'node:util'; +import { setTimeout } from 'node:timers'; import importFromEsm from 'import-from-esm'; import { CommandAbortError, ShowUsageError } from './errors.js'; import { getConfig } from './get-config.js'; diff --git a/packages/cli/src/exec.ts b/packages/cli/src/exec.ts index 3f39d1a..887f737 100644 --- a/packages/cli/src/exec.ts +++ b/packages/cli/src/exec.ts @@ -1,3 +1,4 @@ +import { setTimeout } from 'node:timers'; import prettyMs from 'pretty-ms'; import { ExecutionDesertedError, toError } from './errors.js'; import { DEFAULT_RESPITE_SECONDS } from './defaults.js'; diff --git a/packages/cli/src/reporters/default.ts b/packages/cli/src/reporters/default.ts index a522a0a..1db53a3 100644 --- a/packages/cli/src/reporters/default.ts +++ b/packages/cli/src/reporters/default.ts @@ -1,3 +1,4 @@ +import { setInterval } from 'node:timers'; import { black, blueBright, bold, cyan, dim, faint, gray, green, red, redBright, yellow, yellowBright } from 'ansis'; import logUpdate from 'log-update'; import elegantSpinner from 'elegant-spinner';