Age | Commit message (Collapse) | Author |
|
Previously when we printed out the packages that skipped install
scripts, we didn't prefix them with `npm:`. When you pass
`--allow-scripts` though, we require `npm:`, which means you can't just
copy paste the package name from the warning message.
|
|
This PR stubs `perf_hooks.eventLoopUtilization` to make the tests of
[hapi](https://github.com/hapijs/hapi) start. Previously, they'd all
error because of this function throwing a not implemented error. This
brings down the test failures in their suite from 982 to 68 failures.
|
|
Stubbing a few of Node's `v8` serializer methods makes the `tap` test
runner at least start. Previously, it would fail to boot up as some
instances of `DefaultSerializer` are constructed eagerly :tada:
Before:
<img width="1041" alt="Screenshot 2024-07-10 at 16 41 30"
src="https://github.com/denoland/deno/assets/1062408/58f1157f-cef8-4176-9239-9d724ca0a677">
After:
<img width="830" alt="Screenshot 2024-07-10 at 16 39 35"
src="https://github.com/denoland/deno/assets/1062408/710ef673-8120-405a-b9d3-a5ca826b4829">
Fixes https://github.com/denoland/deno/issues/24409
|
|
This commit fixes memory leak described in
https://github.com/denoland/deno/issues/24380.
This is done by upgrading following crates:
- deno_ast
- deno_graph
- eszip
- dprint-plugin-typescript
- deno_lint
- deno_doc
- deno_emit
|
|
Fixes #24241
* Support "statfs", "username", "getPriority" and "setPriority" kinds
for `--allow-sys`.
* Check individual permissions in `node:os.userInfo()` instead of a
single "userInfo" permission.
* Check for "uid" permission in `node:process.geteuid()` instead of
"geteuid".
* Add missing "homedir" to `SysPermissionDescriptor.kind` union
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
Make sure that already destroyed requests are not actually sent.
This error was discovered in jsdom's test suite.
|
|
A request can be destroyed before it was even made in the Node http API.
We errored on that.
This issue was discovered in the JSDOM test suite.
|
|
https://developer.mozilla.org/en-US/docs/Web/API/GPUUncapturedErrorEvent
Signed-off-by: Victor Turansky <victor.turansky@gmail.com>
|
|
|
|
(preinstall/install/postinstall) (#24487)
Adds support for running npm package lifecycle scripts, opted into via a
new `--allow-scripts` flag.
With this PR, when running `deno cache` (or `DENO_FUTURE=1 deno
install`) you can specify the `--allow-scripts=pkg1,pkg2` flag to run
lifecycle scripts attached to the given packages.
Note at the moment this only works when `nodeModulesDir` is true (using
the local resolver).
When a package with un-run lifecycle scripts is encountered, we emit a
warning suggesting things may not work and to try running lifecycle
scripts. Additionally, if a package script implicitly requires
`node-gyp` and it's not found on the system, we emit a warning.
Extra things in this PR:
- Extracted out bits of `task.rs` into a separate module for reuse
- Added a couple fields to `process.config` in order to support
`node-gyp` (it relies on a few variables being there)
- Drive by fix to downloading new npm packages to test registry
---
TODO:
- [x] validation for allow-scripts args (make sure it looks like an npm
package)
- [x] make allow-scripts matching smarter
- [ ] figure out what issues this closes
---
Review notes:
- This adds a bunch of deps to our test registry due to using
`node-gyp`, so it's pretty noisy
|
|
This commit deprecates `deno vendor` subcommand in favor
of using `--vendor` flag or `"vendor": true` setting in the config file.
The subcommand is still available (until Deno 2) but is hidden from
the help output.
Closes #20584
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
Closes #22287
Co-authored-by: Asher Gomez <ashersaupingomez@gmail.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
|
|
Fixes #22863
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
Supported the use of --env flag with the compile subcommand, so that the
generated executable/binary file can access the passed env file.
|
|
|
|
Closes https://github.com/denoland/deno/issues/22738
|
|
This adds object config for the workspace config:
```json
{
"workspace": {
"members": ["./member-1", "./member-2"]
}
}
```
This is a more verbose version of `"workspace": ["./member-1",
"./member-2"]`. Although we don't need it at the moment, it makes the
naming of `"workspace"` more clear and leaves the object open for more
config in the future.
Closes https://github.com/denoland/deno/issues/24456
|
|
This was changed by mistake in #24326.
Closes https://github.com/denoland/deno/issues/24459.
|
|
|
|
override home dir so .npmrc on the dev machine doesn't break it
Signed-off-by: snek <snek@deno.com>
|
|
let it bake for a bit before enabling by default
Signed-off-by: snek <snek@deno.com>
|
|
accessing e.g. `Buffer` in `Mode::Deno` mode should throw, not return
undefined.
---------
Signed-off-by: snek <snek@deno.com>
|
|
This will help clean up some of the code in the CLI because we'll be
able to tell how the resolution failed (not part of this PR).
|
|
Implement the missing `.writeHead()` signatures from Node's
`ServerResponse` class that we didn't support.
Fixes https://github.com/denoland/deno/issues/24468
|
|
Upgrades to V8 12.7.224.12
|
|
|
|
(#24423)
This PR addresses the issue where Deno.serve() panics on Windows when
trying to use a Unix socket.
Fixes #21967
|
|
|
|
|
|
Implemented in https://github.com/denoland/deno_config/pull/74
Closes https://github.com/denoland/deno/issues/24420
|
|
|
|
The implementation for `assert.throws()` from `node:assert` didn't work
when the expected value was an `Error` constructor. In this case the
thrown error should checked if it's an instance of said constructor.
Fixes https://github.com/denoland/deno/issues/24464
|
|
Closes https://github.com/denoland/deno/issues/24422
|
|
The `jest` test runner popularized putting tests into a `__tests__`
folder. Whilst many have switched to going with a `.test` suffix in the
file name these days, there are still many jest projects that have
`__tests__`. By adding this to the default test detection logic it makes
`deno test` discover those out of the box.
|
|
Also don't panic on invalid domain names and addresses.
Extracted with cleanups up from #24080
Co-authored-by: Yazan AbdAl-Rahman <yazan.abdalrahman@exalt.ps>
|
|
|
|
Closes https://github.com/denoland/deno/issues/21260.
Part of https://github.com/denoland/deno/issues/18218.
Implements `node:fs.lchown`, and enables the node_compat test for it.
The test uses `process.getegid`, which we didn't have implemented, so I
went ahead and implemented that as well to get the test working.
|
|
Noticed that these private class properties are never used. Maybe a
leftover from an earlier implementation.
|
|
Saves some keystrokes and easy to remember
```
cargo b --features hmr
```
|
|
Previously we had many different code paths all
handling digests in different places, all with
wildly different digest support. This commit
rewrites this to use a single digest handling
mechanism for all digest operations.
It adds various aliases for digest algorithms,
like node does. For example
`sha1WithRSAEncryption` is an alias for `sha1`.
It also adds support for `md5-sha1` digests in
various places.
|
|
Fixes https://github.com/denoland/deno/issues/24239
|
|
This commit deprecates `--lock-write` flag by removing it from
the help output and printing a warning message when it's used.
Users should use `--frozen=false` instead which was added
in https://github.com/denoland/deno/pull/24355.
Towards https://github.com/denoland/deno/issues/24167.
|
|
Reverts the accidentally added `.parentPath` on dir entries in
https://github.com/denoland/deno/pull/24257/files
This should not have been added to the public api and is not documented.
|
|
Closes https://github.com/denoland/deno/issues/24430
|
|
Closes: https://github.com/denoland/deno/issues/22633
This commit adds support for `confirm` and `prompt` APIs,
that instead of reading from stdin are using notebook frontend
to show modal boxes and wait for answers.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
It's perfectly valid to access `server.address()` before calling
`.listen()`. Until a server actively listens on a socket Node will
return `null` here, but we threw a "Cannot access property 'port' of
undefined" instead.
This was discovered when inspecting failures in Koa's test suite with
Deno.
|
|
(#24426)
Updates SubtleCrypto.prototype.deriveBits as per
https://github.com/w3c/webcrypto/pull/345
(WPT update in https://github.com/web-platform-tests/wpt/pull/43400)
|
|
Adds much better support for the unstable Deno workspaces as well as
support for npm workspaces. npm workspaces is still lacking in that we
only install packages into the root node_modules folder. We'll make it
smarter over time in order for it to figure out when to add node_modules
folders within packages.
This includes a breaking change in config file resolution where we stop
searching for config files on the first found package.json unless it's
in a workspace. For the previous behaviour, the root deno.json needs to
be updated to be a workspace by adding `"workspace":
["./path-to-pkg-json-folder-goes-here"]`. See details in
https://github.com/denoland/deno_config/pull/66
Closes #24340
Closes #24159
Closes #24161
Closes #22020
Closes #18546
Closes #16106
Closes #24160
|
|
|
|
This commit upgrades TypeScript to 5.5.2.
https://devblogs.microsoft.com/typescript/announcing-typescript-5-5/
|