summaryrefslogtreecommitdiff
path: root/cli/js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js')
-rw-r--r--cli/js/compiler.ts6
-rw-r--r--cli/js/main.ts6
2 files changed, 12 insertions, 0 deletions
diff --git a/cli/js/compiler.ts b/cli/js/compiler.ts
index 1dddd984c..914a0baf0 100644
--- a/cli/js/compiler.ts
+++ b/cli/js/compiler.ts
@@ -400,6 +400,12 @@ function bootstrapWasmCompilerRuntime(): void {
globalThis.onmessage = wasmCompilerOnMessage;
}
+// Removes the `__proto__` for security reasons. This intentionally makes
+// Deno non compliant with ECMA-262 Annex B.2.2.1
+//
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+delete (Object.prototype as any).__proto__;
+
Object.defineProperties(globalThis, {
bootstrapWasmCompilerRuntime: {
value: bootstrapWasmCompilerRuntime,
diff --git a/cli/js/main.ts b/cli/js/main.ts
index fbebfefe4..881d3ad4a 100644
--- a/cli/js/main.ts
+++ b/cli/js/main.ts
@@ -2,6 +2,12 @@
import { bootstrapMainRuntime } from "./runtime_main.ts";
import { bootstrapWorkerRuntime } from "./runtime_worker.ts";
+// Removes the `__proto__` for security reasons. This intentionally makes
+// Deno non compliant with ECMA-262 Annex B.2.2.1
+//
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+delete (Object.prototype as any).__proto__;
+
Object.defineProperties(globalThis, {
bootstrapMainRuntime: {
value: bootstrapMainRuntime,