summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-14feat(node): stabilize Node-API (#17553)Bartek Iwańczuk
This commit stabilizes Node-API, the "--unstable" flag is no longer required to load native extensions. "--allow-ffi" permission is still required to load them.
2023-02-14feat: stabilize Deno.osUptime() (#17554)Bartek Iwańczuk
This commit stabilizes "Deno.osUptime()" API. The "--unstable" flag is no longer required to use this API.
2023-02-14chore(build): don't compress TSC snapshot in debug build (#17772)Bartek Iwańczuk
Compressing the TSC snapshot in debug build took ~45s on M1 MacBook Pro; without compression it took ~1s. Thus we're not not using compressed snapshot, trading off a lot of build time for some startup time in debug build.
2023-02-14feat: Deprecate 'deno bundle' subcommand (#17695)Bartek Iwańczuk
This commit adds a deprecation warning when using "deno bundle" subcommand and removes it from the output of "deno help".
2023-02-14feat(core): allow to specify entry point for snapshotted ES modules (#17771)Bartek Iwańczuk
This commit adds "ExtensionBuilder::esm_entry_point()" function that allows to specify which of the extension files should be treated as an entry point. If the entry point is not provided all modules are loaded and evaluated, but if it is provided then only the entry point is explicitly loaded and evaluated. Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
2023-02-13feat: Stabilize Deno.Command API (#17628)Bartek Iwańczuk
This commit stabilizes "Deno.Command" API with all its related APIs. "--unstable" flag is no longer required to use this API.
2023-02-13fix(ext/websocket): extra ws pongs sent (#17762)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17761 Tugstenite already sends a pong for a recieved ping. This automatically happens when the socket read is being driven. From https://github.com/snapview/tokio-tungstenite/issues/88 > You need to read from the read-side of the socket so that it receives/handles pings, and on the next write it would then send the corresponding pong. Here's the source: https://github.com/snapview/tungstenite-rs/blob/e1033afd959bb7abfcbc181033b8326f8a40562b/src/protocol/mod.rs#L374-L380 ```rust // Upon receipt of a Ping frame, an endpoint MUST send a Pong frame in // response, unless it already received a Close frame. It SHOULD // respond with Pong frame as soon as is practical. (RFC 6455) if let Some(pong) = self.pong.take() { trace!("Sending pong reply"); self.send_one_frame(stream, pong)?; } ``` WIth this patch, all Autobahn tests from 1-8 pass. Fixed cases: 2.1, 2.2, 2.3, 2.4, 2.6, 2.9, 2.10, 2.11, 5.6, 5.7, 5.8, 5.19, 5.20 To run the test yourself, follow https://www.notion.so/denolandinc/Autobahn-WebSocket-testsuite-723a86f450ce4823b4ef9cb3dc4c7869?pvs=4
2023-02-13refactor(runtime): reorganize build script for snapshot (#17760)Bartek Iwańczuk
This commit reorganizes "runtime/build.rs" to properly create an extension and conditionally include "99_main.js" in the snapshot.
2023-02-12fix: add WouldBlock error (#17339)Leo Kettmeir
2023-02-12perf(http): remove allocations checking upgrade and connection header values ↵David Sherret
(#17727)
2023-02-12feat(bench): Add JSON reporter for "deno bench" subcommand (#17595)Serhiy Barhamon
2023-02-12perf(ext/ffi): Revert UTF-8 validity check from getCString (#17741)Aapo Alasuutari
2023-02-12fix(ext/flash): Always send correct number of bytes when handling HEAD ↵Kamil Ogórek
requests (#17740) This was not caught in the previous test case, as the response body was smaller than the size of `HEAD` response. This made `nwritten < responseLen` check in `writeFixedResponse` to fail, and not trigger `op_flash_respond_async` as a result. When the response body is larger than the `HEAD` though, as in the updated test case (`HEAD` i 120 bytes, where our response is 300 bytes), it would think that we still have something to send, and effectively panic, as `op_flash_respond` already removed the request from the pool. This change, makes the `handleResponse` function always calculate the number of bytes to transmit when `HEAD` request is encountered. Effectively ignoring `Content-Length` of the body, but still setting it correctly in the request header itself. Fixes https://github.com/denoland/deno/issues/17737
2023-02-11fix(fmt): make fmt options CLI args less verbose (#17550)aryan02420
Make deno fmt options CLI args less verbose #17546
2023-02-11fix(cli/graph_util): don't append referrer info for root module errors (#17730)Nayeem Rahman
2023-02-11feat: add signal option to Deno.resolveDns (#17384)Leo Kettmeir
Closes #14406
2023-02-11feat: add more variants to Deno.build.os (#17340)Leo Kettmeir
Closes #14799
2023-02-11fix(ops): Always close cancel handles for read_async/write_async (#17736)Kamil Ogórek
Fixes https://github.com/denoland/deno/issues/17734
2023-02-11fix(webgpu): use correct op for GPUDevice.createSampler (#17729)Leo Kettmeir
Fixes #17728
2023-02-11docs: fix minor typo in AsyncRefCell comment (#17732)Mike Mulchrone
2023-02-10refactor(ext/http): use `String.prototype.trim()` instead of regex (#17722)Bert Belder
2023-02-10fix(dts): make Deno.Command accept readonly prop in options.args (#17718)Kamil Ogórek
2023-02-10fix(cli/napi): correct name handling in napi property descriptor (#17716)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17712
2023-02-10refactor: clean up "cli/node/mod.rs" and "ext/node" (#17713)Bartek Iwańczuk
This commit moves some code around from "cli/node/mod.rs" to "ext/node". Additionally "ext/node" was changed to factor out "ops.rs" and "polyfill.rs" modules.
2023-02-10feat(install): follow redirects for urls with no path (#17449)Kamil Ogórek
This change makes absolute urls, that contain no path like `deno install https://my-cli.io` to follow redirects and extract the name from it. It allows modifies `test_util` server listener on port `4550` (`REDIRECT_ABSOLUTE_PORT`) to allow for specifying `redirect_to` query param, that fill use that value for it's next redirect. Fixes https://github.com/denoland/deno/issues/17409
2023-02-10fix(cli/napi): handle all property variants in napi_define_properties (#17680)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17509 This fixes the bug that blocked loading `fsevents` in Deno.
2023-02-10chore: upgrade rusty_v8 to 0.63.0 (#17705)Bartek Iwańczuk
2023-02-10perf(core): speed up promise hook dispatch (#17616)Bert Belder
2023-02-10refactor: allow to provide polyfills for Node modules from the snapshot (#17706)Bartek Iwańczuk
This commit does preparatory work to allow snapshotting Node.js compatibility layer, that currently lives in `std/node`. The logic was changed to allow loading some modules from the snapshot and some from the remote URL. Additionally "module_es_shim.js" that provides exports for "node:module" is now snapshotted.
2023-02-10refactor(permissions): use less space for permissions prompt (#17708)Bartek Iwańczuk
2023-02-09refactor: deno_graph 0.43 upgrade (#17692)David Sherret
2023-02-09refactor(ext/webidl): use `TypedArrayPrototypeGetSymbolToStringTag` (#17602)Kenta Moriuchi
2023-02-09perf: module info cache - avoid MediaType.to_string() allocation (#17699)David Sherret
Micro optimization because these allocations were coming up on a flame graph I was looking at (only 0.28% of total).
2023-02-08perf: disable fetching graph cache info except for `deno info` (#17698)David Sherret
2023-02-08fix: use static Reflect methods in nodeGlobalThis proxy (#17696)Kamil Ogórek
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-02-08refactor: internal runtime code TS support (#17672)Leo Kettmeir
This is a proof of concept for being able to snapshot TypeScript files. Currently only a single runtime file is authored in TypeScript - "runtime/js/01_version.ts". Not needed infrastructure was removed from "core/snapshot_util.rs". --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-08fix(core): don't allow to import internal code is snapshot is loaded (#17694)Bartek Iwańczuk
Addressing Luca concerns from https://github.com/denoland/deno/pull/17648#discussion_r1099352286
2023-02-08fix(ext/console): Only right-align integers in console.table() (#17389)Waldir Pimenta
2023-02-08chore(cli/tools): fix typo in upgrade.rs (#17690)Ikko Eltociear Ashimine
vesion -> version
2023-02-08refactor(core): change SourcePair to ExtensionFileSource (#17686)Bartek Iwańczuk
2023-02-07 refactor: remove prefix from include_js_files & use extension name (#17683)Leo Kettmeir
2023-02-07refactor: Use ES modules for internal runtime code (#17648)Leo Kettmeir
This PR refactors all internal js files (except core) to be written as ES modules. `__bootstrap`has been mostly replaced with static imports in form in `internal:[path to file from repo root]`. To specify if files are ESM, an `esm` method has been added to `Extension`, similar to the `js` method. A new ModuleLoader called `InternalModuleLoader` has been added to enable the loading of internal specifiers, which is used in all situations except when a snapshot is only loaded, and not a new one is created from it. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-07chore: upgrade rusty_v8 to 0.62.2 (#17604)Bartek Iwańczuk
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2023-02-07chore: forward v1.30.3 release commit to main (#17677)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-02-06chore: update std submodule to 0.176.0 (#17668)Bartek Iwańczuk
2023-02-06fix: revert lsp related internal specifiers (#17673)Leo Kettmeir
To fix reports of breakage from #17655
2023-02-06refactor(npm): use per-thread package.json cache (#17644)Bartek Iwańczuk
This commit adds a per-thread cache for `package.json` files. It's similar to what Node.js is doing.
2023-02-06refactor: create JsRuntime outside of run_in_task (#17667)Leo Kettmeir
2023-02-05 refactor: rename `deno` specifiers to `internal` (#17655)Leo Kettmeir
2023-02-05chore(core): improve error message in module loader example (#17654)Waldir Pimenta
Just a small tweak to the error message to avoid confusion.