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
jsii
compiler is maintained (except releases in the1.x
line, which are maintained in this repository) - aws/jsii-rosetta is where the
jsii-rosetta
sample code transliteration tool is maintained (except releases in the1.x
line, 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.jsii
assembly 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.jsii
assemblies- The jsii runtime libraries for the supported jsii target languages
1.x
release lines ofjsii
andjsii-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
jsii
and 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.