{"id":24044421,"url":"https://github.com/jimleuk/coffeescript-lambda-runtime","last_synced_at":"2025-08-30T04:08:10.628Z","repository":{"id":81257874,"uuid":"162048292","full_name":"jimleuk/coffeescript-lambda-runtime","owner":"jimleuk","description":"A CoffeeScript custom runtime for AWS Lambda ☕️","archived":false,"fork":false,"pushed_at":"2019-02-19T21:34:08.000Z","size":21,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T08:44:53.619Z","etag":null,"topics":["aws","coffeescript","coffeescript2","custom","lambda","open-rebellion","runtime","serverless"],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimleuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-16T22:50:32.000Z","updated_at":"2020-11-03T11:44:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3d7d4ea-8a7d-4f39-8b80-7068140b866c","html_url":"https://github.com/jimleuk/coffeescript-lambda-runtime","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jimleuk/coffeescript-lambda-runtime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimleuk%2Fcoffeescript-lambda-runtime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimleuk%2Fcoffeescript-lambda-runtime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimleuk%2Fcoffeescript-lambda-runtime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimleuk%2Fcoffeescript-lambda-runtime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimleuk","download_url":"https://codeload.github.com/jimleuk/coffeescript-lambda-runtime/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimleuk%2Fcoffeescript-lambda-runtime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272800967,"owners_count":24995185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","coffeescript","coffeescript2","custom","lambda","open-rebellion","runtime","serverless"],"created_at":"2025-01-08T23:06:38.999Z","updated_at":"2025-08-30T04:08:10.610Z","avatar_url":"https://github.com/jimleuk.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CoffeeScript for AWS Lambda\n\nA custom runtime for AWS Lambda to execute functions in CoffeeScript.\n\n\u003e **Note**: This repository is essentially a CoffeeScript port and fork of \n[Node-Custom-Lambda](https://github.com/lambci/node-custom-lambda).\n\n\u003e **New to CoffeeScript?**  \n\u003e I recommend starting at https://coffeescript.org/\n\n## How does it work?\n`CoffeeScript-lambda-runtime` works by taking care of the compiling and execution of CoffeeScript source code at time of request. This means end-users of the runtime are not required to compile their CoffeeScript code to javascript before uploading their functions to AWS Lambda.\n  \nSimply write your functions as you would for Node.js and it should just work.\n```coffeescript\n# feel alive again!\nexports.handler = (event, context) -\u003e\n    statusCode: 200,\n    body:\n        JSON.stringify\n            message: 'CoffeeScript Serverless v1.0! Your function executed successfully!',\n            input: event,\n```\n\nalternatively, if you prefer the callback method:\n```coffeescript\n# feel alive again!\nexports.handler = (event, context, callback) -\u003e\n    response =\n        statusCode: 200,\n        body:\n            JSON.stringify\n                message: 'CoffeeScript Serverless v1.0! Your function executed successfully!',\n                input: event,\n\n    callback null, response\n```\n\n## Version ARN\n\nProject|CoffeeScript|NodeJS|ARN|\n|-|-|-|-|\n|v1.1.0|v2.3.2|v8.10.0|arn:aws:lambda:eu-west-2:321742921541:layer:coffeescript:4|\n\n## Building the runtime layer\n\nThere are two ways to get started using the coffeescript runtime,\n  1. build \u0026 upload your own copy (recommended)\n  2. or use the ARN supplied above if you just want to give it a try\n\nTo start building your own, simply do the following once you have cloned the repo:\n\n```\n# Make sure you have a copy of coffeescript/cake installed globally\n\u003e npm install -g coffeescript\n\n# Install required dependencies\n\u003e npm install\n\n# go into the project root and type `cake build`\n\u003e cake build\n\n===========================================================\nruntime:        coffeescript-lambda-runtime_1.0.0\nCoffeeScript:   v2.3.2\nNodeJs:         v8.10.0\n===========================================================\nbuilding image... ok\npackaging image... ok\nbuild completed successfully!\n    output:     build/coffeescript-lambda-runtime_1.0.0.zip\n```\n\n## Publishing your runtime layer\n\nOnce you have your build (ie. `build/coffeescript-lambda-runtime_1.0.0.zip`),\nsimply upload to your aws account to make it available to your functions.\n\nSimpliest way to do this is to use the aws console via `aws lambda \u003e layers \u003e create layer`.\n\nAlternatively you can use the `cake publish` task to achieve the same thing. Note that `cake publish` uses the aws-cli so requires that your aws credentials are available before the task is executed.\n\nFor more info, please read the [official documentation of AWS Lambda Layers](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).\n\n## Credits\n\n[Node-custom-lambda](https://github.com/lambci/node-custom-lambda) by [@mhart](https://github.com/mhart) - of which this project is \"forked\" from\n\n## FAQs\n\n\u003e **Note**: This runtime does not include the AWS-SDK\n\u003cdetails\u003e\n\u003csummary\u003eIs this runtime practical?\u003c/summary\u003e\n\u003cp\u003e\nIf you're not too fussed about cold start times then yes! Just remember that everytime a container starts it has to compile coffeescript source code before it runs, which may or may not be slow depending on given compute power. A warm container will be quite fast.\n\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCan I write with all modern CoffeeScript syntax or only those compatible with NodeJs?\u003c/summary\u003e\n\u003cp\u003e\nUnder the hood, the runtime transpiles all CoffeeScript code using \u003ca href=\"https://babeljs.io/\" rel=\"noopener\"\u003ebabel\u003c/a\u003e which is configured to best match the NodeJs environment. This will ensure that end-users can confidently use modern ES6+ syntax without worrying about polyfills.\n\u003c/p\u003e\n\u003c/details\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimleuk%2Fcoffeescript-lambda-runtime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimleuk%2Fcoffeescript-lambda-runtime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimleuk%2Fcoffeescript-lambda-runtime/lists"}