fix(core): CustomResourceProvider assets are staged in node_modules#20953
fix(core): CustomResourceProvider assets are staged in node_modules#20953mergify[bot] merged 15 commits intomainfrom
Conversation
| throw new Error(`cannot find ${props.codeDirectory}/index.js`); | ||
| } | ||
|
|
||
| const stagingDirectory = fs.mkdtempSync(path.join(os.tmpdir(), 'cdk-custom-resource')); |
There was a problem hiding this comment.
using import { FileSystem } from '../fs';
| const stagingDirectory = fs.mkdtempSync(path.join(os.tmpdir(), 'cdk-custom-resource')); | |
| const stagingDirectory = FileSystem.mkdtemp('cdk-custom-resource'); |
There was a problem hiding this comment.
It has the advantage of using the real temp dir even when it is a symlink like on OSx
| } | ||
|
|
||
| const stagingDirectory = FileSystem.mkdtemp('cdk-custom-resource'); | ||
| fs.copyFileSync(path.join(props.codeDirectory, 'index.js'), path.join(stagingDirectory, 'index.js')); |
There was a problem hiding this comment.
Previously we were copying the ENTRYPOINT_FILENAME into the codeDirectory. Now we are copy the ENTRYPOINT_FILENAME and just the index.js file from the codeDirectory into a tmp directory. What happens if some custom resources have more than just an index.js file that needs to be copied?
For example https://github.com/aws/aws-cdk/tree/main/packages/%40aws-cdk/aws-iam/lib/oidc-provider
There was a problem hiding this comment.
You're absolutely right! Done.
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
…ws#20953) Instead of using the source code directory as a staging directory (which, from the point of view of the consumer, is inside the `node_modules` directory), create a temporary directory for staging. Fixes aws#17460. ---- ### All Submissions: * [x] Have you followed the guidelines in our [Contributing guide?](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) ### Adding new Unconventional Dependencies: * [ ] This PR adds new unconventional dependencies following the process described [here](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md/#adding-new-unconventional-dependencies) ### New Features * [ ] Have you added the new feature to an [integration test](https://github.com/aws/aws-cdk/blob/main/INTEGRATION_TESTS.md)? * [ ] Did you use `yarn integ` to deploy the infrastructure and generate the snapshot (i.e. `yarn integ` without `--dry-run`)? *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Instead of using the source code directory as a staging directory (which, from the point of view of the consumer, is inside the
node_modulesdirectory), create a temporary directory for staging.Fixes #17460.
All Submissions:
Adding new Unconventional Dependencies:
New Features
yarn integto deploy the infrastructure and generate the snapshot (i.e.yarn integwithout--dry-run)?By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license