summaryrefslogtreecommitdiff
path: root/cli/worker.rs
AgeCommit message (Collapse)Author
2019-09-19Remove test.py, use cargo test as test frontend (#2967)Ryan Dahl
Fixes #2933
2019-09-04Run tests after "cargo build" on travis (#2854)Ryan Dahl
2019-08-21Organize dispatch a bit (#2796)Ryan Dahl
Just some clean up reorganization around flatbuffer/minimal dispatch code. This is prep for adding a JSON dispatcher.
2019-08-09Fix dynamic import base path problem for REPL and eval (#2757)Kevin (Kun) "Kassimo" Qian
2019-08-09Dynamic import (#2516)Bert Belder
2019-08-07Add op_id throughout op API (#2734)Ryan Dahl
Removes the magic number hack to switch between flatbuffers and the minimal dispatcher. Adds machinery to pass the op_id through the shared_queue.
2019-08-05Provide option to delete Deno namespace in worker (#2717)Kevin (Kun) "Kassimo" Qian
2019-07-31Use system rustfmt instead of fixed binary (#2701)Ryan Dahl
2019-07-31factor out FileFetcher to separate module (#2683)Bartek Iwańczuk
* merge SourceFileFetcher trait and FileFetcher struct * move logic related to source file fetching to //cli/file_fetcher.rs * use Result when creating new ThreadSafeState
2019-07-17Refactor DenoDir (#2636)Bartek Iwańczuk
* rename `ModuleMetaData` to `SourceFile` and remove TS specific functionality * add `TsCompiler` struct encapsulating processing of TypeScript files * move `SourceMapGetter` trait implementation to `//cli/compiler.rs` * add low-level `DiskCache` API for general purpose caches and use it in `DenoDir` and `TsCompiler` for filesystem access * don't use hash-like filenames for compiled modules, instead use metadata file for storing compilation hash * add `SourceFileCache` for in-process caching of loaded files for fast subsequent access * define `SourceFileFetcher` trait encapsulating loading of local and remote files and implement it for `DenoDir` * define `use_cache` and `no_fetch` flags on `DenoDir` instead of using in fetch methods
2019-07-11Refactor error to use dynamic dispatch and traitsBert Belder
This is in preperation for dynamic import (#1789), which is more easily implemented when errors are dynamic.
2019-07-08core: clearly define when module lookup is path-based vs URL-basedBert Belder
The rules are now as follows: * In `import` statements, as mandated by the WHATWG specification, the import specifier is always treated as a URL. If it is a relative URL, it must start with either / or ./ or ../ * A script name passed to deno as a command line argument may be either an absolute URL or a local path. - If the name starts with a valid URI scheme followed by a colon, e.g. 'http:', 'https:', 'file:', 'foo+bar:', it always interpreted as a URL (even if Deno doesn't support the indicated protocol). - Otherwise, the script name is interpreted as a local path. The local path may be relative, and operating system semantics determine how it is resolved. Prefixing a relative path with ./ is not required.
2019-06-19Combine CLI Errors (#2487)Kitson Kelly
2019-06-12Move ModuleSpecifier to //core (#2509)Bartek Iwańczuk
2019-06-12Refactor module resolving (#2493)Bartek Iwańczuk
Adds ModuleSpecifier, which wraps a URL. This is now passed around instead of specifier and resolver strings.
2019-06-12Remove Config struct from core (#2502)Ryan Dahl
It's unnecessary indirection and is preventing the ability to easily pass isolate references into the dispatch and dyn_import closures. Note: this changes how StartupData::Script is executed. It's no longer done during Isolate::new() but rather lazily on first poll or execution.
2019-06-11Removed unused method and update docs (#2499)Gurwinder S
2019-06-11Move Modules to ThreadSafeState (#2498)Ryan Dahl
2019-06-08Add 'bundle' subcommand. (#2467)Kitson Kelly
2019-06-05RecursiveLoad shouldn't own the Isolate (#2453)Ryan Dahl
This patch makes it so that RecursiveLoad doesn't own the Isolate, so Worker::execute_mod_async does not consume itself. Previously Worker implemented Loader, but now ThreadSafeState does. This is necessary preparation work for dynamic import (#1789) and import maps (#1921)
2019-06-04Handle compiler diagnostics in Rust (#2445)Kitson Kelly
2019-05-29TS compiler refactorRyan Dahl
* Compiler no longer has its own Tokio runtime. Compiler handles one message and then exits. * Uses the simpler ts.CompilerHost interface instead of ts.LanguageServiceHost. * avoids recompiling the same module by introducing a hacky but simple `hashset<string>` that stores the module names that have been already compiled. * Removes the CompilerConfig op. * Removes a lot of the mocking stuff in compiler.ts like `this._ts`. It is not useful as we don't even have tests. * Turns off checkJs because it causes fmt_test to die with OOM.
2019-05-11Add progress bar (#2309)Ryan Dahl
2019-05-03add --no-fetch CLI flag to prevent remote downloads (#2213)Bartek Iwańczuk
2019-04-23core: make Isolate concrete, remove Dispatch trait (#2183)Ryan Dahl
Op dispatch is now dynamically dispatched, so slightly less efficient. The immeasurable perf hit is a reasonable trade for the API simplicity that is gained here.
2019-04-21Refactor CLI entry point (#2157)Bartek Iwańczuk
Changes "deno --types" to "deno types" and "deno --prefetch" to "deno prefetch"
2019-04-18Fix redirects under async load (#2133)Kevin (Kun) "Kassimo" Qian
2019-04-17Fix clippy warningsBert Belder
2019-04-16Implement async module loading in CLI (#2084)Ryan Dahl
2019-04-14Fix silent error, add custom panic handler (#2098)Ryan Dahl
This is to work around Tokio's panic recovery feature. Ref https://github.com/tokio-rs/tokio/issues/495 Ref https://github.com/tokio-rs/tokio/issues/209 Ref https://github.com/denoland/deno/issues/1311 Fixes #2097
2019-04-12better wait for removed_from_resource_table_on_close test (#2104)andy finch
2019-04-11Improve op dispatch (#2088)andy finch
2019-04-09core: Rename Behavior to Dispatch (#2082)Ryan Dahl
And rename IsolateState to ThreadSafeState. Also make ThreadSafeState directly implement Dispatch. This is simpler.
2019-04-08Merge Worker and Isolate types (#2078)Ryan Dahl
Reduces generics.