1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 23:34:47 -05:00
Commit graph

116 commits

Author SHA1 Message Date
Axetroy
4c80394f54 bump std/prettier@0.5.0 to std/prettier@0.7.0 (#2425) 2019-05-30 08:35:42 -04:00
Ryan Dahl
5265bd7cb1 v0.7.0 2019-05-29 18:42:49 -04:00
Ryan Dahl
856c44213b TS compiler refactor
* Compiler no longer has its own Tokio runtime. Compiler handles one
  message and then exits.

* Uses the simpler ts.CompilerHost interface instead of
  ts.LanguageServiceHost.

* avoids recompiling the same module by introducing a hacky but simple
  `hashset<string>` that stores the module names that have been already
  compiled.

* Removes the CompilerConfig op.

* Removes a lot of the mocking stuff in compiler.ts like `this._ts`. It
  is not useful as we don't even have tests.

* Turns off checkJs because it causes fmt_test to die with OOM.
2019-05-29 07:53:39 -04:00
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
Adam Conrad
9fd4096235 add EventTarget implementation (#2377) 2019-05-27 09:20:34 -04:00
Bartek Iwańczuk
73ac5f89f0 add module and line no for Rust logger (#2409) 2019-05-25 19:23:47 +03:00
ztplz
86684799c4 typo (#2366) 2019-05-24 14:36:50 +03:00
Bartek Iwańczuk
1105982586 re-fix permissions for dial and listen (#2400)
Closes #2397
2019-05-23 23:47:55 +03:00
Ryan Dahl
f92af3576a
Improve CLI help (#2388) 2019-05-23 21:57:44 +03:00
Ryan Dahl
583a646be7
Fix concurrent accepts (#2403) 2019-05-23 21:22:52 +03:00
Ryan Dahl
2952fb5405
Rename --allow-high-precision to --allow-hrtime (#2398) 2019-05-23 19:28:29 +03:00
Bert Belder
7d03a63ded
Revert "Fix permissions for dial and listen (#2373)"
This reverts commit 7219787894.
2019-05-22 19:47:15 -07:00
Bartek Iwańczuk
880265275f Use tagged version of prettier in CLI (#2387) 2019-05-21 15:39:50 -04:00
Ryan Dahl
22feb74ba1 v0.6.0 2019-05-20 15:22:08 -04:00
Bartek Iwańczuk
7219787894 Fix permissions for dial and listen (#2373) 2019-05-17 14:50:53 -04:00
chiefbiiko
00f6fa46b3 Add crypto.getRandomValues() (#2327) 2019-05-17 14:03:01 -04:00
Bartek Iwańczuk
7f6549532c Don't print new line if progress bar was not used (#2374) 2019-05-17 12:35:29 -04:00
Bert Belder
3ff240b963
third_party: add rust crate 'serde_derive' 2019-05-16 20:51:47 -07:00
Bert Belder
e9c9d71633
third_party: upgrade rust crates 2019-05-16 20:43:23 -07:00
Bert Belder
3d6f0a85af
build: add support for rust proc-macro crates 2019-05-16 20:33:25 -07:00
Bert Belder
6e7ccf0b49
tools: format .gn files in the 'cli' directory 2019-05-16 19:57:31 -07:00
Daiki Ihara
9c9c58c84d Add permission whitelist docs (#2365) 2019-05-16 10:39:19 -04:00
Yoshiya Hinosawa
6a5893a269 fmt: use --write option of prettier/main.ts (#2363)
This is step 1 of the plan outlined here:
https://github.com/denoland/deno/issues/2090#issuecomment-492897028
2019-05-16 10:11:35 -04:00
Ryan Dahl
e02d8bcf18 Remove FileInfo.path 2019-05-15 21:14:17 -04:00
diskkid
2508480465 Add error handling to dispatch_minimal::ops::read/write (#2349) 2019-05-15 14:50:54 -04:00
Ryan Dahl
a00fa7056b
Fix command in docs (#2353) 2019-05-14 15:23:56 -04:00
Ryan Dahl
23aca36d52 v0.5.0 2019-05-11 17:19:21 -04:00
Ryan Dahl
aba952397a
Add progress bar (#2309) 2019-05-11 10:23:19 -04:00
Bert Belder
c0341cb1af
third_party: upgrade rust crates 2019-05-11 05:03:03 +02:00
Bartek Iwańczuk
1fc61f3b6a core: Privatize ModuleNameMap SymbolicModule deno_buf (#2324) 2019-05-09 16:44:30 -04:00
Kevin (Kun) "Kassimo" Qian
d9cdc6788b fix: support relative path for whitelisting (#2317)
Using `std::fs::canonicalize` to expand path to full existing path, such that
later attempt to loop-pop and compare path segment would work.
2019-05-09 12:20:34 -04:00
andy finch
2edee3367d First pass at permissions whitelist (#2129) 2019-05-08 19:20:30 -04:00
Yingbo (Max) Wang
ec9080f34c Add Deno.chown (#2292) 2019-05-07 21:58:57 -04:00
Bartek Iwańczuk
1f7ad17152 fix: Add all permissions to deno xeval (#2290) 2019-05-06 10:48:19 -04:00
Ryan Dahl
2aae09c2b8 v0.4.0 2019-05-03 19:33:50 -04:00
Bartek Iwańczuk
5824e55efa fix: deno version panic (#2286) 2019-05-03 18:48:50 -04:00
Ryan Dahl
3b1e2f1ad4 v0.3.11 2019-05-03 18:05:41 -04:00
Bartek Iwańczuk
f6a9d7d717 add "deno run" subcommand (#2215) 2019-05-03 17:15:16 -04:00
Kevin (Kun) "Kassimo" Qian
3608117132 feat(cli cmd): deno xeval (#2260) 2019-05-03 16:24:09 -04:00
Kevin (Kun) "Kassimo" Qian
401a5c0211 feat: support .mjs extension resolution (#2283)
Removed `extmap` and added .mjs entry in `map_file_extension`.
The assert in the compiler does not need to be updated, since it is
resolving from the compiled cache instead of elsewhere (notice the .map
is asserted next to it)
2019-05-03 15:03:10 -04:00
Bartek Iwańczuk
459162fc6e add --no-fetch CLI flag to prevent remote downloads (#2213) 2019-05-03 11:09:51 -04:00
Bartek Iwańczuk
bf9b0c8231 Fix: deno --v8-options does not print v8 options (#2277) 2019-05-03 08:59:52 -04:00
Ryan Dahl
00ac871607
Optimize read and write ops (#2259) 2019-05-03 00:06:43 -04:00
Bert Belder
8999517421
core,cli: fix clippy warnings 2019-05-03 03:29:42 +02:00
Kurt Mackey
c05cbc8eac Add Request global constructor (#2253) 2019-05-01 23:56:42 -04:00
Kevin (Kun) "Kassimo" Qian
1dd30f658f doc: add long about messages for subcommands (#2264)
Type deno <subcommand> -h to view descriptions.
2019-05-01 19:15:36 -04:00
Ryan Dahl
c171813e89
core: express op as enum (#2255) 2019-05-01 18:22:32 -04:00
Bert Belder
41c7e96f1a
Refactor zero-copy buffers for performance and to prevent memory leaks
* In order to prevent ArrayBuffers from getting garbage collected by V8,
  we used to store a v8::Persistent<ArrayBuffer> in a map. This patch
  introduces a custom ArrayBuffer allocator which doesn't use Persistent
  handles, but instead stores a pointer to the actual ArrayBuffer data
  alongside with a reference count. Since creating Persistent handles
  has quite a bit of overhead, this change significantly increases
  performance. Various HTTP server benchmarks report about 5-10% more
  requests per second than before.

* Previously the Persistent handle that prevented garbage collection had
  to be released manually, and this wasn't always done, which was
  causing memory leaks. This has been resolved by introducing a new
  `PinnedBuf` type in both Rust and C++ that automatically re-enables
  garbage collection when it goes out of scope.

* Zero-copy buffers are now correctly wrapped in an Option if there is a
  possibility that they're not present. This clears up a correctness
  issue where we were creating zero-length slices from a null pointer,
  which is against the rules.
2019-05-01 21:11:09 +02:00
Bartek Iwańczuk
8978870808 Rename test targets (#2262) 2019-05-01 09:48:56 -04:00
Kevin (Kun) "Kassimo" Qian
7237e9d34a fs: add Deno.utime/Deno.utimeSync (#2241) 2019-05-01 05:08:11 -04:00