0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-01 12:16:11 -05:00
Commit graph

941 commits

Author SHA1 Message Date
Nayeem Rahman
1e9e24f1f2 scoped jsx import source config 2025-01-20 18:33:17 +00:00
Nayeem Rahman
766452fca4 single factory 2025-01-20 08:15:23 +00:00
Nayeem Rahman
8d5fb5afca Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-18 06:01:12 +00:00
David Sherret
57dd66ec3d
refactor: move denort to separate crate (#27688)
This slightly degrades the performance of CJS export analysis on
subsequent runs because I changed it to no longer cache in the DENO_DIR
with this PR (denort now properly has no idea about the DENO_DIR). We'll
have to change it to embed this data in the binary and that will also
allow us to get rid of swc in denort (will do that in a follow-up PR).
2025-01-17 20:39:29 +00:00
Nathan Whitaker
464ee9155e
fix(check/lsp): fix bugs with tsc type resolution, allow npm packages to augment ImportMeta (#27690)
Fixes #26224.
Fixes #27042.

There were three bugs here:
- we were only resolving `/// <reference types` directives starting with
`npm:`, which meant we failed to resolve bare specifiers (this broke the
`/// <reference types="vite/client">` directive in most of the vite
templates)
- the `$node_modules` workaround caused us to fail to read files for
tsc. For instance tsc would construct new paths based on specifiers
containing `$node_modules`, and since we hadn't created those we weren't
mapping them back to the original (this broke some type resolution
within `vite/client`)
- our separation of `ImportMeta` across node and deno globals in tsc
meant that npm packages couldn't augment `ImportMeta` (this broke
`vite/client`'s augmentation to add `import.meta.env` and others)


After this, the only remaining issue in the vanilla vite template is our
error on `/vite.svg` (which is an ambient module), and I'll look into
that next.
2025-01-16 19:20:04 +00:00
Jo Franchetti
17d6e66ee3
docs: adding jsdocs info for console interface (#27666)
Signed-off-by: Jo Franchetti <jofranchetti@gmail.com>
Co-authored-by: Marvin Hagemeister <marvin@deno.com>
2025-01-16 14:48:13 +00:00
Nayeem Rahman
c8a0404848 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-16 03:08:23 +00:00
Nathan Whitaker
32708213d5
fix(check/lsp): correctly resolve compilerOptions.types (#27686)
Fixes https://github.com/denoland/deno/issues/27062

In the LSP we were passing `npm` specifiers to TSC as roots, but TSC
needs fully resolved specifiers (like the actual file path).

In `deno check` we were often excluding the specifiers entirely from the
roots.

In both cases, we need to resolve the specifiers fully and then pass
them to tsc
2025-01-15 18:48:10 -08:00
Nayeem Rahman
8719cb7a57 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-15 22:50:05 +00:00
David Sherret
05dc69932d
refactor: create deno_lib crate (#27673)
Shifts just some code down for now. I'll do the rest of the refactor in
the next pr, but didn't want to drop a huge refactor.
2025-01-15 09:35:46 -05:00
Nayeem Rahman
6128282d6e Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-15 02:53:07 +00:00
David Sherret
0b033140c0
refactor: move CliNpmResolver to deno_resolver::npm::NpmResolver (#27659)
As title. After this PR all npm resolution will be out of the CLI crate.
2025-01-14 10:01:05 -05:00
David Sherret
1e95c20561
refactor: deno_config 0.45 (#27660) 2025-01-14 13:00:31 +01:00
Nayeem Rahman
5a1bb6b854 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-14 03:16:38 +00:00
David Sherret
9dbb99a83c
refactor: create NpmInstaller (#27626)
This separates npm resolution code from npm installation (more work
towards moving resolution code out of the CLI and cleaning up this
code).
2025-01-13 17:35:18 -05:00
Benjamin Swerdlow
714b40262e
refactor(node_resolver): make conditions_from_resolution_mode configurable (#27596) 2025-01-13 11:34:37 -05:00
Nayeem Rahman
f912aac2cb
fix(lsp): handle pathless untitled URIs (#27637) 2025-01-13 15:31:08 +00:00
Nathan Whitaker
70c822bfe2
fix(lsp/check): don't resolve unknown media types to a .js extension (#27631)
Fixes https://github.com/denoland/deno/issues/25762. Note that some of
the things in that issue are not resolved (vite/client types not working
properly which has other root causes), but the wildcard module
augmentation specifically is fixed by this.

We were telling TSC that files with unknown media types had an extension
of `.js`, so the ambient module declarations weren't applying. Instead,
just don't resolve them, so the ambient declaration applies.
2025-01-11 03:26:01 +00:00
David Sherret
c27248a8f3
refactor: remove CliNpmReqResolver trait in deno_resolver (#27616) 2025-01-10 14:48:43 -05:00
David Sherret
34beeb7703
refactor(npm): move SloppyImportsCachedFs to deno_resolver (#27610) 2025-01-09 18:30:48 -05:00
David Sherret
966370c908
refactor(npm): move InNpmPackageChecker code to deno_resolver (#27609)
As title. Will allow consumers to create this struct and use our
behaviour.

Closes #27409
2025-01-09 14:04:52 -05:00
Nayeem Rahman
318f524c5c
fix(lsp): use verbatim specifier for URL auto-imports (#27605) 2025-01-09 17:54:14 +00:00
Leo Kettmeir
ea30e188a8
refactor: update deno_core for error refactor (#26867)
Closes #26171

---------

Co-authored-by: David Sherret <dsherret@gmail.com>
2025-01-08 14:52:32 -08:00
Nayeem Rahman
b5e4a303d5
fix(lsp): don't skip dirs with enabled subdirs (#27580) 2025-01-07 19:04:06 +00:00
Nayeem Rahman
f61286bf4b Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-06 13:26:51 +00:00
Nayeem Rahman
79c0b2ce73
fix(lsp): css preprocessor formatting (#27526) 2025-01-02 13:31:47 +00:00
Nayeem Rahman
60de9fa6b1 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2025-01-01 09:58:24 +00:00
Kenta Moriuchi
8fb073d7b4
chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
David Sherret
ac7b33a340
chore: cargo fmt - turn on group_imports=StdExternalCrate (#26646) 2024-12-31 12:13:39 -05:00
David Sherret
4638caa740
refactor: do not use deno_fs::FileSystem everywhere (#27508)
This changes the cli to mostly use `std::fs` via `sys_traits` instead of
the implemention of `deno_fs::FileSystem`.
2024-12-31 11:29:07 -05:00
Nayeem Rahman
03cb9732a7 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-30 18:12:34 +00:00
David Sherret
c391ad315e
refactor: use sys_traits (#27480) 2024-12-30 12:38:20 -05:00
David Sherret
ece718eb3e
perf: upgrade to deno_semver 0.7 (#27426) 2024-12-20 21:14:37 +00:00
Nayeem Rahman
feb94d09e7
fix(lsp): rewrite imports for 'Move to a new file' action (#27427) 2024-12-20 02:33:35 +00:00
Marvin Hagemeister
351e79642a
fix(task): support tasks without commands (#27191)
Support running tasks that have no command and only dependencies. This
is useful for when you want to group tasks only.
2024-12-19 18:10:58 +00:00
Nayeem Rahman
9f8d83356f Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-17 19:01:14 +00:00
Nayeem Rahman
2820ba1e22
fix(lsp): include "node:" prefix for node builtin auto-imports (#27404) 2024-12-17 18:55:17 +00:00
Nayeem Rahman
c7f28998d9 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-17 16:30:12 +00:00
Bartek Iwańczuk
f9add94e17
refactor(lint): renames and code flattening (#27386)
Working on loading plugin configuration for
https://github.com/denoland/deno/pull/27203
I encountered a lot of complexity, so did some drive-by cleanups to make
it easier to grok the code and have fewer duplicate names.
2024-12-17 01:35:26 +00:00
David Sherret
95928c46eb
refactor: extract out FileFetcher to deno_cache_dir (#27263) 2024-12-16 23:39:40 +00:00
Nayeem Rahman
f5b258cfdb Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-16 22:48:21 +00:00
Nayeem Rahman
358bf566c2
fix(lsp): respect "typescript.suggestionActions.enabled" setting (#27373) 2024-12-16 17:25:49 +00:00
Divy Srivastava
50871b2aa3
fix: FastString v8_string() should error when cannot allocated (#27375)
Upgrades deno_core to 0.326.0
2024-12-16 13:51:49 +00:00
Nayeem Rahman
9a6263c1ce Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-16 00:30:58 +00:00
Nathan Whitaker
3946956b8c
fix(lockfile): include dependencies listed in external import map in lockfile (#27337) 2024-12-13 10:19:37 -08:00
Nayeem Rahman
32b57f7b82
fix(lsp): sql and component file formatting (#27350) 2024-12-13 14:14:55 +00:00
Nayeem Rahman
f8be309def Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-11 09:54:01 +00:00
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
Nayeem Rahman
de37f41e13 Merge remote-tracking branch 'upstream/main' into check-workspace-member-compiler-options 2024-12-10 17:02:02 +00:00
Mohammad Sulaiman
59dd5d21d4
fix: replace the @deno-types with @ts-types (#27310) 2024-12-10 09:52:13 -05:00