Commit Graph

118 Commits

Author SHA1 Message Date
Linus Unnebäck
5403de37d5 refactor(fs): use every instead of reduce (denoland/deno#5323)
The previous usage of `reduce` was basically implementing the `every`

A small difference is that the new implementation will stop checking 
as soon as one element have returned false, which will reduce 
the number of unnecessary checks.
2021-02-01 10:46:57 +00:00
Kitson Kelly
3d353390c5 Update to TypeScript 3.9 (denoland/deno#4510) 2021-02-01 10:46:57 +00:00
Nayeem Rahman
1eecc5c7d0 BREAKING: reorganization (denoland/deno#5087)
* Prepend underscores to private modules
* Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result.
* Move _util/async.ts to async
* Move util/sha*.ts to hash
2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
968bd7377d BREAKING: remove CLI 'deno script.ts' hack (denoland/deno#5026)
This PR removes the hack in CLI that allows to run scripts with shorthand: deno script.ts.

Removing this functionality because it hacks around short-comings of clap our CLI parser. We agree that this shorthand syntax is desirable, but it needs to be rethinked and reimplemented. For 1.0 we should go with conservative approach that is correct.
2021-02-01 10:46:57 +00:00
Bert Belder
90b0966034 fix fs/walk example (denoland/deno#5030) 2021-02-01 10:46:57 +00:00
张超杰
917423af20 doc(fs): README.md (denoland/deno#4913) 2021-02-01 10:46:57 +00:00
Luca Casonato
94e6c3d329 Unstable methods should not appear in runtime or d.ts (denoland/deno#4957)
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-02-01 10:46:57 +00:00
Ali Hasani
7f8abe0786 fix: use fromFileUrl (denoland/deno#5005) 2021-02-01 10:46:57 +00:00
Ryan Dahl
975115fb15 make camel case readDir, readLink, realPath (denoland/deno#4995) 2021-02-01 10:46:57 +00:00
Bert Belder
5cc4e45d69 BREAKING: Include limited metadata in 'DirEntry' objects (denoland/deno#4941)
This change is to prevent needed a separate stat syscall for each file
when using readdir.

For consistency, this PR also modifies std's `WalkEntry` interface to
extend `DirEntry` with an additional `path` field.
2021-02-01 10:46:57 +00:00
Ryan Dahl
bdac502f84 BREAKING: Use LLVM target triple for Deno.build (denoland/deno#4948)
Deno.build.os values have changed to correspond to standard LLVM target triples
"win" -> "windows"
"mac" -> "darwin"
2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
4facff44f2 BREAKING: remove overload of Deno.test() (denoland/deno#4951)
This commit removes overload of Deno.test() that accepted named
function.
2021-02-01 10:46:57 +00:00
Bert Belder
14ff9a84b4 Rename FileInfo time fields and represent them as Date objects (denoland/deno#4932)
This patch also increases the resolution of reported file times to
sub-millisecond precision.
2021-02-01 10:46:57 +00:00
张超杰
2821c52196 fix: typo fs readme.md (denoland/deno#4903) 2021-02-01 10:46:57 +00:00
张超杰
72ed873ed4 fix(fs): move dest if not exists and overwrite (denoland/deno#4910) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
5f53c9808c BREAKING CHANGE: remove Deno.OpenMode (denoland/deno#4884)
This commit removes Deno.OpenMode along with overloaded variants
of Deno.open() and Deno.openSync() that used OpenMode.
2021-02-01 10:46:57 +00:00
Nayeem Rahman
b10a0edb43 refactor(cli/js/ops/fs): Improve readdir() and FileInfo interfaces (denoland/deno#4763) 2021-02-01 10:46:57 +00:00
dubiousjim
a6627d8926 fix erroneous assert (denoland/deno#4608) 2021-02-01 10:46:57 +00:00
Ryan Dahl
1f1818d379 Move encode, decode helpers to /encoding/utf8.ts, delete /strings/ (denoland/deno#4565)
also removes encoding/mod.ts and archive/mod.ts which are useless.
2021-02-01 10:46:57 +00:00
Nayeem Rahman
e7c907bc7b refactor(cli/js/testing): Reduce testing interfaces (denoland/deno#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
2021-02-01 10:46:57 +00:00
Kitson Kelly
7914eae5f0 Update to Prettier 2 and use ES Private Fields (denoland/deno#4498) 2021-02-01 10:46:57 +00:00
Akshat Agarwal
fc96083668 BREAKING CHANGE Rename Deno.run's args to cmd (denoland/deno#4444)
This is to avoid confusion with Deno.args which does not include the 
executable to be run.
2021-02-01 10:46:57 +00:00
dubiousjim
4d1a39493e use prebuilt "not implemented" error (denoland/deno#4442) 2021-02-01 10:46:57 +00:00
Samrith Shankar
204ebc523d Add require-await lint rule (denoland/deno#4401) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
03d7177ca3 refactor: rename Deno.TestDefinition.skip to ignore (denoland/deno#4400) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
a19e660a30 feat: Deno.test() sanitizes ops and resources (denoland/deno#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 denoland/deno#4208
2021-02-01 10:46:57 +00:00
Nayeem Rahman
19ca3f53c4 refactor: Uncomment disabled tests, use skip option (denoland/deno#4378) 2021-02-01 10:46:57 +00:00
Nayeem Rahman
c8d15ec7b2 refactor: Cleanup options object parameters (denoland/deno#4296) 2021-02-01 10:46:57 +00:00
dubiousjim
28eb11d848 Rename readDir -> readdir (denoland/deno#4225) 2021-02-01 10:46:57 +00:00
Yusuke Sakurai
589ac5af6f reduce unnecessary output on tests (denoland/deno#4148) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
8bd4c5ed4d rename Deno.Err -> Deno.errors (denoland/deno#4093) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
f5cbcf287e refactor: remove unneeded ErrorKinds (denoland/deno#3936) 2021-02-01 10:46:57 +00:00
Maximilien Mellen
623a601fd5 Enable TS strict mode by default (denoland/deno#3899)
Fixes denoland/deno#3324 

Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
82a523639a refactor: rewrite tests in to use Deno.test (denoland/deno#3930) 2021-02-01 10:46:57 +00:00
Yusuke Sakurai
7534d8390a remove non-null assertion operator from std (part2) (denoland/deno#3927) 2021-02-01 10:46:57 +00:00
Yusuke Sakurai
ee8ec4b053 remove non-null assertion operator from std (part1) (denoland/deno#3900) 2021-02-01 10:46:57 +00:00
Bartek Iwańczuk
6b46758ef7 dx: descriptive permission errors (denoland/deno#3808)
Before:
```
▶ target/debug/deno https://deno.land/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/examples/echo_server.ts:4:23
```

```
▶ target/debug/deno --allow-read=/usr https://deno.land/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/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/examples/echo_server.ts:4:23
```

```
▶ target/debug/deno --allow-read=/usr https://deno.land/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)
```
2021-02-01 10:46:56 +00:00
Kevin (Kun) "Kassimo" Qian
bce291ef41 http: allow response body to be string (denoland/deno#3705) 2021-02-01 10:46:56 +00:00
Ry Dahl
06059e0f22 Revert "feat(flags): script arguments come after '--'" (denoland/deno#3681)
Due to complaints about ergonomics and because it breaks shebang on
linux.

This reverts commit 2d5457df15d8c4a81362bb2d185b5c6013faa1d8.

BREAKING CHANGE
2021-02-01 10:46:56 +00:00
Ry Dahl
51658155cf feat: Deno.args now does not include script (denoland/deno#3628)
Previously Deno.args was ["script.js", "arg1", "arg2"]
Now it is just ["arg1", "arg2"]
BREAKING CHANGE
2021-02-01 10:46:56 +00:00
Ry Dahl
ccf4c766d0 feat(flags): script arguments come after '--' (denoland/deno#3621) 2021-02-01 10:46:56 +00:00
Ry Dahl
8c250d5668 fix: Deno.mkdir should conform to style guide (denoland/deno#3617) 2021-02-01 10:46:56 +00:00
Ry Dahl
3a9eb92372 Happy new year! (denoland/deno#3578) 2021-02-01 10:46:56 +00:00
Axetroy
e24c39a7f0 fix permission errors are swallowed by fs.copy() (denoland/deno#3504) 2021-02-01 10:46:56 +00:00
Axetroy
81c208e641 fix permission errors are swallowed by fs.emptyDir (denoland/deno#3501) 2021-02-01 10:46:56 +00:00
Axetroy
3bd58c2d3d fix permission errors are swallowed by fs.exists (denoland/deno#3493) 2021-02-01 10:46:56 +00:00
Nayeem Rahman
d568a6814e fix: Only swallow NotFound errors in fs/expandGlob() (denoland/deno#3479) 2021-02-01 10:46:56 +00:00
Nayeem Rahman
0a92976bb0 fix: error handling in fs/walk() (denoland/deno#3318)
- Make assertThrows() return the Error
- Remove WalkOptions::onError()
2021-02-01 10:46:56 +00:00
Kitson Kelly
1c5db631f7 Update to TypeScript 3.7 (denoland/deno#3275)
and update to prettier 1.19

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

Closes denoland/deno#3273
2021-02-01 10:46:56 +00:00
Nayeem Rahman
5b2aec7a62 std: Move fs/path to the top-level (denoland/deno#3100) 2021-02-01 10:46:56 +00:00