0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-08 07:16:56 -05:00
denoland-deno/cli
Nathan Whitaker c31b670323
fix(lsp): ignore errors on ambient module imports (#27855)
This makes it so imports of ambient modules (e.g. `$app/environment` in
svelte, any virtual module in vite, or other module provided by a
bundler) don't error in the LSP.

The way this works is that when we request diagnostics from TSC, we also
respond with the list of ambient modules. Then, in the diagnostics code,
we save diagnostics (produced by deno) that may be invalidated as an
ambient module and wait to publish the diagnostics until we've received
the ambient modules from TSC.

The actual ambient modules you get from TSC can contain globs, e.g.
`*.css`. So when we get new ambient modules, we compile them all into a
regex and check erroring imports against that regex. Ambient modules
should change rarely, so in most cases we should be using a pre-compiled
regex, which executes in linear time (wrt the specifier length).

TODO:
- Ideally we should only publish once, right now we publish with the
filtered specifiers and then the TSC ones
- deno check (#27633)
2025-01-30 15:34:59 +01:00
..
args fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
bench chore: Happy New Year 2025 (#27509) 2025-01-09 15:19:16 -05:00
cache refactor: add WorkspaceFactory and ResolverFactory (#27766) 2025-01-30 15:34:53 +01:00
js refactor: add 'deno_os' crate (#27655) 2025-01-16 23:32:11 +01:00
lib fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
lsp fix(lsp): ignore errors on ambient module imports (#27855) 2025-01-30 15:34:59 +01:00
npm perf(node_resolver): reduce url to/from path conversions (#27839) 2025-01-30 15:34:56 +01:00
ops refactor: update deno_core for error refactor (#26867) 2025-01-09 15:19:21 -05:00
rt perf(node_resolver): reduce url to/from path conversions (#27839) 2025-01-30 15:34:56 +01:00
schemas fix(task): support tasks without commands (#27191) 2025-01-09 15:19:11 -05:00
snapshot chore: fix hmr build (#27781) 2025-01-30 15:34:52 +01:00
standalone perf(compile): remove swc from denort (#27721) 2025-01-22 00:24:21 +01:00
tools fix(init): correct dev task for --lib (#27860) 2025-01-30 15:34:59 +01:00
tsc fix(lsp): ignore errors on ambient module imports (#27855) 2025-01-30 15:34:59 +01:00
util fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
build.rs refactor(tsc): remove TS program creation during snapshotting (#27797) 2025-01-30 15:34:54 +01:00
Cargo.toml fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
cdp.rs chore: Happy New Year 2025 (#27509) 2025-01-09 15:19:16 -05:00
clippy.toml refactor: do not use deno_fs::FileSystem everywhere (#27508) 2025-01-09 15:19:15 -05:00
deno.ico
emit.rs fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
entitlements.plist chore: start codesigning mac release builds (#21303) 2023-11-23 15:30:26 -07:00
factory.rs fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
file_fetcher.rs fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
graph_container.rs chore: Happy New Year 2025 (#27509) 2025-01-09 15:19:16 -05:00
graph_util.rs fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
http_util.rs refactor: move denort to separate crate (#27688) 2025-01-22 00:24:19 +01:00
integration_tests_runner.rs refactor: move denort to separate crate (#27688) 2025-01-22 00:24:19 +01:00
js.rs refactor: move denort to separate crate (#27688) 2025-01-22 00:24:19 +01:00
jsr.rs chore: Happy New Year 2025 (#27509) 2025-01-09 15:19:16 -05:00
main.rs refactor: add WorkspaceFactory and ResolverFactory (#27766) 2025-01-30 15:34:53 +01:00
module_loader.rs fix(check): compiler options from workspace members (#27785) 2025-01-30 15:34:58 +01:00
node.rs refactor: add WorkspaceFactory and ResolverFactory (#27766) 2025-01-30 15:34:53 +01:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs refactor: add WorkspaceFactory and ResolverFactory (#27766) 2025-01-30 15:34:53 +01:00
task_runner.rs refactor: add 'deno_os' crate (#27655) 2025-01-16 23:32:11 +01:00
worker.rs refactor: move denort to separate crate (#27688) 2025-01-22 00:24:19 +01:00

Deno CLI Crate

crates

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core to provide the executable.