Nayeem Rahman
e7d2648faa
fix(lsp): force shutdown after a timeout ( #21251 )
2023-11-24 03:05:26 +01:00
David Sherret
9c39172f55
refactor(upgrade): add unit tests for lsp upgrade check ( #21244 )
2023-11-24 03:03:25 +01:00
林炳权
53951d703c
chore: update to Rust 1.74 ( #21210 )
...
Update to Rust 1.74
2023-11-24 03:03:25 +01:00
Nayeem Rahman
8c50df360f
feat(lsp): upgrade check on init and notification ( #21105 )
2023-11-17 11:30:19 +09:00
Nayeem Rahman
bfe9c9e1ba
fix(lsp): update tsconfig after refreshing settings on init ( #21170 )
2023-11-17 11:28:56 +09:00
David Sherret
e4c947dd2b
fix(node): use closest package.json to resolve package.json imports ( #21075 )
2023-11-04 16:41:51 +00:00
Nayeem Rahman
79a9f2a77c
perf(lsp): fix redundant walk when collecting tsc code lenses ( #20974 )
2023-10-25 21:51:02 +01:00
David Sherret
be97170a19
feat(unstable): ability to npm install
then deno run main.ts
( #20967 )
...
This PR adds a new unstable "bring your own node_modules" (BYONM)
functionality currently behind a `--unstable-byonm` flag (`"unstable":
["byonm"]` in a deno.json).
This enables users to run a separate install command (ex. `npm install`,
`pnpm install`) then run `deno run main.ts` and Deno will respect the
layout of the node_modules directory as setup by the separate install
command. It also works with npm/yarn/pnpm workspaces.
For this PR, the behaviour is opted into by specifying
`--unstable-byonm`/`"unstable": ["byonm"]`, but in the future we may
make this the default behaviour as outlined in
https://github.com/denoland/deno/issues/18967#issuecomment-1761248941
This is an extremely rough initial implementation. Errors are
terrible in this and the LSP requires frequent restarts. Improvements
will be done in follow up PRs.
2023-10-25 14:39:00 -04:00
David Sherret
59a5fe530f
refactor: upgrade to deno_ast 0.31 and deno_graph 0.59 ( #20965 )
2023-10-24 21:43:19 +00:00
Nayeem Rahman
a7bd0cf7a8
perf(lsp): cleanup workspace settings scopes ( #20937 )
2023-10-24 21:27:27 +01:00
David Sherret
8f065a60e7
fix: improved using declaration support ( #20959 )
...
Upgrades to deno_ast 0.30.
2023-10-24 09:37:02 -04:00
Yoshiya Hinosawa
fb73eb1e9d
feat(unstable): allow bare specifier for builtin node module ( #20728 )
...
closes #20566
2023-10-20 13:02:08 +09:00
Nayeem Rahman
7561f6ecea
fix(lsp): include mtime in tsc script version ( #20911 )
2023-10-17 05:13:06 +01:00
Nayeem Rahman
659cd90758
feat(lsp): respect "typescript.preferences.quoteStyle" when deno.json is absent ( #20891 )
2023-10-17 02:51:42 +01:00
Nayeem Rahman
ebb7fe412e
fix(lsp): show diagnostics for untitled files ( #20916 )
2023-10-16 20:21:57 +01:00
Nayeem Rahman
bd238be4b5
fix(lsp): don't commit registry completions on "/" ( #20902 )
2023-10-13 14:38:34 +01:00
Nayeem Rahman
5dd010a4fb
feat(lsp): send "deno/didChangeDenoConfiguration" notifications ( #20827 )
2023-10-12 16:07:27 +01:00
Nayeem Rahman
eaeb10cee1
perf(lsp): fix redundant file reads ( #20802 )
2023-10-12 15:37:56 +01:00
Nayeem Rahman
2215a3ea2e
fix(lsp): normalize "deno:" urls statelessly ( #20867 )
2023-10-10 19:32:22 +01:00
Nayeem Rahman
6bbccb72d7
refactor(lsp): add "deno.reloadImportRegistries" as a command ( #20823 )
2023-10-10 05:53:41 +01:00
Nayeem Rahman
84c9300aff
fix(lsp): allow formatting vendor files ( #20844 )
2023-10-09 23:43:32 +01:00
Nayeem Rahman
35f028daf2
perf(lsp): optimize formatting minified files ( #20829 )
2023-10-09 04:39:52 +01:00
Nayeem Rahman
677a591e56
fix(lsp): percent-encode host in deno: specifiers ( #20811 )
2023-10-06 14:46:43 +01:00
David Sherret
820e93e3e7
refactor(npm): add referrer when resolving npm package sub path from deno module ( #20800 )
...
Adds a `referrer` parameter to this function instead of using a fake
one.
2023-10-05 20:18:29 +00:00
Nayeem Rahman
551a081450
refactor(test): support custom writer in PrettyTestReporter ( #20783 )
2023-10-05 11:25:15 +01:00
David Sherret
1ff525e25b
refactor(node): combine node resolution code for resolving a package subpath from external code ( #20791 )
...
We had two methods that did the same functionality.
2023-10-04 23:05:12 -04:00
Nayeem Rahman
64f9155126
fix(lsp): show diagnostics for type imports from untyped deps ( #20780 )
2023-10-05 01:38:11 +01:00
David Sherret
8c1677ecbc
refactor(npm): break up NpmModuleLoader
and move more methods into the managed CliNpmResolver
( #20777 )
...
Part of https://github.com/denoland/deno/issues/18967
2023-10-03 19:05:06 -04:00
David Sherret
148694eb35
refactor(npm): make NpmCache
, CliNpmRegistryApi
, and NpmResolution
internal to npm::managed
( #20764 )
2023-10-02 17:53:55 -04:00
Nayeem Rahman
6fd2d08418
refactor(lsp): clean up tsc requests ( #20743 )
2023-10-02 07:32:05 +01:00
David Sherret
8d24be1a59
refactor(npm): create cli::npm::managed
module ( #20740 )
...
Creates the `cli::npm::managed` module and starts moving more
functionality into it.
2023-09-30 12:06:38 -04:00
Nayeem Rahman
2d1af0cf51
feat(lsp): jupyter notebook analysis ( #20719 )
2023-09-29 20:44:59 +01:00
David Sherret
5edd102f3f
refactor(cli): make CliNpmResolver
a trait ( #20732 )
...
This makes `CliNpmResolver` a trait. The terminology used is:
- **managed** - Deno manages the node_modules folder and does an
auto-install (ex. `ManagedCliNpmResolver`)
- **byonm** - "Bring your own node_modules" (ex. `ByonmCliNpmResolver`,
which is in this PR, but unimplemented at the moment)
Part of #18967
2023-09-29 09:26:25 -04:00
David Sherret
d43e48c4e9
refactor(ext/node): remove dependency on deno_npm and deno_semver ( #20718 )
...
This is required from BYONM (bring your own node_modules).
Part of #18967
2023-09-28 22:43:45 +02:00
Nayeem Rahman
b433133a1f
fix(lsp): allow query strings for "deno:/status.md" ( #20697 )
2023-09-27 01:48:34 +01:00
Nayeem Rahman
cb154d6afa
chore(lsp): bump tower-lsp to 0.20.0 ( #20693 )
2023-09-26 21:57:14 +01:00
David Sherret
dcb00bb9b8
chore: slight cleanup in npm resolvers ( #20692 )
2023-09-26 16:42:39 -04:00
Nayeem Rahman
939279aa10
feat(lsp): support more vscode built-in settings ( #20679 )
2023-09-26 03:54:07 +01:00
Mikko
83f20007aa
docs: fix broken deno manual link ( #20667 )
2023-09-25 14:09:27 +02:00
Nayeem Rahman
bb4b00df92
feat(lsp): cache all dependencies quick fix ( #20665 )
2023-09-24 23:33:52 +01:00
Nayeem Rahman
98ef7bd818
fix(lsp): resolve remote import maps ( #20651 )
2023-09-24 18:00:15 +01:00
Nayeem Rahman
33f84321b2
refactor(lsp): implement "deno.cacheOnSave" server-side ( #20632 )
2023-09-24 17:59:42 +01:00
Nayeem Rahman
d955d66a3f
fix(lsp): show related information for tsc diagnostics ( #20654 )
2023-09-24 08:18:51 +01:00
Nayeem Rahman
a4ac6a3f5f
refactor(lsp): store language sections in WorkspaceSettings ( #20593 )
...
When sending configuration requests to the client, reads `javascript`
and `typescript` sections in addition to `deno`.
The LSP's initialization options now accepts `javascript` and
`typescript` namespaces.
2023-09-21 06:46:39 +01:00
Nayeem Rahman
40122d7f2a
fix(lsp): force correct media type detection from tsc ( #20562 )
2023-09-19 16:37:27 +01:00
Nayeem Rahman
9004117790
fix(lsp): refresh npm completions on each character ( #20565 )
2023-09-19 12:01:06 +00:00
Nayeem Rahman
b9b4ad31d9
refactor(lsp): dedup import map lookup for auto-imports ( #20538 )
2023-09-19 00:59:26 +01:00
Nayeem Rahman
f5963b6a05
refactor(lsp): cleanup document preload ( #20520 )
2023-09-18 20:58:16 +01:00
Nayeem Rahman
86c04f43e0
fix(lsp): pass quote preference to tsc ( #20547 )
2023-09-18 20:48:32 +01:00
Nayeem Rahman
f7ba701304
fix(lsp): prefer local auto-import specifiers ( #20539 )
...
Give auto-import completion entries a sort-text suffix depending on if
the specifier parses as a URL. This will favour relative and bare
(likely import-mapped) specifiers.
2023-09-18 19:55:24 +01:00