JSIL is a compiler that transforms .NET applications and libraries from their native executable format - CIL bytecode - into standards-compliant, cross-browser JavaScript. You can take this JavaScript and run it in a web browser or any other modern JavaScript runtime. Unlike other cross-compiler tools targeting JavaScript, JSIL produces readable, easy-to-debug JavaScript that resembles the code a developer might write by hand, while still maintaining the behavior and structure of the original .NET code. Because JSIL transforms bytecode, it can support most .NET-based languages - C# to JavaScript and VB.NET to JavaScript work right out of the box.


Code Samples

Getting Started


  1. Clone the repository using Git, from 'https://github.com/sq/JSIL.git'. (Make sure you pull the submodules!)
  2. Build JSIL.sln in Visual Studio 2010. (Express is fine.)
  3. Run JSILc.exe on your application. (See the wiki for help.)
  4. Marvel at convoluted error messages! (JSIL is still in development. You will hit bugs.)

Contribute to JSIL

  1. Fork JSIL on GitHub. (Working locally from a clone is okay too.)
  2. Write tests for bugs or new features! (Without tests, JSIL would always be broken.)
  3. Fix broken tests! (Adding a test for a bug is helpful even if you can't fix it.)
  4. Push to your GitHub fork! (If you don't, I can't see your awesome changes.)
  5. Create a pull request on GitHub. (Submitting a patch is okay too.)
  6. ???
  7. Profit!

Complain about JSIL

Not everybody has time to write code! That's okay. You can report issues, or just talk about JSIL on the internet or something!

Changelog View on GitHub


About the Author

K. Gadd is a rampaging malcontent from Northern California who works on horrible indie games and complains incessantly about first-world problems on Twitter.