1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-30 11:16:38 -05:00
Commit graph

141 commits

Author SHA1 Message Date
Marcos Casagrande
0bf952bb49
feat(std/node) - Add util.promisify (#5540) 2020-06-08 19:26:52 +02:00
Peter Evers
7b597c82fc
feat(std/node) add util.types (#6159) 2020-06-07 09:21:49 -04:00
Chris Knight
3ef94c5473
refactor(std): remove testing dependencies from non-test code (#5838) 2020-06-07 09:20:33 -04:00
Nikolai Vavilov
09ee9a8280
feat(std/node): Buffer (#5925) 2020-06-06 15:56:49 -04:00
Marcos Casagrande
26287ef87b
fix: use queueMicrotask instead of setTimeout (#6112) 2020-06-06 15:32:17 -04:00
Casper Beyer
ed5aedc6b4
Rename abbreviated assertions in std/testing (#6118) 2020-06-05 23:43:00 -04:00
Kitson Kelly
3fe6bc1b82
fix: Better use of @ts-expect-error (#6038) 2020-06-02 00:24:44 -04:00
Peter Evers
6b0d286a3d
feat(std/node): add util.type.isDate (#6029) 2020-06-01 18:43:43 -04:00
Chris Knight
fadd93b454
feat(std/node): add link/linkSync polyfill (#5930) 2020-05-28 19:39:02 -04:00
Kitson Kelly
228f9c207f
Use ts-expect-error instead of ts-ignore. (#5869) 2020-05-26 10:02:16 -04:00
Rares Folea
aef9f22462
Fix typo (#5834) 2020-05-25 09:35:11 -04:00
Ali Hasani
3b86552d66
refactor: remove duplicated code in std/node/module (#5778) 2020-05-23 12:55:15 +02:00
Marcos Casagrande
7f81f02ce7
std/node: fs.writeFile/sync path can now be an URL (#5652) 2020-05-22 22:11:10 -04:00
Ali Hasani
1a6c541327
re-enable symlink tests on windows (#5746) 2020-05-22 13:37:25 -04:00
Marcos Casagrande
11e3d70c85
Remove duplicate test (#5687) 2020-05-20 21:40:43 -04:00
Ali Hasani
22da75b8e5
feat(std/node): first pass at url module (#4700) 2020-05-20 10:37:30 -04:00
Garrone Joseph
7630326b4c
feat(std/node) Export TextDecoder and TextEncoder from util (#5663) 2020-05-20 10:35:51 -04:00
Evan Hahn
f5c0188b5e
std/node: add util.callbackify (#5415)
This adds [Node's `util.callbackify`][0] to `std/node/util.ts`.

I lifted most of this from the [original Node source code][1] (and [its
tests][2]). I tried to make minimal modifications to the source.

I made a few arbitrary decisions:

- I was unable to do the function's types elegantly. I made overloads
  for functions that have 0 to 5 (inclusive) arguments, excluding the
  callback. I would love to know a better way to do this. (It seems that
  the folks at DefinitelyTyped [were also stumped][3], though maybe
  their solution is deliberate.)
- There are a few edge cases that cause custom Node errors to be
  produced. Instead of re-implementing those errors completely, I
  created simplified classes. These are mostly correct but are not
  identical to the real Node errors.
- The tests implement a possibly-arcane `TestQueue` class. I originally
  used a lot of inline promises but found it too repetitive.

Closes [#5366][4].

[0]: https://nodejs.org/api/util.html#util_util_callbackify_original
[1]: 4780493301/lib/util.js (L183-L226)
[2]: 4780493301/test/parallel/test-util-callbackify.js
[3]: 7d24857ddb/types/node/util.d.ts (L61-L84)
[4]: https://github.com/denoland/deno/issues/5366
2020-05-20 10:29:05 -04:00
Marcos Casagrande
eb5acb39d5
feat(std/node): Add fs.promises.readFile (#5656) 2020-05-20 02:50:48 -04:00
Marcos Casagrande
62c34bc21e
fix(std/node) improve fs.close compatibility (#5649) 2020-05-19 19:01:06 -04:00
Bert Belder
76a6a1ff46
Fix a bunch of spelling errors (#5314) 2020-05-16 00:36:49 +02:00
Tomasz Gałkowski
8440d765d5
fix: setTimeout and friends have too strict types (#5412) 2020-05-15 09:51:49 -04:00
Marcos Casagrande
ce57a1824d
feat(std/node): fs.writeFileSync polyfill (#5414) 2020-05-15 09:50:27 -04:00
Evan Hahn
6f7e74d694
[std/node]: remove execute permissions from fs.ts (#5363) 2020-05-14 11:57:12 -04:00
Marcos Casagrande
524b1547b7
std/node fs.readFile should take string as option (#5316) 2020-05-14 07:04:07 -04:00
Dante Calderón
c3a205bae8
Fix typos across the repo (#5295)
Corrections made:
* cli/js/tests/README.md:44:7: corrected "discoveres" to "discovers"
* cli/js/tests/chown_test.ts:111:37: corrected "priviledge" to "privilege"
* cli/worker.rs:231:56: corrected "decendants" to "descendants"
* deno_typescript/lib.rs:136:50: corrected "emmited" to "emitted"
* core/es_isolate.rs:492:67: corrected "registerd" to "registered"
* core/isolate.rs:103:28: corrected "initalize" to "initialize"
* docs/runtime.md:29:14: corrected "ect" to "etc"
* docs/tools/debugger.md:122:16: corrected "implementes" to "implements"
* std/encoding/_yaml/dumper/dumper_state.ts:57:63: corrected "everwhere" to "everywhere"
* std/encoding/csv.ts:37:43: corrected "referal" to "referral"
* std/fmt/sprintf.ts:209:20: corrected "unusuable" to "unusable"
* std/fmt/README.md:21:40: corrected "Alternativly" to "Alternatively"
* std/fmt/README.md:35:68: corrected "seperated" to "separated"
* std/fmt/README.md:179:59: corrected "provded" to "provided"
* std/mime/multipart.ts:581:46: corrected "writen" to "written"
* std/path/_globrex.ts:19:52: corrected "equivelant" to "equivalent"
* std/node/events_test.ts:447:9: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:475:9: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:500:29: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:530:40: corrected "asyncronous" to "asynchronous"
* std/node/events_test.ts:555:9: corrected "asyncronous" to "asynchronous"
* tools/deno_tcp_proxy.ts:1:42: corrected "perfromance" to "performance"
* std/node/module.ts:1003:18: corrected "existend" to "existed"
2020-05-14 06:38:42 +02:00
Edward Elric
b2da8f3d4e
doc: fix typo in std/node/README.md (#4819) 2020-05-11 15:13:06 +02:00
Nayeem Rahman
f184332c09
BREAKING(std): reorganization (#5087)
* Prepend underscores to private modules
* Remove collectUint8Arrays() It would be a misuse of Deno.iter()'s result.
* Move std/_util/async.ts to std/async
* Move std/util/sha*.ts to std/hash
2020-05-09 08:34:47 -04:00
Ryan Dahl
846c049c9b
Remove flaky and useless tests (#5116) 2020-05-06 17:04:52 -04:00
Marcos Casagrande
f0aea98c85
feat(std/node): fs.writefile / fs.promises.writeFile (#5054) 2020-05-04 18:59:37 -04:00
Ali Hasani
5cc0f056d1
[std/node] add the ability to path argument to be URL type (#5055) 2020-05-03 15:14:38 -04:00
Nikolai Vavilov
898773d3f8
std/node: toString for globals (#5013) 2020-04-30 13:58:40 -04:00
Nikolai Vavilov
84d687e958
std/node: make process global (#4985) 2020-04-30 10:00:02 -04:00
Marcos Casagrande
12c6055855
Cleanup std/node/fs functions (#5000) 2020-04-29 21:36:44 -04:00
Ryan Dahl
bc792c0267
make camel case readDir, readLink, realPath (#4995) 2020-04-29 16:39:37 -04:00
Bert Belder
3e6ea62841
BREAKING: Include limited metadata in 'DirEntry' objects (#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.
2020-04-29 16:00:31 -04:00
Valentin Anger
721a4ad59d
BREAKING: Map-like interface for Deno.env (#4942) 2020-04-29 14:48:19 -04:00
Ryan Dahl
e0ca60e770
BREAKING: Use LLVM target triple for Deno.build (#4948)
Deno.build.os values have changed to correspond to standard LLVM target triples
"win" -> "windows"
"mac" -> "darwin"
2020-04-28 12:35:23 -04:00
Bartek Iwańczuk
8feb30e325
BREAKING: remove overload of Deno.test() (#4951)
This commit removes overload of Deno.test() that accepted named
function.
2020-04-28 12:33:09 +02:00
Bert Belder
ee4e6a1ef9
Rename FileInfo time fields and represent them as Date objects (#4932)
This patch also increases the resolution of reported file times to
sub-millisecond precision.
2020-04-27 21:13:32 +02:00
Ali Hasani
516d970fd3
bug fix and tests for std/node/fs/mkdir (#4917) 2020-04-27 08:48:54 -04:00
Nikolai Vavilov
f72f045de5
std/node: require_ -> require (#4828) 2020-04-20 14:30:52 -04:00
Ali Hasani
437e35ca52
Add no-async-promise-executor lint rule (#4809) 2020-04-20 11:29:37 +02:00
Bartek Iwańczuk
e2fd729a0b
fix(std): existsFile test 2020-04-18 22:29:39 +02:00
Chris Knight
1cd1f7de70
refactor: proper Node polyfill directory iteration now that Deno supports this (#4783) 2020-04-16 15:45:30 -04:00
Nayeem Rahman
5ac728a5f1
refactor(cli/js/ops/fs): Improve readdir() and FileInfo interfaces (#4763) 2020-04-16 01:40:30 -04:00
Ali Hasani
e23f33de7b
add copyFile & copyFileSync to std/node/fs (#4726) 2020-04-12 14:34:16 -04:00
Ryan Dahl
ac215a2461
Fix build - 2becae broke CI (#4686) 2020-04-09 13:45:10 -04: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
Ali Hasani
47a580293e
Add exists and existsSync to std/node (#4655) 2020-04-06 23:43:14 -04:00
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