1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00
denoland-deno/cli/lsp
David Sherret cbb3f85433
feat(unstable/npm): support peer dependencies (#16561)
This adds support for peer dependencies in npm packages.

1. If not found higher in the tree (ancestor and ancestor siblings),
peer dependencies are resolved like a dependency similar to npm 7.
2. Optional peer dependencies are only resolved if found higher in the
tree.
3. This creates "copy packages" or duplicates of a package when a
package has different resolution due to peer dependency resolution—see
https://pnpm.io/how-peers-are-resolved. Unlike pnpm though, duplicates
of packages will have `_1`, `_2`, etc. added to the end of the package
version in the directory in order to minimize the chance of hitting the
max file path limit on Windows. This is done for both the local
"node_modules" directory and also the global npm cache. The files are
hard linked in this case to reduce hard drive space.

This is a first pass and the code is definitely more inefficient than it
could be.

Closes #15823
2022-11-08 14:17:24 -05:00
..
testing feat: binary npm commands (#15542) 2022-08-23 10:39:19 -04:00
analysis.rs chore: use Rust 1.64.0 (#16035) 2022-09-26 21:52:16 +02:00
cache.rs feat(unstable): initial support for npm specifiers (#15484) 2022-08-20 11:31:33 -04:00
capabilities.rs fix(lsp): add ServerCapabilities::encoding (#16444) 2022-10-27 19:34:44 +02:00
client.rs refactor(lsp): migrate from lspower back to tower-lsp (#14163) 2022-04-03 14:17:30 +10:00
code_lens.rs refactor: upgrade to deno_ast 0.15 (#14680) 2022-05-20 16:40:55 -04:00
completions.rs fix(lsp): use correct commit chars for completions (#15366) 2022-08-02 08:54:17 +10:00
config.rs fix(lsp): correct parameterNames.suppressWhenArgumentMatchesName and variableTypes.suppressWhenTypeMatchesName (#16469) 2022-10-28 14:48:14 -04:00
diagnostics.rs feat(unstable/npm): initial type checking of npm specifiers (#16332) 2022-10-21 15:20:18 +00:00
documents.rs refactor: Combine ImportMapResolver and JsxResolver (#16508) 2022-11-02 15:47:02 +01:00
language_server.rs feat(unstable/npm): support peer dependencies (#16561) 2022-11-08 14:17:24 -05:00
logging.rs build: require safety comments on unsafe code (#13870) 2022-06-26 00:13:24 +02:00
lsp_custom.rs feat: support inlay hints (#16287) 2022-10-16 13:39:43 +11:00
mod.rs feat: support inlay hints (#16287) 2022-10-16 13:39:43 +11:00
parent_process_checker.rs chore: fix Windows specific clippy errors (#15212) 2022-07-15 12:30:25 -04:00
path_to_regex.rs chore: use Rust 1.62.0 (#15028) 2022-07-01 15:28:06 +02:00
performance.rs refactor: remove dead code from lsp (#13743) 2022-02-24 08:01:20 +11:00
README.md feat(lsp): improve registry completion suggestions (#13023) 2021-12-14 06:24:11 +11:00
refactor.rs refactor(lsp): migrate from lspower back to tower-lsp (#14163) 2022-04-03 14:17:30 +10:00
registries.rs feat: download progress bar (#15814) 2022-09-09 15:57:39 -04:00
repl.rs feat: support inlay hints (#16287) 2022-10-16 13:39:43 +11:00
semantic_tokens.rs refactor(lsp): migrate from lspower back to tower-lsp (#14163) 2022-04-03 14:17:30 +10:00
text.rs fix(lsp): correct positions in some scenarios (#14359) 2022-05-15 14:41:37 -04:00
tsc.rs fix(lsp): correct parameterNames.suppressWhenArgumentMatchesName and variableTypes.suppressWhenTypeMatchesName (#16469) 2022-10-28 14:48:14 -04:00
urls.rs lsp: use deno:/asset instead of deno:asset (#16023) 2022-10-01 20:02:25 +02: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.