summaryrefslogtreecommitdiff
path: root/cli/js
AgeCommit message (Collapse)Author
2020-03-24feat: window.close() (#4474)Kevin (Kun) "Kassimo" Qian
2020-03-24doc: improve various API docs and include examples (#4486)Chris Knight
2020-03-24fix: add fsEvent notify::Error casts (#4488)Kevin (Kun) "Kassimo" Qian
2020-03-24feat: add queueMicrotask to d.ts (#4477)Yusuke Sakurai
2020-03-24Revert "avoid using same port number for test (#4147)"Bartek Iwańczuk
Ref #4467 This reverts commit 60cee4f045778777a16b6fffd6d5b9a1400d7246.
2020-03-24console: replace object abbreviation with line breaking (#4425)Michał Sabiniarz
2020-03-23feat: Support Unix Domain Sockets (#4176)João Souto
2020-03-23doc: API improvements to chown, close, compile and connect (#4463)Chris Knight
2020-03-21Remove @url comments from d.ts files (#4449)Ryan Dahl
These have no function and are not tested, probably incorrect in many situations.
2020-03-21BREAKING CHANGE Rename Deno.run's args to cmd (#4444)Akshat Agarwal
This is to avoid confusion with Deno.args which does not include the executable to be run.
2020-03-21avoid using same port number for test (#4147)Yusuke Sakurai
2020-03-20chmod should throw on Windows (#4446)dubiousjim
2020-03-20use prebuilt "not implemented" error (#4442)dubiousjim
2020-03-20refactor: move code from fs.rs into ops/fs.rs (#4428)dubiousjim
This a complex boring PR that shifts around code (primarily) in cli/fs.rs and cli/ops/fs.rs. The gain of this refactoring is to ease the way for #4188 and #4017, and also to avoid some future development pain. Mostly there is no change in functionality. Except: * squashed bugs where op_utime and op_chown weren't using `resolve_from_cwd` * eliminated the use of the external `remove_dir_all` crate. * op_chmod now only queries metadata to verify file/dir exists on Windows (it will already fail on Unix if it doesn't) * op_chown now verifies the file/dir's existence on Windows like chmod does.
2020-03-20Add require-await lint rule (#4401)Samrith Shankar
2020-03-19perf: Optimize TextEncoder and TextDecoder (#4430)Bartek Iwańczuk
* add tests for "Deno.core.encode" and "Deno.core.decode" for empty inputs * use "Deno.core.encode" in "TextEncoder" * use "Deno.core.decode" in "TextDecoder" * remove "core_decode" and "core_encode" benchmarks
2020-03-19Simplify timer with macrotask callback (#4385)Kevin (Kun) "Kassimo" Qian
2020-03-19fix: stack traces for modules imported via std/node's require (#4035)Nikolai Vavilov
2020-03-19refactor: rename Deno.TestDefinition.skip to ignore (#4400)Bartek Iwańczuk
2020-03-18Chmod API documentation improvements (#4427)Chris Knight
2020-03-18Improve API docs for Deno.bundle and Deno.chdir (#4426)Chris Knight
2020-03-18feat: Deno.test() sanitizes ops and resources (#4399)Bartek Iwańczuk
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-18Fix unit test runner ConnectionReset bug (#4424)Bert Belder
Fixes: #4373
2020-03-18Provide compiled JSON to TypeScript compiler. (#4404)Kitson Kelly
Fixes #4101 Previously, we would just provide the raw JSON to the TypeScript compiler worker, but TypeScript does not transform JSON. This caused a problem when emitting a bundle, that the JSON would just be "inlined" into the output, instead of being transformed into a module. This fixes this problem by providing the compiled JSON to the TypeScript compiler, so TypeScript just sees JSON as a "normal" TypeScript module.
2020-03-17try to handle ConnectionReset error in windows CI for unit tests (#4407)Bartek Iwańczuk
2020-03-17feat: fetch should accept a FormData body (#4363)crowlKats
2020-03-16Add mode option to open/create (#4289)dubiousjim
2020-03-16try to fix unit test runner on Windows (#4395)Bartek Iwańczuk
This PR attempts to fix intermittent errors occurring on Windows for "cli/tests/unit_test_runner.ts." Runner has been reworked to create only single TCP listener instead of one listener per worker. Additionally worker doesn't close TCP socket - it waits for parent process to close the socket and only then exits.
2020-03-16fix: fetch closes unused body (#4393)Bartek Iwańczuk
This commit makes sure that "httpBody" resource is closed in case of redirections in fetch API.
2020-03-16console: Symbol.toStringTag and display Object symbol entries (#4388)Kevin (Kun) "Kassimo" Qian
2020-03-16refactor: add no-return-await lint rule (#4384)Bartek Iwańczuk
2020-03-15refactor: change test reporter output (#4371)Bartek Iwańczuk
This commit changes output of default test reporter to resemble output from Rust test runner; first the name of running test is printed with "...", then after test has run result is printed on the same line. * Split "Deno.TestEvent.Result" into "TestStart" and "TestEnd"; * changes TestReporter interface to support both events; Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-03-15feat: Deno.core.{encode,decode}; standalone UTF-8 encoding/decoding (#4349)Bartek Iwańczuk
This commits add two new methods to "Deno.core" namespace: "encode" and "decode". Those methods are bound in Rust to provide a) fast b) generally available of encoding and decoding UTF-8 strings. Both methods are now used in "cli/js/dispatch_json.ts".
2020-03-15Remove Object.prototype.__proto__ (#4341)Kitson Kelly
2020-03-15feat(cli/js/testing): Add TestDefinition::skip (#4351)Nayeem Rahman
2020-03-14BREAKING CHANGE FileInfo.len renamed to FileName.size (#4338)dubiousjim
2020-03-14Update CLI for unit_test_runner.ts (#4352)Bartek Iwańczuk
* drop server guard before unit test result check To prevent cascading test failures when js_unit_test http server guard is dropped before asserting that tests were successful. This is really a band-aid and doesn't solve underlying issue with http server. * Update CLI for unit_test_runner.ts * Change cli/js/tests/unit_test_runner.ts command line interface to work in 3 modes: - "one-off" - run tests that match permissions of currently running process - "master" - run tests for all possible permission combinations, by spawning subprocesses running in "worker" mode and communicating via TCP socket; requires elevated permissions - "worker" - run tests for set of permissions provided by CLI arg; requires elevated permissions to setup TCP connection to "master"; after initial setup process drops permissions to given set * Support filtering of tests by string passed after "--" CLI arg * Update cli/js/tests/README.md
2020-03-13refactor: unit test runner communicates using TCP socket (#4336)Bartek Iwańczuk
Rewrites "cli/js/unit_test_runner.ts" to communicate with spawned subprocesses using TCP socket. * Rewrite "Deno.runTests()" by factoring out testing logic to private "TestApi" class. "TestApi" implements "AsyncIterator" that yields "TestEvent"s, which is an interface for different types of event occuring during running tests. * Add "reporter" argument to "Deno.runTests()" to allow users to provide custom reporting mechanism for tests. It's represented by "TestReporter" interface, that implements hook functions for each type of "TestEvent". If "reporter" is not provided then default console reporting is used (via "ConsoleReporter"). * Change how "unit_test_runner" communicates with spawned suprocesses. Instead of parsing text data from child's stdout, a TCP socket is created and used for communication. "unit_test_runner" can run in either "master" or "worker" mode. Former is responsible for test discovery and establishing needed permission combinations; while latter (that is spawned by "master") executes tests that match given permission set. * Use "SocketReporter" that implements "TestReporter" interface to send output of tests to "master" process. Data is sent as stringified JSON and then parsed by "master" as structured data. "master" applies it's own reporting logic to output tests to console (by reusing default "ConsoleReporter").
2020-03-13Remove doc strings from cli/js TS files (#4329)crowlKats
Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-03-11Add waker to StreamResource to fix hang on close bugs (#4293)João Souto
2020-03-11reorg: Deno global initialization (#4317)Bartek Iwańczuk
2020-03-11move compiler API tests to integration tests (#4319)Bartek Iwańczuk
2020-03-11support permission mode in mkdir (#4286)dubiousjim
2020-03-11Stricter permissions for Deno.makeTemp* (#4318)dubiousjim
2020-03-11reorg: remove dispatch.ts, move signals, factor out web utils (#4316)Bartek Iwańczuk
- moves signal definition from "cli/js/process.ts" to "cli/js/signals.ts" - removes "cli/js/dispatch.ts" - removes "cli/js/types.ts" - moves web specific utilities to "cli/js/web/util.ts"
2020-03-11reorg: cli/js/compiler/, move more API to cli/js/web/ (#4310)Bartek Iwańczuk
- moves compiler implementation to "cli/js/compiler/" directory - moves more APIs to "cli/js/web": * "console.ts" * "console_table.ts" * "performance.ts" * "timers.ts" * "workers.ts" - removes some dead code from "cli/js/"
2020-03-10refactor(cli/js/net): Cleanup iterable APIs (#4236)Nayeem Rahman
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-10Add Deno.umask (#4290)dubiousjim
2020-03-10refactor: Cleanup options object parameters (#4296)Nayeem Rahman
2020-03-10refactor: uncomment tests broken tests, use skip (#4311)Bartek Iwańczuk
* uncomment broken tests, use skip: - net_test.ts - url_test.ts - fetch_test.ts