Jsii
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!
Install / Use
/learn @aws/JsiiREADME
Overview
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), ...
:question: Documentation
Head over to our documentation website!
The jsii toolchain is spread out on multiple repositories:
- aws/jsii-compiler is where the
jsiicompiler is maintained - aws/jsii-rosetta is where the
jsii-rosettasample code transliteration tool is maintained - aws/jsii is where the rest of the toolchain is maintained, including:
- The jsii runtime libraries for the supported jsii target languages
@jsii/spec, the package that defines the.jsiiassembly specificationjsii-pacmak, the bindings generator for jsii packagesjsii-reflect, a higher-level way to process.jsiiassembliesjsii-config, an interactive tool to help configure your jsii package
:book: Blog Posts
Here's a collection of blog posts (in chronological order) related to jsii:
- 2020-01-11: <a id="blog-mbonig" /> How to Create CDK Constructs, by Matthew Bonig
- 2020-05-27: <a id="blog-floydpink" /> Generate Python, Java, and .NET software libraries from a TypeScript source, by Hari Pachuveetil
- 2020-12-23: <a id="blog-romainmuller" /> How the jsii open source framework meets developers where they are, by Romain Marcadier
:information_source: 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!
:gear: Contributing
See CONTRIBUTING.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/aws/aws-cdk"><img src="https://avatars0.githubusercontent.com/u/43080478?v=4?s=100" width="100px;" alt="AWS CDK Automation"/><br /><sub><b>AWS CDK Automation</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aaws-cdk-automation" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Aaws-cdk-automation" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/costleya"><img src="https://avatars2.githubusercontent.com/u/1572163?v=4?s=100" width="100px;" alt="Aaron Costley"/><br /><sub><b>Aaron Costley</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Acostleya+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=costleya" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Acostleya+label%3Afeature-request" title="Feature requests">🤔</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Acostleya" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/ahodieb"><img src="https://avatars1.githubusercontent.com/u/835502?v=4?s=100" width="100px;" alt="Abdallah Hodieb"/><br /><sub><b>Abdallah Hodieb</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aahodieb+label%3Abug" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="http://endoflineblog.com/"><img src="https://avatars2.githubusercontent.com/u/460937?v=4?s=100" width="100px;" alt="Adam Ruka"/><br /><sub><b>Adam Ruka</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Askinny85+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=skinny85" title="Code">💻</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Askinny85" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/pulls?q=is%3Apr+reviewed-by%3Askinny85" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/agdimech"><img src="https://avatars.githubusercontent.com/u/51220968?v=4?s=100" width="100px;" alt="Adrian Dimech"/><br /><sub><b>Adrian Dimech</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=agdimech" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="http://adrianhesketh.com/"><img src="https://avatars.githubusercontent.com/u/1029947?v=4?s=100" width="100px;" alt="Adrian Hesketh"/><br /><sub><b>Adrian Hesketh</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=a-h" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://softwhat.com/"><img src="https://avatars0.githubusercontent.com/u/4362270?v=4?s=100" width="100px;" alt="Alex Pulver"/><br /><sub><b>Alex Pulver</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aalexpulver+label%3Abug" title="Bug reports">🐛</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://kichik.com/"><img src="https://avatars.githubusercontent.com/u/1156773?v=4?s=100" width="100px;" alt="Amir Szekely"/><br /><sub><b>Amir Szekely</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Akichik" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/andipabst"><img src="https://avatars.githubusercontent.com/u/9639382?v=4?s=100" width="100px;" alt="Andi Pabst"/><br /><sub><b>Andi Pabst</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aandipabst+label%3Abug" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/rectalogic"><img src="https://avatars.githubusercontent.com/u/11581?v=4?s=100" width="100px;" alt="Andrew Wason"/><br /><sub><b>Andrew Wason</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Arectalogic+label%3Abug" title="Bug reports">🐛</a> <a href="https://github.com/aws/jsii/commits?author=rectalogic" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/andrestone"><img src="https://avatars.githubusercontent.com/u/7958086?v=4?s=100" width="100px;" alt="André Fontenele"/><br /><sub><b>André Fontenele</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=andrestone" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.aslezak.com/"><img src="https://avatars2.githubusercontent.com/u/6944605?v=4?s=100" width="100px;" alt="Andy Slezak"/><br /><sub><b>Andy Slezak</b></sub></a><br /><a href="https://github.com/aws/jsii/commits?author=amslezak" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://ansgar.dev"><img src="https://avatars.githubusercontent.com/u/1112056?v=4?s=100" width="100px;" alt="Ansgar Mertens"/><br /><sub><b>Ansgar Mertens</b></sub></a><br /><a href="https://github.com/aws/jsii/pulls?q=is%3Apr+author%3Aansgarm" title="Maintenance">🚧</a> <a href="https://github.com/aws/jsii/commits?author=ansgarm" title="Code">💻</a> <a href="https://github.com/aws/jsii/issues?q=author%3Aansgarm+label%3Abug" title="Bug reports">🐛</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/anshulguleria"><img src="https://avatars3.githubusercontent.com/u/993508?v=4?s=100" width="100px;" alt="Anshul Guleria"/><br /><sub><b>Anshul Guleria</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aanshulguleria+label%3Afeature-request" title="Feature requests">🤔</a></td> </tr> <tr> <td align="center" valign="top" width="14.28%"><a href="https://www.linkedin.com/in/aripalo/"><img src="https://avatars0.githubusercontent.com/u/679146?v=4?s=100" width="100px;" alt="Ari Palo"/><br /><sub><b>Ari Palo</b></sub></a><br /><a href="https://github.com/aws/jsii/issues?q=author%3Aaripalo+label%3Afeature-request" title="Feature requests">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://armaan.tobaccowalla.com"><img src="https://avatars.githubusercontent.com/
