0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 09:31:22 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Matt Mastracci 8fe9b8a4cc
refactor(ops): ops2 supports result in fast path (#19603)
Implements `Result` in fast-calls. Note that the approach here is
slightly different. Rather than store the last result in the `OpState`,
we put it into the `OpCtx` which saves us a lookup and lock in the error
case. We do not have to lock this field as it's guaranteed only one
runtime and thread can ever access it.

The fastcall path for many ops can avoid doing a great deal of work,
even for `Result` return values. In the previous iteration of `ops`, all
`Result`-returning functions would fetch and lock the `OpState`,
regardless of whether it was used or not.
2023-06-25 16:36:09 +02:00
.cargo fix: reload config files on watcher restarts (#19487) 2023-06-14 22:29:19 +00:00
.devcontainer chore: update devcontainer configuration (#15751) 2022-09-03 02:21:41 +02:00
.github refactor(ops): Adding op2 macro and implementing in a couple of places (#19534) 2023-06-24 13:54:10 +02:00
bench_util Reland "refactor(core): cleanup feature flags for js source inclusion" (#19519) 2023-06-25 09:35:31 +02:00
cli Reland "refactor(core): cleanup feature flags for js source inclusion" (#19519) 2023-06-25 09:35:31 +02:00
core refactor(ops): ops2 supports result in fast path (#19603) 2023-06-25 16:36:09 +02:00
ext Reland "refactor(core): cleanup feature flags for js source inclusion" (#19519) 2023-06-25 09:35:31 +02:00
ops refactor(ops): ops2 supports result in fast path (#19603) 2023-06-25 16:36:09 +02:00
runtime Reland "refactor(core): cleanup feature flags for js source inclusion" (#19519) 2023-06-25 09:35:31 +02:00
serde_v8 refactor: remove remaining references to ZeroCopyBuf (#19598) 2023-06-24 07:30:41 +00:00
test_ffi feat(ext/ffi): support marking symbols as optional (#18529) 2023-04-03 21:32:21 +03:00
test_napi fix(napi): properly handle arguments in napi_get_cb_info (#19269) 2023-05-26 05:02:12 +00:00
test_util fix(lsp): update import map config when deno.json changes (#19476) 2023-06-13 09:24:22 -04:00
third_party@fd270b7927 fix: upgrade to deno_ast 0.27 (#19375) 2023-06-05 19:03:39 -04:00
tools chore: disable /websocket/stream/tentative/close.any.worker.html?wss (#19606) 2023-06-25 11:21:23 +02:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json fix: upgrade to deno_ast 0.27 (#19375) 2023-06-05 19:03:39 -04: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 chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02:00
.gitmodules chore: check node_compat config diff in CI (#19119) 2023-05-15 21:22:53 +09:00
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock Reland "refactor(core): cleanup feature flags for js source inclusion" (#19519) 2023-06-25 09:35:31 +02:00
Cargo.toml fix(ext/node): support brotli APIs (#19223) 2023-06-24 19:42:08 +05:30
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs(readme): Update readme (#18677) 2023-04-17 01:08:05 +02:00
Releases.md chore: forward v1.34.3 release commit to main (#19526) 2023-06-16 01:55:31 +02:00
rust-toolchain.toml chore: upgrade to Rust 1.68.2 (#19416) 2023-06-08 04:04:07 +02: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:

cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://deno.land/std/examples/welcome.ts

Or setup a simple HTTP server:

import { serve } from "https://deno.land/std@0.182.0/http/server.ts";

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

More examples.

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.