summaryrefslogtreecommitdiff
path: root/cli/js/compiler.ts
AgeCommit message (Collapse)Author
2020-02-19fix: mis-detecting imports on JavaScript when there is no checkJs (#4040)Kitson Kelly
This PR fixes an issue where we recursively analysed imports on plain JS files in the compiler irrespective of "checkJs" being true. This caused problems where when analysing the imports of those files, we would mistake some import like structures (AMD/CommonJS) as dependencies and try to resolve the "modules" even though the compiler would not actually look at those files.
2020-02-11workers: basic event loop (#3828)Bartek Iwańczuk
* establish basic event loop for workers * make "self.close()" inside worker * remove "runWorkerMessageLoop() - instead manually call global function in Rust when message arrives. This is done in preparation for structured clone * refactor "WorkerChannel" and use distinct structs for internal and external channels; "WorkerChannelsInternal" and "WorkerHandle" * move "State.worker_channels_internal" to "Worker.internal_channels" * add "WorkerEvent" enum for child->host communication; currently "Message(Buf)" and "Error(ErrBox)" variants are supported * add tests for nested workers * add tests for worker throwing error on startup
2020-02-07Improve support for diagnostics from runtime compiler APIs (#3911)Kitson Kelly
- Exports diagnostic items from `diagnostics.ts` which are missing at runtime. - Returns an array of diagnostics, instead of an object with a property of `items`. This is because of the way Rust deals with certain structures, and shouldn't be exposed in the APIs.
2020-01-29workers: proper TS libs, more spec-compliant APIs (#3812)Bartek Iwańczuk
* split lib.deno_main.d.ts into: - lib.deno.shared_globals.d.ts - lib.deno.window.d.ts - lib.deno.worker.d.ts * remove no longer used libs: - lib.deno_main.d.ts - lib.deno_worker.d.ts * change module loading to use proper TS library for compilation * align to Worker API spec: - Worker.terminate() - self.close() - self.name
2020-01-27refactor: isomorphic snapshot for CLI (#3728)Bartek Iwańczuk
2020-01-24Break out runtime lib to main and worker (#3771)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-22Reland "Create an old program to be used in snapshot." (#3747)Bartek Iwańczuk
* read CLI assets from disk during snapshotting
2020-01-21Revert "Create an old program to be used in snapshot. (#3644)"Ry Dahl
Ref #3712. This change allowed the deno_typescript crate to reference cli/js/lib.deno_runtime.d.ts which breaks "cargo package". We intend to reintroduce a revised version of this patch later once "cargo package" is working and tested. This reverts commit 737ab94ea1bdf65eeef323ea37e84bcf430fb92c.
2020-01-21refactor: Rename JS entry functions (#3732)Bartek Iwańczuk
2020-01-21refactor: split worker and worker host logic (#3722)Bartek Iwańczuk
* split ops/worker.rs into ops/worker_host.rs and ops/web_worker.rs * refactor js/workers.ts and factor out js/worker_main.ts - entry point for WebWorker runtime * BREAKING CHANGE: remove support for blob: URL in Worker * BREAKING CHANGE: remove Deno namespace support and noDenoNamespace option in Worker constructor * introduce WebWorker struct which is a stripped down version of cli::Worker
2020-01-20Use globalThis to reference global scope (#3719)Kitson Kelly
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2020-01-17Fix compile and bundle api types (#3703)Klaus Hvam
2020-01-12Create an old program to be used in snapshot. (#3644)Kitson Kelly
2020-01-08Runtime Compiler API (#3442)Kitson Kelly
Also restructures the compiler TypeScript files to make them easier to manage and eventually integrate deno_typescript fully.
2020-01-02Happy new year! (#3578)Ry Dahl
2019-11-25better error message for missing module (#3402)Bartek Iwańczuk
2019-11-20feat: Support named exports on bundles. (#3352)Kitson Kelly
2019-11-14Turn on TS strict mode for deno_typescript (#3330)Ry Dahl
2019-11-14Loader: support .wasm imports (#3328)Kevin (Kun) "Kassimo" Qian
* loader: support .wasm imports * http_server: true * Support named exports * Clippy
2019-11-13Update to TypeScript 3.7 (#3275)Kitson Kelly
and update to prettier 1.19 Also, update `assert()` and remove not null assertions where possibly in `cli`. Closes #3273
2019-11-13Make bundles fully standalone (#3325)Kitson Kelly
- Bundles are fully standalone. They now include the shared loader with `deno_typescript`. - Refactor of the loader in `deno_typescript` to perform module instantiation in a more - Change of behaviour when an output file is not specified on the CLI. Previously a default name was determined and the bundle written to that file, now the bundle will be sent to `stdout`. - Refactors in the TypeScript compiler to be able to support the concept of a request type. This provides a cleaner abstraction and makes it easier to support things like single module transpiles to the userland. - Remove a "dangerous" circular dependency between `os.ts` and `deno.ts`, and define `pid` and `noColor` in a better way. - Don't bind early to `console` in `repl.ts`. - Add an integration test for generating a bundle.
2019-10-27feat: top-level-for-await (#3212)Andy Hayden
2019-10-04Merge deno_cli_snapshots into deno_cli (#3064)Ryan Dahl