1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-24 15:19:26 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Laurence Rowe e5819777c3
refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822)
Use HttpRecord as response body so requests can be tracked all the way
to response body completion.

This allows Request properties to be accessed while the response body is
streaming.

Graceful shutdown now awaits a future instead of async spinning waiting
for requests to finish.

On the minimal benchmark this refactor improves performance an
additional 2% over pooling alone for a net 3% increase over the previous
deno main branch.

Builds upon https://github.com/denoland/deno/pull/20809 and
https://github.com/denoland/deno/pull/20770.

---------

Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2023-11-13 19:17:31 +00:00
.cargo chore: Add a local-build.toml to make downstream packaging from sourc… (#20236) 2023-08-24 08:46:57 -06:00
.devcontainer fix(devcontainer): Add build deps and update extension in devcontainer (#20467) 2023-09-12 15:33:07 +00:00
.github chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
bench_util chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
cli chore(cli): unflake signal test (#21185) 2023-11-13 18:45:48 +00:00
ext refactor(ext/http): Use HttpRecord as response body to track until body completion (#20822) 2023-11-13 19:17:31 +00:00
runtime perf: lazy bootstrap options - first pass (#21164) 2023-11-13 04:52:59 +00:00
test_ffi feat: granular --unstable-* flags (#20968) 2023-11-01 23:15:08 +01:00
test_napi Revert "chore: update deno_std submodule (#20994)" (#21001) 2023-10-28 01:24:37 +00:00
test_util chore: update wpt (#21178) 2023-11-13 18:40:05 +00:00
tools chore: update wpt (#21178) 2023-11-13 18:40:05 +00:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json refactor: upgrade to deno_ast 0.31 and deno_graph 0.59 (#20965) 2023-10-24 21:43:19 +00:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 2021-11-15 09:58:04 -05:00
.gitignore feat: Add "deno jupyter" subcommand (#20337) 2023-09-16 02:42:09 +02:00
.gitmodules chore: remove third_party submodule (#20201) 2023-08-19 09:56:12 +05:30
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock refactor(ext/http): refer to HttpRecord directly using v8::External (#20770) 2023-11-13 07:04:49 -07:00
Cargo.toml chore(ext/node): use libz-sys w/zlib-ng feature in node (#21158) 2023-11-11 07:20:12 -07:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs: add missing cmake build dependency installation (#20788) 2023-11-06 13:31:26 +01:00
Releases.md chore: forward v1.38.1 release commit to main (#21144) 2023-11-10 18:51:34 +05:30
rust-toolchain.toml chore: update to Rust 1.73 (#20781) 2023-10-05 14:49:09 -04:00

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Features

Install

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Scoop (Windows):

scoop install deno

Build and install from source using Cargo:

# Install build dependencies
apt install -y cmake protobuf-compiler # Linux
brew install cmake protobuf # macOS

# Build and install Deno
cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://examples.deno.land/hello-world.ts

Or setup a simple HTTP server:

Deno.serve((_req) => new Response("Hello, World!"));

More Examples

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.