Motivating Question
tsc
tends to be the bottleneck in modern TS toolchains. Native compilers likeesbuild
andswc
are amazing, but they don’t perform type-checking, so you still needtsc
as part of your build process. Would it be possible to speed uptsc
by opaquely compiling it from a JIT’ed JavaScript program into some more optimal format like WASM or native?
Notes
- The author of swc, kdy1dev is working on porting tsc to Go in order to remove the need for tsc in many cases.
- This may not be worth the effort, but seeing as how quickly native compilers gained adoption within the TS ecosystem, a similar solution for replacing the type-checking and generation portions of
tsc
would have huge implications.
Projects
- TypeScript-like language for WebAssembly
- javyGithubjavyOwnerShopifyUpdatedAug 5, 2023
- JavaScript to WebAssembly toolchain
- Run your JavaScript on WebAssembly. Javy takes your JavaScript code, and executes it in a WebAssembly embedded JavaScript runtime.
- wasmerGithubwasmerOwnerwasmerioUpdatedAug 30, 2023
- The leading WebAssembly Runtime supporting WASI and Emscripten
- Run any code on any client — with WebAssembly and Wasmer
- binaryenGithubbinaryenOwnerWebAssemblyUpdatedAug 31, 2023
- Compiler infrastructure and toolchain library for WebAssembly
- wasmtimeGithubwasmtimeOwnerbytecodeallianceUpdatedAug 31, 2023
- Standalone JIT-style runtime for WebAssembly, using Cranelift
- nccGithubnccOwnervercelUpdatedAug 31, 2023
- Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
- bytenodeGithubbytenodeOwnerbytenodeUpdatedAug 29, 2023
- Minimalist bytecode compiler for Node.js
- thinscriptGithubthinscriptOwnerevanwUpdatedAug 23, 2023
- A low-level programming language inspired by TypeScript
- Related
- nerdGithubnerdOwnerNerdLangUpdatedAug 29, 2023
- JavaScript native compiler. No bytecode no VM, just pure native binaries
- waltGithubwaltOwnerballercatUpdatedAug 24, 2023
- A JavaScript-like syntax for WebAssembly text format
- v8-compile-cacheGithubv8-compile-cacheOwnerzertoshUpdatedAug 29, 2023
- Require hook for automatic V8 compile cache persistence