Commit graph

3808 commits

Author SHA1 Message Date
Luca Casonato 4102a19585
fix: panic when process stdio rid is 0 or invalid (#6405) 2020-06-25 12:38:19 -04:00
champ 1fcb71b355
fix typo (#6476) 2020-06-25 12:35:34 -04:00
Kitson Kelly 6f09b8de41
Restore stats for incremental compile (#6474) 2020-06-25 15:50:16 +02:00
Bartek Iwańczuk 188839c875
Revert "chore: share HTTP server between tests (#6362)" (#6475)
This reverts commit 70147ee564.
2020-06-25 14:53:13 +02:00
Marcos Casagrande 3f710108f2
fix(std/io): Make BufWriter/BufWriterSync.flush write all chunks (#6269) 2020-06-25 14:17:33 +02:00
Casper Beyer a455a0babf
Fix readLinkSync and readLink tests on Windows (#6463) 2020-06-25 07:27:23 -04:00
Benjamin Lupton 16038b8f82
fix(std/node/process): env, argv exports (#6455)
The promise approach still required permissions to be specified
at initialisation, rather than at request.

Using a Proxy instance solves this permission issue.

The Proxy instance approach also eliminates the need for the
await. Achieving direct compatibility with Node.js.

/ref pr #6392
/ref commit d16337cc9c
2020-06-25 07:18:01 -04:00
Stanislav 7ea3071db5
docs: replace delCookie with deleteCookie (#6467) 2020-06-25 07:12:09 -04:00
Casper Beyer ab0f12fcb8
Remove stale comment referring to deleted code (#6462) 2020-06-25 07:08:42 -04:00
Chris Knight d9896d64ce
refactor: shift copyBytes and tweak deps to reduce dependencies (#6469) 2020-06-25 06:40:51 -04:00
Chris Knight c98038a032
doc: add info on installing wasm32-wasi target (#6470) 2020-06-25 06:38:27 -04:00
Marcos Casagrande 6527189520
doc(std/wasi): fix example (#6464) 2020-06-24 22:21:39 -04:00
Casper Beyer 87f8f99c49
refactor(cli/tests/unit) to use assertThrows (#6459) 2020-06-25 00:57:08 +02:00
Bartek Iwańczuk 6bbe52fba3
Revert "fix(cli): ipv6 parsing for --allow-net params (#6453)" (#6458) 2020-06-25 00:41:13 +02:00
Casper Beyer f39c890714
doc(std/wasi) add a list of supported syscalls (#6460) 2020-06-24 17:03:40 -04:00
Ryan Dahl 0620862605
Clean up some fetch_remote_source tets (#6446) 2020-06-24 14:12:04 -04:00
Bartek Iwańczuk 3cbd1075c7
Incremental compilation for TypeScript (#6428)
This commit adds incremental compilation capabilities to internal TS compiler.

Instead of using "ts.createProgram()" API for compilation step (during deno 
startup), "ts.createIncrementalProgram()" API is used instead.

Thanks to TS' ".tsbuildinfo" file that already stores all necessary metadata
for compilation I was able to remove our own invention that is ".graph" file. 
".tsbuildinfo" file is stored alongside compiled source and is used to 
cache-bust outdated dependencies, facilitated by the "version" field. 
The value for "version" field is computed in Rust during loading of module 
graph and is basically a hash of the file contents.

Please keep in mind that incremental compilation is only used for initial 
compilation (or dynamic imports compilation) - bundling and runtime compiler 
APIs haven't been changed at all.

Due to problems with source map I changed compilation settings to inline 
source map (inlineSourceMap instead of sourceMap).
2020-06-24 16:59:12 +02:00
Nayeem Rahman 3314b46321
fix(cli/js/web/console): Improve string quoting behaviour (#6457) 2020-06-24 09:47:05 -04:00
Colin Harrington 702547d65a
fix(cli): ipv6 parsing for --allow-net params (#6453)
Co-authored-by: Liming Jin <jinliming2@gmail.com>
2020-06-24 09:43:29 -04:00
Casper Beyer a354b248ea
feat(std/wasi): add wasi_snapshot_preview1 (#6441) 2020-06-24 09:27:31 -04:00
Colin Harrington f4397e5ec9
Update contributing.md for consistency (#6452) 2020-06-24 15:14:28 +02:00
Casper Beyer f318ab01a4
fix(std/testing) assertArrayContains should work with any array-like (#6402) 2020-06-24 08:29:50 -04:00
Kitson Kelly 1d8fc39494
Add ability to output compiler performance information (#6434) 2020-06-24 11:58:23 +02:00
Chris Couzens f6a4146973
fix(cli/web): Support URLSearchParam as Body (#6416)
The following used to fail in Deno despite working in the browser:

```javascript
new Request('http://localhost/', {method: 'POST', body: new URLSearchParams({hello: 'world'})}).text().then(console.log)
```
2020-06-23 23:56:05 -04:00
Benjamin Lupton 49c54c0805
fix(std/node): fix readFile types, add encoding types (#6451) 2020-06-23 22:32:43 -04:00
Benjamin Lupton d16337cc9c
fix(std/node): global process should usable (#6392) 2020-06-23 16:00:47 -04:00
Casper Beyer 63db3e933e
feat(core): enable experimental-wasm-bigint (#6443) 2020-06-23 12:42:23 -04:00
Rob Waller d615f0ff82
fix(std/testing): assertThrows gracefully fails if non-Error thrown (#6330) 2020-06-23 10:47:09 -04:00
Casper Beyer d2403caa3b
doc: WASM -> WebAssembly (#6426) 2020-06-22 11:27:25 -04:00
Casper Beyer 6b3be01a00
feat(unstable): add Deno.fstatSync and fstat (#6425) 2020-06-22 08:58:52 -04:00
Bartek Iwańczuk 79adc7b000
core: add Deno.core.dispatchByName (#6395)
This commit adds alternate dispatch method to core JS API.

"Deno.core.dispatchByName()" works like "Deno.core.dispatch()", 
but takes op name instead of op id as a first argument.
2020-06-21 16:34:43 +02:00
Marcos Casagrande 86448fd9aa
feat(std/node): support hex / base64 encoding in Buffer (#6414) 2020-06-21 09:47:03 -04:00
Casper Beyer 40866d7cd5
feat(unstable): add Deno.fsyncSync and fsync (#6411) 2020-06-21 09:29:44 -04:00
Marcos Casagrande f24aab81c9
BREAKING(std/encoding/hex): reorder encode & decode arguments (#6410)
refactor to match other src/dst methods
2020-06-21 00:13:54 -04:00
Ryan Dahl 0a81ec6b1e
Remove Deno.dir and dirs dependency (#6385) 2020-06-20 23:49:27 -04:00
Yoshiya Hinosawa c0ea9a99c0
docs: document and add examples of expandGlob (#6404) 2020-06-20 14:34:28 -04:00
Ryan Dahl 3c58767831
Remove logos from introduction -> deno.land/artwork (#6399) 2020-06-20 17:53:55 +02:00
Casper Beyer 86f92e04c7
feat(unstable): add Deno.ftruncate and ftruncateSync (#6243) 2020-06-20 09:46:10 -04:00
Ryan Dahl bdf2d26ba1
v1.1.1 2020-06-19 14:48:14 -04:00
Ryan Dahl cddaacc955
upgrade crates (#6378) 2020-06-19 13:44:28 -04:00
Fallenhh 1c5ab8bf1a
refactor(cli/checksum): use map to generate hex string (#6382) 2020-06-19 11:03:33 -04:00
Ryan Dahl 5c8ce06c92
upgrade: v8 to 8.5.104, rusty_v8 0.5.1 (#6377) 2020-06-19 06:58:13 -04:00
Bartek Iwańczuk 826a3135b4
refactor(compiler): split code paths for compile and bundle (#6304)
* refactor "compile" and "runtimeCompile" in "compiler.ts" and factor out
separate methods for "compile" and "bundle" operations

* remove noisy debug output from "compiler.ts"
 
* provide "Serialize" implementations for enums in "msg.rs"

* rename "analyze_dependencies_and_references" to "pre_process_file" and
move it to "tsc.rs"

* refactor ModuleGraph to use more concrete types and properly annotate
locations where errors occur

* remove dead code from "file_fetcher.rs" - "SourceFile.types_url" is no
longer needed, as type reference parsing is done in "ModuleGraph"

* remove unneeded field "source_path" from ".meta" files stored for
compiled source file (towards #6080)
2020-06-19 12:27:15 +02:00
uki00a 345a5b3dff
fix: "deno test" should respect NO_COLOR=true (#6371) 2020-06-19 12:10:31 +02:00
Alan Gou ffedbd79ad
build: lint cli/tests/unit using deno lint (#6327) 2020-06-19 11:05:37 +02:00
Marcos Casagrande 36ad5e4402
refactor(cli/web): use isTypedArray method (#6369) 2020-06-18 14:39:29 -04:00
Bartek Iwańczuk 70147ee564
chore: share HTTP server between tests (#6362) 2020-06-18 12:40:29 -04:00
Bartek Iwańczuk 90c5dcfe79
chore(test): move testing utilities to test_util crate (#6360) 2020-06-18 11:54:55 -04:00
Ryan Dahl a2969ecd27
Deno.bundle supports targets < ES2017 (#6346)
This commit provides a "system_loader_es5.js" bundle loader which will be added
to the bundle when the target is < ES2017, which is the minimum target syntax
required for "system_loader.js".

Supports #5913 (via Deno.bundle()) with a couple caveats:

* Allowing "deno bundle" to take a different target is not supported, as we
specifically ignore "target" when passed in a TypeScript config file. This is
because deno bundle is really intended to generate bundles that work in Deno.
It is an unintentional side effect that some bundles are loadable in browsers.

* While a target of "es3" will be accepted, the module loader will still only be
compatible with ES5 or later. Realistically no one should be expecting bundles
generated by Deno to be used on IE8 and prior, and there is just too much
"baggage" to support that at this point.

This is a minor variation of 75bb9d, which exposed some sort of internal V8 bug.
Ref #6358

This is 100% authored by Kitson Kelly. Github might change the author when landing
so I'm leaving this in:
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2020-06-18 09:06:48 -04:00
Chris Knight 940f8e8433
feat(std/log): expose logger name to LogRecord (#6316) 2020-06-18 12:50:18 +02:00