From 19deec449428ffac823e2d94de56bc1482a11865 Mon Sep 17 00:00:00 2001 From: Colin Ihrig Date: Wed, 14 Sep 2022 11:59:20 -0400 Subject: fix(ops): add node.js env variable allowlist (#15893) This commit allows the Node compatibility layer to skip environment variable permission checks when --unstable is passed and the variable name is one that Node uses. Fixes: https://github.com/denoland/deno/issues/15890 --- cli/tests/testdata/node_env_var_allowlist.ts | 2 ++ cli/tests/testdata/node_env_var_allowlist_with_unstable_flag.ts.out | 5 +++++ .../testdata/node_env_var_allowlist_without_unstable_flag.ts.out | 4 ++++ 3 files changed, 11 insertions(+) create mode 100644 cli/tests/testdata/node_env_var_allowlist.ts create mode 100644 cli/tests/testdata/node_env_var_allowlist_with_unstable_flag.ts.out create mode 100644 cli/tests/testdata/node_env_var_allowlist_without_unstable_flag.ts.out (limited to 'cli/tests/testdata') diff --git a/cli/tests/testdata/node_env_var_allowlist.ts b/cli/tests/testdata/node_env_var_allowlist.ts new file mode 100644 index 000000000..95da38c24 --- /dev/null +++ b/cli/tests/testdata/node_env_var_allowlist.ts @@ -0,0 +1,2 @@ +console.log(Deno.env.get("NODE_DEBUG") ?? "ok"); +Deno.env.get("NOT_NODE_DEBUG"); diff --git a/cli/tests/testdata/node_env_var_allowlist_with_unstable_flag.ts.out b/cli/tests/testdata/node_env_var_allowlist_with_unstable_flag.ts.out new file mode 100644 index 000000000..62f335c0f --- /dev/null +++ b/cli/tests/testdata/node_env_var_allowlist_with_unstable_flag.ts.out @@ -0,0 +1,5 @@ +ok +[WILDCARD]error: Uncaught PermissionDenied: Requires env access to "NOT_NODE_DEBUG", run again with the --allow-env flag +Deno.env.get("NOT_NODE_DEBUG"); + ^ + at [WILDCARD] diff --git a/cli/tests/testdata/node_env_var_allowlist_without_unstable_flag.ts.out b/cli/tests/testdata/node_env_var_allowlist_without_unstable_flag.ts.out new file mode 100644 index 000000000..ac92cdb6b --- /dev/null +++ b/cli/tests/testdata/node_env_var_allowlist_without_unstable_flag.ts.out @@ -0,0 +1,4 @@ +[WILDCARD]error: Uncaught PermissionDenied: Requires env access to "NODE_DEBUG", run again with the --allow-env flag +console.log(Deno.env.get("NODE_DEBUG") ?? "ok"); + ^ + at [WILDCARD] -- cgit v1.2.3