summaryrefslogtreecommitdiff
path: root/cli/ops/fs.rs
AgeCommit message (Collapse)Author
2020-05-19Implement Deno.symlink() for windows (#5533)Ali Hasani
2020-05-18Make Deno.remove() work with directory symlinks on windows (#5488)Ali Hasani
2020-05-15fix some clippy warning (#5462)Yiyu Lin
2020-05-04stabilize Deno.cwd and require --allow-read (#5068)Ryan Dahl
2020-05-02Deno.chdir should require allow-read not allow-write (#5033)Ryan Dahl
2020-04-29BREAKING: Include limited metadata in 'DirEntry' objects (#4941)Bert Belder
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-27make utime unstable (#4955)Ali Hasani
2020-04-27Mark Deno.umask unstable (#4935)Brayden
2020-04-27Rename FileInfo time fields and represent them as Date objects (#4932)Bert Belder
This patch also increases the resolution of reported file times to sub-millisecond precision.
2020-04-25introduce unstable flag, make a few things unstable (#4892)Ryan Dahl
2020-04-24chdir should require --allow-write (#4889)Ryan Dahl
2020-04-25BREAKING CHANGE: remove Deno.OpenMode (#4884)Bartek Iwańczuk
This commit removes Deno.OpenMode along with overloaded variants of Deno.open() and Deno.openSync() that used OpenMode.
2020-04-23Rename deno_core::Isolate to deno_core::CoreIsolate (#4851)Ryan Dahl
2020-04-21Move resource_table from deno::State to deno_core::Isolate (#4834)Ryan Dahl
2020-04-15Make writeSync, readSync, seekSync, openSync, isatty proper synchronous ↵Ryan Dahl
syscalls (#4762)
2020-04-03clippy (#4618)Kitson Kelly
2020-04-03Properly handle invalid utf8 in paths (#4609)dubiousjim
2020-04-03adjust docs for Deno.seek (#4610)dubiousjim
2020-03-31Properly track isFile, isSymlink, isDirectory (#4541)dubiousjim
* Properly track isFile, isSymlink, isDirectory These don't exhaust all the possibilities, so none of them should be defined as "neither of the others". * empty
2020-03-27feat: Support Inspector / Chrome Devtools (#4484)Ryan Dahl
This is a first pass implementation which is still missing several important features: - support for --inspect-brk (#4503) - support for source maps (#4501) - support for piping console.log to devtools console (#4502) Co-authored-by: Bert Belder <bertbelder@gmail.com> Co-authored-by: Matt Harrison <mt.harrison86@gmail.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
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-16Add mode option to open/create (#4289)dubiousjim
2020-03-14BREAKING CHANGE FileInfo.len renamed to FileName.size (#4338)dubiousjim
2020-03-11Add waker to StreamResource to fix hang on close bugs (#4293)João Souto
2020-03-11support permission mode in mkdir (#4286)dubiousjim
2020-03-10Add Deno.umask (#4290)dubiousjim
2020-03-07refactor: remove cli/ops/files.rs (#4246)Bartek Iwańczuk
* "op_close" - moved to "cli/ops/resources.rs" * "op_seek", "op_open" - moved to "cli/ops/fs.rs" Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-03-06Rename name/filename arguments to path (#4227)dubiousjim
There's a lot of variation in doc comments and internal code about whether the first parameter to file system calls is `path` or `name` or `filename`. For consistency, have made it always be `path`.
2020-03-02Cleanup comments and internal variables (#4205)dubiousjim
2020-02-25fix: Resolve makeTemp* paths from CWD (#4104)Nayeem Rahman
2020-02-25Clean up how we use opIds (#4118)Ryan Dahl
2020-02-23refactor: use OpError instead of ErrBox for errors in ops (#4058)Bartek Iwańczuk
To better reflect changes in error types in JS from #3662 this PR changes default error type used in ops from "ErrBox" to "OpError". "OpError" is a type that can be sent over to JSON; it has all information needed to construct error in JavaScript. That made "GetErrorKind" trait useless and so it was removed altogether. To provide compatibility with previous use of "ErrBox" an implementation of "From<ErrBox> for OpError" was added, however, it is an escape hatch and ops implementors should strive to use "OpError" directly.
2020-02-18feat: Deno.makeTempFile (#4024)Kevin (Kun) "Kassimo" Qian
2020-02-15fix: skip non-UTF-8 dir entries in Deno.readDir() (#4004)Ben Noordhuis
Example: $ python2 -c 'open("\x80\x7F", "w")' $ deno eval 'Deno.readDirSync(".")' thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', cli/ops/fs.rs:373:16 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace fatal runtime error: failed to initiate panic, error 5 Aborted (core dumped) Before this commit they made deno panic, now they are silently skipped. Not ideal but arguably better than panicking. No test because what characters are and aren't allowed in filenames is highly file system-dependent. Closes #3950
2020-02-08refactor: rename ThreadSafeState, use RefCell for mutable state (#3931)Bartek Iwańczuk
* rename ThreadSafeState to State * State stores InnerState wrapped in Rc and RefCell
2020-02-03refactor: Use Tokio's single-threaded runtime (#3844)Ryan Dahl
This change simplifies how we execute V8. Previously V8 Isolates jumped around threads every time they were woken up. This was overly complex and potentially hurting performance in a myriad ways. Now isolates run on their own dedicated thread and never move. - blocking_json spawns a thread and does not use a thread pool - op_host_poll_worker and op_host_resume_worker are non-operational - removes Worker::get_message and Worker::post_message - ThreadSafeState::workers table contains WorkerChannel entries instead of actual Worker instances. - MainWorker and CompilerWorker are no longer Futures. - The multi-threaded version of deno_core_http_bench was removed. - AyncOps no longer need to be Send + Sync This PR is very large and several tests were disabled to speed integration: - installer_test_local_module_run - installer_test_remote_module_run - _015_duplicate_parallel_import - _026_workers
2020-02-03fix: Deno.remove() to properly remove dangling symlinks (#3860)Rafael Vargas
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-01-29Deno.makeTempDir() check permissions (#3810)EnokMan
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-20refactor: Improve path handling in permission checks (#3714)Nayeem Rahman
2020-01-16feat(fs): add more unix-only fields to FileInfo (#3680)Kevin (Kun) "Kassimo" Qian
2020-01-06error on warnings (#3612)Ry Dahl
2020-01-05Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600)Ry Dahl
2020-01-02Happy new year! (#3578)Ry Dahl
2019-12-01fix realpath behavior in windows (#3425)木杉
2019-11-26Add Deno.realpath (#3404)Kevin (Kun) "Kassimo" Qian
2019-10-11Add init methods for each op module (#3087)Ryan Dahl
2019-08-26port fs ops to JSON (#2812)Bartek Iwańczuk