summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-01-25feat: embed import map in the config file (#17478)Bartek Iwańczuk
This commit changes handling of config file to enable specifying "imports" and "scopes" objects effectively making the configuration file an import map. "imports" and "scopes" take precedence over "importMap" configuration, but have lower priority than "--importmap" CLI flag. Co-authored-by: David Sherret <dsherret@users.noreply.github.com> Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-25feat(fmt): make semi-colon option a boolean (#17527)David Sherret
2023-01-25fix: remove leftover Deno.spawn references (#17524)David Sherret
2023-01-25fix(upgrade): don't display release information for canary (#17516)Leo Kettmeir
2023-01-25Revert "chore: upgrade rusty_v8 to 0.62.0 (#17200)" (#17523)Bartek Iwańczuk
This reverts commit e2d75491d5fc6fbac67da89c7350c4c9ca99d8e9.
2023-01-25chore: upgrade rusty_v8 to 0.62.0 (#17200)Bartek Iwańczuk
2023-01-25feat(cli): add `DENO_V8_FLAGS` env var (#17313)Leo Kettmeir
Closes #5669
2023-01-25feat: Add sync APIs for "Deno.permissions" (#17019)Asher Gomez
This commit adds sync versions of async APIs to "Deno.permissions" namespace. Following APIs were added: - "Deno.permissions.querySync" - "Deno.permissions.requestSync" - "Deno.permissions.revokeSync"
2023-01-24feat: suggest adding a "node:" prefix for bare specifiers that look like ↵David Sherret
built-in Node modules (#17519)
2023-01-24feat(fmt): add ability to configure semicolons (#17292)Bartek Iwańczuk
Allows to change behavior of `deno fmt` to use "ASI" setting for semicolons instead of always prefering them, this is done by "--options-semi=asi" flag or `"semi": "asi"` setting in the config file.
2023-01-24refactor: remove Deno.core (#16881)Bartek Iwańczuk
This commit removes "Deno.core" namespace. It is strictly private API that has no stability guarantees, we were supposed to remove it long time ago. Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2023-01-24fix: update expected output for config auto-discovery debug log (#17514)Leo Kettmeir
2023-01-24feat: log detection of config file (#17338)Leo Kettmeir
Closes #14578
2023-01-24feat: allow first arg in test step to be a function (#17096)Leo Kettmeir
2023-01-24feat: support node built-in module imports (#17264)Bartek Iwańczuk
Co-authored-by: David Sherret <dsherret@gmail.com>
2023-01-24feat(runtime/command): make stdin default to inherit for spawn() (#17334)Leo Kettmeir
Closes #17230
2023-01-24refactor(deno_graph): remove unused Resolved::Ok#kind usage (#17504)David Sherret
See https://github.com/denoland/deno_graph/pull/205 for more details.
2023-01-24feat(upgrade): link to release notes & blog post (#17073)Asher Gomez
This change prints a link to the release notes to `deno upgrade` output and its variations. Release notes aren't printed for commands relating to canary versions. Closes #16350.
2023-01-23refactor: Move lockfile to a separate crate (#17503)Bartek Iwańczuk
Moves the lockfile implementation to a separate crate so other projects like Deploy can use it as well.
2023-01-23fix(napi): improve napi_adjust_external_memory (#17501)Divy Srivastava
<!-- Before submitting a PR, please read http://deno.land/manual/contributing 1. Give the PR a descriptive title. Examples of good title: - fix(std/http): Fix race condition in server - docs(console): Update docstrings - feat(doc): Handle nested reexports Examples of bad title: - fix #7123 - update docs - fix bugs 2. Ensure there is a related issue and it is referenced in the PR text. 3. Ensure there are tests that cover the changes. 4. Ensure `cargo test` passes. 5. Ensure `./tools/format.js` passes without changing files. 6. Ensure `./tools/lint.js` passes. 7. Open as a draft PR if your work is still in progress. The CI won't run all steps, but you can add '[ci]' to a commit message to force it to. 8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label. -->
2023-01-23fix(napi): handle return value from initializer (#17502)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17349
2023-01-23fix(napi): improve napi_is_detached_arraybuffer (#17498)Divy Srivastava
2023-01-23fix(napi): improve napi_detach_arraybuffer (#17499)Divy Srivastava
2023-01-22fix(napi): correctly handle name in napi_create_function (#17489)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17472
2023-01-21fix(ext/ffi): disallow empty ffi structs (#17487)Divy Srivastava
This patch makes `NativeType` to `libffi::middle::Type` conversion failliable and w.t disallows struct with empty fields. libffi does not handle "empty" struct because they don't exist in C (or Rust). Fixes #17481
2023-01-20Revert "perf(ext/websocket): optimize socket.send (#16320)" (#17480)Leo Kettmeir
This reverts commit 36307c45
2023-01-20feat: Stabilize Deno.Listener.ref/unref (#17477)Bartek Iwańczuk
2023-01-19chore: upgrade tokio to 1.24.2 (#17467)Jun Jiang
Tokio 1.24.2 fixed an unsoundness issue https://github.com/tokio-rs/tokio/pull/5375
2023-01-19refactor(core): Overwrite `ArrayPrototypeToString` in primordials (#17470)Kenta Moriuchi
2023-01-19refactor: cleanup ModuleMap (#17469)Leo Kettmeir
- changes module id to be usize & 0 based instead of 1 based - merges `ids_by_handle` & `handles_by_id` to be a single `handles` vector - removes `next_module_id`, as vector is used - turns `info` into a vector
2023-01-19feat: ES module snapshotting (#17460)Leo Kettmeir
This commit adds support for snapshotting ES modules. This is done by adding an ability to serialize and deserialize a "ModuleMap" and attach it to the snapshot, using "add_context_data" API. This has been tested with 400 modules and seems to not have a limit on the number of modules that might be snapshotted. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-19feat(runtime): add bigint to seek typings (#17314)Leo Kettmeir
2023-01-18chore(ext/crypto): Update rsa to 0.7.0 (#16327)Kyle Willmon
Bump the rsa crate to 0.7.0 The API for the `rsa` crate has changed significantly, but I have verified that tests continue to pass throughout this update.
2023-01-18Optimize http_bench_json_ops example (#16505)Divy Srivastava
2023-01-18chore: upgrade base64-simd to 0.8.0 (#17463)Nugine
This PR upgrades the `base64-simd` dependency of `deno_web`. base64-simd v0.8 supports `forgiving_decode` in ["copy" mode](https://docs.rs/base64-simd/0.8.0/base64_simd/fn.forgiving_decode.html), ["inplace" mode](https://docs.rs/base64-simd/0.8.0/base64_simd/fn.forgiving_decode_inplace.html) or ["alloc" mode](https://docs.rs/base64-simd/0.8.0/base64_simd/fn.forgiving_decode_to_vec.html). When #17159 resolves, they can be used to reduce unnecessary allocations and copies. base64-simd v0.8 also supports AArch64 SIMD out of box.
2023-01-18fix(napi): don't hold on to borrow during iteration (#17461)Bartek Iwańczuk
I mistakenly held on to a RefCell's borrow for the whole time of iteration, but since these counters can be refed/unrefed from any thread that is a mistake.
2023-01-18refactor(cli): Integrate standalone mode cert handling into `Flags` (#17419)Andreu Botella
The way the standalone mode handles the `--cert` flag is different to all other modes. This is because `--cert` takes a path to the certificate file, which is directly added to the root cert store; except for compile mode, where its byte contents are stored in the standalone metadata, and they are added to the root cert store after the `ProcState` is created. This change instead changes `Flags::ca_file` (an `Option<String>`) into `Flags::ca_data`, which can represent a `String` file path or a `Vec<u8>` with the certificate contents. That way, standalone mode can create a `ProcState` whose root cert store alreay contains the certificate. This change also adds a tests for certificates in standalone mode, since there weren't any before. This refactor will help with implementing web workers in standalone mode in the future.
2023-01-17fix(napi) use c_char instead of hardcoding i8 to avoid incompatibility with ↵Luke Channings
aarch64 (#17458) Quick one, compatibility fix for [aarch64 builds](https://github.com/LukeChannings/deno-arm64).
2023-01-17chore: forward v1.29.4 release commit to main (#17453)denobot
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-16refactor(cli): fewer clones (#17450)Geert-Jan Zwiers
2023-01-16refactor(npm): avoid cloning snapshot for lockfile (#17451)David Sherret
2023-01-16refactor(core): Move `pending_promise_rejections` to `ContextState` (#17447)Andreu Botella
This is a requirement before supporting modules in realms.
2023-01-16chore: update dlint to v0.37.0 for GitHub Actions (#17295)Kenta Moriuchi
Updated third_party dlint to v0.37.0 for GitHub Actions. This PR includes following changes: * fix(prefer-primordials): Stop using array pattern assignments * fix(prefer-primordials): Stop using global intrinsics except for `SharedArrayBuffer` * feat(guard-for-in): Apply new guard-for-in rule
2023-01-16refactor(core): rename pending_promise_exception to ↵Bartek Iwańczuk
pending_promise_rejection (#17441) These are technically rejections - a rejection can then raise an exception.
2023-01-16fix(repl): improve validator to mark more code as incomplete (#17443)David Sherret
Closes #17442
2023-01-16fix(cli/fmt): show filepath for InvalidData error (#17361)Leo Kettmeir
2023-01-15chore: update std submodule and its imports (#17408)Asher Gomez
2023-01-15chore(ext/webidl): Add dictionary converter microbenchmark (#17435)Divy Srivastava
This commits add a `webidl.createDictionaryConverter` converter microbenchmark. There are 2 PRs currently open that need a microbenchmark for webidl dictionary converter. See https://github.com/denoland/deno/pull/16594 and https://github.com/denoland/deno/pull/16407 Closes https://github.com/denoland/deno/issues/17436
2023-01-15fix(runtime/os): use GetPerformanceInfo for swap info on Windows (#17433)Divy Srivastava
Fixes https://github.com/denoland/deno/issues/17417 According to https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex , `stat.ullTotalPageFile` value is reliable only from GetPerformanceInfo() Also see https://github.com/GuillaumeGomez/sysinfo/issues/534 Co-authored-by: Nightly <dhairysrivastava5@gmail.com>
2023-01-15fix(ops): disallow memory slices as inputs to async ops (#16738)Andreu Botella
In Rust, it is UB if a slice is mutated while borrowed except through the slice itself, and it is also UB if a mutable slice is read while borrowed. The op macro allows borrowing an `ArrayBuffer{,View}` as a memory slice for the duration of an op, but this is not sound for async ops, since the `ArrayBuffer` could be accessed from JS during the await points. This PR therefore disallows such automatic borrowing only for async ops. Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>