Functionless is an attempt to compile TypeScript code into AWS "Functionless" definitions (e.g. Step Functions or Event Bridge Pipes).
It primarily focused on transforming a TypeScript function into an AWS Step Function workflow definition, but Step Functions weren't Turing Complete (lacked JSONAta back then), so ultimately failed.
import{StepFunction}from"@functionless/aws-stepfunctions";importMyDatabasefrom"./table";exportdefaultStepFunction(async(input: {todoId: string})=>{awaitStepFunction.waitSeconds(10);awaitMyDatabase.attributes.delete({Key: {pk: {S: "todo",},sk: {S: input.todoId,},},});});The lesson learned from this project is to find solutions that don't necessitate static analysis and compiler tools. "Don't fight your language".