From 487fee4b77c91e1e8c36dc979bbb94b340364d55 Mon Sep 17 00:00:00 2001 From: John Armstrong <20903247+jlarmstrongiv@users.noreply.github.com> Date: Mon, 1 Aug 2022 18:40:47 -0400 Subject: [PATCH] fix: check property existence before patching (#52) Co-authored-by: JounQin --- .changeset/dirty-jobs-live.md | 5 +++++ package.json | 2 +- src/shim.ts | 20 +++++++++++++++----- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 .changeset/dirty-jobs-live.md diff --git a/.changeset/dirty-jobs-live.md b/.changeset/dirty-jobs-live.md new file mode 100644 index 00000000..b9eef2a0 --- /dev/null +++ b/.changeset/dirty-jobs-live.md @@ -0,0 +1,5 @@ +--- +"sh-syntax": patch +--- + +fix: check property existence before patching diff --git a/package.json b/package.json index 85b69f5c..41e93759 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "lint": "run-p lint:*", "lint:es": "eslint . --cache -f friendly --max-warnings 10", "lint:tsc": "tsc --noEmit", - "prepare": "simple-git-hooks", + "prepare": "simple-git-hooks || exit 0", "prerelease": "pnpm build", "release": "changeset publish", "test": "vitest run --coverage", diff --git a/src/shim.ts b/src/shim.ts index dc1a1f06..750b0f2a 100644 --- a/src/shim.ts +++ b/src/shim.ts @@ -1,11 +1,21 @@ +/* eslint-disable @typescript-eslint/no-unnecessary-condition */ + import { randomFillSync } from 'node:crypto' import _fs from 'node:fs' import { performance } from 'node:perf_hooks' -globalThis.fs = _fs -globalThis.crypto = { +if (!globalThis.fs) { + globalThis.fs = _fs +} + +if (!globalThis.crypto) { + globalThis.crypto = { + // @ts-expect-error + getRandomValues: randomFillSync, + } +} + +if (!globalThis.performance) { // @ts-expect-error - getRandomValues: randomFillSync, + globalThis.performance = performance } -// @ts-expect-error -globalThis.performance = performance