jsii allows code in any language to naturally interact with JavaScript classes. It is the technology that enables the
AWS Cloud Development Kit to deliver polyglot libraries from a single codebase!
A class library written in TypeScript can be used in projects authored in TypeScript or Javascript (as usual), but also in Python, Java, C# (and other languages from the .NET family), ...
Head over to our documentation website!
The jsii toolchain is spread out on multiple repositories:
- aws/jsii-compiler is where the
jsiicompiler is maintained (except releases in the1.xline, which are maintained in this repository) - aws/jsii-rosetta is where the
jsii-rosettasample code transliteration tool is maintained (except releases in the1.xline, which are maintained in this repository) - aws/jsii is where the rest of the toolchain is maintained, including:
@jsii/spec, the package that defines the.jsiiassembly specificationjsii-config, an interactive tool to help configure your jsii packagejsii-pacmak, the bindings generator for jsii packagesjsii-reflect, a higher-level way to process.jsiiassemblies- The jsii runtime libraries for the supported jsii target languages
1.xrelease lines ofjsiiandjsii-rosetta
Here's a collection of blog posts (in chronological order) related to jsii:
- 2020-01-11: How to Create CDK Constructs, by Matthew Bonig
- 2020-05-27: Generate Python, Java, and .NET software libraries from a TypeScript source, by Hari Pachuveetil
- 2020-12-23: How the jsii open source framework meets developers where they are , by Romain Marcadier
βΉοΈ If you wrote blog posts about
jsiiand would like to have them referenced here, do not hesitate to file a pull request to add the links here!
See CONTRIBUTING.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
jsii is distributed under the Apache License, Version 2.0.