terraform-aws-modules / terraform-aws-lambda

Terraform module, which takes care of a lot of AWS Lambda/serverless tasks (build dependencies, packages, updates, deployments) in countless combinations 🇺🇦
https://registry.terraform.io/modules/terraform-aws-modules/lambda/aws
Apache License 2.0
886 stars 656 forks source link

npm_requirements does not work correctly #506

Closed phildier closed 7 months ago

phildier commented 8 months ago

Description

When using npm_requirements to automatically run npm install during package build, this parameter is ignored. If you have already run npm install in the source directory the zip task will happily include node_modules, but in a new project or CI/CD nothing happens. This is due to the actual reference to the claim parameter in package.py pointing to npm_package_json instead of npm_requirements. When updating the claim to use npm_package_json it works correctly. However the documentation doesn't match this requirement. From this PR https://github.com/terraform-aws-modules/terraform-aws-lambda/pull/293 it appears that the developer intended to use npm_requirements but forgot to change the claim reference in package.py before committing.

Reproduction Code [Required]

  source_path = [
    {
      path             = "${path.module}/collect_queue_metrics/",
      npm_requirements = true,
    }
  ]

Start with a new nodejs lambda project that uses a package.json to install dependencies which aren't included by default by the lambda runtime. terraform apply and note that npm install does not run. Change the above npm_requirements to npm_package_json and note that npm install does in fact run.

Expected behavior

Expect npm install to run when using the claim property described in the documentation.

Actual behavior

npm install does not run when using the claim property described in the documentation.

Additional Context

  1. https://github.com/terraform-aws-modules/terraform-aws-lambda/pull/293
  2. https://github.com/terraform-aws-modules/terraform-aws-lambda/blob/master/package.py#L794
github-actions[bot] commented 7 months ago

This issue has been automatically marked as stale because it has been open 30 days with no activity. Remove stale label or comment or this issue will be closed in 10 days

github-actions[bot] commented 7 months ago

This issue was automatically closed because of stale in 10 days

github-actions[bot] commented 6 months ago

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.