fix(aws-cdk): configure zip directory to follow symlinks #1318
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When building a nodejs lambda it is really common for dependencies under the
node_modulesfolder to actually be symlink'd to other folders on your system. Currently, when creating a lambda with a dependencies linked this way, it will package the symlink itself and not the files within it.For example, if you create a lambda function like this:
And if that example code directory has a dependency like this in its package.json:
When calling
npm ibefore deployment, it will actually generate a symlink to the helpers directorynode_modules/helpers -> ../helpers. Trying to deploy such a lambda function results in an error when you execute the lambda since the files within the symlink'd folder were not included in the zip and therefore were not deployed up to lambda.This change simply configures the archiver to follow symlinks when building the zip file. It is not a breaking change as all existing directory structures should work, there is no scenario where a previously working zipdirectory would now not be working. None that I know of at least.
Fixes #731
Testing
N\AN\ADocumentation
Title and description
fix(module): <title>bug fix (patch)feat(module): <title>feature/capability (minor)chore(module): <title>won't appear in changelogbuild(module): <title>won't appear in changelogBREAKING CHANGE: <describe exactly what changed and how to achieve similar behavior + link to documentation/gist/issue if more details are required>Fixes #xxxorCloses #xxxBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.