summaryrefslogtreecommitdiff
path: root/cli/state.rs
AgeCommit message (Collapse)Author
2020-10-13refactor(cli): rename GlobalState to ProgramState (#7914)Bartek Iwańczuk
2020-10-02fix(cli/repl): use a default referrer when empty (#7794)Casper Beyer
This makes use of a default referrer when its empty in repl mode so that dynamic imports work in the global evaluation context. Co-authored-by: Bartek Iwanczuk <biwanczuk@gmail.com>
2020-09-21refactor: use futures and serde_json from deno_core (#7614)Bartek Iwańczuk
2020-09-20refactor: remove CliState, use OpState, add CliModuleLoader (#7588)Bartek Iwańczuk
- remove "CliState.workers" and "CliState.next_worker_id", instead store them on "OpState" using type aliases. - remove "CliState.global_timer" and "CliState.start_time", instead store them on "OpState" using type aliases. - remove "CliState.is_internal", instead pass it to Worker::new - move "CliState::permissions" to "OpState" - move "CliState::main_module" to "OpState" - move "CliState::global_state" to "OpState" - move "CliState::check_unstable()" to "GlobalState" - change "cli_state()" to "global_state()" - change "deno_core::ModuleLoader" trait to pass "OpState" to callbacks - rename "CliState" to "CliModuleLoader"
2020-09-18refactor: move fields from CliState to OpState (#7558)Bartek Iwańczuk
- move rng to OpState - move GlobalTimer to OpState - move Metrics to OpState
2020-09-18refactor: deno_fetch op crate (#7524)Bartek Iwańczuk
2020-09-16Re-export deno_core::url (#7525)Ryan Dahl
Also re-exports deno_core::futures and deno_core::serde_json but these are not yet used in the CLI.
2020-09-15Remove http_client from CliState, store in OpState directly (#7497)Ryan Dahl
2020-09-14Rename deno::state::State to deno::state::CliState (#7480)Ryan Dahl
2020-09-15refactor: use the 'anyhow' crate instead of 'ErrBox' (#7476)Bert Belder
2020-09-12Revert "feat(unstable): Support data: urls (#5157)" (#7432)Bartek Iwańczuk
This reverts commit e3319f34a6ece36eab3138eae83c8d0e18fcc07c.
2020-09-11feat(unstable): Support data: urls (#5157)Valentin Anger
2020-09-10Use gotham-like state for ops (#7385)Ryan Dahl
Provides a concrete state type that can be dynamically added. This is necessary for op crates. * renames BasicState to OpState * async ops take `Rc<RefCell<OpState>>` * sync ops take `&mut OpState` * removes `OpRegistry`, `OpRouter` traits * `get_error_class_fn` moved to OpState * ResourceTable moved to OpState
2020-09-06Move JSON ops to deno_core (#7336)Bert Belder
2020-08-28refactor: migrate ops to new dispatch wrapper (#7118)Bartek Iwańczuk
2020-08-26Simplify ErrBox-to-class mapping & hook it up to core json ops (#7195)Bert Belder
2020-08-26refactor: remove OpError, use ErrBox everywhere (#7187)Bert Belder
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-08-19Make Rc/Arc wrapper around State/GlobalState visible (#7104)Bert Belder
2020-08-18refactor: permissions (#7074)Nayeem Rahman
2020-08-18Async op dispatcher support with 'stateful_json_op_(a)sync()' (#7095)Bert Belder
Closes: #7020
2020-08-12Undo JsonOpDispatcher and OpDispatcher traits (#7023)Ryan Dahl
This reverts commit f83d672ffad7afb1473bd4f9b9c645539064c620. This reverts commit d51972377c1325076704d9faec2eee6f0e024496.
2020-07-18Share reqwest client between fetch calls (#6792)Luca Casonato
2020-07-14refactor: new trait JsonOpDispatcher (#6742)Gurwinder Singh
2020-07-13refactor: Make OpDispatcher a trait (#6736)Gurwinder Singh
2020-07-08BREAKING(core): Remove control slice from ops (#6048)Valentin Anger
2020-06-30refactor: Improvements to TsCompiler and its tests (#6576)Kitson Kelly
2020-06-01feat(core): Ops can take several zero copy buffers (#4788)Valentin Anger
2020-05-29refactor: Split isolate and state using safe get_slot() (#5929)Ryan Dahl
2020-05-29fix(cli/permissions): Fix CWD and exec path leaks (#5642)Nayeem Rahman
2020-05-29refactor: TS compiler and module graph (#5817)Bartek Iwańczuk
This PR addresses many problems with module graph loading introduced in #5029, as well as many long standing issues. "ModuleGraphLoader" has been wired to "ModuleLoader" implemented on "State" - that means that dependency analysis and fetching is done before spinning up TS compiler worker. Basic dependency tracking for TS compilation has been implemented. Errors caused by import statements are now annotated with import location. Co-authored-by: Ryan Dahl <ry@tinyclouds.org>
2020-05-25fix: BorrowMutError when evaluating expression in inspector console (#5822)Bert Belder
Note that this does not fix the 'Uncaught ReferenceError' issue that happens when 'eager evaluation' is enabled in the inspector. Fixes: #5807
2020-05-21fix: --inspect flag working like --inspect-brk (#5697)Bartek Iwańczuk
2020-05-21fix: disallow http imports for modules loaded over https (#5680)Bartek Iwańczuk
2020-05-18refactor: rewrite TS dependency analysis in Rust (#5029)Bartek Iwańczuk
This commit completely overhauls how module analysis is performed in TS compiler by moving the logic to Rust. In the current setup module analysis is performed using "ts.preProcessFile" API in a special TS compiler worker running on a separate thread. "ts.preProcessFile" allowed us to build a lot of functionality in CLI including X-TypeScript-Types header support and @deno-types directive support. Unfortunately at the same time complexity of the ops required to perform supporting tasks exploded and caused some hidden permission escapes. This PR introduces "ModuleGraphLoader" which can parse source and load recursively all dependent source files; as well as declaration files. All dependencies used in TS compiler and now fetched and collected upfront in Rust before spinning up TS compiler. To achieve feature parity with existing APIs this commit includes a lot of changes: * add "ModuleGraphLoader" - can fetch local and remote sources - parses source code using SWC and extracts imports, exports, file references, special headers - this struct inherited all of the hidden complexity and cruft from TS version and requires several follow up PRs * rewrite cli/tsc.rs to perform module analysis upfront and send all required source code to TS worker in one message * remove op_resolve_modules and op_fetch_source_files from cli/ops/compiler.rs * run TS worker on the same thread
2020-05-13Make --inspect-brk pause on the first line of _user_ code (#5250)Bert Belder
2020-05-11refactor: check permissions in SourceFileFetcher (#5011)Bartek Iwańczuk
This PR hot-fixes permission escapes in dynamic imports, workers and runtime compiler APIs. "permissions" parameter was added to public APIs of SourceFileFetcher and appropriate permission checks are performed during loading of local and remote files.
2020-05-08refactor: Remove cli::compilers module (#5138)Bartek Iwańczuk
This PR removes "cli/compilers/" directory. "cli/compilers/ts.rs" has been renamed to "cli/tsc.rs"
2020-05-07fix(imports): fix panic on unsupported scheme (#5131)Bartek Iwańczuk
2020-05-04Rename DenoPermissions, add abs path asserts (#5076)Ryan Dahl
2020-05-02BREAKING: disallow static import of local modules from remote modules (#5050)Bartek Iwańczuk
This commit changes module loading logic to disallow statically import local module (file:// scheme) from remote modules (http://, https:// schemes).
2020-04-30refactor(core): add "prepare_load" hook to ModuleLoader trait (#4866)Bartek Iwańczuk
This PR adds prepare_load hook method to ModuleLoader trait. It allows implementors to perform preparation work before starting actual module loading into isolate. It's meant to be used in CLI; where "transpilation" step will be explicitly performed during prepare_load instead of doing it adhoc for each module if needed.
2020-04-28Make import maps unstable (#4934)Luca Casonato
2020-04-25introduce unstable flag, make a few things unstable (#4892)Ryan Dahl
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-19Modify op dispatcher to include &mut Isolate argument (#4821)Ryan Dahl
- Removes unnecessary RwLock and Rc around the op registry table - Preparation to move resource_table to deno_core::Isolate. - Towards #3453, #4222
2020-04-18Fix Op definitions (#4814)Ryan Dahl
2020-04-15Make writeSync, readSync, seekSync, openSync, isatty proper synchronous ↵Ryan Dahl
syscalls (#4762)
2020-04-10implement Worker.terminate() and self.close() (#4684)Bartek Iwańczuk
2020-04-03clippy (#4618)Kitson Kelly