Commit graph

40 commits

Author SHA1 Message Date
Kitson Kelly bced52505f
Update to Prettier 2 and use ES Private Fields (#4498) 2020-03-28 13:03:49 -04:00
Samrith Shankar 798904b0f2
Add require-await lint rule (#4401) 2020-03-20 09:38:34 -04: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 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
Chris Knight 62942749e6
test: Fix broken test and remove redundant test file (#4390) 2020-03-16 12:40:36 +01:00
Chris Knight 620dd9724d
refactor: move existing fs implementation to internal _fs directory (#4381) 2020-03-15 11:48:46 -04: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
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
Chris Knight 1b6fc87b71
feat(std/node) add appendFile and appendFileSync (#4294) 2020-03-08 19:14:53 -04:00
dubiousjim 9a63902db5
Rename readDir -> readdir (#4225) 2020-03-06 08:34:02 -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
Bartek Iwańczuk e1687c0a46
rename Deno.Err -> Deno.errors (#4093) 2020-02-24 15:48:35 -05:00
ecyrbe fb08cf7005
Add missing node os.release() implementation (#4065) 2020-02-24 08:35:45 -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
ecyrbe fb98556d56
feat(std/node): add os.loadavg() (#4075) 2020-02-22 18:46:52 -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
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
Chris Knight 7b9f6e9c45
feat: Asynchronous event iteration node polyfill (#4016) 2020-02-17 13:22:41 -05:00
Chris Knight a7056095a5
feat(node): add EventEmitter.errorMonitor (#3960) 2020-02-11 15:55:54 -05: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
Benny Shi e8f639ce53 Add readlink, readlinkSync for std/node/fs.ts (#3926) 2020-02-10 03:38:05 -06:00
Chris Knight 3de9540ac6
feat(std/node) Endianness (#3833) 2020-01-30 18:57:29 -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
Takashi Idobe c21e0008b5 add some tests for isSymbol in std/node/util_test (#3788) 2020-01-25 08:25:40 -05:00
Luca Casonato 3eab20ce42 feat(std/node): Added node timers builtin (#3634) 2020-01-15 14:13:12 -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
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
Rafał Pocztarski 4ca624a355 feat: std/node/process (#3368) 2019-11-18 18:30:24 -05:00
Ry Dahl 4902a1cacb
Turn on TS strict mode for deno_typescript (#3330) 2019-11-14 15:05:36 -05:00
Vincent LE GOFF ee1b8dc883 feat: std/node (#3319) 2019-11-12 15:51:14 -05:00