1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-11 18:17:48 -05:00
Commit graph

6950 commits

Author SHA1 Message Date
Marvin Hagemeister
026bbc4a9e
fix(init): support scoped npm packages (#27128)
The naming scheme for create npm packages varies depending on whether
they are scoped or not. We only supported unscoped packages prior to
this PR. This PR adds support for all the following cases which npm
supports:

- `foo` -> `create-foo`
- `@foo/bar` -> `@foo/create-bar`
- `@foo` -> `@foo/create`
- `@foo@2.0.0` -> `@foo/create@2.0.0`
- `@foo/bar@2.0.0` -> `@foo/create-bar@2.0.0`

See https://docs.npmjs.com/cli/v8/commands/npm-init#description

Fixes https://github.com/denoland/deno/issues/27127
2024-11-28 15:07:32 +01:00
Luca Casonato
32e260d55a
fix: support bun specifiers in JSR publish (#24588)
Fixes https://github.com/denoland/deno/issues/26989

---------

Co-authored-by: Nathan Whitaker <nathan@deno.com>
2024-11-28 14:51:24 +01:00
David Sherret
f161adf19e
perf(compile): read embedded files as static references when UTF-8 and reading as strings (#27033) 2024-11-27 21:28:41 -05:00
Nathan Whitaker
76daa03aa9
fix(info): resolve bare specifier pointing to workspace member (#27020)
Fixes https://github.com/denoland/deno/issues/26721

Previously, we were applying only the import map, which would result in
`@scope/foo` expanding to (e.g.) `jsr:@scope/foo@1.0.0`. Since that
didn't exist it would error and fail to resolve.
2024-11-27 13:54:26 -08:00
Bartek Iwańczuk
93adf37bdf
fix(task): strip ansi codes and control chars when printing tasks (#27100) 2024-11-27 15:54:15 +00:00
David Sherret
2bbfef137c
feat(unstable): repurpose --unstable-detect-cjs to attempt loading more modules as cjs (#27094)
This resurrects the `--unstable-detect-cjs` flag (which became stable),
and repurposes it to attempt loading .js/.jsx/.ts/.tsx files as CJS in
the following additional scenarios:

1. There is no package.json
1. There is a package.json without a "type" field

Also cleans up the implementation of this in the LSP a lot by hanging
`resolution_mode()` off `Document` (didn't think about doing that until
now).
2024-11-27 09:50:38 -05:00
Leo Kettmeir
7400181ecb
fix(tools/doc): HTML resolve main entrypoint from config file (#27103)
Fixes #26901
2024-11-27 02:15:15 -08:00
Bartek Iwańczuk
4700f12ddc
fix(task): handle carriage return in task description (#27099)
Ref https://github.com/denoland/deno/pull/27069#discussion_r1857702814
2024-11-27 01:12:47 +00:00
Nathan Whitaker
a750314e04
fix(install): don't re-set up node_modules if running lifecycle script (#26984)
Fixes https://github.com/denoland/deno/issues/26904

If using `nodeModulesDir: "auto"`, it's possible for the lifecycle
script subprocess to try to set up the node_modules dir (despite the
fact that we're already doing that). If it does that, it hangs trying to
acquire the file lock on the node_modules dir.

As a fix, don't try to set up node_modules if we're running as part of a
lifecycle script.

Ideally we'd have better control over when we do and don't set up
node_modules automatically (that's the underlying problem behind #25782
as well)
2024-11-26 15:29:46 -08:00
Kenta Moriuchi
4330ef553f
fix(streams): reject string in ReadableStream.from type (#25116)
WebIDL `async iterable<T>` type rejects `string`

Ref https://github.com/whatwg/webidl/pull/1397, #24623
2024-11-26 19:42:54 +00:00
David Sherret
115a306656
fix(node): correct resolution of dynamic import of esm from cjs (#27071)
Ensures a dynamic import in a CJS file will consider the referrer as an import for node resolution.

Also adds fixes (adds) support for `"resolution-mode"` in TypeScript.
2024-11-26 14:38:24 -05:00
Ian Bull
3a55b67815
chore(compile): prefer denort binary in target/ directory when available (#27052)
Enhances the deno compile workflow for denort development by
automatically checking for a denort binary in the same directory as the
deno binary, provided both are located within a target/ directory. If
found, this denort binary will be used.
    
Key points:

- The DENORT_BIN environment variable remains supported for explicitly
specifying a custom denort binary path.
- Includes additional logic to verify if the deno binary is a symlink
pointing to an executable in the target/ directory.

---------

Signed-off-by: Ian Bull <irbull@gmail.com>
2024-11-26 09:23:09 -05:00
hongmengning
584631d281
docs(cli): remove redundant word in comment (#27055) 2024-11-26 21:07:40 +09:00
snek
e61cf8d7d6
refactor(unstable): move telemetry to own ext (#27067)
Move telemetry to its own ext to clean up some code and resolve circular
deps.
2024-11-26 11:22:18 +00:00
Nayeem Rahman
114fe9bf3e
fix(lsp): support task object notation for tasks request (#27076) 2024-11-26 05:57:51 +00:00
Bartek Iwańczuk
d4fe3311a6
fix(task): handle multiline descriptions properly (#27069)
Closes https://github.com/denoland/deno/issues/27049
2024-11-25 22:02:39 -05:00
David Sherret
2b26444584
fix(check): support jsdoc @import tag (#26991)
* https://github.com/denoland/deno_graph/pull/544

Closes https://github.com/denoland/deno/issues/25516
2024-11-25 18:57:05 -05:00
David Sherret
02b480b171
fix(compile): do not error embedding same symlink via multiple methods (#27015)
Closes https://github.com/denoland/deno/issues/27012
2024-11-25 17:08:06 -05:00
Bartek Iwańczuk
08a56763d4
chore: upgrade sqlformat-rs to non-forked version (#27063) 2024-11-25 15:18:39 +00:00
Bartek Iwańczuk
15f14630ff
fix(init): always force managed node modules (#27047)
Closes https://github.com/denoland/deno/issues/27045
2024-11-25 15:42:34 +01:00
David Sherret
4365f8d999
fix(compile): handle TypeScript file included as asset (#27032)
Closes #27024
2024-11-25 09:37:48 -05:00
Nayeem Rahman
12b377247b
fix(lsp): wasm file import completions (#27018) 2024-11-23 01:26:30 +00:00
João Baptista
9eee2a0e9e
fix(fmt): return None if sql fmt result is the same (#27014)
Similar with https://github.com/denoland/deno/pull/25848, we need to
make `format_sql` to return `None` so we do not flag well formatted sql
files as being wrong.

Signed-off-by: m4rc3l05 <15786310+M4RC3L05@users.noreply.github.com>
2024-11-22 22:57:33 +00:00
Nayeem Rahman
5462b5828d
fix(lsp): remove stray debug output (#27010) 2024-11-22 17:35:10 -05:00
David Sherret
4ded7519e9
fix(compile): correct buffered reading of assets and files (#27008)
Closes #27006
2024-11-22 19:26:38 +00:00
David Sherret
45fad6a622
chore(compile): log code cache file path (#26977)
Ref #26976
2024-11-21 18:16:40 -05:00
Caleb Cox
a19b3f44d4
fix(cli): remove extraneous comma in task --eval help (#26985) 2024-11-21 20:24:54 +00:00
denobot
8a5609ad73
chore: forward v2.1.1 release commit to main (#26981)
Co-authored-by: dsherret <dsherret@users.noreply.github.com>
2024-11-21 14:35:32 -05:00
Bhuwan Pandit
a875a3785b
docs(cli/add): add clarification to add command (#26968)
Signed-off-by: Bhuwan Pandit <bhuwanpandit109@gmail.com>
2024-11-21 17:27:00 +00:00
David Sherret
6ee8efc5b4
fix(install/global): do not error if path is an npm pkg and relative file (#26975)
Closes https://github.com/denoland/deno/issues/26969
2024-11-21 17:00:10 +00:00
Bartek Iwańczuk
566a6c2ce7
fix(task): update --filter flag description (#26974)
`--recursive` is now implied by `--filter`.
2024-11-21 16:56:46 +00:00
Bartek Iwańczuk
bfa9230d3b
fix(watch): don't panic if there's no path provided (#26972)
Closes https://github.com/denoland/deno/issues/26970
2024-11-21 16:29:40 +00:00
Cornelius Krassow
3f3568bd95
fix(cli): Fix typo in doc subcommand help output (#26321) 2024-11-21 07:54:20 -08:00
David Sherret
e515ed23e8
fix(task): ensure root config always looks up dependencies in root (#26959)
We were accidentally looking up dependencies in the member.
2024-11-21 09:43:51 -05:00
denobot
3da4eca7c1
2.1.0 (#26957)
Bumped versions for 2.1.0

Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-11-21 03:05:02 +01:00
David Sherret
be10901dfc
docs: fix casing of Wasm (#26954) 2024-11-21 01:02:58 +00:00
Bartek Iwańczuk
d17f4590a2
feat(init): add --npm flag to initialize npm projects (#26896)
This commit adds support for `deno init --npm <package>`.

Running this will actually call to `npm:create-<package>` package that
is equivalent to running `npm create <package>`.

User will be prompted if they want to allow all permissions and
lifecycle scripts to be executed.
Closes https://github.com/denoland/deno/issues/26461

---------

Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: crowlkats <crowlkats@toaxl.com>
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-11-21 00:03:11 +00:00
Marvin Hagemeister
f0b245c8ee
feat(task): workspace support with --filter and --recursive (#26949)
This commit adds workspace support to "deno taks".

Two new flags were added:
- "--recursive" - allows to run a specified task in workspace members,
eg. "deno task --recursive dev"
- "--filter" - allows to run a specified task only in specific workspace members,
eg. "deno task --recursive --filter 'client/*' dev"

"--filter" flag implies "--recursive" flag.

Closes https://github.com/denoland/deno/issues/24991

---------

Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Signed-off-by: David Sherret <dsherret@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-11-21 00:35:12 +01:00
Nathan Whitaker
56f31628f7
feat: subcommand to view and update outdated dependencies (#26942)
Closes #20487

Currently spelled

```
deno outdated
```
and
```
deno outdated --update
```

Works across package.json and deno.json, and in workspaces.

There's a bit of duplicated code, I'll refactor to reduce this in follow
ups

## Currently supported:
### Printing outdated deps (current output below which basically mimics
pnpm, but requesting feedback / suggestions)

```
deno outdated
```
![Screenshot 2024-11-19 at 2 01
56 PM](https://github.com/user-attachments/assets/51fea83a-181a-4082-b388-163313ce15e7)

### Updating deps

semver compatible:
```
deno outdated --update
```
latest:
```
deno outdated --latest
```
current output is basic, again would love suggestions
![Screenshot 2024-11-19 at 2 13
46 PM](https://github.com/user-attachments/assets/e4c4db87-cd67-4b74-9ea7-4bd80106d5e9)

#### Filters
```
deno outdated --update "@std/*"
deno outdated --update --latest "@std/* "!@std/fmt"
```
#### Update to specific versions
```
deno outdated --update @std/fmt@1.0.2 @std/cli@^1.0.3
```

### Include all workspace members
```
deno outdated --recursive
deno outdated --update --recursive
```

## Future work
- interactive update
- update deps in js/ts files
- better support for transitive deps

Known issues (to be fixed in follow ups):
- If no top level dependencies have changed, we won't update transitive
deps (even if they could be updated)
- Can't filter transitive deps, or update them to specific versions

## TODO (in this PR):
- ~~spec tests for filters~~
- ~~spec test for mixed workspace (have tested manually)~~
- tweak output
- suggestion when you try `deno update`

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-20 15:22:15 -08:00
Bartek Iwańczuk
0670206a2c
chore: use forked sqlformat-rs (#26952)
Some crucial fixes have not yet been released, so I forked it for the
time being.
2024-11-20 23:21:41 +00:00
Leo Kettmeir
cf49599359
feat: permission stack traces in ops (#26938)
This commit improves permission prompts by adding an option
to print a full trace of where the permissions is being requested.

Due to big performance hint of stack trace collection, this is only
enabled when `DENO_TRACE_PERMISSIONS` env var is present.

Closes https://github.com/denoland/deno/issues/20756

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-20 21:24:04 +00:00
Keith Tan
8f72798622
feat(lint): Add checked files list to the JSON output(#26936)
Fixes #26930
2024-11-20 20:59:43 +01:00
Bartek Iwańczuk
03f47e6cf0
fix(fmt): formatting of .svelte files (#26948)
Closes https://github.com/denoland/deno/issues/26690
Closes https://github.com/denoland/deno/issues/26324
2024-11-20 10:01:56 -08:00
Bartek Iwańczuk
318dd3cbc3
feat(task): add --eval flag (#26943)
This commit adds `--eval` flag to `deno task` subcommand.

This flag allows to evaluate provided "task name" as a task itself,
effectively allowing to use `deno_task_shell` from the command line.

Also fixes shebang parsing for `node_modules/.bin/` entries to handle
`#!/usr/bin/node -S node` in addition to `#!/usr/bin/node node`.

Closes https://github.com/denoland/deno/issues/26918
2024-11-20 02:23:20 +01:00
David Sherret
dabb6775f3
fix(publish): improve error message when missing exports (#26945) 2024-11-20 01:14:49 +00:00
haturau
429f3929fa
feat(info): show location for Web Cache (#26205)
Closes #26181 

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-20 01:04:48 +00:00
David Sherret
fadda6a8fb
fix(lockfile): track dependencies specified in TypeScript compiler options (#26551)
We should track dependencies in `jsxImportSource`,
`jsxImportSourceTypes`, and `types`.

That way, for example, if someone removes or changes the
`jsxImportSource` then we can remove those items from the lockfile.
2024-11-20 00:49:19 +00:00
Cornelius Krassow
9956731ddb
feat(publish): add --set-version <version> flag (#26141) 2024-11-20 00:00:47 +00:00
David Sherret
8be2bbf074
feat: Wasm module support (#26668)
Support for Wasm modules.

Note this implements the standard where the default export is the
instance (not the module). The module will come later with source phase
imports.

```ts
import { add } from "./math.wasm";

console.log(add(1, 2));
```
2024-11-19 18:59:23 -05:00
David Sherret
6b478cd0a3
feat(compile): ability to embed directory in executable (#26939) 2024-11-19 23:20:14 +00:00