1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-24 16:08:03 -05:00
Commit graph

12915 commits

Author SHA1 Message Date
Marvin Hagemeister
0ec2035bda
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:47:29 +01:00
Luca Casonato
4a0bbd0a71
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 15:47:29 +01:00
Divy Srivastava
52bcd35d9d
fix(ext/node): tls.connect socket upgrades (#27125)
Fixes https://github.com/denoland/deno/issues/27087
Fixes https://github.com/denoland/deno/issues/26685
Fixes https://github.com/denoland/deno/issues/26660
2024-11-28 15:47:29 +01:00
David Sherret
fdba58ce59
perf(compile): read embedded files as static references when UTF-8 and reading as strings (#27033) 2024-11-28 15:47:29 +01:00
Nathan Whitaker
27757e83e0
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-28 15:47:29 +01:00
Leo Kettmeir
6a5dadf2f6
fix(ext/webgpu): use correct variable name (#27108) 2024-11-28 15:47:28 +01:00
David Sherret
cfd13b0f87
chore: fix lint step due to node compat test changes (#27111)
Seems due to merging this:
https://github.com/denoland/deno/actions/runs/12052779514/job/33606893423
2024-11-28 15:47:28 +01:00
Marvin Hagemeister
9edce4db77
fix(node/http): casing ignored in ServerResponse.hasHeader() (#27105)
We didn't respect casing when checking if a HTTP header is present in
Node's `ServerResponse.hasHeader()`. This lead to us returning incorrect
results when the header was present. Koa assumed that the `Content-Type`
header wasn't present when it actually was and defaulted to a different
`Content-Type` value.

Fixes https://github.com/denoland/deno/issues/27101
2024-11-28 15:47:28 +01:00
Bartek Iwańczuk
a24ce0ec93
fix(task): strip ansi codes and control chars when printing tasks (#27100) 2024-11-28 15:47:28 +01:00
Yoshiya Hinosawa
f64e176d69
test(ext/node): enable parallel/test-fs-promises-file-handle-stat.js (#27074) 2024-11-28 15:47:28 +01:00
David Sherret
bb3e918f4a
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-28 15:47:28 +01:00
Divy Srivastava
8171b761c2
perf(ext/webstorage): use object wrap for Storage (#26931)
![image](https://github.com/user-attachments/assets/3f86e2fd-9026-4965-8f3b-512423362f1e)


Depends on:
- https://github.com/denoland/deno_core/pull/970
- https://github.com/denoland/deno_core/pull/976
- https://github.com/denoland/deno_core/pull/980
- https://github.com/denoland/deno_core/pull/981

---------

Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-11-28 15:47:27 +01:00
Leo Kettmeir
dbb6263c18
fix(tools/doc): HTML resolve main entrypoint from config file (#27103)
Fixes #26901
2024-11-28 15:47:27 +01:00
Marvin Hagemeister
317aa50476
fix(node/fs): add missing stat path argument validation (#27086)
We didn't validate the `path` argument that's passed to `fs.stat()` and
`fs.statSync()` which lead to wrong errors being thrown. The
`@rollup/plugin-node-resolve` code calls it with `undefined` quite a lot
which lead to `nitro` and `nuxt` failing.

Fixes https://github.com/denoland/deno/issues/26700

---------

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-11-28 15:47:27 +01:00
Leo Kettmeir
6f69f36924
chore(lint): add .out file reference checker (#27078)
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-11-28 15:47:27 +01:00
Bartek Iwańczuk
e01df2510c
fix(task): handle carriage return in task description (#27099)
Ref https://github.com/denoland/deno/pull/27069#discussion_r1857702814
2024-11-28 15:47:27 +01:00
David Sherret
461c9a8898
chore: fix flaky specs::publish::npm_workspace_jsr_pkg_with_npm_dep::dep_and_workspace_dep (#27098)
Closes https://github.com/denoland/deno/issues/27097
2024-11-28 15:47:27 +01:00
Nathan Whitaker
4933698a9b
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-28 15:47:26 +01:00
Kenta Moriuchi
2ee6b1a732
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-28 15:47:26 +01:00
David Sherret
8cd9fa6aae
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-28 15:47:26 +01:00
Leo Kettmeir
525d231c84
fix(ext/webgpu): normalize limits to number (#27072)
Fixes #22029
2024-11-28 15:47:26 +01:00
Divy Srivastava
f34e76a300
fix(ext/fetch): don't throw when bodyUsed inspect after upgrade (#27088)
Fixes https://github.com/denoland/deno/issues/27083
2024-11-28 15:47:26 +01:00
Ian Bull
f49f7a6890
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-28 15:47:26 +01:00
David Sherret
389cde8326
chore(node/tests): increase tolerance of timers test on CI (#27077)
Increases the tolerance of the interval test on the CI.
2024-11-28 15:47:25 +01:00
Yoshiya Hinosawa
f88057643f
chore: update node_compat setup script, show remaining percentage (#27053) 2024-11-28 15:47:25 +01:00
hongmengning
7560783a0f
docs(cli): remove redundant word in comment (#27055) 2024-11-28 15:47:25 +01:00
snek
6755f5b55d
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-28 15:47:25 +01:00
Nayeem Rahman
ec81cbbd86
fix(lsp): support task object notation for tasks request (#27076) 2024-11-28 15:47:25 +01:00
Bartek Iwańczuk
594f59dc1d
fix(task): handle multiline descriptions properly (#27069)
Closes https://github.com/denoland/deno/issues/27049
2024-11-28 15:47:25 +01:00
David Sherret
467bbedf06
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-28 15:47:24 +01:00
David Sherret
3a887225ca
fix(compile): do not error embedding same symlink via multiple methods (#27015)
Closes https://github.com/denoland/deno/issues/27012
2024-11-28 15:47:24 +01:00
Espen Hovlandsdal
c380447de7
Merge commit from fork
* fix: drop auth headers, cookies on redirect to different origin

* refactor: destructure StringPrototypeEndsWith

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-11-28 15:47:24 +01:00
ctrl+d
60760abd87
fix(runtime/ops): Fix watchfs remove event (#27041)
Fix related to #26906. 
Currently, if a file is removed, no event is emitted because the file
path no longer exists. As a result, [this
check](12b377247b/runtime/ops/fs_events.rs (L149))
returns false.

With this PR, an additional check is introduced to verify if the file
exists. If the file does not exist, a custom "remove" event is emitted.
This change is necessary because, based on tests conducted on macOS and
Linux (Ubuntu 24.04.1 LTS), Linux emits a "rename" event instead of a
"remove" event when a file is deleted. Introducing a dedicated "remove"
event ensures consistent and clearer behavior across platforms.
2024-11-28 15:47:24 +01:00
snek
7c9a556922
feat(unstable): Instrument fetch (#27057)
Add basic tracing to `fetch`. Also fix span kinds so that we can
differentiate fetch and serve.
2024-11-28 15:47:24 +01:00
Bartek Iwańczuk
fad136b9ab
chore: upgrade sqlformat-rs to non-forked version (#27063) 2024-11-28 15:47:24 +01:00
Bartek Iwańczuk
5d7ad60e53
fix(init): always force managed node modules (#27047)
Closes https://github.com/denoland/deno/issues/27045
2024-11-28 15:47:24 +01:00
David Sherret
1f1b16d548
fix(compile): handle TypeScript file included as asset (#27032)
Closes #27024
2024-11-28 15:47:23 +01:00
Yoshiya Hinosawa
58c96d3ecb
chore: update node_compat setup script (#27051)
This PR updates the node_compat setup script. Now the copied version in
each test file is corrected. Also `TODO.md` links to the correct files
in Node.js repo.
2024-11-28 15:47:23 +01:00
snek
f64aa29099
feat: Instrument Deno.serve (#26964)
Add basic trace to Deno.serve. Also updates a bit of the testing infra
to make it easier to deal with.
2024-11-28 15:47:23 +01:00
Trevor Manz
3f0e7c6dde
fix(ext/node): add fs.promises.fstat and FileHandle#stat (#26719)
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-11-28 15:47:23 +01:00
Nayeem Rahman
9fce24467b
fix(lsp): wasm file import completions (#27018) 2024-11-28 15:47:23 +01:00
David Sherret
d6661884fd
chore: update to file_test_runner 0.7.3 (#27016) 2024-11-28 15:47:23 +01:00
João Baptista
0a104c2630
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-28 15:47:22 +01:00
Nayeem Rahman
3bec83cf91
fix(lsp): remove stray debug output (#27010) 2024-11-28 15:47:22 +01:00
Marvin Hagemeister
56e57c9428
fix(node/fs): missing uv error context for readFile (#27011)
Dart's Node wrapper code in `npm:sass` does string slicing on the thrown
error message which broke because of our missing uv error context.

Code in question:

```js
_systemErrorToFileSystemException0(callback) {
  var error, t1, exception, t2;
  try {
    t1 = callback.call$0();
    return t1;
  } catch (exception) {
    error = A.unwrapException(exception);
    if (!type$.JsSystemError._is(error))
      throw exception;
    t1 = error;
    t2 = J.getInterceptor$x(t1);
    throw A.wrapException(new A.FileSystemException0(J.substring$2$s(t2.get$message(t1), (A.S(t2.get$code(t1)) + ": ").length, J.get$length$asx(t2.get$message(t1)) - (", " + A.S(t2.get$syscall(t1)) + " '" + A.S(t2.get$path(t1)) + "'").length), J.get$path$x(error)));
  }
}
```

Fixes https://github.com/denoland/deno/issues/26994
2024-11-28 15:47:22 +01:00
David Sherret
7a54251199
fix(compile): correct buffered reading of assets and files (#27008)
Closes #27006
2024-11-28 15:47:22 +01:00
David Sherret
1030cae455
chore(check): add test for Wasm memory and table (#26996) 2024-11-28 15:47:22 +01:00
Bartek Iwańczuk
9236786d56
fix: support non-function exports in Wasm modules (#26992)
Closes https://github.com/denoland/deno/issues/26986
2024-11-28 15:47:22 +01:00
David Sherret
053fc7cbe0
chore(compile): log code cache file path (#26977)
Ref #26976
2024-11-28 15:47:21 +01:00
Charlie Bellini
7499525ed0
fix(ext/websocket): don't throw exception when sending to closed socket (#26932)
[The WebSocket specification for the `send`
function](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send)
says:

> The browser will throw an exception if you call `send()` when the
connection is in the `CONNECTING` state. If you call `send()` when the
connection is in the `CLOSING` or `CLOSED` states, the browser will
silently discard the data.

and:

> ### Exceptions
> 
> `InvalidStateError`
[`DOMException`](https://developer.mozilla.org/en-US/docs/Web/API/DOMException)
> 
> Thrown if
[`WebSocket.readyState`](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/readyState)
is `CONNECTING`.

This pull request fixes the current behavior to match the specification.
Also, I believe it fixes #17586.
2024-11-28 15:47:21 +01:00