summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-18fix: do not panic running invalid file specifier (#25530)Yazan AbdAl-Rahman
Co-authored-by: Bedis Nbiba <bedisnbiba@gmail.com>
2024-09-18feat(check): turn on noImplicitOverride (#25695)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/11836 Ref https://github.com/denoland/deno/issues/25162
2024-09-18tests: fix upgrade canary test (#25706)Luca Casonato
2024-09-18tests: re-enable upgrade tests (#25680)Luca Casonato
2024-09-18tests: re-enable WebGPU tests on macOS aarch64 (#25702)Luca Casonato
2024-09-17fix(dts): stabilize `fetch` declaration for use with `Deno.HttpClient` (#25683)Yusuke Tanaka
This commit stabilizes the `fetch` function declaration for use with `Deno.HttpClient` and moves it from `lib.deno.unstable.d.ts` to `lib.deno.shared_globals.d.ts`. `Deno.HttpClient` was stabilized in #25569, but the associated override declaration for `fetch` is still marked as experimental. This should also be stabilized now and moved to a different d.ts file.
2024-09-17feat(cli): evaluate code snippets in JSDoc and markdown (#25220)Yusuke Tanaka
This commit lets `deno test --doc` command actually evaluate code snippets in JSDoc and markdown files. ## How it works 1. Extract code snippets from JSDoc or code fences 2. Convert them into pseudo files by wrapping them in `Deno.test(...)` 3. Register the pseudo files as in-memory files 4. Run type-check and evaluation We apply some magic at the step 2 - let's say we have the following file named `mod.ts` as an input: ````ts /** * ```ts * import { assertEquals } from "jsr:@std/assert/equals"; * * assertEquals(add(1, 2), 3); * ``` */ export function add(a: number, b: number) { return a + b; } ```` This is virtually transformed into: ```ts import { assertEquals } from "jsr:@std/assert/equals"; import { add } from "files:///path/to/mod.ts"; Deno.test("mod.ts$2-7.ts", async () => { assertEquals(add(1, 2), 3); }); ``` Note that a new import statement is inserted here to make `add` function available. In a nutshell, all items exported from `mod.ts` become available in the generated pseudo file with this automatic import insertion. The intention behind this design is that, from library user's standpoint, it should be very obvious that this `add` function is what this example code is attached to. Also, if there is an explicit import statement like `import { add } from "./mod.ts"`, this import path `./mod.ts` is not helpful for doc readers because they will need to import it in a different way. The automatic import insertion has some edge cases, in particular where there is a local variable in a snippet with the same name as one of the exported items. This case is addressed by employing swc's scope analysis (see test cases for more details). ## "type-checking only" mode stays around This change will likely impact a lot of existing doc tests in the ecosystem because some doc tests rely on the fact that they are not evaluated - some cause side effects if executed, some throw errors at runtime although they do pass the type check, etc. To help those tests gradually transition to the ones runnable with the new `deno test --doc`, we will keep providing the ability to run type-checking only via `deno check --doc`. Additionally there is a `--doc-only` option added to the `check` subcommand too, which is useful when you want to type-check on code snippets in markdown files, as normal `deno check` command doesn't accept markdown. ## Demo https://github.com/user-attachments/assets/47e9af73-d16e-472d-b09e-1853b9e8f5ce --- Closes #4716
2024-09-18chore: bump `deno_lint` to 0.66.0 (#25697)Asher Gomez
2024-09-18feat: update warning message for --allow-run with no list (#25693)Bartek Iwańczuk
Ref https://github.com/denoland/deno/pull/25215#discussion_r1762064605
2024-09-17refactor(ext/websocket): align error messages (#25622)Ian Bull
Aligns the error messages in the ext/websocket folder to be in-line with the Deno style guide. https://github.com/denoland/deno/issues/25269
2024-09-17fix(lsp): properly resolve jsxImportSource for caching (#25688)Nayeem Rahman
2024-09-17feat(lsp): auto-import types with 'import type' (#25662)Nayeem Rahman
2024-09-17perf: fast path for cached dyn imports (#25636)Divy Srivastava
Ref https://github.com/denoland/deno_core/pull/906
2024-09-17fix(ext/node): stub `inspector/promises` (#25635)Divy Srivastava
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-09-17feat(fmt): sort type-only named import/exports last (#25690)David Sherret
Closes #22583
2024-09-17ci: fix releasing canary (#25689)Bartek Iwańczuk
2024-09-17ci: make canary uploads less racy (#25671)Bartek Iwańczuk
Closes https://github.com/denoland/deno/issues/25464 Only uploads canary git hash if the one in the bucket is present in the current action Git history.
2024-09-17chore: upgrade deno_core (#25674)Bartek Iwańczuk
No functional changes, just removes dead code.
2024-09-16chore: remove `warnOnDeprecatedApi()` (#25673)Asher Gomez
2024-09-16feat: warn when using `--allow-run` with no allow list (#25215)David Sherret
2024-09-16chore: lint `40_fs_events.js` (#25672)Asher Gomez
Fixes CI https://github.com/denoland/deno/actions/runs/10892648144/job/30225971485
2024-09-17chore(fs): undeprecate `Deno.FsWatcher.prototype.return()` (#25623)Asher Gomez
2024-09-16fix(npm): better error handling for remote npm deps (#25670)David Sherret
* https://github.com/denoland/deno_npm/pull/68
2024-09-16feat(permissions): `Deno.mainModule` doesn't require permissions (#25667)Nathan Whitaker
Closes https://github.com/denoland/deno/issues/7315.
2024-09-16refactor(permissions): split up Descriptor into Allow, Deny, and Query (#25508)David Sherret
This makes the permission system more versatile.
2024-09-16chore: deprecate test itests (#25512)HasanAlrimawi
This PR is part of #22907 --------- Signed-off-by: HasanAlrimawi <141642411+HasanAlrimawi@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-09-16chore: maybe fix flaky serve_parallel test (#25668)David Sherret
2024-09-16chore: deprecate lint itests (#25655)HasanAlrimawi
2024-09-16chore: move info itests (#25659)Mohammad Sulaiman
2024-09-16fix(lockfile): use loose deserialization for version constraints (#25660)David Sherret
* https://github.com/denoland/deno_lockfile/pull/39 Closes https://github.com/denoland/deno/issues/25649
2024-09-16test: rewrite some ignored tests to spec tests (#25652)Bartek Iwańczuk
Ref https://github.com/denoland/deno/issues/25241 Rewritten these tests: - check::package_json_basic - check::package_json_fail_check - check::package_json_with_deno_json - info::package_json_basic - test::package_json_basic - run::package_json_auto_discovered_for_npm_binary - run::package_json_with_deno_json
2024-09-16fix(types): simplify mtls related types (#25658)Luca Casonato
Instead of two overloads for `Deno.connectTls` and `Deno.createHttpClient`, there is now just one.
2024-09-16fix(runtime): don't error `child.output()` on consumed stream (#25657)Luca Casonato
This fixes the fast path for `readableStreamCollectIntoUint8Array` to only trigger if the readable stream has not yet been disturbed - because otherwise we may not be able to close it if the read errors.
2024-09-16BREAKING(ext/ffi): remove deprecated `UnsafeFnPointer` constructor type with ↵Aapo Alasuutari
untyped `Deno.PointerObject` parameter (#25577)
2024-09-16fix(ext/crypto): support md4 digest algorithm (#25656)Luca Casonato
Fixes #25646
2024-09-16chore: deprecate node compat itests (#25573)Mohammad Sulaiman
2024-09-16chore: cleanup remaining `internals.future` code (#25624)Asher Gomez
2024-09-15fix(cli): `deno task` exit with status 0 (#25637)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/25632 Exit code 1 indiciates some sort of failure but `deno task` (without arguments) is used to list available commands. --------- Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-09-15fix(ext/node): add `vm.constants` (#25630)Divy Srivastava
2024-09-15fix(ext/node): export `process.allowedNodeEnvironmentFlags` (#25629)Divy Srivastava
2024-09-15fix(ext/node): add stubs for `node:trace_events` (#25628)Divy Srivastava
2024-09-14feat: print `Listening on` messages on stderr instead of stdout (#25491)Marvin Hagemeister
Fixes https://github.com/denoland/deno/issues/25114 --------- Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com> Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com>
2024-09-14feat: TypeScript 5.6 and `npm:@types/node@22` (#25614)David Sherret
2024-09-13fix(ext/node): attach console stream properties (#25617)snek
`kBindStreamsLazy` should be called with `process` during init, but it never was.
2024-09-13fix(ext/node): use primordials in ext/node/polyfills/wasi.ts (#25608)Jake Abed
Toward #24236
2024-09-13chore: update more registry.json files (#25615)David Sherret
Extracted out of https://github.com/denoland/deno/pull/25614 It's better for these to be non-minified because then diffs are better when adding new versions.
2024-09-13fix(check): move is cjs check from resolving to loading (#25597)David Sherret
This is required to do when loading because TypeScript handles and resolves `/// <reference path="..." />` internally.
2024-09-13feat(flags): support user provided args in repl subcommand (#25605)Leo Kettmeir
closes https://github.com/denoland/deno/issues/11547
2024-09-13chore: enable `specs::run::workspaces::explicit_import_map` test (#25611)Asher Gomez
Towards #25241
2024-09-13refactor(runtime): align error messages (#25563)Ian Bull
Aligns the error messages in the runtime folder to be in-line with the Deno style guide. https://github.com/denoland/deno/issues/25269