1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-20 22:34:46 -05:00
denoland-deno/cli/lsp
Nathan Whitaker 6f506208f6
feat(unstable): support caching npm dependencies only as they're needed (#27300)
Currently deno eagerly caches all npm packages in the workspace's npm
resolution. So, for instance, running a file `foo.ts` that imports
`npm:chalk` will also install all dependencies listed in `package.json`
and all `npm` dependencies listed in the lockfile.

This PR refactors things to give more control over when and what npm
packages are automatically cached while building the module graph.

After this PR, by default the current behavior is unchanged _except_ for
`deno install --entrypoint`, which will only cache npm packages used by
the given entrypoint. For the other subcommands, this behavior can be
enabled with `--unstable-npm-lazy-caching`


Fixes #25782.

---------

Signed-off-by: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com>
Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-12-10 18:24:23 -08:00
..
testing fix: improved support for cjs and cts modules (#26558) 2024-11-01 12:27:00 -04:00
analysis.rs fix: replace the @deno-types with @ts-types (#27310) 2024-12-10 09:52:13 -05:00
cache.rs BREAKING: rename "deps" remote cache folder to "remote" (#25969) 2024-10-01 14:05:40 -04:00
capabilities.rs Reland feat(lsp): deno/didRefreshDenoConfigurationTree notifications (#26325) 2024-10-16 22:43:26 +01:00
client.rs Reland feat(lsp): deno/didRefreshDenoConfigurationTree notifications (#26325) 2024-10-16 22:43:26 +01:00
code_lens.rs fix: improved support for cjs and cts modules (#26558) 2024-11-01 12:27:00 -04:00
completions.rs fix(node): update list of builtin node modules, add missing export to _http_common (#27294) 2024-12-09 13:01:09 -08:00
config.rs fix: support workspace:^ and workspace:~ version constraints (#27096) 2024-11-30 00:54:26 +01:00
diagnostics.rs fix: replace the @deno-types with @ts-types (#27310) 2024-12-10 09:52:13 -05:00
documents.rs fix: support workspace:^ and workspace:~ version constraints (#27096) 2024-11-30 00:54:26 +01:00
jsr.rs fix: support workspace:^ and workspace:~ version constraints (#27096) 2024-11-30 00:54:26 +01:00
language_server.rs feat(unstable): support caching npm dependencies only as they're needed (#27300) 2024-12-10 18:24:23 -08:00
logging.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
lsp_custom.rs fix(lsp): support task object notation for tasks request (#27076) 2024-11-26 05:57:51 +00:00
mod.rs fix(lsp): support task object notation for tasks request (#27076) 2024-11-26 05:57:51 +00:00
npm.rs fix: .npmrc settings not being passed to install/add command (#26473) 2024-10-24 20:03:56 +02:00
parent_process_checker.rs fix: otel resiliency (#26857) 2024-11-14 12:16:28 +00:00
path_to_regex.rs chore: upgrade to rust 1.79 (#24207) 2024-06-14 17:10:57 +05:30
performance.rs refactor(lsp): cleanup partially locking methods (#23723) 2024-05-08 06:34:42 +01:00
README.md docs: fix broken deno manual link (#20667) 2023-09-25 14:09:27 +02:00
refactor.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
registries.rs fix: .npmrc settings not being passed to install/add command (#26473) 2024-10-24 20:03:56 +02:00
repl.rs feat(node): stabilize detecting if CJS via "type": "commonjs" in a package.json (#26439) 2024-11-13 15:10:09 +00:00
resolver.rs feat(unstable): support caching npm dependencies only as they're needed (#27300) 2024-12-10 18:24:23 -08:00
search.rs feat(lsp): jsr specifier completions (#22612) 2024-02-29 03:54:16 +00:00
semantic_tokens.rs perf(lsp): Cache semantic tokens for open documents (#23799) 2024-05-15 01:51:48 +00:00
text.rs fix(lsp): handle multiline semantic tokens (#23691) 2024-05-04 21:48:06 +01:00
tsc.rs fix: replace the @deno-types with @ts-types (#27310) 2024-12-10 09:52:13 -05:00
urls.rs fix(lsp): encode url parts before parsing as uri (#25509) 2024-09-11 11:11:39 +01:00

Deno Language Server

The Deno Language Server provides a server implementation of the Language Server Protocol which is specifically tailored to provide a Deno view of code. It is integrated into the command line and can be started via the lsp sub-command.

This documentation has been moved to the Deno manual.