A fork of the nodejs closure serializer in @pulumi/pulumi
npm install @functionless/nodejs-closure-serializerThis is a fork of the Pulumi Closure Serializer. @pulumi/pulumi.
Functionless allows developers to write cloud applications (using aws-cdk) with pure typescript.
``ts
const sfn = new StepFunction(stack, "sfn", () => {
/ something in the state machine /
return "result";
});
new Function(stack, "func", async () => {
return sfn();
});
`
> More on Function in the doc: https://functionless.org/docs/concepts/function
Pulumi's closure serializer helped us bootstrap this experience by doing the heavy lifting of runtime data serialization.
However, Pulumi's serializer had a few short comings:
1. Coupled to the whole @pulumi/pulumi npm package
2. Limited extensibility
3. Makes use of Pulumi resources (Logging and Secrets) in the serializer
- Bug Fix: Symbol Support
- Removed: Pulumi Secret support
- Removed: Pulumi Logging support
- Change: serialize function support replacement of runtime data to be serialized on top of avoiding serializationwith
- Change: Do not serialize functions and constructors that are not invoked
- Change: Anonymous functions can be injected at runtime through the serialize callback.
- Change: Allow for TypeScript TransformerFactory functions to be applied to serialized closures.
- Change: Replace the syntax with simple let` statements.
https://github.com/pulumi/pulumi/releases/tag/v3.33.2