{"id":20066594,"url":"https://github.com/kaskadi/template-kaskadi-layer","last_synced_at":"2025-08-16T22:35:04.544Z","repository":{"id":56229259,"uuid":"241356459","full_name":"kaskadi/template-kaskadi-layer","owner":"kaskadi","description":"a template for creating AWS lambda layer","archived":false,"fork":false,"pushed_at":"2020-11-20T13:46:48.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T11:16:26.094Z","etag":null,"topics":["aws-lambda-layer","template"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaskadi.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}},"created_at":"2020-02-18T12:32:54.000Z","updated_at":"2020-11-20T13:46:51.000Z","dependencies_parsed_at":"2022-08-15T15:01:05.800Z","dependency_job_id":null,"html_url":"https://github.com/kaskadi/template-kaskadi-layer","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/kaskadi/template-kaskadi-layer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaskadi%2Ftemplate-kaskadi-layer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaskadi%2Ftemplate-kaskadi-layer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaskadi%2Ftemplate-kaskadi-layer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaskadi%2Ftemplate-kaskadi-layer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaskadi","download_url":"https://codeload.github.com/kaskadi/template-kaskadi-layer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaskadi%2Ftemplate-kaskadi-layer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270781204,"owners_count":24643806,"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-16T02:00:11.002Z","response_time":91,"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-lambda-layer","template"],"created_at":"2024-11-13T13:59:00.681Z","updated_at":"2025-08-16T22:35:04.499Z","avatar_url":"https://github.com/kaskadi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Deploy status](https://img.shields.io/github/workflow/status/kaskadi/template-kaskadi-layer/deploy?label=deploy\u0026logo=Amazon%20AWS)](https://github.com/kaskadi/template-kaskadi-layer/actions?query=workflow%3Adeploy)\n[![Build status](https://img.shields.io/github/workflow/status/kaskadi/template-kaskadi-layer/build?label=build\u0026logo=mocha)](https://github.com/kaskadi/template-kaskadi-layer/actions?query=workflow%3Abuild)\n[![Docs generation status](https://img.shields.io/github/workflow/status/kaskadi/template-kaskadi-layer/generate-docs?label=docs\u0026logo=read-the-docs)](https://github.com/kaskadi/template-kaskadi-layer/actions?query=workflow%3Agenerate-docs)\n\n**CodeClimate**\n\n[![](https://img.shields.io/codeclimate/maintainability/kaskadi/template-kaskadi-layer?label=maintainability\u0026logo=Code%20Climate)](https://codeclimate.com/github/kaskadi/template-kaskadi-layer)\n[![](https://img.shields.io/codeclimate/tech-debt/kaskadi/template-kaskadi-layer?label=technical%20debt\u0026logo=Code%20Climate)](https://codeclimate.com/github/kaskadi/template-kaskadi-layer)\n[![](https://img.shields.io/codeclimate/coverage/kaskadi/template-kaskadi-layer?label=test%20coverage\u0026logo=Code%20Climate)](https://codeclimate.com/github/kaskadi/template-kaskadi-layer)\n\n\u003c!-- You can add badges inside of this section if you'd like --\u003e\n\n****\n\n# Repository initialization\n\nWhen creating a repository from this template an `init` workflow (see [here](./.github/workflows/init.yml)) will run. This workflow uses [`kaskadi-cli`](https://www.npmjs.com/package/kaskadi-cli) in order to properly initialize your repository by:\n- updating the names refering to the template in relevant files (for example `package.json`, `package-lock.json`, etc.) and renaming some files if need be\n- automatically adding your repository to _Code Climate_\n- automatically setting `REPORTER_ID` secret inside of your repository for test coverage upload to _Code Climate_. This may fail because of _Code Climate_ infrastructure latency in setting up your repository. In such case your workflow will emit a warning telling you to set `REPORTER_ID` manually\n\n# Testing\n\n`mocha`, `chai`, `nyc` \u0026 `standard` are available as dev dependencies.\n\nA `build` workflow (see [here](./.github/workflows/build.yml)) is running on `pull request` and will execute your test suite before allowing you to merge your PR. It also has a `coverage` job already prepared that you can comment out as soon as your testing is in place and your `REPORTER_ID` is in the repository secrets. This is the ID on _Code Climate_ used for uploading code coverage reports.\n\nBeside running your unit tests, this workflow runs a static code analysis to find any vulnerability in your code. If a vulnerability is found, a notification will appear in the `Security` tab of your repository.\n\nThe `build` workflow also runs a `syntax-check` job which checks your `serverless.yml` file syntax.\n\n****\n\n# Documentation\n\nThis repository comes with a `generate-docs` workflow that generates documentation automatically for you by reading your main `serverless.yml` configuration file and extracting meta data of all layers you defined. See [here](https://github.com/kaskadi/action-generate-docs) and [there](./serverless.yml) for more information.\n\nBefore generating the documentation, the workflow will check for syntax error in your `serverless.yml` file.\n\nIf you would like to see the workflow configuration, head [here](./.github/workflows/generate-docs.yml).\n\nYou can configure the template used to generate the action documentation [here](./docs/template.md).\n\n****\n\n# Deploying\n\nDeploying to AWS is done automatically via a `deploy` workflow (see [here](./.github/workflows/deploy.yml)). This workflow will run on `push`. Before publishing it:\n1. performs a static code analysis of the layer to detect any vulnerabilities. If a vulnerability is found, a notification will appear in the `Security` tab of your repository\n2. checks the syntax of `serverless.yml` for any errors\n3. run any tests you may have set up with `npm test`\n\n**You'll have to switch the command from `--version` to `deploy -v` in the [workflow configuration file](./.github/workflows/deploy.yml) to actually deploy!**\n\n**Warning: you may need to manually deploy the first time via `Serverless` CLI locally.**\n\n****\n\n\u003c!-- automatically generated documentation will be placed in here --\u003e\n# Resources documentation\n\nThe following layers are defined in this repository:\n- [template-kaskadi-layer](#template-kaskadi-layer)\n\n## template-kaskadi-layer \u003ca name=\"template-kaskadi-layer\"\u003e\u003c/a\u003e\n\n### Description\n\nNo description found for this layer.\n\n### Dependencies\n\n- `custom-utilities` (local utility)\n\nSee [configuration file](./serverless.yml) for more details.\n\n# Stack tags\n\nYou can use any tags (and their respective values) visible below to find ressources related to this stack on AWS. See [here](https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) for more details.\n\n| Tag          | Value                  |\n| :----------- | :--------------------- |\n| app          | your-app-name          |\n| service      | template-kaskadi-layer |\n| logical-unit | api-logical-unit       |\n| type         | s3, sns, etc.          |\n\u003c!-- automatically generated documentation will be placed in here --\u003e\n\n****\n\n# How to add dependencies to a layer?\n\n1. Go into `layer/nodejs` (`layer` being the path you defined in `serverless.yml` configuration file for your layer)\n2. Run `npm i -S \u003cpackage\u003e` to install any package you need for this layer\n\n# What if I would like to implement custom utilities?\n\nYou can use the folder called `custom-utilities`. This folder will be automatically copied into your layer when you run `npm i`. See [here](./layer/nodejs/custom-utilities/) for details.\n\n**Note:** you can rename this folder freely but beware to also update the `postinstall` script inside of your layer `package.json` file (see [here](./layer/nodejs/package.json)).\n\n\u003c!-- You can customize this template as you'd like! --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaskadi%2Ftemplate-kaskadi-layer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaskadi%2Ftemplate-kaskadi-layer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaskadi%2Ftemplate-kaskadi-layer/lists"}