summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-07docs: improve some JSDoc (#20841)Luca Casonato
Minor improvements to the documentation for https://deno.com/api
2023-11-07fix(node/http): socket.setTimeout (#20930)Gasman
Fixes #20923
2023-11-06fix(ext): use `String#toWellFormed` in ext/webidl and ext/node (#21054)Kenta Moriuchi
Fixes #18802 This PR adds `util.toUSVString` to node:util: ```js import util from "node:util"; util.toUSVString("string\ud801"); // => "string\ufffd" ```
2023-11-06fix(byonm): correct resolution for scoped packages (#21083)David Sherret
2023-11-06fix(ext/fetch): re-align return type in op_fetch docstring (#21098)Luca Bruno
This adds a missing `cancelHandleRid` field in `op_fetch` return type, see Rust side: https://github.com/denoland/deno/blob/fdb4953ea460d5c09ac73f3f37dd570d44893155/ext/fetch/lib.rs#L183-L189
2023-11-06docs: add missing cmake build dependency installation (#20788)Jérôme Benoit
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
2023-11-05refactor: unify CDP types in a single module (#21094)Bartek Iwańczuk
This commit moves all Chrome Devtools Protocol messages to `cli/cdp.rs` and refactors all places using these types to pull them from a common place. No functional changes.
2023-11-05fix(core/types): `Promise.withResolvers`: Unmark callback param as optional ↵Jesse Jackson
(#21085) See discussion on merged commit: https://github.com/denoland/deno/commit/1d19b1011bd7df50598f5981408c2d78c35b76d2#r131604700 Signed-off-by: Jesse Jackson <jsejcksn@users.noreply.github.com>
2023-11-05chore: migrate to new deno_core and metrics (#21057)Matt Mastracci
- Uses the new OpMetrics system for sync and async calls - Partial revert of #21048 as we moved Array.fromAsync upstream to deno_core
2023-11-05fixDivy Srivastava
2023-11-05fix lintDivy Srivastava
2023-11-05chore(ext/crypto): upgrade ec cratesDivy Srivastava
2023-11-05chore(ext/ffi): use dlopen2 crate (#21093)Divy Srivastava
Closes #21046
2023-11-05chore: bump deno_native_certs to 0.2 (#21092)Divy Srivastava
Towards #21046
2023-11-04fix(cron): update Deno.cron doc example (#21078)Igor Zinkovsky
Signed-off-by: Igor Zinkovsky <igor@deno.com>
2023-11-04fix(node): use closest package.json to resolve package.json imports (#21075)David Sherret
2023-11-04perf: lazy `atexit` setup (#21053)Divy Srivastava
`libc::atexit` incurrs 2% dyld cost at startup on macOS. This PR moves the setup to when the tty mode is changed using op_stdin_set_raw.
2023-11-04fix(doc): `deno doc --lint mod.ts` should output how many files checked (#21084)David Sherret
As pointed out in https://github.com/denoland/deno/issues/21067 , it's confusing that `deno doc --lint mod.ts` outputs the documentation to stdout on success. Instead, it would be better if it outputted how many files were checked similar to what `deno lint` does on success. It still outputs the documentation if `--lint` or `--html` are provided so this is non-breaking.
2023-11-03chore(ext/crypto): bump curve25519-dalek to 4.1Divy Srivastava
2023-11-03fix(doc): require source files if --html or --lint used (#21072)Bartek Iwańczuk
Fixes https://github.com/denoland/deno/issues/21067 Fixes https://github.com/denoland/deno/issues/21070
2023-11-02chore: finish indexmap1 removal from deno (#21060)Matt Mastracci
We still pull the dep in from a few other places, but we can let those get fixed over time.
2023-11-02chore: Add 'jupyter' category for Deno.jupyter APIs (#21061)Bartek Iwańczuk
2023-11-02chore: fix dlint version and sanity check version after download (#21058)Matt Mastracci
Follow-up to fix version error introduced in #21014
2023-11-02feat(ext/kv): increase checks limit (#21055)Igor Zinkovsky
2023-11-021.38.0 (#21051)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-11-01fix: add missing `Object.groupBy()` and `Map.groupBy()` types (#21050)Asher Gomez
2023-11-01fix(repl): jsxImportSource was not working (#21049)David Sherret
I made some fixes in deno_ast to make this possible and we forgot to update this.
2023-11-01feat: enable Array.fromAsync (#21048)Bartek Iwańczuk
2023-11-01feat: granular --unstable-* flags (#20968)Bartek Iwańczuk
This commit adds granular `--unstable-*` flags: - "--unstable-broadcast-channel" - "--unstable-ffi" - "--unstable-fs" - "--unstable-http" - "--unstable-kv" - "--unstable-net" - "--unstable-worker-options" - "--unstable-cron" These flags are meant to replace a "catch-all" flag - "--unstable", that gives a binary control whether unstable features are enabled or not. The downside of this flag that allowing eg. Deno KV API also enables the FFI API (though the latter is still gated with a permission). These flags can also be specified in `deno.json` file under `unstable` key. Currently, "--unstable" flag works the same way - I will open a follow up PR that will print a warning when using "--unstable" and suggest to use concrete "--unstable-*" flag instead. We plan to phase out "--unstable" completely in Deno 2.
2023-11-01feat(ext/websocket): websockets over http2 (#21040)Matt Mastracci
Implements `WebSocket` over http/2. This requires a conformant http/2 server supporting the extended connect protocol. Passes approximately 100 new WPT tests (mostly `?wpt_flags=h2` versions of existing websockets APIs). This is implemented as a fallback when http/1.1 fails, so a server that supports both h1 and h2 WebSockets will still end up on the http/1.1 upgrade path. The patch also cleas up the websockets handshake to split it up into http, https+http1 and https+http2, making it a little less intertwined. This uncovered a likely bug in the WPT test server: https://github.com/web-platform-tests/wpt/issues/42896
2023-11-01feat: precompile JSX (#20962)Bartek Iwańczuk
Co-authored-by: Marvin Hagemeister <marvin@deno.com>
2023-11-01chore(cli): bump zeromq dep (#21045)Matt Mastracci
Reduces the number of crates we need to build pretty significantly (approx 20).
2023-11-01fix(test): --junit-path should handle when the dir doesn't exist (#21044)David Sherret
Closes https://github.com/denoland/deno/issues/21022
2023-11-01feat: disposable Deno resources (#20845)Luca Casonato
This commit implements Symbol.dispose and Symbol.asyncDispose for the relevant resources. Closes #20839 --------- Signed-off-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-11-01chore: upgrade deno_core (#21036)Bartek Iwańczuk
Updated to deno_core 0.224.0 and V8 12.0. --------- Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-11-01feat(cron) implement Deno.cron() (#21019)Igor Zinkovsky
This PR adds unstable `Deno.cron` API to trigger execution of cron jobs. * State: All cron state is in memory. Cron jobs are scheduled according to the cron schedule expression and the current time. No state is persisted to disk. * Time zone: Cron expressions specify time in UTC. * Overlapping executions: not permitted. If the next scheduled execution time occurs while the same cron job is still executing, the scheduled execution is skipped. * Retries: failed jobs are automatically retried until they succeed or until retry threshold is reached. Retry policy can be optionally specified using `options.backoffSchedule`.
2023-11-01Revert "chore: use kqueue backend of notify on macOS" (#21039)Divy Srivastava
Reverts denoland/deno#21028 Reason: https://github.com/notify-rs/notify/blob/main/notify/src/kqueue.rs#L79-L81 Need to wait for the watcher thread to spawn otherwise we hit flakes --------- Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-11-01feat: deno doc --html (#21015)Bartek Iwańczuk
This commit adds static documentation site generate to "deno doc" subcommand. Example: ``` $ deno doc --html --name="My library" ./mod.ts # outputs to ./docs/ $ deno doc --html --name="My library" --output=./documentation/ ./mod.ts ./file2.js # outputs to ./documentation/ $ deno doc --html --name="My library" ./**/mod.ts # generate docs for all files with "mod.ts" name ``` Closes https://github.com/denoland/deno/issues/8233
2023-11-01feat(unstable): `deno run --env` (#20300)Asher Gomez
This change adds the `--env=[FILE]` flag to the `run`, `compile`, `eval`, `install` and `repl` subcommands. Environment variables set in the CLI overwrite those defined in the `.env` file.
2023-11-01fix(repl): support transforming JSX/TSX (#20695)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/16771 --------- Co-authored-by: David Sherret <dsherret@gmail.com> Co-authored-by: Marvin Hagemeister <marvin@deno.com>
2023-11-01feat(doc): improve non-exported diagnostic (#21033)David Sherret
This will now catch way more scenarios.
2023-11-01fix(ext/node): adapt dynamic type checking to Node.js behavior (#21014)Kenta Moriuchi
2023-10-31feat: `deno doc --lint` (#21032)David Sherret
Adds a new `--lint` flag to `deno doc` that surfaces three kinds of diagnostics: 1. Diagnostic for non-exported type referenced in an exported type. * Why? People often forget to export types from a module in TypeScript. To supress this diagnostic, add an `@internal` jsdoc tag to the internal type. 1. Diagnostic for missing return type or missing property type on a **public** type. * Why? Otherwise `deno doc` will not display good documentation. Adding explicit types also helps with type checking performance. 1. Diagnostic for missing jsdoc on a **public** type. * Why? Everything should be documented. This diagnostic can be supressed by adding a jsdoc comment description. If the lint passes, `deno doc` generates documentation as usual. For example, checking for deno doc diagnostics on the CI: ```shellsession $ deno doc --lint mod.ts second_entrypoint.ts > /dev/null ``` This feature is incredibly useful for library authors. ## Why not include this in `deno lint`? 1. The command needs the documenation output in order to figure out the diagnostics. 1. `deno lint` doesn't understand where the entrypoints are. That's critical for the diagnostics to be useful. 1. It's much more performant to do this while generating documentation. 1. There is precedence in rustdoc (ex. `#![warn(missing_docs)]`). ## Why not `--check`? It is confusing with `deno run --check`, since that means to run type checking (and confusing with `deno check --docs`). ## Output Future Improvement The output is not ideal atm, but it's fine for a first pass. We will improve it in the future. Closes https://github.com/denoland/deno_lint/pull/972 Closes https://github.com/denoland/deno_lint/issues/970 Closes https://github.com/denoland/deno/issues/19356
2023-10-31chore: update macOS shared library test (#21031)Divy Srivastava
2023-10-31chore: bump rustls-tokio-stream to 0.2.6 (#21030)Matt Mastracci
Small perf bump for WSS websockets due to a log message that was accidentally left in.
2023-10-31feat(ext/web): EventSource (#14730)Leo Kettmeir
Closes #10298 --------- Co-authored-by: Aapo Alasuutari <aapo.alasuutari@gmail.com>
2023-10-31chore: use kqueue backend of notify on macOS (#21028)Divy Srivastava
Towards #20996 "macos_fsevent" feature of notify links us to CoreFoundation on macOS.
2023-10-31feat(ext/websocket): use rustls-tokio-stream instead of tokio-rustls (#20518)Matt Mastracci
Use new https://github.com/denoland/rustls-tokio-stream project instead of tokio-rustls for direct websocket connections. This library was written from the ground up to be more reliable and should help with various bugs that may occur due to underlying bugs in the old library. Believed to fix #20355, #18977, #20948
2023-10-31chore: use deno_whoami (#21027)Divy Srivastava
Towards #20996 `deno_whoami` is lightweight on unix and has zero framework dependency on macOS. https://github.com/denoland/deno_whoami --------- Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-10-31perf: use deno_native_certs crate (#18072)Divy Srivastava
Fixes #18071 Replace `rustls_native_certs` which links to Security framework. https://github.com/denoland/deno_native_certs uses dlopen to lazy load when needed.