summaryrefslogtreecommitdiff
path: root/cli/main.rs
AgeCommit message (Collapse)Author
2020-06-25Revert "fix(cli): ipv6 parsing for --allow-net params (#6453)" (#6458)Bartek Iwańczuk
2020-06-24fix(cli): ipv6 parsing for --allow-net params (#6453)Colin Harrington
Co-authored-by: Liming Jin <jinliming2@gmail.com>
2020-06-24Add ability to output compiler performance information (#6434)Kitson Kelly
2020-06-19refactor(compiler): split code paths for compile and bundle (#6304)Bartek Iwańczuk
* refactor "compile" and "runtimeCompile" in "compiler.ts" and factor out separate methods for "compile" and "bundle" operations * remove noisy debug output from "compiler.ts" * provide "Serialize" implementations for enums in "msg.rs" * rename "analyze_dependencies_and_references" to "pre_process_file" and move it to "tsc.rs" * refactor ModuleGraph to use more concrete types and properly annotate locations where errors occur * remove dead code from "file_fetcher.rs" - "SourceFile.types_url" is no longer needed, as type reference parsing is done in "ModuleGraph" * remove unneeded field "source_path" from ".meta" files stored for compiled source file (towards #6080)
2020-06-18chore(test): move testing utilities to test_util crate (#6360)Bartek Iwańczuk
2020-06-12feat(lint): add --rules flag (#6264)Bartek Iwańczuk
2020-06-12update: deno_lint to v0.1.10 (#6248)Bartek Iwańczuk
* update: deno lint to v0.1.10 * Parallelize "deno lint" subcommand
2020-06-11feat: allow reading the entry file from stdin (#6130)Jaap Aarts
2020-06-10feat(lint): use default globs, upgrade to v0.1.9 (#6222)Bartek Iwańczuk
This commit: * added default file globs so "deno lint" can be run without arguments (just like "deno fmt") * added test for globs in "deno lint" * upgrade "deno_lint" crate to v0.1.9
2020-06-09upgrade: deno_lint v0.1.8 (#6208)Bartek Iwańczuk
2020-06-09feat(doc): display all overloads in cli details view (#6186)uki00a
2020-06-08feat: "deno lint" subcommand (#6125)Bartek Iwańczuk
2020-06-06Add diff for "deno fmt --check" (#5599)Filippo Rossi
2020-06-06feat: deno eval -p (#5682)Ryan Dahl
2020-06-04Revert "feat: format deno bundle output (#5139)" (#6085)Ryan Dahl
This reverts commit 93cf3bd5341d5985201ea0905280082d5a3310f9.
2020-06-01Move create_main_worker to MainWorker::create (#6034)Ryan Dahl
2020-06-01fix(bundle): better size output (#5997)Ali Hasani
2020-05-29refactor: Split isolate and state using safe get_slot() (#5929)Ryan Dahl
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-29fix(cli): write lock file before running any code (#5794)Adam Odziemkowski
2020-05-20refactor: reorganize TS compiler (#5603)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-11BREAKING: There is no public Rust API for the CLI (#5226)Ryan Dahl
2020-01-05Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600)Ry Dahl
2019-09-16Move integration tests to //cli/tests/ (#2964)Ryan Dahl
This ensures the deno executable is properly created before running the integration tests. Also allows deno_cli to be used as a lib. Docs are now properly generated: https://docs.rs/deno_cli/0.18.4/deno_cli/ Towards #2933 Prep for #2955
2019-09-15Make deno_cli installable via crates.io (#2946)Ryan Dahl
- Fixes cargo publish on deno_typescript, deno_cli_snapshots, and deno_cli. - Combines cli_snapshots and js into one directory. - Extracts TS version at compile time rather than runtime - Bumps version awkwardly - it was necessary to test end-to-end publishing. Sorry. - Adds git submodule deno_typescript/typescript
2019-09-15Rename ansi.rs to colors.rs (#2956)Tomohito Nakayama
2019-09-10feat: Make integration tests rust unit tests (#2884)Bartek Iwańczuk
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2019-09-10fix: replace bad rid panics with errors (#2870)Bartek Iwańczuk
2019-09-03Handle typescript version in rust (#2855)Yoshiya Hinosawa
2019-09-02Refactor snapshot build (#2825)Ryan Dahl
Instead of using core/snapshot_creator.rs, instead two crates are introduced which allow building the snapshot during build.rs. Rollup is removed and replaced with our own bundler. This removes the Node build dependency. Modules in //js now use Deno-style imports with file extensions, rather than Node style extensionless imports. This improves incremental build time when changes are made to //js files by about 40 seconds.
2019-09-01Remove DenoSubcommand::Install (#2846)Nayeem Rahman
2019-08-30Remove ts_library_builder, maintain lib.deno_runtime.d.ts by hand (#2827)Ryan Dahl
2019-08-26bring back json ops (#2815)Bartek Iwańczuk
2019-08-24Revert json ops (#2814)Ryan Dahl
* Revert "port more ops to JSON (#2809)" This reverts commit 137f33733d365026903d40e7cde6e34ac6c36dcf. * Revert "port ops to JSON: compiler, errors, fetch, files (#2804)" This reverts commit 79f82cf10ed1dbf91346994250d7311a4d74377a. * Revert "Port rest of os ops to JSON (#2802)" This reverts commit 5b2baa5c990fbeae747e952c5dcd7a5369e950b1.
2019-08-24port ops to JSON: compiler, errors, fetch, files (#2804)Bartek Iwańczuk
2019-08-22introduce JSON serialization for ops (#2799)Ryan Dahl
Converts env(), exit(), execPath(), utime() and utimeSync() to use JSON instead of flatbuffers.
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-16Revert "Remove dead code: legacy read/write ops"Ryan Dahl
This is causing a segfault for unknown reasons - see #2787. This reverts commit 498f6ad431478f655b136782093e19e29248b24d.
2019-08-15Fix import map panics, use import map's location as its base URL (#2770)Nayeem Rahman
2019-08-14Remove dead code: legacy read/write ops (#2776)Ryan Dahl
readSync and writeSync use dispatch_minimal now.
2019-08-11feat: print cache location when no arg in deno info (#2752)Bartek Iwańczuk
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-31refactor: cleanup compiler pipeline (#2686)Bartek Iwańczuk
* remove fetch_source_file_and_maybe_compile_async and replace it with State.fetch_compiled_module * remove SourceFile.js_source() * introduce CompiledModule which is basically the same as deno::SourceInfo and represents arbitrary file that has been compiled to JS module * introduce //cli/compilers module containing all compilers * introduce JsCompiler which is a no-op compiler - output is the same as input, no compilation takes place - it is used for MediaType::JavaScript and MediaType::Unknown * introduce JsonCompiler that wraps JSON in default export * support JS-to-JS compilation using checkJs
2019-07-31Add --current-thread flag (#2702)Bartek Iwańczuk
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-16Support window.onload (#2643)Yoshiya Hinosawa