From e08b084944a201a974ae594aee562c180f2fce2e Mon Sep 17 00:00:00 2001 From: "Mark S. Miller" Date: Mon, 6 Jan 2025 14:12:07 -0800 Subject: [PATCH] fixup! allow conflict on "harden" --- packages/ses/src/intrinsics.js | 4 +++- packages/ses/src/make-hardener.js | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/ses/src/intrinsics.js b/packages/ses/src/intrinsics.js index 6dd17b58ee..ad8bc3ed42 100644 --- a/packages/ses/src/intrinsics.js +++ b/packages/ses/src/intrinsics.js @@ -48,7 +48,9 @@ function initProperty(obj, name, desc) { preDesc.enumerable !== desc.enumerable || preDesc.configurable !== desc.configurable ) { - throw TypeError(`Conflicting definitions of ${name}`); + if (name !== 'harden') { + throw TypeError(`Conflicting definitions of ${name}`); + } } } defineProperty(obj, name, desc); diff --git a/packages/ses/src/make-hardener.js b/packages/ses/src/make-hardener.js index 6b918024b9..0af5908b4a 100644 --- a/packages/ses/src/make-hardener.js +++ b/packages/ses/src/make-hardener.js @@ -26,7 +26,7 @@ import { String, TypeError, WeakSet, - globalThis, + // globalThis, // if we suppress native harden apply, arrayForEach, defineProperty, @@ -241,7 +241,9 @@ export const makeHardener = () => { // NOTE: Calls getter during harden, which seems dangerous. // But we're only calling the problematic getter whose // hazards we think we understand. - // @ts-expect-error TS should know FERAL_STACK_GETTER + + // TODO either remove or at-ts-expect-error + // @ts-ignore-error TS should know FERAL_STACK_GETTER // cannot be `undefined` here. // See https://github.com/endojs/endo/pull/2232#discussion_r1575179471 value: apply(FERAL_STACK_GETTER, obj, []),