Commit graph

1045 commits

Author SHA1 Message Date
Kevin (Kun) "Kassimo" Qian 534b8d3021 Follow redirect location as new referrers for nested module imports (#2031)
Fixes #1742
Fixes #2021
2019-04-01 21:46:40 -04:00
andy finch b0a23beb8f Add web worker JS API (#1993)
* Refactored the way worker polling is scheduled and errors are handled.
* Share the worker future as a Shared
2019-04-01 15:09:59 -04:00
Kitson Kelly ada5ffa610 Upgrade to TypeScript 3.4.1 (#2027) 2019-04-01 12:47:25 -04:00
Bert Belder 97265895ba
Publish rust crate on crates.io (#2024) 2019-03-31 17:22:02 -04:00
Ryan Dahl 6744bb8d75
Call ninja directly from build.rs (#2020) 2019-03-30 19:27:00 -04:00
Ryan Dahl c9614d86c1
Move //libdeno to //core/libdeno (#2015)
Fixes some sed errors introduced in c43cfe.

Unfortunately moving libdeno required splitting build.rs into two parts,
one for cli and one for core.

I've also removed the arm64 build - it's complicating things at this
re-org and we're not even testing it. I need to swing back to it and get
tools/test.py running for it.
2019-03-30 14:45:36 -04:00
Ryan Dahl c25e262b04
Merge the --recompile and --reload flags (#2003) 2019-03-28 16:05:41 -04:00
Bartek Iwańczuk 5ae78eb1de Update ts_library_builder (#1920) 2019-03-25 00:23:24 -04:00
Bernard Lin 3cc90d9bcf Add benchmark for max latency (#1975) 2019-03-24 23:36:27 -04:00
Ryan Dahl 12753e492f
Website updates (#1984) 2019-03-22 11:34:47 -04:00
Ryan Dahl fa3c35301a
Rename //src/ to //cli/ (#1962)
To better distinguish the deno_core crate from the executable deno,
which will now be called "the cli" internally.
2019-03-19 12:18:05 -04:00
Ryan Dahl c7d81fa9ff Make write_gn_args.py quiet 2019-03-19 03:50:47 -04:00
Ryan Dahl 8f3d0ca664 Deprecate DENO_BUILD_MODE=release
Instead use: tools/build.py --release
2019-03-19 03:50:47 -04:00
andy finch e98d3391de Re-enable permissions prompt tests (#1957) 2019-03-18 18:54:59 -04:00
Ryan Dahl 44773c9b0f Integrate //core into existing code base
This disables a few tests which are broken still:
- tests/error_004_missing_module.test
- tests/error_005_missing_dynamic_import.test
- tests/error_006_import_ext_failure.test
- repl_test test_set_timeout
- repl_test test_async_op
- repl_test test_set_timeout_interlaced
- all of permission_prompt_test
2019-03-18 17:17:08 -04:00
Ryan Dahl 33438b83a2 Re-order tests for sanity 2019-03-18 17:17:08 -04:00
andy finch 08a674bf91 More permissions prompt options (#1926) 2019-03-18 16:46:23 -04:00
Ryan Dahl 59ac2063e0 Remove unused tools/build_test.py file 2019-03-18 14:07:24 -04:00
Ryan Dahl 52b7cc5499 Fix entry point for tools/docs.py 2019-03-18 14:07:24 -04:00
Ryan Dahl 1811318097 core: Behavior shouldn't be generic
We always pass around Box<[u8]>, and adding this generic is an
unnecessary complication.

Add deno_core_http_bench_test to test.py

sharedQueue works on deno_core_http_bench
2019-03-15 10:58:18 -04:00
Ryan Dahl 76c73ec61e
Add --no-binary-download option to setup.py (#1916) 2019-03-15 10:06:17 -04:00
andy finch 7e09221031 --no-prompt flag for non-interactive environments (#1913) 2019-03-13 12:43:47 -04:00
Kitson Kelly 75a500ba81 Update to TypeScript 3.3 (#1908) 2019-03-11 10:53:18 -04:00
Kitson Kelly 034e2cc028 Migrate from tslint to eslint for linting (#1905) 2019-03-09 12:30:38 -05:00
Kitson Kelly 24d6bf6aeb Remove 'deno' builtin module (#1895) 2019-03-07 21:56:56 -05:00
Kitson Kelly 0473d832c1 Cleanup node_modules, update packages (#1894)
And fix new lint issues.
2019-03-07 08:53:56 -05:00
Andy Hayden 91364cabae Replace deno.land/x/std with deno.land/std (#1890) 2019-03-06 10:23:47 -05:00
Bert Belder ee29ed79a7
tools/run_node: only create 'node_modules' symlink once
Previously run_node.py would always attempt to remove and then re-create
the 'target/xx/node_modules' symlink. This causes sporadic build errors
on windows when multiple build targets that use run_node.py are being
built concurrently.
2019-03-04 21:01:52 -08:00
Bert Belder 860be9f0de
tools: remove fix_symlinks() function
This fixes an issue on Windows that causes build to fails when
fix_symlinks() is called concurrently with another build step.

It is also no longer necessary, since recent versions of git know how to
properly create symbolic links on checkout.
2019-03-04 21:01:52 -08:00
Yoshiya Hinosawa a7bb8ccce8 Add Deno.version.gnArgs (#1845)
To display specific build args passed to GN.
2019-03-01 19:33:28 -05:00
Ryan Dahl b8a537d020
deno_core (#1827)
A new low-level crate with focus on speed. 
This doesn't yet hook into the existing code base.
2019-02-26 17:36:05 -05:00
Ryan Dahl e109941bd2 Improve readme (#1822) 2019-02-21 20:22:44 -08:00
Dmitry Sharshakov 4dc4329e27 Add execPath function (#1743) 2019-02-15 11:22:02 -05:00
Ryan Dahl 748e456cdb
Use prebuilt hyperfine (#1755) 2019-02-14 18:18:24 -05:00
Ryan Dahl f29c40a433
Decouple ts_library_builder from std/testing (#1749) 2019-02-12 15:22:43 -05:00
Ryan Dahl 0b0d962eb9
Revert "Rewrite tools/format.py in deno (#1528)" (#1752)
tools/format.ts is making CI flaky and it's difficult to run right now.
Reverting to tools/format.py

This reverts commit f19622e768.
2019-02-12 15:20:32 -05:00
Kitson Kelly a21a5ad2fa Add Deno global namespace (#1748)
Resolves #1705

This PR adds the Deno APIs as a global namespace named `Deno`. For backwards
compatibility, the ability to `import * from "deno"` is preserved. I have tried
to convert every test and internal code the references the module to use the
namespace instead, but because I didn't break compatibility I am not sure.

On the REPL, `deno` no longer exists, replaced only with `Deno` to align with
the regular runtime.

The runtime type library includes both the namespace and module. This means it
duplicates the whole type information. When we remove the functionality from the
runtime, it will be a one line change to the library generator to remove the
module definition from the type library.

I marked a `TODO` in a couple places where to remove the `"deno"` module, but
there are additional places I know I didn't mark.
2019-02-12 10:08:56 -05:00
Ryan Dahl a4dec944bc
web design (#1728) 2019-02-11 17:41:13 -05:00
Kevin (Kun) "Kassimo" Qian 489c69f8e1 REPL multiline support with recoverable errors (#1731) 2019-02-11 14:01:28 -05:00
Yoshiya Hinosawa d26655371b fix: improve formatting (#1732) 2019-02-11 12:57:26 -05:00
Kevin (Kun) "Kassimo" Qian 1d36eb47eb Support scoped variables, unblock REPL async op, and REPL error colors (#1721) 2019-02-09 16:55:40 -05:00
Yoshiya Hinosawa 1502051453 Add read permission for format.ts (#1726) 2019-02-09 10:55:18 -05:00
J2P 65cafd2edf Add --allow-read test code 2019-02-09 05:57:41 -05:00
Bert Belder 394b81de15
Move .rustfmt.toml to the repository root
This allows rustfmt to automatically pick it up.
It's right there with similar files such as .prettierrc.
2019-02-08 20:06:21 -08:00
Ryan Dahl 526497bc29
Adds deno.noColor (#1716) 2019-02-08 22:13:04 -05:00
Yoshiya Hinosawa 4c869dc885 Use std/prettier in deno //tools/format.ts (#1708) 2019-02-08 21:38:59 -05:00
Dmitry Sharshakov 9ab03389f0 Add --allow-read (#1689)
Co-authored-by: Greg Altman <g.s.altman@gmail.com>
2019-02-08 15:59:38 -05:00
Ryan Dahl 46804e50ed
Color exceptions (#1698) 2019-02-07 20:07:20 -05:00
Dmitry Sharshakov 5c50d2819b Add emojis to permission prompts (#1684) 2019-02-07 16:19:50 -05:00
Dmitry Sharshakov aea7884d11 Make integration tests standalone (#1671)
Co-authored-by: Sergey Golovin <golovim@gmail.com>
2019-02-07 15:11:03 -05:00
Ryan Dahl 79b95341d9
Upgrade V8 to 7.4.98 (kKeep fix) (#1640)
* Upgrade V8 to 7.4.98 (kKeep fix)

https://github.com/denoland/deno/issues/814
https://bugs.chromium.org/p/v8/issues/detail?id=8761

* fix tests
2019-02-06 23:43:31 -05:00
Kitson Kelly 48fedee34e Add WebAssembly to runtime library (#1677)
This also modifies the `ts_library_builder` to support inlining assets.

Includes integration tests from @sh7dm
2019-02-05 08:12:58 -05:00
Dmitry Sharshakov 181b03273c Add isTTY function (#1622) 2019-02-02 22:05:30 -05:00
Ryan Dahl 18b815e336 Support --fmt 2019-02-02 17:48:43 -05:00
Ryan Dahl 98d20cd178 Make it possible to run one integration test at a time 2019-02-02 17:33:21 -05:00
Kevin (Kun) "Kassimo" Qian 3650bae5f6 Add --info flag to display file info (compiled code/source map) (#1647) 2019-02-02 01:28:31 -05:00
Ryan Dahl eff7a1484e
Upgrade deno_std to bef7ba (#1609) 2019-01-31 18:11:37 -05:00
Ryan Dahl 06c0e29118 Fix cpplint 2019-01-30 15:53:23 -05:00
Ryan Dahl b9e368cb4c
Add snapshot_compiler.bin to binary size benchmark (#1611) 2019-01-30 14:01:13 -05:00
Sergey Golovin 240ca25617 Add repl functions "help" and "exit" (#1563) 2019-01-29 14:41:12 -05:00
JaePil Jung 7f88b5fff3 Minor code cleanups (#1570) 2019-01-24 10:54:43 -05:00
Yoshiya Hinosawa 77114fbda4 chore: update license lines (#1557) 2019-01-21 13:03:30 -06:00
Yoshiya Hinosawa f19622e768 Rewrite tools/format.py in deno (#1528)
Note: findFiles and findFilesWalk are borrowed from the previous
attempt of @pseudo-su (#1434)
2019-01-17 15:09:44 -05:00
J2P befc6b2e76 Fixed copyright of types output 2019-01-17 14:44:31 -05:00
Kitson Kelly 00b655add1 Add globalThis definition to runtime (#1534) 2019-01-16 17:57:15 -05:00
Kevin (Kun) "Kassimo" Qian c870cf4082 Add --prefetch flag for deps prefetch without running (#1475) 2019-01-15 12:19:58 -05:00
Ryan Dahl 8ae178e9ce
Fix permission_prompt_test (#1509) 2019-01-13 12:09:45 -05:00
JaePil Jung 37e3db00a2 Add --allow-run test code (#1504) 2019-01-12 11:29:45 -05:00
Maxim Mazurok 3634488caa Fix flaky REPL test (#1491)
Fixes #1490
2019-01-09 15:32:05 -05:00
Ryan Dahl 4f62a56f90
Move testing module to deno_std (#1451)
Upgrades deno_std submodule.
2019-01-03 14:55:22 -05:00
Kevin (Kun) "Kassimo" Qian 8d452d74fa Support more fetch init body types (#1449) 2019-01-03 06:41:20 -05:00
Ryan Dahl 2c477dd7cb Happy new year! 2019-01-02 02:37:08 +01:00
Kevin (Kun) "Kassimo" Qian 73fb98ce70 Lazily create .mime files only with mismatch/no extension (#1417) 2018-12-27 20:40:06 +00:00
Ryan Dahl 32e1641628 deno_net -> deno_std rename
Also don't format external js/deps
2018-12-24 11:31:17 -05:00
Kevin (Kun) "Kassimo" Qian cbee2895b3 Implement Body.formData for fetch (#1393) 2018-12-21 17:09:53 -05:00
Ryan Dahl aa66ef98ea
travis: Set CARGO_HOME to third_party/rust_crates (#1370)
Adds prebuilt hyperfine and sccache binaries 

Only build test_cc for LSAN

Add Cargo.lock

Only run benchmarks in master
2018-12-18 21:09:30 -05:00
Ryan Dahl 7a0d9370e8 Load sccache from S3 on CI 2018-12-18 15:15:08 -05:00
Bert Belder b40326875c Remove prebuilt v8 support 2018-12-18 15:15:08 -05:00
Ryan Dahl 0481d6c2c0
Enable jumbo build in release. (#1362) 2018-12-18 09:16:49 -05:00
Ryan Dahl bba1a0d44a tools: remove_and_symlink can be skipped on unix
This is more optimial and this fixes a problem where occasionally
remove_and_symlink will error with:

    gen/compiler_bundle/main.js --sourcemapFile /Users/rld/src/deno --silent
    Traceback (most recent call last):
      File "../../tools/run_node.py", line 18, in <module>
        util.remove_and_symlink(target_rel, "node_modules", True)
      File "/Users/rld/src/deno/tools/util.py", line 103, in remove_and_symlink
        symlink(target, name, target_is_dir)
      File "/Users/rld/src/deno/tools/util.py", line 141, in symlink
        os.symlink(target, name)
    OSError: [Errno 17] File exists
2018-12-11 15:07:38 -05:00
Ryan Dahl 9a960b9f58
Use stderr for exceptions (#1303) 2018-12-10 17:50:41 -05:00
Bartek Iwańczuk ba429ccde8 Add benchmark for net/http (#1289) 2018-12-07 16:36:16 -05:00
Kitson Kelly 6cc89b9e27 Use alternate TextEncoder/TextDecoder implementation (#1281)
This is faster and smaller.
2018-12-06 10:01:15 -08:00
Ryan Dahl 8373046719 Add LSAN build to travis.
For now it only runs test_cc and has to filter out a test which leaks.
However we will expand this over time until the entire build is LSAN clean.
2018-12-03 15:31:06 -08:00
Bert Belder 7d02971c2c
third_party: symlink //third_party/v8/build => //build 2018-12-03 12:14:05 -08:00
Ryan Dahl c5d8cf8eb6 Use pylint. 2018-11-30 11:33:45 -08:00
Ryan Dahl 122ccce89a Fix flaky REPL test. 2018-11-30 09:23:04 -08:00
Ryan Dahl cc126528f0
Add prebuilt/win/v8_debug.lib (#1249)
The windows debug build was broken due to libc link errors.
2018-11-29 23:25:59 -08:00
Ryan Dahl 1ac2934604 Make //build a git submodule
So we can float patches before sending them upstream.
https://github.com/denoland/chromium_build

Remove build_extra/toolchain
2018-11-29 23:12:38 -08:00
Ryan Dahl 84a1b4d793 Move libdeno build config to libdeno/BUILD.gn 2018-11-29 17:46:09 -08:00
Andy Hayden e6309b78b0 Cleanup setTimeout repl test and alphabetize tests 2018-11-29 11:53:17 -08:00
Kevin (Kun) "Kassimo" Qian 09aa9b9698 REPL unblock event loop AND fix REPL setTimeout fire problems 2018-11-28 15:25:30 -08:00
Ryan Dahl 89096c9210 Use prebuilt V8 library by default.
This still retains the ability to build V8 from scratch, with an number
of configurations. The prebuilt binaries were created using

DENO_BUILD_MODE=release ./tools/build.py v8
2018-11-27 15:47:31 -08:00
Ryan Dahl 65cce40a89 gitignore vim .swp files 2018-11-27 15:47:31 -08:00
Bert Belder 48bf4062e4 First pass at running subprocesses (#1156) 2018-11-16 12:07:40 +08:00
Ryan Dahl 765863e87a Add a simple doc generation tool.
And website upload tool.
2018-11-14 17:34:28 -08:00
Kitson Kelly 34b6b86c76 Ensure global type instances are available. 2018-11-09 08:39:49 -08:00
Ryan Dahl a18e51fd61
build: Use target/ instead of out/ (#1153) 2018-11-08 10:38:20 -08:00
Andy Hayden e9327be831 Support repl multiline input (#1165) 2018-11-06 11:19:16 -08:00
Andy Hayden 27ecfc1617 Add repl (#998)
- Running repl from js side.
- Add tests for repl behavior.
- Handle ctrl-C and ctrl-D.
2018-11-05 09:55:59 -08:00
Kitson Kelly 5e48a681c4 Fix issue with runtime lib generation. 2018-11-05 07:17:47 -08:00
Kitson Kelly 4e07783663 Improve integration test harness (#1142) 2018-11-04 11:52:31 -08:00
Kitson Kelly 765f229357 Improve robustness of lib builder. 2018-11-04 05:56:49 -08:00
Ryan Dahl 198e396ead
Support cargo check (#1128)
- Based on code from @qti3e and @piscisaureus in #724 and #1125
  respectively.
- TODO The DENO_BUILD_PATH env var must be supplied and must be an
  absolute path, this restriction should be removed in future work.
2018-10-31 11:11:10 -07:00
Ryan Dahl 0fbee30f05 Make format.py less verbose. 2018-10-30 17:42:19 -07:00
Kevin (Kun) "Kassimo" Qian a68403d090 Add application/x-typescript mime type support 2018-10-28 11:18:53 -07:00
Ryan Dahl 6adc87e3eb
Ergonomics: Prompt TTY for permission escalation (#1081) 2018-10-27 06:11:39 -07:00
Bert Belder dfe21af237
Disable treat_warnings_as_errors on windows when sccache is in use 2018-10-26 04:14:37 +02:00
Ryan Dahl 231bb9cfb6 Add error_001.ts to execution time benchmarks.
Ref #1087
2018-10-25 16:12:52 -07:00
Ryan Dahl 3438dbe350 Remove deno_ns 2018-10-24 14:52:38 -07:00
Ryan Dahl a4fb5175ce
Add node_tcp target to http_benchmark. (#1074) 2018-10-23 15:02:30 -07:00
Bert Belder e9bf206416
format: don't format files in third_party
It's annoying, and it also makes appveyor slow because it will re-upload
the third_party cache every time something changes in there.
2018-10-23 18:51:06 +02:00
Bert Belder 0dda87f962
third_party: install yapf with pip 2018-10-23 16:51:54 +02:00
Bert Belder 4ceb205512
Bundle pywin32 in third_party 2018-10-23 16:29:46 +02:00
Kitson Kelly 8ef7da2611 Enforce media types 2018-10-23 04:48:00 -07:00
Kitson Kelly 64f0dfd50e Improve globals for runtime type library 2018-10-22 19:37:38 -07:00
Ryan Dahl 47c96a6152 CI should fail when code isn't formatted. 2018-10-21 13:59:53 -07:00
Ryan Dahl bb9a927bd5 Add yapf to third_party. 2018-10-21 13:59:53 -07:00
Kyra fbb3f05b6f Add URLSearchParams (#1049) 2018-10-21 08:07:29 -07:00
Kevin (Kun) "Kassimo" Qian 86409eb836 Add Rust hyper http benchmark (#1043)
* Add go net/http benchmark

* Forget about Go. Let's do Rust Hyper

* Update BUILD.gn

* Rename
2018-10-20 19:56:16 -07:00
Yoshiya Hinosawa f44ecdff97 feat: show only 20 benchmark data in inde.html 2018-10-20 08:07:20 -04:00
Ryan Dahl 00884d7164 Add rustfmt to third_party. 2018-10-20 01:19:59 -04:00
Andy Hayden 2d583f85ee Exit http_server.py if it's crashed 2018-10-20 00:27:37 -04:00
ztplz b809a82fd9 Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
J2P 198fa31ec1 Fix a typo in http_benchmark.py 2018-10-19 09:07:55 -04:00
Ryan Dahl 213885a9d0 Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
Ryan Dahl 4e2e185de7 Add tools/build_test.py 2018-10-17 20:20:06 -04:00
Ryan Dahl 21bcdd49cd Only run deno during ./tools/http_benchmark.py 2018-10-17 16:02:00 -04:00
Yoshiya Hinosawa d4afbe6ef3 improve benchmark page performance and fix test (#1002) 2018-10-16 12:00:47 -04:00
Amos Lim a90cf4c2ee Interrupt http_server.py by ctrl + c (#1001) 2018-10-16 11:54:08 -04:00
Ryan Dahl c61a0f2f84 First pass at http benchmark. 2018-10-16 09:37:38 -04:00
Ryan Dahl 62962e71fe Fix throughput_benchmark 2018-10-16 09:37:38 -04:00
Ryan Dahl 590feb1c71 Format 2018-10-16 09:37:38 -04:00
Jinho Bang 28682a1d2c Fix a binary size regression
This patch changes Jumbo build to use only in debug mode.
2018-10-15 14:22:15 -04:00
Kitson Kelly 25c97962f4 Update to TypeScript 3.1 and ts-simple-ast 17 (#980) 2018-10-15 12:47:48 -04:00
Amos Lim 15590a0cde Specify deno_dir location with env var DENO_DIR (#970)
(Use C:\deno instead of c:\deno in appveyor config because it's cloned to c:\ by clone_folder variable in .appveyor.yml. On the other hand, build directory is pointed to C:\ by $(APPVEYOR_BUILD_FOLDER) so that test targets are placed on separated partitions.)
2018-10-15 12:08:19 -04:00
Kitson Kelly 298d755152 Add support for --types 2018-10-11 20:29:43 -04:00
Kitson Kelly ec402c6932 Replace globals.d.ts with lib.deno_runtime.d.ts 2018-10-11 20:29:43 -04:00
Ryan Dahl d4f72e18be
Improve tools/unit_tests.py (#958)
Checks the output more carefully. The first line of output from
js/unit_tests.ts should be something like "running 96 tests"
And the last line should be something like
"test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 36
filtered out"
This parses those strings and make sure they align.

This will catch silent death bugs.
2018-10-11 16:56:50 -04:00
Ryan Dahl c814d5a914
Add throughput benchmark (#961) 2018-10-11 16:55:22 -04:00
Bartek Iwańczuk 51f9331ecb Add deno.metrics() 2018-10-11 15:45:51 -04:00
Kevin (Kun) "Kassimo" Qian 888824c617 Add redirect follow feature (#934) 2018-10-09 20:31:06 -04:00
cedric05 ba6c617432 tslint warning supress using tsconfig 2018-10-05 21:13:35 -04:00
Ryan Dahl ab952e3340 Format 2018-10-05 14:27:47 -04:00
Chris Bystrek 6a649012bc Changed tools/lint.py to lint the entire js and tests directories. (#900)
* Changed tools/lint.py to lint the entire js and tests directorys and sub directories, currently it was pointing at tsconfig and would only lint files that were part of js/main.ts or node_modules/typescript/lib/lib.esnext.d.ts and their dependencies

* Broke the typescript linting out into separate steps for the main typescript programing and tests.

* Fixed linting issues in ts tests.
2018-10-05 07:29:55 -04:00
Bert Belder 8ca082c508
tools/format: format markdown files with prettier 2018-10-04 02:02:23 -07:00
Ryan Dahl b7fd6e9c69 Add fetch_deps syscall count benchmark. 2018-09-30 16:35:12 -04:00
Bert Belder 4c6f37cec3
tools: define ERROR_INVALID_PARAMETER in utils.py
Fixes #865.
2018-09-30 12:44:58 -07:00
Andy Hayden bf93ca54dd Ensure spawning python server twice raises an exception.
Previously it would dump the traceback but not raise.
It's unclear if serve_forever could crash for some other reason,
but the main reason spawn throws is if the port is already in use.
2018-09-27 15:49:43 -04:00
Kevin (Kun) "Kassimo" Qian 32806b1871 Expand binary size benchmark (#830) 2018-09-26 14:16:22 -07:00
Bert Belder 206d4f5c17
tools/setup: detect sccache presence and use it to cache rustc targets 2018-09-26 10:25:58 -07:00
Bert Belder f10012facf
build: let rustc pick filenames, remove rust depfile hack
Fixes #787.
2018-09-26 10:25:49 -07:00
Bert Belder 531a427d88
build: do not quote cc_wrapper on windows
This brings behavior inline with the unix toolchain, which also leaves
cc_wrapper unquoted. If necessary, add quotes in the setup phase instead.
2018-09-26 09:52:30 -07:00
Bert Belder 023b4640fc
tools/setup: add gn_string() utility function 2018-09-26 09:52:30 -07:00
Bert Belder 1b9424e9d7
tools: add shell_quote() utility function 2018-09-26 09:52:30 -07:00
Bert Belder 3a6da19eb8 Revert "Expand binary size benchmark (#830)"
This reverts commit 8c7416b3f6.
2018-09-26 08:35:12 -04:00
Kevin (Kun) "Kassimo" Qian 8c7416b3f6 Expand binary size benchmark (#830) 2018-09-25 20:08:09 -04:00
Ryan Dahl 1956d6846c Also plot cold start time. 2018-09-25 13:13:09 -04:00
Kevin (Kun) "Kassimo" Qian d957f8ebc2 Add syscall count benchmark for 002_hello.ts (#820)
* Add syscall count tracking for benchmark

* Add fetch_deps thread benchmark

* Switch to `strace -c` for syscall parsing

* Spawn http_server during benchmark (for fetch)

* Rename `benchmarks` to `exec_time_benchmarks`

* Update app_test.js
2018-09-24 23:58:18 -04:00
Kevin (Kun) "Kassimo" Qian 1729bdb0d7 Add thread count benchmark (#811) 2018-09-24 18:12:52 -04:00
Bert Belder 2e3a8b495d
tools: make color output work on windows 2018-09-24 13:45:03 -07:00
Yoshiya Hinosawa 9203e983d1 benchmark: track the binary size (#804) 2018-09-23 11:54:07 -04:00
Yoshiya Hinosawa 3747ec57e0
Add benchmark tools (#777) 2018-09-22 01:09:25 -07:00
Bert Belder 516e1da54c
Revert "Add benchmark tools (#777)"
This reverts commit 3ad48bdb3e.
2018-09-21 15:18:44 -07:00
Yoshiya Hinosawa 3ad48bdb3e Add benchmark tools (#777) 2018-09-21 12:06:59 -04:00
Bert Belder 3574c7a5d3
tools/setup: on windows, make env vars not affect gn gen output 2018-09-10 04:29:18 +02:00
Bert Belder 8ace0f142f
tools/format: don't format files in third_party on Windows 2018-09-10 02:20:21 +02:00
Bert Belder 9b052ace09
tools/setup: replace generated args.gn unless handcrafted 2018-09-08 23:55:18 +02:00
Bert Belder 30b268dd7d
build: override host_toolchain on windows to use sccache with v8 2018-09-08 23:55:18 +02:00
Ryan Dahl 7784b0e17e Move installer to its own repo.
https://github.com/denoland/deno_install

1. This allows the installer to use a more aggressive CI build matrix
   with different version of python.

2. Running the installer during tools/test.py artificially inflates our
   download stats.

3. Running the installer during tools/test.py makes the test script
   dependent on having an internet connection.

4. Running the installer during tools/test.py introduces a race
   condition during release - where it tries and fails to download the
   latest release in build process that should be uploading that release.
2018-09-06 10:22:15 -04:00
Ryan Dahl 43aead854f Add --reload to JS unit tests.
Fixes #677
2018-09-05 22:27:47 -04:00
Bert Belder 2c0d00840d
tools/build: skip build path detection when given '-C «dir»' ninja arg 2018-09-05 01:24:55 +02:00
Ryan Dahl 787832c68e Format. 2018-09-03 10:45:58 -04:00
Andy Hayden 89dddca3b4 Refactor release_url to take platform as an argument 2018-09-01 10:40:08 -04:00
Andy Hayden c0ef797fc9 Avoid using temporary directory in install.py 2018-09-01 10:40:08 -04:00
Mirko Jotic 3d063223cc Add release installer (#639) 2018-08-31 20:55:04 -04:00
Aaron Power f131445a46 Implemented deno.env and refactored flags.rs 2018-08-31 13:18:24 -04:00
Ryan Dahl a63d794c7f Fix lastchange rebuild problem.
lastchange.py is causing a full rebuild on every commit. This is a
temporary workaround.
2018-08-29 12:05:58 -04:00
Bert Belder 542eb54254
tools: make sha256sum.py more generic and move it to 'tools' 2018-08-29 12:28:11 +02:00
Bert Belder fe9ca53bc2
tools/setup: don't overwrite existing args.gn 2018-08-28 02:01:42 +02:00
Bert Belder 7e3d9f8f2b
format 2018-08-28 02:01:41 +02:00
Ryan Dahl 85ebc6b1ac Run lastchange.py during setup.py 2018-08-27 19:23:53 -04:00
Ryan Dahl e13f3c10ca Add ability to unit test by permissions. 2018-08-27 17:51:24 -04:00
Ryan Dahl fde96a8e43 allow_reuse_address for test http server. 2018-08-27 17:51:24 -04:00
Bert Belder 4747f50f52
tools/format: fix clang-format glob pattern 2018-08-26 18:27:12 +02:00
Bert Belder 3bcf7e271f
Build: make it possible to use ccache/sccache on windows
Also auto-detect the availability of sccache in setup.py.
2018-08-25 14:16:41 +02:00
Ryan Dahl e2f9b0e6fd First pass at HTTP imports
Implement --reload

Integrate hyper errors into DenoError

In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-23 09:41:08 -04:00
Ryan Dahl 7d7263c48f Implement writeFileSync
In collaboration with Tommy Savaria <tommy.savaria@protonmail.ch>
2018-08-22 18:39:07 -04:00
Ryan Dahl 790baae673 Expose deno.exit() and add test. 2018-08-21 18:34:56 -04:00
Ryan Dahl f7fd238953 Enable http server for tests. 2018-08-20 16:53:39 -04:00
Ryan Dahl 81b042c8db
Rename :all target to :default 2018-08-18 01:09:48 +02:00
Bert Belder 3640ea4c0d
build: don't clobber rust depfile mtime when fixing its paths
This avoids ninja unnecessarily rebuilding rust targets.
Add a check for problems like these to be run on appveyor.
2018-08-18 00:58:01 +02:00
Ryan Dahl 3f7d61a589 Add yarn.lock to third_party
Prevents upgrades with running tools/sync_third_party.py
2018-08-17 15:11:32 -04:00
Yoshiya Hinosawa 67d89ff692 chore: download clang-format from google storage 2018-08-17 12:58:58 -04:00
Yoshiya Hinosawa 565a21eb0e chore: format files in tests/ 2018-08-17 12:43:21 -04:00
mervynzhang e41ee9bf4c import sys since sys.exit(1) used 2018-08-17 11:00:57 -04:00
Kitson Kelly c4cafcecb1 Support wildcard matching of output in tests 2018-08-10 11:50:45 -07:00
Ryan Dahl 9d90c4ae95
Adds js/unit_tests.ts (#448) 2018-08-09 14:48:17 -07:00
Ryan Dahl 038c5f0727 Remove RUSTFMT_FLAGS 2018-08-08 18:35:26 -07:00
Ryan Dahl 4a1ccdeadb Change rustfmt flags. For v0.8.2. 2018-08-08 18:35:26 -07:00
Ryan Dahl f632797bc8 Print output even when test failed. 2018-08-08 18:35:26 -07:00
Ryan Dahl 942b3090e7 Remove yarn.lock
Fixes #393.
2018-08-08 10:08:18 -07:00
Ryan Dahl 229e3b80c5 Improve rust build docs 2018-08-03 10:04:12 -04:00
Ryan Dahl 7fe656f4b9 Add 005_more_imports.ts
And run check_output_test in order.
2018-08-02 12:49:40 -04:00
Bert Belder 788b0795de
util: make symlink() work on older Windows versions 2018-08-02 02:59:37 +02:00
Bert Belder e5b7d31aba
tools/setup: avoid running gn gen twice in the same output directory 2018-08-02 02:59:36 +02:00
Bert Belder 1a6ba1f812
tools: fix tools/clang symlink on startup 2018-08-02 02:59:36 +02:00
Ryan Dahl b44c235579 Install sysroot on linux. 2018-07-29 00:24:16 -04:00
Ryan Dahl db65c723ae Rename run_hooks.py to setup.py
Moves 'gn gen' into setup.py

Make tools/build.py more ergonomic.
2018-07-29 00:24:16 -04:00
Kitson Kelly 5d146ed742 Ignore any generated TypeScript files 2018-07-27 10:06:29 -04:00
Ryan Dahl 6b49944da1 Simplify run_rustc.py output. 2018-07-26 11:38:03 -04:00
Kitson Kelly 5562c36824 Remove msg_generated hack (#409) 2018-07-25 23:07:50 -04:00
Bert Belder 4d08bb85a4
Clean up and fix tools
* Make sync_third_party work in general
* Un-break build.py and run_hooks.py on windows
* Partially fix format.py on windows
* Reduce code duplication between run_hooks and sync_third_party
2018-07-25 20:13:17 +02:00
Ryan Dahl 0875411267
Add tools/build.py (#398)
To allow better tab completion for ./tools/build.py
mv build_third_party.py sync_third_party.py
2018-07-24 13:42:23 -04:00
Ryan Dahl 0213053856 Remove handlers crate target.
- Add build scripts for Rust flatbuffers.
- Rewrites some reply.cc methods in Rust.
- Changes some struct elements to table in msg.fbs (rust flatbuffers
  lacks support currently)
- Renames handlers_test to test_rs.
- This reorg is needed to make progress on the code cache handler.
2018-07-24 12:29:54 -04:00
Ryan Dahl 7baf8a0fd1 Fix recursive globbing in tools/format.py
And use third_party/depot_tools/gn.
2018-07-24 12:29:54 -04:00
Bert Belder dcaf9b3227
Make check_output_test.py tolerate CRLF line endings in test output 2018-07-22 03:50:22 +02:00
Ryan Dahl dff5c16e85
Add tools/test.py test runner. (#384) 2018-07-21 19:08:24 -04:00
Bert Belder 709b0cb90c Fix symlink creation on windows 2018-07-21 13:04:11 -04:00
Ryan Dahl 5d1cb54261 Add deno_third_party as git submodule. 2018-07-21 13:04:11 -04:00
Ryan Dahl 21c4b8a42d Use 2 space indent.
Apologies for the churn, but my screen is small. rustfmt assumes big
monitors.
2018-07-20 03:46:26 -04:00
Ryan Dahl a7bf154cb8 Wrap rust at 80 columns. 2018-07-20 03:46:26 -04:00
Bert Belder 422150c797
Link rust_test targets with external linker, fix handlers_test linkage 2018-07-19 21:55:39 +02:00
robbym d93bd4b127 Use Cargo to install rust deps into //third_party/rust_crates (#383) 2018-07-18 20:00:53 -04:00
Ryan Dahl d78254009e Reduce unnecessary build output. 2018-07-18 15:43:50 -04:00
Ryan Dahl f9e0a5dece gclient sync should be shallow 2018-07-13 14:38:50 -04:00
Ryan Dahl 791357115c
Remove -f option from rustfmt. (#356)
And add support for RUSTFMT_FLAGS (Some people might need -f option)
2018-07-10 19:18:30 -04:00
Ryan Dahl c4d61accf4 Fix rust depfile problem.
Fixes #316.
2018-07-09 16:50:33 -04:00
Yoshiya Hinosawa 46db20172c chore: use local prettier 2018-07-09 11:05:02 -04:00
Bert Belder 7c5db007de tools: fix windows
This fixes most things, but format.py doesn't work yet, because
yapf is broken due to some depot_tools shimming python.
2018-07-08 13:40:18 -04:00
Ryan Dahl f917c5e722 Clean up tools/
- Factor out tools/util.py
- Move js/*.py to tools.
- Rewrite tools/format.sh in python.
- Run lint first in travis.
2018-07-08 13:40:18 -04:00
Yoshiya Hinosawa 6c79b471aa tools: generate third_party dir and symlinks from the script. (#346)
Everyone needs to run ./tools/build_third_party.py after this commit.
2018-07-08 02:18:14 -04:00
Hao Li cf0c0668da Rewrite tools/lint.sh in python (#343) 2018-07-08 01:56:03 -04:00
Ryan Dahl d30664958e Further gn/rust cleanups
Move rust.gni and deno.gni into build_extra/

Removes rust_library which was only an action. This instead defines
rust_component, which is an action plus a gn "component" target
to expose the resulting object file. This simplifies link code in
rust.gni.

Support rust modules that can be linked into C++.
2018-07-06 10:46:30 -04:00
Faris Amali Alis bfe08aa462 Rename deno.cc to binding.cc and other renames (#339)
Fixes #336
2018-07-06 03:19:19 -04:00
Yoshiya Hinosawa 31eda28a64 chore: clean up build_third_party.py 2018-07-05 20:57:42 -04:00
Ryan Dahl 06a28998ea Replace protobufs with flatbuffers 2018-07-04 16:43:08 -04:00
Yoshiya Hinosawa 2060bc939d Add tools/build_third_party.py (#328)
Fixes #312
2018-07-04 15:04:59 +02:00
Ryan Dahl 15d6541d4d Separate deno.gni and rust.gni and clean up.
Put rust depfile in target_out_dir because the depfile isn't in the
outputs, the gen directory doesn't get created.

Prefix rlib files with lib.
2018-07-04 14:24:25 +02:00
Yoshiya Hinosawa 6f7ca760b8 move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
Parsa Ghadimi 235e549035 Add tslint 2018-07-01 21:41:53 +02:00
Yoshiya Hinosawa ea35281d63 chore: move //src/js to //js
refs: #285
2018-07-01 17:22:36 +02:00
Ryan Dahl 9528ee4a42 Add cpplint to third_party 2018-07-01 15:28:36 +02:00
Yoshiya Hinosawa 6830370c3e reorg: Move GN files to root (#309)
refs: #285
2018-07-01 13:47:28 +02:00
Ryan Dahl 467408c6dc Reorg: Move tools/ and gitignore to root. 2018-06-28 21:56:53 +02:00