1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-12 18:42:18 -05:00
Commit graph

494 commits

Author SHA1 Message Date
Chris Knight
3e51e67f8a
remove unnecessary delay in std/signal tests (#4703) 2020-04-10 22:03:41 -04:00
木杉
195ad4c626
fix(std/http): verify cookie name & update SameSite type (#4685) 2020-04-10 10:12:42 -04:00
Chris Knight
85c61bff1c
fix(std/testing/asserts): change left/right to actual/expected (#4697) 2020-04-10 10:10:45 -04:00
Chris Knight
5bf1e4de3b
feat(std/signal): add utility for listening to signal events (#4696) 2020-04-10 10:05:56 -04:00
Ryan Dahl
02bc58d832
BREAKING: Make fetch API more web compatible (#4687)
- Removes the __fetch namespace from `deno types`
- Response.redirect should be a static.
- Response.body should not be AsyncIterable.
- Disables the deno_proxy benchmark
- Makes std/examples/curl.ts buffer the body before printing to stdout
2020-04-10 09:51:17 -04:00
Ryan Dahl
ac215a2461
Fix build - 2becae broke CI (#4686) 2020-04-09 13:45:10 -04:00
Chris Knight
475a47cfb7
feat(std/log): improvements and new log handler (#4674) 2020-04-09 13:45:24 +02:00
Ali Hasani
90d6831271
feat(std/node): add isPrimitive (#4673) 2020-04-08 18:44:39 -04:00
Ali Hasani
68bde7a0c6
feat(std/node): add fs.mkdir functions and fs.exists tests (#4660) 2020-04-08 18:43:35 -04:00
Akshat Agarwal
caff550b6c
BREAKING: Rename 'deno fetch' subcommand to 'deno cache' (#4656) 2020-04-07 11:24:47 -04:00
木杉
481fcfc8bd
file_server: use text/typescript instead of application/typescript (#4620)
I just tried it and found that using application/typescript, the browser will download 
the file directly, I think that .ts should be mapped to application/javascript or 
text/typescript
2020-04-07 10:06:22 -04:00
Nayeem Rahman
e586d0c8b8
feat(std/http/server): Respond with 400 on request parse failure (#4614) 2020-04-07 12:34:18 +02:00
Ali Hasani
47a580293e
Add exists and existsSync to std/node (#4655) 2020-04-06 23:43:14 -04:00
Ali Hasani
f5d505332e
Remove media_types from std/README.md (#4650) 2020-04-06 19:16:18 -04:00
Bartek Iwańczuk
ee126eb4a7
remove std/testing/runner.ts (#4649) 2020-04-06 18:50:56 +02:00
Andrew Stucki
1e478d73e3
Drop headers with trailing whitespace in header name (#4642)
This relates directly to [an
issue](https://github.com/denoland/deno_std/issues/620) that I initially
raised in `deno_std` awhile back, and was reminded about it today when
the `oak` project popped up on my github recommended repos.

As of now Deno's http servers are vulnerable to the same underlying
issue of go CVE-2019-16276 due to the fact that it's based off of ported
go code from their old standard library. [Here's the commit that fixed
the
CVE.](6e6f4aaf70)

Long story short, some off the shelf proxies and caching servers allow
for passing unaltered malformed headers to backends that they're
fronting. When they pass invalid headers that they don't understand this
can cause issues with HTTP request smuggling. I believe that to this
date, this is the default behavior of AWS ALBs--meaning any server that
strips whitespace from the tail end of header field names and then
interprets the header, when placed behind an ALB, is susceptible to
request smuggling.

The current behavior is actually specifically called out in [RFC
7230](https://tools.ietf.org/html/rfc7230#section-3.2.4) as something
that MUST result in a rejected message, but the change corresponding to
this PR, is more lenient and what both go and nginx currently do, and is
better than the current behavior.
2020-04-06 09:58:46 -04:00
Andreas
703c0b7c17
feat(std/flags): pass key and value to unknown (#4637) 2020-04-06 09:27:10 -04:00
Khải
788a6abfd3
fix(std/testing): formatting bigint (#4626) 2020-04-04 13:13:37 -04:00
Nayeem Rahman
faa0f520cf
doc: Improve the style guide (#4627) 2020-04-04 13:11:43 -04:00
dubiousjim
a5fc505edb
fix erroneous assert (#4608) 2020-04-03 13:49:05 -04:00
Ryan Dahl
13db64fbc6
Remove /std/media_types (#4594) 2020-04-03 12:11:52 -04:00
Ryan Dahl
c8fc29fcca
Revert "Respond with 400 on request parse failure" (#4593)
readRequest should not write a response.

This reverts commit 017a611131.
2020-04-02 15:20:17 -04:00
Ryan Dahl
12c6b2395b
Move encode, decode helpers to /std/encoding/utf8.ts, delete /std/strings/ (#4565)
also removes std/encoding/mod.ts and std/archive/mod.ts which are useless.
2020-04-01 15:23:39 -04:00
木杉
3a0b617503
std(media_types): change .ts content type to application/typescript (#4563) 2020-04-01 15:04:36 -04:00
Ryan Dahl
578138a930
Remove std/strings/pad.ts because String.prototype.padStart exists (#4564) 2020-04-01 20:28:16 +02:00
Khải
fa7929ad2c
fix(file_server): use media_types for Content-Type header (#4555) 2020-04-01 12:51:01 -04:00
木杉
5ac2c4aa2e
fix(#4550): setCookie should append cookies (#4558) 2020-04-01 09:37:11 -04:00
Nayeem Rahman
270e87d9db
refactor(cli/js/testing): Reduce testing interfaces (#4451)
* Reduce "testing" interfaces
* Use a callback instead of a generator for Deno.runTests()
* Default RunTestsOptions::reportToConsole to true
* Compose TestMessage into a single interface
2020-04-01 10:47:23 +02:00
Nayeem Rahman
017a611131
feat(std/http/server): Respond with 400 on request parse failure (#4551) 2020-04-01 10:24:05 +02:00
Ondřej Žára
a86b07f2df
used native padStart/End where possible (#4537) 2020-03-31 12:34:13 +02:00
uki00a
a98512af9a
fix(std/encoding/csv): enable skipped tests (#4520) 2020-03-30 11:37:58 -04:00
Kitson Kelly
7670a13f8a
feat: Add common to std/path (#4527) 2020-03-30 11:36:55 -04:00
Niklas Eicker
92f1c71a6f
doc: Fix some typos and improve a few sentences in the std manual (#4522) 2020-03-29 22:23:57 -04:00
Kitson Kelly
bced52505f
Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
Ryan Dahl
5837ce464c
upgrade: rusty_v8 to v0.3.9 (#4505) 2020-03-28 10:00:14 -04:00
Bartek Iwańczuk
30bcf6a2ea
Revert "avoid using same port number for test (#4147)"
Ref #4467

This reverts commit 60cee4f045.
2020-03-24 12:24:58 -04:00
uki00a
b2478f3a21
docs: update manual about how to run tests for std (#4462) 2020-03-24 15:34:50 +01:00
Yusuke Sakurai
c337d2c434
clean up textproto code in std (#4458)
- moved and renamed append() into bytes from ws and textproto
- renamed textproto/readder_tests.ts -> textproto/test.ts
2020-03-22 14:49:09 -04:00
uki00a
07ea145ec4
re-enable a test (#4461) 2020-03-22 14:41:42 -04:00
Akshat Agarwal
b8a5c29bf8
BREAKING CHANGE Rename Deno.run's args to cmd (#4444)
This is to avoid confusion with Deno.args which does not include the 
executable to be run.
2020-03-21 17:44:18 -04:00
Yusuke Sakurai
60cee4f045
avoid using same port number for test (#4147) 2020-03-21 09:53:47 -04:00
Ryan Dahl
0adc86f105
Remove DENO_BUILD_MODE and DENO_BUILD_PATH (#4431)
* Remove DENO_BUILD_MODE and DENO_BUILD_PATH

Also remove outdated docs related to ninja/gn.

* fix

* remove parameter to build_mode()

* remove arg parsing from benchmark.py
2020-03-20 21:48:34 -04:00
Nayeem Rahman
b22f48970f
refactor(std/http/server): Remove bad error handling (#4435) 2020-03-20 12:12:27 -04:00
dubiousjim
1c6f177d19
use prebuilt "not implemented" error (#4442) 2020-03-20 12:10:02 -04:00
Samrith Shankar
798904b0f2
Add require-await lint rule (#4401) 2020-03-20 09:38:34 -04:00
Nayeem Rahman
35f6e2e45d
fix(std/http): Properly await ops in a server test (#4436) 2020-03-20 09:46:48 +01:00
Nayeem Rahman
b7e6a31a42
fix(std/http): Fix respond error test on Windows (#4408) 2020-03-19 19:15:21 -04:00
Bartek Iwańczuk
3ef34673c9
std(http/server): close open connections on server close (#3679)
Due to structure of "Server" for each open connection there's a pending "read" op. Because connection owned by "Server" are not tracked, calling "Server.close()" doesn't close open connections.

This commit introduces simple tracking of connections for server and ensures owned connections are closed on "Server.close()".
2020-03-19 16:04:26 +01:00
Nikolai Vavilov
8c1c929034
fix: stack traces for modules imported via std/node's require (#4035) 2020-03-19 10:42:07 -04:00
Bartek Iwańczuk
74c37e759a
remove std/testing/runner.ts, use deno test for std/ tests (#4397)
This introduces BREAKING CHANGE by removing "std/testing/runner.ts".

Std tests are now run using "deno test" subcommand.
2020-03-19 14:49:06 +01:00
Bartek Iwańczuk
8de4a05f2a
fix: std/testing/runner.ts and deno test (#4392)
After splitting "failFast" and "exitOnFail" arguments, there was a situation where failing tests did not exit with code 1.

* fixed argument value passed to Deno.runTests() in deno test
* fixed argument value passed to Deno.runTests() in std/testing/runner.ts
* added integration tests for deno test to ensure failFast and exitOnFail work as expected
* don't write test file to file system, but keep it in memory
2020-03-19 14:26:47 +01:00
Kitson Kelly
5b10ab0984
feat: Add helper functions for permissions to std (#4258) 2020-03-19 11:32:49 +01:00
Bartek Iwańczuk
b0b27c4310
refactor: rename Deno.TestDefinition.skip to ignore (#4400) 2020-03-19 10:58:12 +01:00
Bartek Iwańczuk
6e2df8c64f
feat: Deno.test() sanitizes ops and resources (#4399)
This PR brings assertOps and assertResources sanitizers to Deno.test() API.

assertOps checks that test doesn't leak async ops, ie. there are no unresolved
promises originating from Deno APIs. Enabled by default, can be disabled using 
Deno.TestDefinition.disableOpSanitizer.

assertResources checks that test doesn't leak resources, ie. all resources used
in test are closed. For example; if a file is opened during a test case it must be
explicitly closed before test case finishes. It's most useful for asynchronous
generators. Enabled by default, can be disabled using 
Deno.TestDefinition.disableResourceSanitizer.

We've used those sanitizers in internal runtime tests and it proved very useful in
surfacing incorrect tests which resulted in interference between the tests.

All tests have been sanitized.

Closes #4208
2020-03-18 19:25:55 -04:00
Ryan Dahl
6bd940abfd
Update manual (#4412) 2020-03-17 17:56:33 -07:00
Kitson Kelly
9050d36d57
std: Provide types for React and ReactDOM (#4376)
Introduces `std/types` which is designed to provide types for common
libraries that are compatible with Deno.
2020-03-17 13:28:07 +01:00
Chris Knight
62942749e6
test: Fix broken test and remove redundant test file (#4390) 2020-03-16 12:40:36 +01:00
Bartek Iwańczuk
1edb20b399
refactor: add no-return-await lint rule (#4384) 2020-03-16 10:22:16 +01:00
Chris Knight
620dd9724d
refactor: move existing fs implementation to internal _fs directory (#4381) 2020-03-15 11:48:46 -04:00
Yoshiya Hinosawa
ec3f44581b
docs: fix Deno.compile examples in manual.md (#4380) 2020-03-15 15:30:11 +01:00
Nayeem Rahman
6471d4cfab
refactor(std): Uncomment disabled tests, use skip option (#4378) 2020-03-15 13:03:25 +01:00
Chris Knight
a159165fe5
Node polyfill for fs.chown and fs.close (#4377) 2020-03-14 23:01:34 -04:00
dubiousjim
6cc40b0865
BREAKING CHANGE FileInfo.len renamed to FileName.size (#4338) 2020-03-14 22:57:42 -04:00
Chris Knight
ea4f3ab852
feat: add chmod Node polyfill and related file system constants (#4358) 2020-03-14 17:46:39 -04:00
crowlKats
9648d3da14
Add node querystring polyfill (#4370) 2020-03-14 16:43:49 -04:00
Lucas De Angelis
cd293f7907
doc(http/server): Add coherence to the docs (#4372)
Functions that returns a server are now documented with "Create",
and functions that launches one are documented with "Start".

Also added documentation for listenAndServe that respects these
changes.

Fixes #4367
2020-03-14 10:17:44 -04:00
Oliver Lenehan
0f6acf2753
fix(std): Use Deno.errors where possible. (#4356) 2020-03-13 21:40:13 -04:00
Chris Knight
cabe63eb05
fix: Node polyfill fsAppend rework (#4322)
* My original implementation of `fs.appendFile` used an async API, which, though 
  it would work fine as a polyfill, wasn't an exact match with the Node API.  This PR
  reworks that API to mimic the Node API fully as a synchronous void function with
  an async internal implementation.
* Refactor move of other internal fs `dirent` and `dir` classes to the _fs internal
  directory.
2020-03-12 10:12:27 -04:00
Nayeem Rahman
ce14ef09d0
doc(cli/flags): Reduce empty lines in help messages (#4312) 2020-03-10 19:23:08 -04:00
Oliver Lenehan
a309dcdd0f
feat (std/encoding): add binary module (#4274) 2020-03-10 15:16:08 -04:00
Nayeem Rahman
55119aaee2
refactor(cli/js/net): Cleanup iterable APIs (#4236)
Listener and UDPConn are AsyncIterables instead of AsyncIterators.
The [Symbol.asyncIterator]()s are defined as generators and the
next() methods are gone.

"Listener/Socket has been closed" errors are now BadResource.
2020-03-10 15:14:22 -04:00
Nayeem Rahman
6443e4aed1
refactor: Cleanup options object parameters (#4296) 2020-03-10 12:08:58 -04:00
Chris Knight
2115b38fef
test: add actual error class to fail message (#4305) 2020-03-09 17:46:55 -04:00
Chris Knight
1b6fc87b71
feat(std/node) add appendFile and appendFileSync (#4294) 2020-03-08 19:14:53 -04:00
Bartek Iwańczuk
1b6f831875
reorg: move JS ops implementations to cli/js/ops/, part 1 (#4264)
Following JS ops were moved to separate files in cli/js/ops directory:
- compiler
- dispatch_json
- dispatch_minimal
- errors
- fetch
- fs_events
- os
- random
- repl
- resources
- runtime_compiler
- runtime
- tty
2020-03-08 13:09:22 +01:00
Kitson Kelly
b9037c86ed
Improvements to std/flags. (#4279)
Adds JSDoc to module, improves the typing of the return type, uses
iteration instead of Array forEach, uses the dotall support in Regular
Expression which is now supported in JavaScript, uses destructuring and
nullish coalescing where appropriate.
2020-03-08 11:27:23 +01:00
Harry Wolff
8d1ba3552f
Update manual to reflect newer test running (#4278)
This updates this example code to follow the new test running conventions.

The code as is, when ran produces the following output:

```
➜  dencro git:(master) ✗ deno test        
Compile file:///Users/hswolff/Sites/dencro/test.ts
running 2 tests
OK     oneTest (2.00ms)
OK     t2 (0.00ms)

test result: OK 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out (2.00ms)

running 2 tests
OK     oneTest (0.00ms)
OK     t2 (0.00ms)

test result: OK 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out (0.00ms)

➜  dencro git:(master) ✗ 
```

Removing `await Deno.runTests();` just causes the tests to run once.
2020-03-07 22:28:30 -05:00
Chris Knight
bb3d9c8280
doc: Update manual with suggestions for when cargo isn't building properly (#4252) 2020-03-06 09:14:58 -05:00
dubiousjim
9a63902db5
Rename readDir -> readdir (#4225) 2020-03-06 08:34:02 -05:00
Ryan Dahl
444b1ab68e
Document TypeScript compiler options (#4241) 2020-03-05 08:26:36 -05:00
Ryan Dahl
159de0245d
Use discord instead of gitter (#4253) 2020-03-04 19:49:51 -05:00
Chris Knight
3968308886
feat(std/node): add directory classes (#4087) 2020-03-03 08:56:10 -05:00
ecyrbe
2a594bd3b2
feat(std/node): add os.tmpdir() implementation (#4213) 2020-03-01 19:05:04 -05:00
Yusuke Sakurai
9075daa2e3
[std/ws] provide default close code for ws.close() (#4172) 2020-02-28 11:17:00 -05:00
Yusuke Sakurai
c65d0c63e7
reduce unnecessary output on tests (#4148) 2020-02-27 15:12:04 -05:00
Yusuke Sakurai
942e67c00b
refactor(std/http): move io functions to http/io.ts (#4126) 2020-02-26 10:48:35 -05:00
Kitson Kelly
be787d09d5
upgrade: TypeScript 3.8 (#4100) 2020-02-25 15:33:19 -05:00
Yusuke Sakurai
22f88b9f37
fix: [http] Consume unread body and trailers before reading next request (#3990)
- Added `ServerRequest.finalize()`:  consuming all unread body stream and trailers.
  - This is cleanup method for reading next request from same keep-alive connection.
  - Needed when handler didn't consume all body and trailers even after responding.
- refactor: `ServerRequest._bodyStream()`, `ServerRequestBody` are removed.
  - Now using `bodyReader()` and `chunkedBodyReader()` instead.
- fix: Trailers should only be read `transfer-encoding` is `chunked` and `trailer` header is set and its value is valid.
- fix: use `Headers.append()` on reading trailers.
- fix: delete `trailer` field from headers after reading trailers.
- reorg: Several functions related to IO are moved into `http/io.ts`
2020-02-24 22:49:39 -05:00
João Souto
5c1ab080cd
Remove ansi_term dependency (#4116) 2020-02-24 19:30:17 -05:00
Ryan Dahl
4005174f6c
Revert "Remove ansi_term dependency"
Broke colors
https://github.com/denoland/deno/issues/4112#issuecomment-590545385

This reverts commit c250778704.
2020-02-24 17:18:15 -05:00
Suguru Motegi
79c6e052ed
fix: createSecKey logic (#4063) 2020-02-24 16:37:15 -05:00
Bartek Iwańczuk
e1687c0a46
rename Deno.Err -> Deno.errors (#4093) 2020-02-24 15:48:35 -05:00
Nayeem Rahman
db59705595
doc: Remove old link to deno types output (#4111) 2020-02-24 15:02:22 -05:00
Bartek Iwańczuk
5da7c7df1d
disable std/examples/chat tests for windows (#4109) 2020-02-24 12:58:13 -05:00
Matthew Lennon
c74684ed90
update build instructions for windows (#4027) 2020-02-24 12:31:21 -05:00
João Souto
c250778704
Remove ansi_term dependency (#4106) 2020-02-24 10:29:56 -05:00
ecyrbe
fb08cf7005
Add missing node os.release() implementation (#4065) 2020-02-24 08:35:45 -05:00
uki00a
fe9ac35a65
fix(std/examples): add tests for examples (#4094) 2020-02-24 08:31:40 -05:00
Yusuke Sakurai
162d66d23f
fix: chat example's content-security-policy (#4091) 2020-02-24 08:10:00 -05:00
Ben Noordhuis
45eb2f9b37
feat(std/node): add os Symbol.toPrimitive methods (#4073)
Node's os module exports a number of methods that evaluate to themselves
when coerced to a primitive.

I.e., `"" + os.arch` and `os.arch()` evaluate to the same string, and
now Deno's shims do too.
2020-02-23 14:40:44 -05:00
Yusuke Sakurai
d9886a44d1
fix: [ws] sock shouldn't throw eof error when failed to read frame (#4083) 2020-02-23 11:59:36 -05:00
Yusuke Sakurai
8b646e8657
Added browser chat example (#4022) 2020-02-22 18:51:04 -05:00
ecyrbe
fb98556d56
feat(std/node): add os.loadavg() (#4075) 2020-02-22 18:46:52 -05:00
jigsaw
c34d96d865
Fix example (#4076) 2020-02-22 18:45:35 -05:00
Bartek Iwańczuk
bd640bc7e6
feat: Deno.fsEvents() (#3452) 2020-02-21 13:21:51 -05:00
ecyrbe
754b8c65ad
feat(std/node) : add os.platform (#4064) 2020-02-21 12:01:01 -05:00
Bartek Iwańczuk
dd8a109481
refactor: remove unneeded ErrorKinds (#3936) 2020-02-21 10:36:13 -05:00
Clemens Tolboom
7e49d96cbc
/std/ws: Fix args index for WS examples (#4046) 2020-02-20 10:19:14 -05:00
Maximilien Mellen
90125566bb
Enable TS strict mode by default (#3899)
Fixes #3324 

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2020-02-19 15:36:18 -05:00
Kitson Kelly
046bbb2691
Support loading additional TS lib files (#3863)
Fixes #3726

This PR provides support for referencing other lib files (like lib.dom.d.ts that are not
used by default in Deno.
2020-02-19 00:34:11 -05:00
Nayeem Rahman
5a3292047c
feat(std/io): Export readDelim(), readStringDelim() and readLines() from bufio.ts (#4019)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-02-17 19:51:13 -05:00
Chris Knight
7b9f6e9c45
feat: Asynchronous event iteration node polyfill (#4016) 2020-02-17 13:22:41 -05:00
Nikolai Vavilov
1908066753
Update ws client example (#4012) 2020-02-17 12:49:30 -05:00
Yusuke Sakurai
621aeef836
fix: appended CRLF to end of trailer headers (#3989) 2020-02-13 16:05:30 -05:00
Chris Knight
a7056095a5
feat(node): add EventEmitter.errorMonitor (#3960) 2020-02-11 15:55:54 -05:00
木杉
92019498f6
fix(file_server): don't crash on "%" pathname (#3953) 2020-02-11 15:53:09 -05:00
Bartek Iwańczuk
b67f20be3b
update references to testing/mod.ts in manual (#3973) 2020-02-11 21:50:20 +01:00
Bartek Iwańczuk
61273085e4
refactor: rewrite tests in std/ to use Deno.test (#3930) 2020-02-11 17:24:27 +01:00
uki00a
5a143cdbd3
fix(std/node): support named import for EventEmitter (#3959) 2020-02-11 11:19:35 -05:00
Chris Knight
81905a867e
feat: Event emitter node polyfill (#3944) 2020-02-10 18:19:48 -05:00
Yusuke Sakurai
e6f204199b
feat: Support HTTP trailer headers for response (#3938) 2020-02-10 11:38:48 -05:00
Benny Shi
e8f639ce53 Add readlink, readlinkSync for std/node/fs.ts (#3926) 2020-02-10 03:38:05 -06:00
Nikolai Vavilov
61c5bb86db
Bump required VS version (#3940)
deno builds successfully with VS2019, so no need to require VS2017.
2020-02-09 10:07:37 -06:00
Bartek Iwańczuk
1c0ffa1383
reenable server tests (#3928) 2020-02-08 14:24:09 -06:00
Yusuke Sakurai
a4bb8bab44 remove non-null assertion operator from std (part2) (#3927) 2020-02-08 14:15:59 -06:00
Yusuke Sakurai
c2986891f6
remove non-null assertion operator from std (part1) (#3900) 2020-02-07 02:23:38 -05:00
Yoshiya Hinosawa
5a8ba3b114
feat: add std/signal/mod.ts (#3913) 2020-02-07 01:53:15 -05:00
Nayeem Rahman
971391dbaf
fix(std/path/globrex.ts): Use non-capturing groups in globrex() (#3898) 2020-02-06 17:25:39 -05:00
Yusuke Sakurai
699d10bd9e
fix: make WebSocket.send() exclusive (#3885) 2020-02-06 08:42:32 -05:00
Kitson Kelly
145188bcf7
std/http/server::serve aligned to std/http/server::serveTLS (#3881) 2020-02-04 15:15:23 +01:00
Rafael Vargas
55063dd8e8
fix: Deno.remove() to properly remove dangling symlinks (#3860)
For some reason, the unit tests for Deno.remove() were not being imported to 
unit_tests.ts and, consequently, not being executed. Thus, I imported them, 
refactored some existent ones and wrote new ones for the symlink removal case.

Since the creation of a symlink is not implemented for Windows yet, assertions
that consider this state were added when the tests are executed in this OS.
2020-02-03 08:20:15 -05:00
Kevin (Kun) "Kassimo" Qian
e8df66c12c
std/encoding: add base32 support (#3855) 2020-02-02 16:49:41 -05:00
Chris Knight
77f4df40f3
Fixed month reference in documented output of parseDate and parseDateTime function calls (#3859) 2020-02-02 16:46:05 -05:00
Bartek Iwańczuk
e1697421e2
chore: remove std/installer, port installer tests to Rust (#3843) 2020-01-31 17:34:50 +01:00
Kevin (Kun) "Kassimo" Qian
97b2a0bb95
bring back std/examples/xeval.ts (#3822) 2020-01-30 21:02:14 -05:00
Chris Knight
3de9540ac6
feat(std/node) Endianness (#3833) 2020-01-30 18:57:29 -05:00
Bartek Iwańczuk
de5c099b47
feat: deno install in Rust (#3806)
//std/installer couldn't be removed due to bug, but it's now deprecated.
2020-01-30 18:42:39 -05:00
Ryan Dahl
2338e7679c
Remove --current-thread flag (#3830)
This flag was added to evaluate performance relative to tokio's threaded
runtime. Although it's faster in the HTTP benchmark, it's clear the runtime
is not the only perf problem.

Removing this flag will simplify further refactors, in particular
adopting the #[tokio::main] macro. This will be done in a follow up.

Ultimately we expect to move to the current thread runtime with Isolates
pinned to specific threads, but that will be a much larger refactor. The
--current-thread just complicates that effort.
2020-01-30 10:49:33 -05:00
Bartek Iwańczuk
73a3cc21d0
feat: dprint formatter (#3820)
* rewrite fmt_test in Rust, remove tools/fmt_test.py
* remove //std/prettier
2020-01-29 21:16:48 -05:00
cknight
f0a6062012
Partial implementation of node os polyfill based on currently available Deno functionality (#3821) 2020-01-29 20:57:29 -05:00
Bartek Iwańczuk
f32c31a0eb dx: descriptive permission errors (#3808)
Before:
```
▶ target/debug/deno https://deno.land/std/examples/echo_server.ts
error: Uncaught PermissionDenied: run again with the --allow-net flag
► $deno$/dispatch_json.ts:40:11
    at DenoError ($deno$/errors.ts:20:5)
    at unwrapResponse ($deno$/dispatch_json.ts:40:11)
    at sendSync ($deno$/dispatch_json.ts:67:10)
    at listen ($deno$/net.ts:170:15)
    at https://deno.land/std/examples/echo_server.ts:4:23
```

```
▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd
error: Uncaught PermissionDenied: run again with the --allow-read flag
► $deno$/dispatch_json.ts:40:11
    at DenoError ($deno$/errors.ts:20:5)
    at unwrapResponse ($deno$/dispatch_json.ts:40:11)
    at sendAsync ($deno$/dispatch_json.ts:91:10)
```

After:
```
▶ target/debug/deno https://deno.land/std/examples/echo_server.ts
error: Uncaught PermissionDenied: network access to "0.0.0.0:8080", run again with the --allow-net flag
► $deno$/dispatch_json.ts:40:11
    at DenoError ($deno$/errors.ts:20:5)
    at unwrapResponse ($deno$/dispatch_json.ts:40:11)
    at sendSync ($deno$/dispatch_json.ts:67:10)
    at listen ($deno$/net.ts:170:15)
    at https://deno.land/std/examples/echo_server.ts:4:23
```

```
▶ target/debug/deno --allow-read=/usr https://deno.land/std/examples/cat.ts /etc/passwd
error: Uncaught PermissionDenied: read access to "/etc/passwd", run again with the --allow-read flag
► $deno$/dispatch_json.ts:40:11
    at DenoError ($deno$/errors.ts:20:5)
    at unwrapResponse ($deno$/dispatch_json.ts:40:11)
    at sendAsync ($deno$/dispatch_json.ts:91:10)
```
2020-01-27 21:13:17 -05:00
Kitson Kelly
f604becaba Improve support of type definitions (#3755) 2020-01-26 13:59:41 -05:00
Takashi Idobe
c21e0008b5 add some tests for isSymbol in std/node/util_test (#3788) 2020-01-25 08:25:40 -05:00
David Asabina
86726f88f1 fix crate name in docs (#3778) 2020-01-24 14:47:11 -05:00
Carl Rosell
11a29fdb44 fix(std/http): update listenAndServe argument type (#3775)
allow same argument type for `listenAndServe` as `serve`.
fixes: #3774
2020-01-24 10:35:23 -05:00
Yoshiya Hinosawa
bc89f04cbf Add signal handlers (#3757) 2020-01-24 08:15:31 -05:00
Fabriece Sumuni
ceb7aae8ef fix typo 2020-01-23 10:40:26 -05:00
Lasse Brudeskar Vikås
159ac525ae Update manual.md (#3734)
Updated the `Deno.bundle` description to actually use the `bundle`-function.
2020-01-21 10:12:19 -05:00
Takashi Idobe
108294deeb change copyrights from 2019 to 2020 (#3733) 2020-01-21 10:01:55 -05:00
Bartek Iwańczuk
23e67eb515
stabilize net Addr (#3709)
Co-authored-by: xiaoxintang <15707971810@163.com>
2020-01-18 21:49:55 +01:00
Bartek Iwańczuk
34b99fec8e
rename dial to connect and dialTLS to connectTLS (#3710) 2020-01-18 18:35:12 +01:00
Brandon Kalinowski
4f1fa82d1d std(yaml): correct sortKeys type (#3708) 2020-01-18 09:19:36 -05:00
Kevin (Kun) "Kassimo" Qian
fc077cd315 std/http: allow response body to be string (#3705) 2020-01-17 18:44:35 -05:00
迷渡
34dc0ae280 doc: fix spaces of code in list (#3678) 2020-01-15 23:13:50 -05:00
Ry Dahl
a4dde552de
Revert "feat(flags): script arguments come after '--'" (#3681)
Due to complaints about ergonomics and because it breaks shebang on
linux.

This reverts commit 2d5457df15.

BREAKING CHANGE
2020-01-15 19:21:35 -05:00
Luca Casonato
3eab20ce42 feat(std/node): Added node timers builtin (#3634) 2020-01-15 14:13:12 -05:00
Tomofumi Chiba
8a352f7260 fix curl.ts (#3677) 2020-01-15 08:05:22 -06:00
Nayeem Rahman
9d5f0f2d23 Remove std/multipart (#3647)
since it overlaps with std/mime/multipart
2020-01-10 12:29:09 -07:00
Ry Dahl
d492c5abe3
feat: Deno.args now does not include script (#3628)
Previously Deno.args was ["script.js", "arg1", "arg2"]
Now it is just ["arg1", "arg2"]
BREAKING CHANGE
2020-01-09 11:37:01 -07:00
Ry Dahl
c50cab90a0
Remove xeval subcommand (#3630) 2020-01-08 17:40:59 -05:00
Ry Dahl
2d5457df15
feat(flags): script arguments come after '--' (#3621) 2020-01-08 14:59:53 -05:00
Kitson Kelly
d325566a7e Runtime Compiler API (#3442)
Also restructures the compiler TypeScript files to make them easier to
manage and eventually integrate deno_typescript fully.
2020-01-08 09:17:44 -05:00
Ry Dahl
d4bf0670ce
fix: Deno.mkdir should conform to style guide (#3617) 2020-01-07 14:14:33 -05:00
Nayeem Rahman
4e1a638bc5 doc: Add glib2.0 as a build prerequisite (#3608) 2020-01-05 19:35:45 -05:00
Ry Dahl
5f1df038fb
Replace libdeno with rusty_v8 (#3556) 2020-01-05 09:19:29 -05:00
Dreamacro
70b1be6ff4 Fix ws handshake with correctly empty search string (#3587) 2020-01-04 04:31:12 -05:00
uki00a
cbc4bbc71f fix(std/encoding/yaml): export parseAll (#3592) 2020-01-04 04:26:57 -05:00
Ry Dahl
bfab4ed0df
Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
Kevin (Kun) "Kassimo" Qian
5cf2eb7d18 feat(std/http): make req.body a Reader (#3575) 2020-01-02 12:34:33 -05:00
Bartek Iwańczuk
46d76a7562
upgrade: Tokio 0.2 (#3418) 2019-12-30 14:57:17 +01:00
Nayeem Rahman
954a0c64e7 doc: Update and improve build instructions (#3547) 2019-12-24 22:00:30 -05:00
Axetroy
e88c801e76 std: remove wildcard export in uuid module (#3540) 2019-12-23 04:36:25 -05:00
Yoshiya Hinosawa
80da2ac8de fix(std/encoding/yaml): support document separator in parseAll (#3535) 2019-12-21 03:57:51 -05:00
Nayeem Rahman
e8d82a6348 feat: Add missing mod.ts files in std (#3509)
std/archive/tar.ts:
- Remove FileReader.
- Remove FileWriter.

std/encoding/csv.ts:
- ExtendedParseOptions -> ParseOptions
- HeaderOption -> HeaderOptions
- ParseOptions -> ReadOptions
- readAll() -> readMatrix()

std/encoding/yaml.ts:
- DumpOptions -> StringifyOptions

std/fmt/colors.ts:
- getEnabled() -> getColorEnabled()
- setEnabled() -> setColorEnabled()

std/testing/mod.ts:
- Re-export sibling modules.
2019-12-20 15:21:30 -05:00
Yoshiya Hinosawa
29562ed61e docs(std/encoding/yaml): add usage document (#3529) 2019-12-20 11:32:05 -05:00
Axetroy
ef30d376db fix permission errors are swallowed by fs.copy() (#3504) 2019-12-18 09:45:19 -05:00
Christian Bromann
1c09cc63c8 fix code example (#3519) 2019-12-18 09:44:30 -05:00
Yoshiya Hinosawa
ff6b514a7b Improve empty test case error messages (#3514) 2019-12-18 08:05:58 -05:00
Axetroy
bb24fb74ff fix permission errors are swallowed by fs.emptyDir (#3501) 2019-12-18 05:12:36 -05:00
Kevin (Kun) "Kassimo" Qian
33d2e3d536 std/node: better error message for read perm in require() (#3502) 2019-12-15 17:23:12 +08:00
木杉
7e116dd70d Support utf8 in file_server (#3495) 2019-12-14 16:03:30 +08:00
木杉
d8e60309d2 feat(file_server): add help & switch to flags (#3489) 2019-12-14 10:01:32 +08:00
Axetroy
8cf8a29d35 fix permission errors are swallowed by fs.exists (#3493) 2019-12-13 22:47:09 +08:00
Weijia Wang
df7d8288d9 file_server: get file and fileInfo concurrently (#3486) 2019-12-12 15:59:46 +08:00
木杉
7f27f649cc fix: file_server swallowing permission errors (#3467) 2019-12-12 13:05:26 +08:00
Kevin (Kun) "Kassimo" Qian
d146d45861 benchmark: align deno_http and node_http response (#3484) 2019-12-12 13:02:23 +08:00
dnalborczyk
ef17488398 fix v8-flags example to manual (#3470) 2019-12-12 13:02:07 +08:00
Kevin (Kun) "Kassimo" Qian
c3c69aff7e fix(std/http): close connection on .respond() error (#3475) 2019-12-12 08:46:03 +08:00
Nayeem Rahman
407195ea87 fix: Only swallow NotFound errors in std/fs/expandGlob() (#3479) 2019-12-12 08:42:21 +08:00
AleksandrukTad
31ddfd5a42 fix: decoding uri in file_server (#3187) 2019-12-10 20:11:55 +08:00
木杉
90c5aadbca fix(installer): installs to the wrong directory on Windows (#3462)
Close: #3443
2019-12-08 14:59:27 +01:00
木杉
cfa4f540ba better html for file_server (#3423) 2019-12-02 16:14:25 -08:00
Axetroy
2a348144c6 feat: add ignore parser for std/prettier (#3399) 2019-11-26 08:07:39 -08:00
Ry Dahl
c016684653
refactor: reorganize flags (#3389)
- Remove ability to specify run arguments like `--allow-net` after the
  script argument. It's too hacky to make work with clap.
- Remove `--v8-options`, instead use `--v8-flags=--help`
- Give more descriptive names to unit tests in flags.rs
- Assume argv and subcommand into DenoFlags struct so the output of
  flags module is only DenoFlags rather than the tuple (subcommand, flags,
  argv).
- Improve CLI help text
- Make `deno run` specific args like `--allow-net` only show up in 'deno
  help run' instead of as global flags in `deno help`.
- Removes `deno version` to simplify our implementation and be closer to
  clap defaults. `deno -V` now only shows Deno's version and not V8's nor
  TypeScript. `Deno.versions` can be used to see that information.
- Prevent clap from auto-detecting terminal width and attempting to wrap
  text.
2019-11-26 08:06:32 -08:00
Kitson Kelly
8d977d0117 feat: Support named exports on bundles. (#3352) 2019-11-20 11:02:08 -05:00
Kevin (Kun) "Kassimo" Qian
6708fcc386 std/node: add some Node.js polyfill to require() (#3382) 2019-11-19 16:44:59 -05:00
Kevin (Kun) "Kassimo" Qian
e73a82dc42 feat(std/node) add CommonJS require (#3380) 2019-11-19 01:54:20 -05:00
Ry Dahl
e6fdb2628f chore: improve examples (#3377) 2019-11-18 22:07:13 -08:00
罗文
00aa409ff2 support load yaml/yml prettier config (#3370) 2019-11-18 21:15:52 -05:00
Rafał Pocztarski
4ca624a355 feat: std/node/process (#3368) 2019-11-18 18:30:24 -05:00
Lilian Saget-Lethias
5671d38d8f feat: Add std/encoding/yaml module (#3361) 2019-11-18 09:39:32 -05:00
Bartek Iwańczuk
8f9a942cb9 Use futures 0.3 API (#3358) 2019-11-16 19:17:47 -05:00
罗文
cb00fd6e98 fmt: respect prettierrc and prettierignore (#3346) 2019-11-16 11:48:45 -05:00
Leo Chandra
26bf928d28 fix: std/datetime toIMF bug (#3357) 2019-11-16 08:24:07 -05:00
Bartek Iwańczuk
34ed16ed3a run std test with cargo test (#3344)
Removes three CI jobs
2019-11-15 13:31:53 -05:00
Andy Hayden
411f53f7bb Add wasm example to manual (#3353) 2019-11-15 12:42:40 -05:00
Nayeem Rahman
7901038458 fix: error handling in std/fs/walk() (#3318)
- Make assertThrows() return the Error
- Remove WalkOptions::onError()
2019-11-14 22:22:33 -05:00
Ry Dahl
4902a1cacb
Turn on TS strict mode for deno_typescript (#3330) 2019-11-14 15:05:36 -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
罗文
80b1371548 fmt: allow configuration of Prettier options (#3314) 2019-11-13 11:21:17 -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
Vincent LE GOFF
ee1b8dc883 feat: std/node (#3319) 2019-11-12 15:51:14 -05:00
木杉
b3baab6d14 fix manual (#3313)
PS C:\Users\zhbnh> git config --global core.symlinks=true
error: invalid key: core.symlinks=true
2019-11-10 09:59:17 -05:00
Nayeem Rahman
d586f119fa net: Check for closing status when iterating Listener (#3309)
std/http/server.ts: Use listener.next() instead of listener.accept()
2019-11-09 14:40:22 -05:00
罗文
9889a28008 upgrade: Prettier 1.19.1 (#3305) 2019-11-09 08:24:43 -05:00
Ryan Dahl
97ceea49f5 Add jsdoc for std/http/http_status.ts
The website documentation now supports enums
6f4fb0f5a3
2019-11-08 17:27:09 -05:00
Ry Dahl
709cb3c9ba Fix jsdoc in std/http/server.ts (#3284) 2019-11-07 11:00:27 -08:00
Ry Dahl
f466ef9706 manual: add chocolatey install instructions (#3280) 2019-11-06 21:05:37 -08:00
Liam Perlaki
ccc9f1ae5e Allow http server to take { hostname, port } argument (#3233) 2019-11-06 12:18:28 -05:00
Ry Dahl
c04ff22afe
Remove tsconfig files - they are not part of build process (#3262) 2019-11-04 18:13:28 -05:00
Kevin (Kun) "Kassimo" Qian
0644f9c1a6 std/http: add serveTLS and listenAndServeTLS (#3257) 2019-11-04 13:45:29 -05:00
James Wright
429439d198 Consolidates asserts#equal branches for keyed collections (Map/Set) and supports deep equality of Map keys (#3258) 2019-11-04 10:21:42 -05:00
Ry Dahl
86b3ac5108
feat: lockfiles (#3231)
Use --lock-write=lock.json or --lock-check=lock.json on the command
line.
2019-11-03 10:39:27 -05:00
James Wright
64957d92ef Support for deep Map equality with asserts#equal (#3236) 2019-10-29 20:23:54 -04:00
Joseph Sintum
0d41b10ade Update broken links (#3225) 2019-10-29 05:17:58 -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
Robert Jack Will
ff9df0c321 std: fix BufReader.readString to actually return Deno.EOF at end (#3191) 2019-10-28 10:28:29 -07:00
Yoshiya Hinosawa
efd7e78af3 Use web standard Permissions API (#3200) 2019-10-27 11:22:53 -04:00
Andy Hayden
aec5a646c9 feat: top-level-for-await (#3212) 2019-10-27 09:04:42 -04:00
Nayeem Rahman
51dd91a3cc Update link to schematic diagram in manual (#3211) 2019-10-26 21:15:49 -04:00
Nayeem Rahman
585993c8d5 Fix some deno.land URLs in the manual (#3205) 2019-10-26 10:40:13 -04:00
Ry Dahl
be8777de19
Change magic table-of-contents thing (#3197)
We changed our markdown parser from showdown to remark for better react
integration, and it necessitated this change.
2019-10-24 17:58:57 -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
Ry Dahl
073b64bd43 Add std/examples/welcome.ts (#3181) 2019-10-23 09:57:08 -07:00
Nick Stott
5a7dffe427 Reenable std tests that were disabled during merge (#3159) 2019-10-21 11:58:45 -04:00
Rory Hart
27cd2c97f1 curl.ts example with reference in manual (#3161) 2019-10-21 10:36:01 -04:00
Nick Stott
c876d1adb4 Re-enable some tests (#3154)
Ref #3095
2019-10-19 16:55:20 -04:00
Nayeem Rahman
f51dcc12d7 std: Move fs/path to the top-level (#3100) 2019-10-16 14:39:33 -04:00
迷渡
5983507255 std/flags: Add test for multiple boolean flags (#3103) 2019-10-16 11:34:36 -04:00
Yusuke Sakurai
5f5583cf19 fix: [prettier] deno fmt should format jsx/tsx files (#3118) 2019-10-12 12:55:05 -07:00
罗文
ab63e59817 update prettier type definition (#3101) 2019-10-11 06:38:04 -07:00
Ryan Dahl
93f7f00c95
Run deno_std tests in github actions 2019-10-09 17:22:22 -04:00
Ryan Dahl
151ce0266e
Move everything into std subdir 2019-10-09 17:10:09 -04:00