From 9237f78d08e4fb1e3ee98dc3ccc814718601aad8 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 6 Sep 2021 20:57:37 +1000 Subject: [PATCH] Merge pull request #1354 from hgiesel/preventoverwrite Disallow setting, deleting or defining properties on packages --- ts/lib/register-package.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ts/lib/register-package.ts b/ts/lib/register-package.ts index d4f926000..62eaf3042 100644 --- a/ts/lib/register-package.ts +++ b/ts/lib/register-package.ts @@ -3,6 +3,8 @@ import { runtimeLibraries } from "./runtime-require"; +const prohibit = () => false; + export function registerPackage( name: string, entries: Record, @@ -10,6 +12,9 @@ export function registerPackage( ): void { const pack = deprecation ? new Proxy(entries, { + set: prohibit, + defineProperty: prohibit, + deleteProperty: prohibit, get: (target, name: string) => { if (name in deprecation) { console.log(`anki: ${name} is deprecated: ${deprecation[name]}`);