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
Bartek Iwańczuk 135053486c
fix: top-level-await module execution (#7946)
This commit changes implementation of top-level-await in "deno_core".

Previously promise returned from module evaluation was not awaited,
leading to out-of-order execution of modules that have TLA. It's been
fixed by changing "JsRuntime::mod_evaluate" to be an async function
that resolves when the promise returned from module evaluation also
resolves. When waiting for promise resolution event loop is polled
repeatedly, until there are no more dynamic imports or pending
ops.
2020-10-14 14:04:09 +02:00
.cargo Statically link the C runtime library on Windows (#4469) 2020-03-23 20:31:29 +01:00
.github fix Releases.md (#7883) 2020-10-09 19:05:50 +02:00
cli fix: top-level-await module execution (#7946) 2020-10-14 14:04:09 +02:00
core fix: top-level-await module execution (#7946) 2020-10-14 14:04:09 +02:00
docs docs: fix links to examples (#7919) 2020-10-13 17:19:34 +02:00
op_crates fix(op_crates/web/url): apply backslash replacement to the pathname setter (#7937) 2020-10-13 17:16:10 +02:00
std fix(std/encoding): base64 properly encodes mbc and handles Uint8Arrays (#7807) 2020-10-13 12:12:10 +11:00
test_plugin chore: add copyright (#7593) 2020-09-21 08:26:41 -04:00
test_util chore: add copyright (#7593) 2020-09-21 08:26:41 -04:00
third_party@e80050929a feat: update to TypeScript 4.0 (#6514) 2020-08-24 19:43:54 -04:00
tools docs: end sentences with a period in markdown (#7813) 2020-10-04 07:19:11 +11:00
.dprintrc.json feat(fmt): Sort named import and export specifiers (#7711) 2020-09-27 12:22:32 +02:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.eslintignore Move benchmarks to Rust (#7134) 2020-08-28 09:03:50 -04:00
.eslintrc.json feat: update to TypeScript 4.0 (#6514) 2020-08-24 19:43:54 -04:00
.gitattributes remove unused git attributes (#7011) 2020-08-10 23:22:45 -04:00
.gitignore chore(std/hash): update crates (#7631) 2020-09-22 23:03:11 +02:00
.gitmodules Use https instead of ssh for wasi-test-suite submodule (#7202) 2020-08-26 18:23:14 +02:00
.rustfmt.toml change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
Cargo.lock v1.4.6 2020-10-10 12:30:55 +02:00
Cargo.toml chore: add copyright (#7593) 2020-09-21 08:26:41 -04:00
CODE_OF_CONDUCT.md fix(tools): prettier formatting (#6206) 2020-06-09 17:50:41 +02:00
LICENSE change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
README.md docs: fix runtime docs link in README (#7926) 2020-10-13 17:17:43 +02:00
Releases.md v1.4.6 2020-10-10 12:30:55 +02:00

Deno

Build Status - Cirrus Twitter handle

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

Features

  • Secure by default. No file, network, or environment access, unless explicitly enabled.
  • Supports TypeScript out of the box.
  • Ships only a single executable file.
  • Built-in utilities like a dependency inspector (deno info) and a code formatter (deno fmt).
  • Set of reviewed standard modules that are guaranteed to work with Deno.

Install

Shell (Mac, Linux):

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

PowerShell (Windows):

iwr https://deno.land/x/install/install.ps1 -useb | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Build and install from source using Cargo:

cargo install deno

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 a more complex one:

import { serve } from "https://deno.land/std@$STD_VERSION/http/server.ts";
const s = serve({ port: 8000 });
console.log("http://localhost:8000/");
for await (const req of s) {
  req.respond({ body: "Hello World\n" });
}

You can find a more in depth introduction, examples, and environment setup guides in the manual.

More in-depth info can be found in the runtime documentation.

Contributing

We appreciate your help!

To contribute, please read the our guidelines.