{"id":23651327,"url":"https://github.com/damiancipolat/nodejs_lambda_stack","last_synced_at":"2026-05-06T17:35:04.023Z","repository":{"id":40729226,"uuid":"236395380","full_name":"damiancipolat/nodejs_lambda_stack","owner":"damiancipolat","description":" Base scaffolding project to be used as a template in other projects, stack aws lambdas with nodejs and deploy with serverless framework.","archived":false,"fork":false,"pushed_at":"2023-01-24T01:14:17.000Z","size":1148,"stargazers_count":0,"open_issues_count":21,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-12T10:31:59.916Z","etag":null,"topics":["aws","aws-lambda","cloudformation","javascrit","lambda","nodejs","scaffolding","serverless","serverless-framework"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damiancipolat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-27T00:17:47.000Z","updated_at":"2020-01-27T06:07:29.000Z","dependencies_parsed_at":"2023-02-03T14:16:36.474Z","dependency_job_id":null,"html_url":"https://github.com/damiancipolat/nodejs_lambda_stack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/damiancipolat/nodejs_lambda_stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damiancipolat%2Fnodejs_lambda_stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damiancipolat%2Fnodejs_lambda_stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damiancipolat%2Fnodejs_lambda_stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damiancipolat%2Fnodejs_lambda_stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damiancipolat","download_url":"https://codeload.github.com/damiancipolat/nodejs_lambda_stack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damiancipolat%2Fnodejs_lambda_stack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32704598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","aws-lambda","cloudformation","javascrit","lambda","nodejs","scaffolding","serverless","serverless-framework"],"created_at":"2024-12-28T16:37:07.430Z","updated_at":"2026-05-06T17:35:04.005Z","avatar_url":"https://github.com/damiancipolat.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/damiancipolat/nodejs_lambda_stack/blob/master/doc/logo.png?raw=true\" width=\"150px\" align=\"right\" /\u003e\n\n# Node.js AWS - Lambda stack\nThis repository was created to be used as a template for future projects.\n\n### Scaffolding:\n\nThis modules are used in this project.\n\n- Deploy: Serverless framework.\n- Test: Jest\n- Git hook: husky\n- Lint: es-lin / airbnb\n- Config: https://www.npmjs.com/package/config\n\n**Environments**:\n\nThe project is ready to work with 3 environments (dev / stage / production).\n\n**Configuration**:\n\nIn the **/config** directory there are five files with a configuration schema to be used in the project: `dev.json`, `stage.json`, `production.json`, `default.json` and `custom-environment-variables.json`.\n\n- default.json: Use this file when NODE_ENV = \"\".\n- dev.json: Use this file when NODE_ENV = dev.\n- stage.json: Use this file when NODE_ENV = stage.\n- production.json: Use this file when NODE_ENV = production.\n- **custom-environment-variables.json**: this is a special file, is used to mix the configuration schema with ENVIRONMENT VARIABLES,\nmap the variables name with environment variables with the same name, example:\n\n```json\n{\n    \"system-env\":{\n        \"loan\":\"LOAN_NAME\",\n        \"table\":\"TABLE_NAME\"\n    },\n    \"values\":{}\n}\n```\n\nIn the example \"values\" is empty, and the interesting structured to map is \"system-env\" in this object the script will map the values \"LOAN_NAME\" and \"TABLE_NAME\" with environment variables, and finally can be accesed using the `config.get('system-env.loan');`. Take a look later to the file `serverless.yml` in the \"environment\" section.\n\n\n### Install:\n```sh\nnpm install serverless -g\nnpm install\n```\n\n### Command List:\n```sh\n#To check es-lint rules:\nnpm run check\n\n#To run unit test and coverage:\nnpm test\n\n#To run deploy:\nnpm run deploy\n```\n\n### Versions:\nThe project use SEMVER to track the changes in the package.json in the `version` key, there are a githook in the **precommmit** created using Husky that run a validation, to make sure always commit a differente package.json{version} differente. To make this is necessary\nto modify in the `./hooks/config.js` the github api token and the development branch name.\n\n**Config.js**:\n```sh\nmodule.exports = {\n    token: process.env.GIT_TOKEN || 'xxxxxxxxxxxx',  \u003c-- GITHUB API TOKEN HERE\n    branch: process.env.GIT_BRANCH || 'development', \u003c-- DEVELOPMENT BRANCH NAME HERE.\n};\n```\n\n*Make sure you have the github project url in the package.json{repository.url}, example: https://github.com/damiancipolat/nodejs_lambda_stack.*\n\nHow to get the Github api token, go to this link: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line#creating-a-token\n\n### To use this project as template:\n```sh\nserverless create --template-url https://github.com/damiancipolat/nodejs_lambda_stack --path [YOUR-PROJECT-PATH]\n```\n\n# Project title:\n\nDelete the last sections of the README.md to add in this section the new project information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamiancipolat%2Fnodejs_lambda_stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamiancipolat%2Fnodejs_lambda_stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamiancipolat%2Fnodejs_lambda_stack/lists"}