fix(sandbox): load @deno/sandbox lazily#130
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
deno deployexecutes this package with the user's workspace configapplied (the subcommand disables the lockfile and node_modules, but not
config discovery), so the CLI's static import of @deno/sandbox made
Deno consider a workspace member named @deno/sandbox for the CLI's own
module graph. Inside such a workspace (e.g. the sandbox repo itself)
every command either emitted
or, when the member's version satisfied the constraint, linked the
local package into the CLI and crashed it outright (reproduced:
"does not provide an export named 'Client'").
executed when a sandbox command actually runs; value uses in
create/connect/volumes/snapshot go through it
import type, which is erased at runtimeand never resolved by the module loader
code edge to @deno/sandbox (via deno info --json)
Non-sandbox commands now run with zero @deno/sandbox resolution, so
neither the warning nor the linking can occur for them. The sandbox
subcommands still resolve it at run time; full isolation needs the
deno subcommand to disable config discovery for the jsr-fetched CLI.