summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-25chore: deprecate npm itests (#25804)Mohammad Sulaiman
2024-09-25fix(check): properly surface dependency errors in types file of js file (#25860)David Sherret
We weren't surfacing dependency errors in types files of js files.
2024-09-25fix(add/install): default to "latest" tag for npm packages in `deno add ↵Nathan Whitaker
npm:pkg` (#25858) Fixes #25813. I initially tried doing this in `deno_semver`, where it's a cleaner change, but that caused breakage in deno in places where we don't expect a tag (see https://github.com/denoland/deno/issues/25857). This does not fix wildcard requirements failing to choose pre-release versions. That's a little more involved and I'll do a separate PR.
2024-09-25feat(fmt): better error on malfored HTML files (#25853)Bartek Iwańczuk
Improves syntax errors for HTML formatter. `broken.html` ```html <div class=container > content ``` ``` $ deno fmt broken.html Error formatting: /Users/ib/dev/deno/tests/specs/fmt/html/broken.html syntax error 'expect close tag' at line 3, column 0 Checked 1 file ``` ``` $ ./target/debug/deno fmt broken.html Error formatting: /Users/ib/dev/deno/tests/specs/fmt/html/broken.html Syntax error (expect close tag) at file:///Users/ib/dev/deno/tests/specs/fmt/html/broken.html:3:0 Checked 1 file ```
2024-09-24fix(check): ignore noImplicitOverrides in remote modules (#25854)David Sherret
2024-09-25test: disable 'test-child-process-ipc-next-tick.js' Node compat test (#25856)Bartek Iwańczuk
This test is super flaky recently. See https://github.com/denoland/deno/issues/25855 for more details.
2024-09-24fix(cli): Warn on not-run lifecycle scripts with global cache (#25786)Nathan Whitaker
Refactors the lifecycle scripts code to extract out the common functionality and then uses that to provide a warning in the global resolver. While ideally we would still support them with the global cache, for now a warning is at least better than the status quo (where people are unaware why their packages aren't working).
2024-09-24v2.0.0-rc.5 (#25838)Bartek Iwańczuk
2024-09-24fix: better error for Deno.UnsafeWindowSurface, correct HttpClient name, ↵Leo Kettmeir
cleanup unused code (#25833)
2024-09-24fix(fmt): --check was broken for CSS, YAML and HTML (#25848)Bartek Iwańczuk
`deno fmt --check` was broken for CSS, YAML and HTML files. Before this PR, formatting any of these file types would return a string, even though the contract in `cli/tools/fmt.rs` is to only return a string if the formatting changed. This causes wrong flagging of these files as being badly formatted even though diffs showed nothing (because they were in fact formatted properly). Closes https://github.com/denoland/deno/issues/25840
2024-09-24fix(ext/node): Fix vm sandbox object panic (#24985)Divy Srivastava
2024-09-24fix: Update deno_npm to fix `deno install` with crossws (#25837)Nathan Whitaker
Partially addresses https://github.com/denoland/deno/issues/25648. This allows packages that use `crossws` to be installed with `deno install`. `crossws` specifies an optional peer dependency on `uWebSockets`, but `uWebSockets` is not on npm (it is used with `git:` or `github:` specifiers). Previously we would error on this, now we don't error on non-existent optional peer dependencies.
2024-09-24refactor: reenable more tests after DENO_FUTURE migration (#25752)Bartek Iwańczuk
Rewrites and reenables following tests: - `task::task_both_package_json_selected`
2024-09-23perf(ext/fetch): improve decompression throughput by upgrading `tower_http` ↵Yusuke Tanaka
(#25806) This commit improves the throughput when a Deno process is running as a proxy server that deals with compressed data from the upstream server. We have seen a performance degradation since v1.45.3 when we run a HTTP server with Deno with a particular setting, where it fetches _compressed_ data from the upstream server and forwards it to the end client. After some investigation, it turned out that [tower_http::decompression] causes this issue, which was fixed by the new version of this crate, v0.6.1. [tower_http::decompression]: https://docs.rs/tower-http/0.6.0/tower_http/decompression/index.html Fixes #25798
2024-09-23fix: error out if a valid flag is passed before a subcommand (#25830)Leo Kettmeir
Closes #25808
2024-09-23chore: add code generation for @types/deno (#25545)David Sherret
2024-09-23BREAKING: remove support for remote import maps in deno.json (#25836)David Sherret
This is for security reasons for the time being for Deno 2. Details to follow post Deno 2.0 release. Remote import maps seem incredibly rare (only 2 usages on GitHub from what I can tell), so we'll add this back with more permissions if there's enough demand for it: https://github.com/search?type=code&q=%2F%22importMap%22%3A+%22http%2F In the meantime, use the `--import-map` flag and `"deno.importMap"` config in the LSP for remote import maps.
2024-09-23feat(fmt): support vto and njk extensions (#25831)Óscar Otero
Fixes #25802 markup_fmt plugin supports some HTML-like formats like Angular, Jinja, Twig, Nunjucks or Vento, that are not supported by `deno fmt`. This PR adds support for the extensions `njk` (Nunjucks) and `vto` (Vento). Angular doesn't have a custom extension (it uses `html` afaik) and Jinja and Twig are template engines written in Python and PHP respectively so it doesn't make sense to be supported by Deno.
2024-09-23feat(fmt): stabilize CSS, HTML and YAML formatters (#25753)Bartek Iwańczuk
This commits stabilizes CSS, HTML and YAML formatters in `deno fmt`. It is no longer required to use either of these flags: - `--unstable-css` - `--unstable-html` - `--unstable-yaml` Or these `unstable` options in the config file: - `fmt-css` - `fmt-html` - `html-yaml`
2024-09-23fix: consistent with deno_config and treat `"experimentalDecorators"` as ↵Kenta Moriuchi
deprecated (#25735)
2024-09-23tests: update specs::cache::package_json (#25827)Satya Rohith
Towards https://github.com/denoland/deno/issues/25241
2024-09-23feat(ext/crypto): import and export p521 keys (#25789)Divy Srivastava
Towards https://github.com/denoland/deno/issues/13449
2024-09-23tests: enable auto_discovered tests of run/no_deno_json (#25821)Satya Rohith
Towards https://github.com/denoland/deno/issues/25241
2024-09-23feat: make 'globalThis.location' a configurable property (#25812)Bartek Iwańczuk
This commit changes `globalThis.location` property to be configurable so that packages wanting to override it (or delete it) work properly. Towards https://github.com/denoland/deno/issues/23882 This change makes reproduction from https://github.com/denoland/deno/issues/23882#issuecomment-2340783437 pass properly.
2024-09-23fix(ext/web): don't ignore capture in EventTarget.removeEventListener (#25788)carles escrig royo
2024-09-23fix(ext/node): stub cpu_info() for OpenBSD (#25807)Volker Schlecht
Add an implementation of cpu_info() for OpenBSD, that returns a correctly-sized array. Since Rust's libc bindings for OpenBSD do not contain all symbols necessary for a full implementation and it is not planned to add them, this solution at least avoids problems with code that relies on cpu_info() purely for the size of the returned array to derive the number of available CPUs. This addresses https://github.com/denoland/deno/issues/25621
2024-09-23feat: Show hints when using `window` global (#25805)Bartek Iwańczuk
This commit adds better handling for terminal errors when `window` global is used. This global is removed in Deno 2, and while we have lints to help with that, an information and hints are helpful to guide users to working code. Ref https://github.com/denoland/deno/issues/25797
2024-09-22BREAKING(webgpu/unstable): move `width` and `height` options to ↵Divy Srivastava
`UnsafeWindowSurface` constructor (#24200) Fixes https://github.com/denoland/deno/issues/23508 `width` and `height` are required to configure the wgpu surface because Deno is headless and depends on user to create a window. The options were non-standard extension of `GPUCanvasConfiguration#configure`. This PR adds a required options parameter with the `width` and `height` options to `Deno.UnsafeWindowSurface` constructor. ```typescript // Old, non-standard extension of GPUCanvasConfiguration const surface = new Deno.UnsafeWindowSurface("x11", displayHandle, windowHandle); const context = surface.getContext(); context.configure({ width: 600, height: 800, /* ... */ }); ``` ```typescript // New const surface = new Deno.UnsafeWindowSurface({ system: "x11", windowHandle, displayHandle, width: 600, height: 800, }); const context = surface.getContext(); context.configure({ /* ... */ }); ```
2024-09-21fix(node): Include "node" condition during CJS re-export analysis (#25785)Nathan Whitaker
Fixes #25777. We were missing the "node" condition, so we were resolving to the wrong conditional export, causing our analysis to be incorrect.
2024-09-20chore: Revert child_process close ordering change (#25781)Nathan Whitaker
From https://github.com/denoland/deno/commit/18b89d948dcb849c4dc577478794c3d5fb23b59 May have caused the recent flakiness of parallel/test-child-process-ipc-next-tick.js
2024-09-20perf(ext/web): optimize performance.measure() (#25774)carles escrig royo
This PR optimizes the case when `performance.measure()` needs to find the startMark by name. It is a simple change on `findMostRecent` fn to avoiding copying and reversing the complete entries list. Adds minor missing tests for: - `clearMarks()`, general - `clearMeasures()`, general - `measure()`, case when the startMarks name exists more than once ### Benchmarks #### main ``` CPU | AMD Ryzen 7 PRO 6850U with Radeon Graphics Runtime | Deno 2.0.0-rc.4 (x86_64-unknown-linux-gnu) benchmark time/iter (avg) iter/s (min … max) p75 p99 p995 ---------------------- ----------------------------- --------------------- -------------------------- worst case measure() 2.1 ms 486.9 ( 1.7 ms … 2.4 ms) 2.2 ms 2.4 ms 2.4 ms ``` #### this PR ``` CPU | AMD Ryzen 7 PRO 6850U with Radeon Graphics Runtime | Deno 2.0.0-rc.4 (x86_64-unknown-linux-gnu) benchmark time/iter (avg) iter/s (min … max) p75 p99 p995 ---------------------- ----------------------------- --------------------- -------------------------- worst case measure() 966.3 µs 1,035 (876.9 µs … 1.1 ms) 1.0 ms 1.1 ms 1.1 ms ``` ```ts Deno.bench("worst case measure()", (b) => { performance.mark('start'); for (let i = 0; i < 1e5; i += 1) { performance.mark(crypto.randomUUID()); } b.start(); performance.measure('total', 'start'); b.end(); performance.clearMarks(); performance.clearMeasures(); }); ```
2024-09-20fix: panic when require(esm) (#25769)Bartek Iwańczuk
Upgrades `deno_core`. Closes https://github.com/denoland/deno/issues/25761 Closes https://github.com/denoland/deno/issues/25738
2024-09-20feat(fmt): upgrade markup_fmt (#25768)Pig Fang
Fixes #25259 Fixes #25687
2024-09-20fix(cli): Default to auto with --node-modules-dir flag (#25772)Nathan Whitaker
Fixes a regression where we were ignoring `--node-modules-dir` if there was no value passed with it. We should instead default to "auto", to maintain compat with deno 1
2024-09-20refactor(tests): migrate npm itests to specs (#25764)Satya Rohith
Towards https://github.com/denoland/deno/issues/25241
2024-09-20fix(flags): properly error out for urls (#25770)Leo Kettmeir
Closes https://github.com/denoland/deno/issues/25760
2024-09-20fix(ext/crypto): ensure EC public keys are exported uncompressed (#25766)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/18050
2024-09-20test: make specs::test::doc_success less flaky (#25765)Bartek Iwańczuk
Missed this line in https://github.com/denoland/deno/pull/25726
2024-09-20fix(ext/crypto): reject empty usages in SubtleCrypto#importKey (#25759)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/19051
2024-09-20chore: update tools allow-run list (#25756)Divy Srivastava
2024-09-20chore: update sui to 0.3.1 (#25758)Divy Srivastava
2024-09-20fix(coverage): ignore urls from doc testing (#25736)Yoshiya Hinosawa
2024-09-19fix: cjs resolution cases (#25739)snek
Fixes cjs modules being loaded as esm.
2024-09-19fix(node): Don't error out if we fail to statically analyze CJS re-export ↵Nathan Whitaker
(#25748) Fixes rsbuild running in deno. You can look at the test to see what was failing, the gist is that we were trying to statically analyze the re-exports of a CJS script, and if we couldn't find the source for the re-exported file we would fail. Instead, we should just treat these as if they were too dynamic to analyze, and let it fail (or succeed) at runtime. This aligns with node's behavior.
2024-09-20ci: increase timeout to 180 minutes (#25750)Bartek Iwańczuk
Mac aarch64 is failing with timeout after 150 minutes :( we'll address it after Deno 2 is released but for now just increase the timeout.
2024-09-19fix(cli): Only set allow net flag for deno serve if not already allowed all ↵Nathan Whitaker
(#25743) Fixes #25740
2024-09-19v2.0.0-rc.4 (#25728)Bartek Iwańczuk
2024-09-19ci: revert changed to canary uploads (#25733)Bartek Iwańczuk
All these changes made CI fail consistently with random exit code 1 after successful upload.
2024-09-19fix(ext/node): support x509 certificates in `createPublicKey` (#25731)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/25681
2024-09-19fix(ext/console): more precision in console.time (#25723)Luca Casonato