I’m not sure what you mean by “uses open source”. Can you clarify?
Our code generation is all open sourced at https://github.com/pulumi/pulumi, particularly in /pkg/codegen.
We don’t use any particular OSS libraries to aid in multilanguage codegen, it’s mostly hand-rolled AFAIK. Does that answer your question?
h
helpful-knife-18557
01/17/2023, 9:28 PM
sorry for the delay in my reply, yes I found the code generation bit on github and was able to reuse it to explore how it all woks, quite interesting. When I mentioned open source I was wondering if Pulumi used something like
jsii
.
w
worried-rain-74420
01/18/2023, 1:55 AM
Gotcha gotcha. No, Pulumi doesn’t use a core technology like jsii. this warning at the top of the jsii reference is likely relevant. Pulumi packages are native to their corresponding language runtime - we don’t marshal into an IR at runtime then interpret the runtime. It looks like jsii marshals into JSON then boots a JS interpreter?
With Pulumi, before the provider package is published, the IR (in our case PCL) is fed into our codegen executable, which generates the native code for the target language.
💯 1
h
helpful-knife-18557
01/18/2023, 4:09 PM
thank you, super interesting. Ill keep playing with it to better understand the intricacies
No matter how you like to participate in developer communities, Pulumi wants to meet you there. If you want to meet other Pulumi users to share use-cases and best practices, contribute code or documentation, see us at an event, or just tell a story about something cool you did with Pulumi, you are part of our community.