0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-29 08:58:01 -04:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Kitson Kelly d9ff4eccb5 Async compiler processing (#3043)
Basically this does pre-processing of TypeScript files and gathers all the
dependencies asynchronously. Only then after all the dependencies are gathered,
does it do a compile, which at that point all the dependencies are cached in
memory in the compiler, so with the exception of the hard coded assets, there
are no ops during the compilation.

Because op_fetch_source_files is now handled asynchronously in the runtime, we
can eliminate the tokio_util::block_on() which was causing the increase in
threads. Benchmarking on my machine has shown about a 5% improvement in speed
when dealing with compiling TypeScript. Still a long way to go, but an
improvement.

In theory the module name resolution and the fetching of the source files could
be broken out as two different ops. This would prevent situations of sending the
full source file all the time when actually the module is the same module
referenced by multiple modules, but that could be done subsequently to this.
2019-10-03 07:23:29 -04:00
.github Run benchmarks from GH actions instead of Travis (#3049) 2019-10-02 19:00:46 -04:00
cli Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
core remove legacy Isolate.set_dispatch API (#3041) 2019-10-02 13:05:48 -04:00
deno_typescript Fix deno_typescript repository url in Cargo.toml (#3053) 2019-10-03 01:32:22 -04:00
js Async compiler processing (#3043) 2019-10-03 07:23:29 -04:00
prebuilt Upload mac/sccache that doesn't link to openssl (#1929) 2019-03-14 18:49:41 -04:00
third_party@1cceee1f4e Upgrade V8 for top-level-await (#3015) 2019-09-24 18:37:04 -04:00
tools Use 0.0.0.0 for servers in benchmarks and tests (#3010) 2019-09-30 12:35:48 -04:00
website feat: window.onunload (#3023) 2019-10-02 11:32:51 -04:00
.appveyor.yml Set RUSTC_WRAPPERf in travis and appveyor (#2978) 2019-09-19 15:35:44 -04:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.eslintignore Move integration tests to //cli/tests/ (#2964) 2019-09-16 21:05:14 -04:00
.eslintrc.json Fix and enable linting of deno_typescript/*, tools/*, website/* (#2962) 2019-09-16 23:30:56 +02:00
.gitattributes Clean up miscellaneous metafiles (#2981) 2019-09-19 03:32:48 +02:00
.gitignore Clean up miscellaneous metafiles (#2981) 2019-09-19 03:32:48 +02:00
.gitmodules Use shallow submodules, don't clone Typescript recursively 2019-09-17 18:38:51 +02:00
.prettierignore Move integration tests to //cli/tests/ (#2964) 2019-09-16 21:05:14 -04:00
.prettierrc.json tools/format: format markdown files with prettier 2018-10-04 02:02:23 -07:00
.rustfmt.toml rustfmt: disable format_macro_bodies 2019-07-08 23:06:30 +02:00
.travis.yml Run benchmarks from GH actions instead of Travis (#3049) 2019-10-02 19:00:46 -04:00
Cargo.lock Add Deno.hostname() (#3032) 2019-09-27 19:09:42 -04:00
Cargo.toml Make deno_cli installable via crates.io (#2946) 2019-09-15 18:36:27 -04:00
CONTRIBUTING.md Run format.py (#2950) 2019-09-15 20:12:17 +02:00
gclient_config.py Upgrade V8 for top-level-await (#3015) 2019-09-24 18:37:04 -04: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 Update to TypeScript 3.6.3 (#2969) 2019-09-17 12:24:44 -04:00
README.md Website updates (#1984) 2019-03-22 11:34:47 -04:00
Releases.md v0.19.0 2019-09-25 10:58:35 -04:00
tests Move integration tests to //cli/tests/ (#2964) 2019-09-16 21:05:14 -04:00
tsconfig.json feat: JSX Support (#3038) 2019-10-02 10:46:36 -04:00
yarn.lock Clean up miscellaneous metafiles (#2981) 2019-09-19 03:32:48 +02: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