1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-23 15:16:54 -05:00
Commit graph

412 commits

Author SHA1 Message Date
Kevin (Kun) "Kassimo" Qian
4189cc1ab5 Loader: support .wasm imports (#3328)
* loader: support .wasm imports

* http_server: true

* Support named exports

* Clippy
2019-11-14 08:31:39 -05:00
Kitson Kelly
9837d324a7 Update to TypeScript 3.7 (#3275)
and update to prettier 1.19

Also, update `assert()` and remove not null assertions where possibly
in `cli`.

Closes #3273
2019-11-13 13:42:34 -05:00
Kitson Kelly
8d03397293 Make bundles fully standalone (#3325)
- Bundles are fully standalone. They now include the shared loader with
  `deno_typescript`.
- Refactor of the loader in `deno_typescript` to perform module
  instantiation in a more
- Change of behaviour when an output file is not specified on the CLI.
  Previously a default name was determined and the bundle written to that
  file, now the bundle will be sent to `stdout`.
- Refactors in the TypeScript compiler to be able to support the concept
  of a request type.  This provides a cleaner abstraction and makes it
  easier to support things like single module transpiles to the userland.
- Remove a "dangerous" circular dependency between `os.ts` and `deno.ts`,
  and define `pid` and `noColor` in a better way.
- Don't bind early to `console` in `repl.ts`.
- Add an integration test for generating a bundle.
2019-11-13 10:35:56 -05:00
Bert Belder
adab69bccc
Upgrade rust crates (#3292) 2019-11-07 16:21:51 -08:00
Ryan Dahl
508d728b5e upgrade: V8 8.0.192 2019-11-07 17:58:05 -05:00
Ry Dahl
af61dbed87 Upgrade node_modules, change tagline, clean up root directory (#3247)
* Upgrade node_modules
* Simplify tagline
* Move gclient_config.py out of root
* Move package.json to tools
* Remove yarn.lock
* Remove CONTRIBUTING.md
2019-10-31 19:33:27 -07:00
Ry Dahl
8f571ef166
Remove TTY tests - dead code (#3229) 2019-10-29 17:52:57 -04:00
Andy Hayden
49e04fb240 fix race condition in test http server (#3237) 2019-10-29 16:06:14 -04:00
Ry Dahl
38f01f73a4
Move prebuilt binaries to third_party (#3227) 2019-10-28 22:04:24 -04:00
Andy Hayden
f484776384 Use top-level for-await in various places (#3217) 2019-10-28 15:58:35 -04:00
Andy Hayden
aec5a646c9 feat: top-level-for-await (#3212) 2019-10-27 09:04:42 -04:00
Ry Dahl
1d8f3cc896
Remove old website (#3194)
Move manual.md and style_guide.md into //std so they can be accessed
from https://deno.land/std/manual.md

Code for new website is https://github.com/denoland/deno_website2

Co-authored-by: Christian Moritz <chrmoritz@gmail.com>
2019-10-24 16:14:05 -04:00
JaePil Jung
4bebbda8db Small cleanups in perrmission_prompt_test.ts (#3188) 2019-10-23 00:31:46 -07:00
Ry Dahl
dc80dd2ace
Add TextDecoder benchmark (#3180) 2019-10-22 18:50:56 -04:00
Ryan Dahl
99d8ac70db Fix tools/docs.py (#3135) 2019-10-16 11:31:37 -07:00
Yusuke Sakurai
c1b302d769 fix: remote jsx/tsx files were compiled as js/ts (#3125) 2019-10-16 13:35:04 -04:00
Nayeem Rahman
04ed8d0531 Ensure DENO_DIR when saving the REPL history (#3106) 2019-10-11 10:12:39 -07:00
Ryan Dahl
93f7f00c95
Run deno_std tests in github actions 2019-10-09 17:22:22 -04:00
Christian Moritz
3e02d7ddbc refactor benchmark results posting (#3076) 2019-10-06 11:18:15 -04:00
Christian Moritz
33e3ff5de8 remove appveyor specific code paths (#3071) 2019-10-05 21:19:00 -04:00
Ryan Dahl
b81e5db17a
Merge deno_cli_snapshots into deno_cli (#3064) 2019-10-04 20:28:51 -04:00
Ryan Dahl
ddcad56ee9
Move deno_std to a more convenient location. (#3057)
js/deps/https/deno.land/std -> js/std
2019-10-04 14:49:32 -04:00
Ryan Dahl
5f7ab4884c
Use 0.0.0.0 for servers in benchmarks and tests (#3010) 2019-09-30 12:35:48 -04:00
Christian Moritz
726f08694b tools: fix cc_wrapper in setup.py (#3017) 2019-09-24 15:19:23 -04:00
Ryan Dahl
97bb2bdb79
dial/listen API change (#3000)
Previously: dial("tcp", "deno.land:80")
Now: dial({ hostname: "deno.land", port: 80, transport: "tcp" })
Similarly with listen().
2019-09-20 18:32:18 -04:00
Ryan Dahl
56ac638d93
Remove test.py, use cargo test as test frontend (#2967)
Fixes #2933
2019-09-19 14:48:05 -04:00
Bert Belder
a130e8858b
Clean up miscellaneous metafiles (#2981)
The yarn.lock file is moved from //third_party to the root of
the main repository. This is where other package metadata
files (e.g. Cargo.lock and package.json) are also located.
2019-09-19 03:32:48 +02:00
Ryan Dahl
4a807f4225
First pass at github actions (#2966) 2019-09-18 17:23:27 -04:00
Bert Belder
02cb34d8ad
Fix and enable linting of deno_typescript/*, tools/*, website/* (#2962) 2019-09-16 23:30:56 +02:00
Ryan Dahl
c9ef182886
Make deno_cli installable via crates.io (#2946)
- Fixes cargo publish on deno_typescript, deno_cli_snapshots, and
  deno_cli.
- Combines cli_snapshots and js into one directory.
- Extracts TS version at compile time rather than runtime
- Bumps version awkwardly - it was necessary to test end-to-end
  publishing. Sorry.
- Adds git submodule deno_typescript/typescript
2019-09-15 18:36:27 -04:00
Christian Moritz
9c282d6a0e
Move GN root into //core/libdeno (#2943) 2019-09-15 22:12:12 +02:00
Bert Belder
c8184eceb0
tools: remove unused function 'find_exts()' (#2950) 2019-09-15 20:12:16 +02:00
Bert Belder
63e1a4cf2b
tools: do not use 'find_exts()' in benchmarks.py (#2950) 2019-09-15 20:12:16 +02:00
Bert Belder
fbfd895bc7
tools: refactor lint.py and format.py (#2950) 2019-09-15 17:47:51 +02:00
Bert Belder
456b75cbf9
tools: add 'shell' parameter to 'run()' (#2950) 2019-09-15 17:47:51 +02:00
Bert Belder
e7d1da3671
tools: clean up third_party.py, and merge prebuilt.py into it (#2950)
* Remove reference to removed dir 'third_party/rust_crates'.
* Remove reference to unused environment variable 'DENO_NINJA_PATH'.
* Remove helper functions 'root()' and 'tp()'.
* Move definition of 'third_party_path' to build.py.
* Move definition of 'gn_exe()' to setup.py.
* Move 'download_sccache()' and 'download_hyperfine()' from prebuilt.py
  to third_party.py, and delete prebuilt.py.
* Add helper function 'get_platform_dir_name()' to locate the
  platform-specific 'v8/buildtools/<platform>' and
  'prebuilt/<platform>' directories.
* Add helper function 'get_prebuilt_tool_path()' that returns the full
  path to a platform-specific executable in //prebuilt.
* Cosmetic improvements.
2019-09-15 17:47:50 +02:00
Bert Belder
d936c49d53
tools: consistently use 'sys.executable' instead of 'python' (#2950) 2019-09-15 17:47:50 +02:00
Ryan Dahl
aa7a0f4bd8
Fix tools/cargo_package.py (#2940) 2019-09-13 16:39:42 -04:00
Bert Belder
ac68f628d2
Upgrade rust crates 2019-09-13 00:38:02 +02:00
Christian Moritz
19cd8deaf2 tools: download gn from CIPD (#2912) 2019-09-11 18:22:23 -04:00
Ryan Dahl
82dc1b8e59
Upgrade pylint (#2917)
depot_tools is removing pylint from its distribution so we must maintain
our own copy.
2019-09-11 16:47:42 -04:00
Bartek Iwańczuk
85c51404ae feat: Set user agent for http client (#2916) 2019-09-11 07:31:00 -04:00
Bert Belder
df5b6cdd7f
Remove error message mentioning build.py 2019-09-10 20:23:59 -07:00
Ryan Dahl
dd70d8622b
Upgrade V8 to 7.9.8 (#2907)
//build was updated and our patch rebased:
https://github.com/denoland/chromium_build/tree/20190910_win_clang_depfile

V8 has removed the binaries third_party/v8/buildtools/*/gn.sha1 and started 
using CIPD. In this patch, I've hacked in the original .sha1 files and continue to
use download_from_google_storage instead of the new CIPD. This will be fixed
in later work.
2019-09-10 19:18:31 -04:00
Ryan Dahl
49aea7abbc
Minor fixes in tools/ (#2906)
* Fix tools/docs.py

* Remove dead code: sync_rust_crates.py
2019-09-10 14:34:54 -04:00
Bartek Iwańczuk
acee1944b9 feat: Make integration tests rust unit tests (#2884)
Co-authored-by:  Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-10 11:09:54 -04:00
Ryan Dahl
acaff6d056
Remove tools/build.py (#2865)
Testing regression: ASAN build removed.
2019-09-06 20:32:58 -04:00
Ryan Dahl
9d62d77cfa
Run tests after "cargo build" on travis (#2854) 2019-09-04 17:16:46 -04:00
Ryan Dahl
d43b43ca78
Refactor snapshot build (#2825)
Instead of using core/snapshot_creator.rs, instead two crates are
introduced which allow building the snapshot during build.rs.

Rollup is removed and replaced with our own bundler. This removes
the Node build dependency. Modules in //js now use Deno-style imports
with file extensions, rather than Node style extensionless imports.

This improves incremental build time when changes are made to //js files
by about 40 seconds.
2019-09-02 17:07:11 -04:00
Nayeem Rahman
df2f54b2a6 Fix REPL '_' assignment, support '_error' (#2845) 2019-08-31 15:17:56 -04:00
Kevin (Kun) "Kassimo" Qian
07c3c76d0d Save last execution result in for REPL (#2843) 2019-08-31 02:45:35 -04:00
Ryan Dahl
c370f749b2
Remove ts_library_builder, maintain lib.deno_runtime.d.ts by hand (#2827) 2019-08-30 11:11:33 -04:00
Bert Belder
e939ec0f21
third_party: upgrade 'rustls' and related crates 2019-08-29 10:45:09 -07:00
Ryan Dahl
725eb98105
Clean up various flatbuffer references (#2819) 2019-08-26 22:29:51 -04:00
Ryan Dahl
f94900406d
Remove flatbuffers (#2818) 2019-08-26 17:02:34 -04:00
Ryan Dahl
7ff67017f2 Move TestFmt to the end of tests, because slow 2019-08-26 14:56:42 -04:00
Bartek Iwańczuk
017f88ee99 fix: shared queue requires aligned buffer (#2816) 2019-08-26 07:48:40 -04:00
Ryan Dahl
de713e42c8
Upgrade to rust 1.37.0 (#2786) 2019-08-16 20:49:00 -04:00
Kevin (Kun) "Kassimo" Qian
286ee1d8b6 Fix dynamic import base path problem for REPL and eval (#2757) 2019-08-09 16:33:59 -07:00
Daniel Buckmaster
520bdb6c31 Fix repl crash when deno dir doesn't exist (#2727) 2019-08-08 07:25:39 -04:00
Ryan Dahl
a517513182
Remove Deno.build.args feature (#2728)
This is a minor feature which complicates the build signifigantly.
Removing to ease refactoring the build system:
https://github.com/denoland/deno/issues/2608
2019-08-05 18:00:45 -04:00
Kevin (Kun) "Kassimo" Qian
52c13fb3ed Enforce env permission on homeDir() and execPath (#2714) 2019-08-03 21:34:13 -04:00
Bert Belder
c6861b537e
third_party: upgrade rust crates 2019-08-02 18:59:54 +02:00
Ryan Dahl
3971dcfe10
Use system rustfmt instead of fixed binary (#2701) 2019-07-31 17:11:37 -04:00
Bartek Iwańczuk
e7cee29c84 Add --current-thread flag (#2702) 2019-07-31 11:02:20 -04:00
Bartek Iwańczuk
ff96e3dc63 benchmarks: make latency benchmark less noisy (#2689) 2019-07-28 21:31:18 +00:00
Bartek Iwańczuk
187310a3e1 benchmarks: add bundle size (#2690) 2019-07-28 10:11:08 +00:00
Ryan Dahl
bc12a3ba56
Reorder tools/format.py so slowest are last (#2661) 2019-07-18 15:00:50 -04:00
Bartek Iwańczuk
8214b686ce Refactor DenoDir (#2636)
* rename `ModuleMetaData` to `SourceFile` and remove TS specific
  functionality

* add `TsCompiler` struct encapsulating processing of TypeScript files

* move `SourceMapGetter` trait implementation to `//cli/compiler.rs`

* add low-level `DiskCache` API for general purpose caches and use it in
  `DenoDir` and `TsCompiler` for filesystem access

* don't use hash-like filenames for compiled modules, instead use
  metadata file for storing compilation hash

* add `SourceFileCache` for in-process caching of loaded files for fast
  subsequent access

* define `SourceFileFetcher` trait encapsulating loading of local and
  remote files and implement it for `DenoDir`

* define `use_cache` and `no_fetch` flags on `DenoDir` instead of using
  in fetch methods
2019-07-17 18:15:30 -04:00
Ryan Dahl
bd6ebb32df
hyper_hello should be in its own crate (#2641)
So that "cargo build" will build it when the gn frontend is eventually
removed.
2019-07-15 14:00:27 -04:00
Ryan Dahl
1fde15c0bc
Fix REPL when it receives EOF (#2638) 2019-07-12 10:23:08 -04:00
Yoshiya Hinosawa
a948f9ff54 io: change Reader interface (#2591)
Instead of returning { nread: number, eof: bool }, read() returns EOF | number.
2019-07-06 10:16:03 -04:00
Bartek Iwańczuk
9d18f97327 fix: normalize Deno.execPath (#2598) 2019-06-30 13:32:24 -04:00
Yoshiya Hinosawa
1068b4848c ts_library_builder: update README (#2604) 2019-06-30 10:52:28 -04:00
Long(Tony) Lian
1d0d54247c feat: fetch() now handles redirects (#2561) 2019-06-24 06:34:09 -07:00
Yoshiya Hinosawa
201ddd29a7 fmt_test: resolve old absolute path issue (#2562) 2019-06-22 07:21:39 -07:00
Ryan Dahl
8693d0e0a7 Split up tools/sync_third_party
This is just encoding my actual workflow; not suggesting that this
workflow is ideal. Previously I would edit sync_third_party.py each time
I ran it.
2019-06-12 10:57:58 -04:00
Ryan Dahl
912e4f7177
feat: default output filename for deno bundle (#2484)
And improve bundle docs
2019-06-11 14:38:19 -04:00
Ryan Dahl
508e9849ff
Move TestFmt to end of tests (#2491) 2019-06-11 11:11:12 -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
Kurt Mackey
341150266e add http proxy benchmark (#2462) 2019-06-06 12:44:35 -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
Kitson Kelly
d438a6d259 Upgrade TypeScript to 3.5.1 (#2437) 2019-06-01 11:13:36 -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
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
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
Bartek Iwańczuk
824542e61e chore: Port Python tests to unittest (#2408) 2019-05-27 09:27:55 -04:00
Bartek Iwańczuk
1105982586 re-fix permissions for dial and listen (#2400)
Closes #2397
2019-05-23 23:47:55 +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
7219787894 Fix permissions for dial and listen (#2373) 2019-05-17 14:50:53 -04:00
Bert Belder
6e7ccf0b49
tools: format .gn files in the 'cli' directory 2019-05-16 19:57:31 -07:00
Ryan Dahl
160a815767
Rename HTTP benchmarks (#2350) 2019-05-14 15:22:50 -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
Bartek Iwańczuk
ac8c6fec5b Refactor unit test runner (#2294)
Properly discovers the permissions needed for each test.
2019-05-08 19:15:24 -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