Commit graph

1643 commits

Author SHA1 Message Date
Bartek Iwańczuk a115340288 feat: Import maps (#2360) 2019-06-09 09:08:20 -04:00
Ryan Dahl 8ec5276d30
Add asserts checking that async ops return null (#2463) 2019-06-08 18:11:47 -04:00
Ryan Dahl d60bdb6350 v0.8.0 2019-06-08 15:16:34 -04:00
Kitson Kelly 307e092753 Add 'bundle' subcommand. (#2467) 2019-06-08 14:42:28 -04:00
gurv-s 35f879ad32 Remove tokio_util::block_on dep in compile_async and other cleanup 2019-06-08 10:59:20 -04:00
gurv-s 95eac608a6 Make print_file_info async 2019-06-08 10:59:20 -04:00
gurv-s 564222bc10 make op_create_worker async internally 2019-06-08 10:59:20 -04:00
gurv-s c0b28dc224 Use static dispatch 2019-06-08 10:59:20 -04:00
Andy Hayden 5960e398ec make tests quieter (#2468)
Don't mix every http request in with the tests output.
Don't print that the file servers are starting unless
-vv flag is passed.

Capture the output of run with run_output which returns
stdout, stderr and exit_code. Test against this rather
than relying on sys.exit.
2019-06-08 07:46:57 -04:00
Kurt Mackey 4ea2df6759 http benchmarks with unique ports (#2471) 2019-06-07 15:36:26 -04:00
Kurt Mackey 9a6cfd653d add tcp proxy benchmarks + split out website section for proxy req/s (#2464) 2019-06-06 22:46:18 -04:00
Michał Sabiniarz 9bea576f3e Deno.core.evalContext & Deno.core.print fix (#2465) 2019-06-06 21:51:04 -04:00
Kitson Kelly e3b2205eba Cleanup compiler API (#2466) 2019-06-06 20:37:26 -04:00
Ryan Dahl cbcb78f188
libdeno: expose dynamic import (#2461) 2019-06-06 19:07:47 -04:00
Kurt Mackey 341150266e add http proxy benchmark (#2462) 2019-06-06 12:44:35 -04:00
Ryan Dahl e152dae006
RecursiveLoad shouldn't own the Isolate (#2453)
This patch makes it so that RecursiveLoad doesn't own the Isolate, so
Worker::execute_mod_async does not consume itself.

Previously Worker implemented Loader, but now ThreadSafeState does.

This is necessary preparation work for dynamic import (#1789) and import
maps (#1921)
2019-06-05 16:35:38 -04:00
Bartek Iwańczuk 6fa4d2e759 feat: bring back deno <script> (#2451) 2019-06-05 13:44:46 -04:00
Vincent LE GOFF 0b50c698ad Add special hit cfix #1898 (#2455) 2019-06-05 09:21:08 -04:00
Kitson Kelly a71305b4fe Handle compiler diagnostics in Rust (#2445) 2019-06-04 09:03:56 -04:00
Ryan Dahl 60d4522641
Compiler exit before emit if preEmitDiagnostics found (#2441) 2019-06-03 12:58:49 -04:00
Bartek Iwańczuk 43c6c1a9f5 Refactor test infrastructure (#2432)
* use subclass of unittest.TestCase for all test cases

* allow to run single test file (eg. python tools/integration_tests.py)

* test filtering (via --pattern/-p CLI flag)

* use common CLI parser for all tests:
  usage: test.py [-h] [--failfast] [--verbose] [--executable EXECUTABLE]
               [--release] [--pattern PATTERN] [--build-dir BUILD_DIR]

  optional arguments:
  -h, --help            show this help message and exit
  --failfast, -f        Stop on first failure
  --verbose, -v         Verbose output
  --executable EXECUTABLE
                        Use external executable of Deno
  --release             Test against release executable
  --pattern PATTERN, -p PATTERN
                        Run tests that match provided pattern
  --build-dir BUILD_DIR
                        Deno build directory

* respect NO_COLOR variable
2019-06-03 12:35:55 -04:00
Gurwinder S bbc8de0c7a Fix typo (#2443) 2019-06-02 14:23:36 -04:00
Kitson Kelly d438a6d259 Upgrade TypeScript to 3.5.1 (#2437) 2019-06-01 11:13:36 -04:00
Yoshiya Hinosawa 79f770b178 fmt: add --stdout option (#2439) 2019-06-01 08:54:32 -04:00
Kurt Mackey 652be19041 use body when Request instance is passed to fetch (fixes #2433) (#2435) 2019-05-31 17:00:37 -04:00
Andy Hayden 8fb44eba5b chore: refactor python tests to use unittest (#2414)
Move every test to a method on DenoTestCase.
test.py is a single TestSuite of every TestCase.

Add a Spawn context manager for http_server,
this is explicitly used where it's needed.
Each python test file can now be run independently
without needing to manually run http_server.

Add --help and consistent flags using argparse for
each python test, including --failfast.

Use ColorTextTestRunner so that '... ok' is green.
2019-05-30 16:40:40 -04:00
Bert Belder 1540b36ce7
third_party: upgrade rust crates 2019-05-30 11:28:05 -07:00
Christian Moritz 0e780e8948 tools/setup: don't download sccache if --no-binary-download is passed 2019-05-30 13:18:30 -04:00
Christian Moritz 15dadf812c tools/third_party: add DENO_GN_PATH and DENO_NINJA_PATH env vars 2019-05-30 13:18:30 -04:00
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 64d2b7bc90 Change tools/fmt_test.py to always download prettier
This is to ensure a more fair test. Also we were already downloading
from the internet since we changed the URL to use std@v0.5.0. This
change exposes an OOM bug, which is then fixed in the upcoming compiler
refactor by changing checkJs compiler option to false.
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
Ryan Dahl 3c355c2b32
Add 'brew install deno' to homepage (#2412) 2019-05-27 14:20:32 -04:00
Bartek Iwańczuk 824542e61e chore: Port Python tests to unittest (#2408) 2019-05-27 09:27:55 -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
Andy Hayden 62c377fc19 Add brew install deno to manual (#2407) 2019-05-24 22:22:16 +03:00
ztplz 86684799c4 typo (#2366) 2019-05-24 14:36:50 +03:00
Steven ccdab61708 Remove prefix $ and > from manual (#2404) 2019-05-24 03:37:34 +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
champ 1386b6ead5 Fix examples in manual (#2396) 2019-05-23 10:47:11 +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 0e89ca7b70
website: update http example (#2367) 2019-05-21 00:31:57 -04:00
Ryan Dahl 22feb74ba1 v0.6.0 2019-05-20 15:22:08 -04:00