diff options
author | David Sherret <dsherret@users.noreply.github.com> | 2023-05-10 20:06:59 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-10 20:06:59 -0400 |
commit | 28aa489de9cd4f995ec2fc02e2c9d224e89f4c01 (patch) | |
tree | b316937a47fe9c8f9f6768bc13b9a686c07cf42f /cli/lsp/language_server.rs | |
parent | 5fd74bfa1c5ed514c3e19fdb2e8590fe251d3ee6 (diff) |
feat(compile): unstable npm and node specifier support (#19005)
This is the initial support for npm and node specifiers in `deno
compile`. The npm packages are included in the binary and read from it via
a virtual file system. This also supports the `--node-modules-dir` flag,
dependencies specified in a package.json, and npm binary commands (ex.
`deno compile --unstable npm:cowsay`)
Closes #16632
Diffstat (limited to 'cli/lsp/language_server.rs')
-rw-r--r-- | cli/lsp/language_server.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index d00b8f313..d32d12ec8 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -457,8 +457,9 @@ fn create_lsp_structs( )); let resolution = Arc::new(NpmResolution::from_serialized(api.clone(), None, None)); + let fs = Arc::new(deno_fs::RealFs); let fs_resolver = create_npm_fs_resolver( - Arc::new(deno_fs::RealFs), + fs.clone(), npm_cache.clone(), &progress_bar, registry_url.clone(), @@ -468,7 +469,12 @@ fn create_lsp_structs( ( api, npm_cache, - Arc::new(CliNpmResolver::new(resolution.clone(), fs_resolver, None)), + Arc::new(CliNpmResolver::new( + fs, + resolution.clone(), + fs_resolver, + None, + )), resolution, ) } @@ -711,6 +717,7 @@ impl Inner { )); let node_fs = Arc::new(deno_fs::RealFs); let npm_resolver = Arc::new(CliNpmResolver::new( + node_fs.clone(), npm_resolution.clone(), create_npm_fs_resolver( node_fs.clone(), |