1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Ryan Dahl 53b6356ec5 Correct tokio_util::block_on() and op_fetch_module_meta_data
op_fetch_module_meta_data is an op that is used by the TypeScript
compiler. TypeScript requires this op to be sync. However the
implementation of the op does things on the event loop (like fetching
HTTP resources).

In certain situations this can lead to deadlocks. The runtime's thread
pool can be filled with ops waiting on the result of
op_fetch_module_meta_data. The runtime has a maximum number of
threads it can use (the number of logical CPUs on the system).

This patch changes tokio_util::block_on to launch a new Tokio runtime
for evaluating the future, thus bipassing the max-thread problem.

This is only an issue in op_fetch_module_meta_data. Other synchronous
ops are truly synchornous, not interacting with the event loop.  TODO
comments are added to direct future development.
2019-05-29 07:53:39 -04:00
.github web design (#1728) 2019-02-11 17:41:13 -05:00
build@7b594236fb Upgrade V8 to 7.6.53 2019-04-29 19:56:16 -07:00
build_extra third_party: add rust crate 'serde_derive' 2019-05-16 20:51:47 -07:00
cli Correct tokio_util::block_on() and op_fetch_module_meta_data 2019-05-29 07:53:39 -04:00
core v0.6.0 2019-05-20 15:22:08 -04:00
js add EventTarget implementation (#2377) 2019-05-27 09:20:34 -04:00
prebuilt Upload mac/sccache that doesn't link to openssl (#1929) 2019-03-14 18:49:41 -04:00
tests Rename --allow-high-precision to --allow-hrtime (#2398) 2019-05-23 19:28:29 +03:00
third_party@d6515fbb3d third_party: add rust crate 'serde_derive' 2019-05-16 20:51:47 -07:00
tools chore: Port Python tests to unittest (#2408) 2019-05-27 09:27:55 -04:00
website Add 'brew install deno' to homepage (#2412) 2019-05-27 14:20:32 -04:00
.appveyor.yml Refactor unit test runner (#2294) 2019-05-08 19:15:24 -04:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.eslintignore Migrate from tslint to eslint for linting (#1905) 2019-03-09 12:30:38 -05:00
.eslintrc.json Migrate from tslint to eslint for linting (#1905) 2019-03-09 12:30:38 -05:00
.gitattributes Exclude .png files from git auto-EOL (#2161) 2019-04-20 15:11:16 -04:00
.gitignore Fix behavior for extensionless files with .mime file (#1779) 2019-02-15 11:05:29 -05:00
.gitmodules Replace deno.land/x/std with deno.land/std (#1890) 2019-03-06 10:23:47 -05:00
.gn Upgrade V8 to 7.6.53 2019-04-29 19:56:16 -07:00
.prettierignore Revert "Rewrite tools/format.py in deno (#1528)" (#1752) 2019-02-12 15:20:32 -05:00
.prettierrc.json tools/format: format markdown files with prettier 2018-10-04 02:02:23 -07:00
.rustfmt.toml Make rustfmt format macro bodies also 2019-02-08 20:06:21 -08:00
.travis.yml ci: make the sanitize build fast again (#2280) 2019-05-03 12:54:25 -04:00
.yarnclean Cleanup node_modules, update packages (#1894) 2019-03-07 08:53:56 -05:00
BUILD.gn build: add support for rust proc-macro crates 2019-05-16 20:33:25 -07:00
build_overrides move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
buildtools move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
Cargo.lock v0.6.0 2019-05-20 15:22:08 -04:00
Cargo.toml Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
deno.gni Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
gclient_config.py Upgrade V8 to 7.6.53 2019-04-29 19:56:16 -07:00
LICENSE Happy new year! 2019-01-02 02:37:08 +01:00
node_modules chore: reorganize symlinks 2018-07-06 01:57:32 -04:00
package.json Add Request global constructor (#2253) 2019-05-01 23:56:42 -04:00
README.md Website updates (#1984) 2019-03-22 11:34:47 -04:00
Releases.md v0.6.0 2019-05-20 15:22:08 -04:00
rollup.config.js Add support for custom tsconfig.json (#2089) 2019-04-29 07:58:31 -07:00
testing move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
tsconfig.json Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00

deno

A secure runtime for JavaScript and TypeScript built with V8, Rust, and Tokio.

Linux & Mac Windows

Deno aims to provide a productive and secure scripting environment for the modern programmer. It is built on top of V8, Rust, and TypeScript.

Please read the introduction for more specifics.

Website

Manual

Install

API Reference

Style Guide

Module Repository

Releases

Chat

More links