summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-09fix(ext/node): report freemem() on Linux in bytes (#25511)Divy Srivastava
2024-09-09BREAKING(fs): remove `Deno.fdatasync[Sync]()` (#25520)Asher Gomez
2024-09-08fix(ext/node): delay accept() call 2 ticks in net.Server#listen (#25481)Yoshiya Hinosawa
A workaround for the issue #25480 `Deno.Listener` can't be closed synchronously after `accept()` is called. This PR delays the `accept` call 2 ticks (The listener callback is called 1 tick later. So the 1 tick delay is not enough), and makes `net.Server` capable of being closed synchronously. This unblocks `npm:detect-port` and `npm:portfinder` closes #18301 closes #25175
2024-09-07feat: Update no-window lint rule (#25486)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/25323
2024-09-07feat(add/install): Flag to add dev dependency to package.json (#25495)Nathan Whitaker
``` deno install --dev npm:chalk ``` Adds to `devDependencies` if a `package.json` is present, otherwise it just adds to `imports` in `deno.json`
2024-09-06BREAKING(net): remove `Deno.{Conn,TlsConn,TcpConn,UnixConn}.prototype.rid` ↵Asher Gomez
(#25446) Towards #22079 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-07chore: soft-remove `Deno.{stdin,stderr,stdout}.rid` (#25479)Asher Gomez
Towards #22079
2024-09-06fix(install): Make sure target node_modules exists when symlinking (#25494)Nathan Whitaker
Fixes https://github.com/denoland/deno/issues/25493
2024-09-06feat(add): Add npm packages to package.json if present (#25477)Nathan Whitaker
Closes https://github.com/denoland/deno/issues/25321 Ended up being a larger refactoring, since we're now juggling (potentially) two config files in the same `add`, instead of choosing one. I don't love the shape of the code, but I think it's good enough Some smaller side improvements: - `deno remove` supports `jsonc` - `deno install --dev` will be a really simple change - if `deno remove` removes the last import/dependency in the `imports`/`dependencies`/`devDependencies` field, it removes the field instead of leaving an empty object
2024-09-06fix(runtime): use more null proto objects again (#25040)Kenta Moriuchi
proceed with #23921 This PR is a preparation for https://github.com/denoland/deno_lint/pull/1307 --------- Signed-off-by: Kenta Moriuchi <moriken@kimamass.com> Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-09-06feat(lsp): turn on useUnknownInCatchVariables (#25474)Kenta Moriuchi
2024-09-06fix(jupyter): allow unstable flags (#25483)Leo Kettmeir
Closes #25463
2024-09-06refactor(permissions): remove FromStr implementations, add ::parse methods ↵Bartek Iwańczuk
(#25473) The `.parse()` calls in permission code are only making it more confusing, verbosity is encouraged and welcome in this code even at the cost of not being concise. Left a couple TODOs to not use `AnyError`.
2024-09-06fix: invalid ipv6 hostname on `deno serve` (#25482)Marvin Hagemeister
This PR fixes an invalid URL being printed when running `deno serve` Before: invalid URL ```sh $ deno serve --host localhost deno serve: Listening on http://::1:8000/ ``` After: valid URL ```sh $ deno serve --host localhost deno serve: Listening on http://[::1]:8000/ ```
2024-09-06BREAKING(fs): disallow `new Deno.FsFile()` (#25478)Asher Gomez
Towards #22079
2024-09-06BREAKING(buffer): remove `Deno.Buffer` (#25441)Asher Gomez
Towards #22079 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-06chore(net): soft-remove `Deno.serveHttp()` (#25451)Asher Gomez
Towards #22079 --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-09-052.0.0-rc.1 (#25467)Bartek Iwańczuk
2024-09-05BREAKING: remove "emit" and "map" from deno info output (#25468)David Sherret
The map field has been empty for years now and we don't want the emit file to be exposed so it allows us to iterate on making the cache faster. Additionally, it's racy/unreliable to rely on this information. Instead, people should emit the TS files themselves using tools like deno_emit, typescript, esbuild, etc. Closes https://github.com/denoland/deno/issues/17703
2024-09-05feat(check): turn on useUnknownInCatchVariables (#25465)David Sherret
Part of #25162 Closes #11826
2024-09-05feat(flags): allow double commas to escape values in path based flags (#25453)Leo Kettmeir
Fixes https://github.com/denoland/deno/issues/6553 Fixes https://github.com/denoland/deno/issues/9535
2024-09-05fix: add suggestion how to fix importing CJS module (#21764)Bartek Iwańczuk
``` $ cat exports_error.js Object.defineProperty(exports, "__esModule", { value: true }); $ deno exports_error.js error: Uncaught (in promise) ReferenceError: exports is not defined Object.defineProperty(exports, "__esModule", { value: true }); ^ at file:///exports_error.js:1:23 info: Deno doesn't support CommonJS modules without `.cjs` extension. hint: Rewrite this module to ESM or change the file extension to `.cjs`. ```
2024-09-05fix(ext/node): stub `process.cpuUsage()` (#25462)Yoshiya Hinosawa
closes #23401
2024-09-05feat(uninstall): alias to 'deno remove' if -g flag missing (#25461)Bartek Iwańczuk
Close https://github.com/denoland/deno/issues/25457
2024-09-05BREAKING(fs): remove `Deno.funlock[Sync]()` (#25442)Asher Gomez
Towards #22079 --------- Signed-off-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-09-05BREAKING(fs): remove `Deno.seek[Sync]()` (#25449)Asher Gomez
Towards #22079
2024-09-05chore(tests): reduce the use of `--unstable` flag in test util (#25443)Yoshiya Hinosawa
2024-09-05fix: update hint for `deno add <package>` (#25455)Bartek Iwańczuk
Follow up to https://github.com/denoland/deno/pull/25430
2024-09-05feat: include version number in all --json based outputs (#25335)Kamil Ogórek
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-09-05chore: deprecate doc itests (#25452)Mohammad Sulaiman
2024-09-05feat: Allow importing .cjs files (#25426)Bartek Iwańczuk
This commit adds support for executing top-level `.cjs` files, as well as import `.cjs` files from within npm packages. This works only for `.cjs` files, the contents of sibling `package.json` are not consulted for the `"type"` field. Closes https://github.com/denoland/deno/issues/25384 --------- Signed-off-by: David Sherret <dsherret@users.noreply.github.com> Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-09-05fix(config): validate export names (#25436)Marvin Hagemeister
The property names of the `exports` field in `deno.json` was never validated. The `patternProperties` only validates values, whose property name matches the regex. It doesn't validate the property names themselves. That's what `propertyNames` is for. Related https://github.com/denoland/deno/issues/25435
2024-09-05feat(ext/node): add abort helpers, process & streams fix (#25262)Luca Casonato
This commit adds: - `addAbortListener` in `node:events` - `aborted` in `node:util` - `execPath` and `execvArgs` named export from `node:process` - `getDefaultHighWaterMark` from `node:stream` The `execPath` is very hacky - because module namespaces can not have real getters, `execPath` is an object with a `toString()` method that on call returns the actual `execPath`, and replaces the `execPath` binding with the string. This is done so that we don't require the `execPath` permission on startup.
2024-09-05refactor(ext/cron): align error messages (#25300)Ian Bull
Aligns the error messages in the cron extension to be in-line with the Deno style guide. https://github.com/denoland/deno/issues/25269
2024-09-05feat: Add a hint on error about 'Relative import path ... not prefixed with ↵Bartek Iwańczuk
...' (#25430) Running a file like: ``` import "@std/dotenv/load"; ``` Without a mapping in `imports` field of `deno.json` or `dependencies` of `package.json` will now error out with a hint: ``` error: Relative import path "@std/dotenv/load" not prefixed with / or ./ or ../ hint: Try running `deno add @std/dotenv/load` at [WILDCARD]bare_specifier_without_import/main.ts:1:8 ``` Closes https://github.com/denoland/deno/issues/24699 --------- Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-09-05BREAKING(fs): remove `Deno.FsWatcher.prototype.rid` (#25444)Asher Gomez
Towards #22079
2024-09-05BREAKING(fs): remove `Deno.File` (#25447)Asher Gomez
Towards #22079
2024-09-05refactor(ext/crypto): align error messages (#25440)Ian Bull
Aligns the error messages in the ext/crypto folder to be in-line with the Deno style guide. https://github.com/denoland/deno/issues/25269
2024-09-05fix(ext/http): do not set localhost to hostname unnecessarily (#24777)Yoshiya Hinosawa
This commit changes when to cause the hostname substition of `0.0.0.0` -> `localhost`. Currently we substitute `localhost` to the hostname on windows before calling `options.onListen`, which prevents the users to do more advanced thing using hostname string like https://github.com/denoland/std/issues/5558. This PR changes it not to substitute it when the user provide `onListen` callback. closes #24776 unblocks https://github.com/denoland/std/issues/5558
2024-09-05fix(ext/node): close upgraded socket when the underlying http connection is ↵Yoshiya Hinosawa
closed (#25387) This change fixes the handling of upgraded socket from `node:http` module. In `op_node_http_fetch_response_upgrade`, we create DuplexStream paired with `hyper::upgrade::Upgraded`. When the connection is closed from the server, the read result from `Upgraded` becomes 0. However because we don't close the paired DuplexStream at that point, the Socket object in JS side keeps alive even after the server closed. That caused the issue #20179 This change fixes it by closing the paired DuplexStream when the `Upgraded` stream returns 0 read result. closes #20179
2024-09-04fix(regression): do not expose resolved path in Deno.Command permission ↵David Sherret
denied error (#25434) Regression from https://github.com/denoland/deno/pull/25370
2024-09-05BREAKING(types): soft-remove `Deno.run()` (#25403)Asher Gomez
Towards #22079
2024-09-04feat(install): deno install with entrypoint (#25411)Nathan Whitaker
``` deno install --entrypoint one.ts two.ts ``` effectively equivalent to `deno cache`
2024-09-04chore: forward v1.46.3 release commit to main (#25425)denobot
This is the release commit being forwarded back to main for 1.46.3
2024-09-04BREAKING(config): make supported compilerOptions an allow list (#25432)David Sherret
Deno has been using a deny list, which doesn't make sense because a lot of these options don't even work. Closes #25363
2024-09-04fix(windows): Deno.Command - align binary resolution with linux and mac (#25429)David Sherret
2024-09-04fix(byonm): resolve npm deps of jsr deps (#25399)David Sherret
This allows using npm deps of jsr deps without having to add them to the root package.json. Works by taking the package requirement and scanning the `node_modules/.deno` directory for the best matching package, so it relies on deno's node_modules structure. Additionally to make the transition from package.json to deno.json easier, Deno now: 1. Installs npm deps in a deno.json at the same time as installing npm deps from a package.json. 2. Uses the alias in the import map for `node_modules/<alias>` for better package.json compatiblity.
2024-09-04chore(cli): remove deno_emit dependency (#25427)Luca Casonato
2024-09-04feat(add): strip package subpath when adding a package (#25419)Bartek Iwańczuk
These now works: ``` $ deno add @std/dotenv/load $ deno add npm:preact/hooks ``` Previously we were erroring out, because this is a "package reference" including a subpath. Closes https://github.com/denoland/deno/issues/25385 --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2024-09-04fix: lock down allow-run permissions more (#25370)David Sherret
`--allow-run` even with an allow list has essentially been `--allow-all`... this locks it down more. 1. Resolves allow list for `--allow-run=` on startup to an absolute path, then uses these paths when evaluating if a command can execute. Also, adds these paths to `--deny-write` 1. Resolves the environment (cwd and env vars) before evaluating permissions and before executing a command. Then uses this environment to evaluate the permissions and then evaluate the command.