npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aws-cdk-local

v2.19.1

Published

CDK Toolkit for use with LocalStack

Downloads

118,033

Readme

Integration Tests

AWS Cloud Development Kit (CDK) for LocalStack

This project provides a thin wrapper script cdklocal for using the AWS CDK library against local APIs provided by LocalStack.

Note: This project replaces the old (deprecated) repo which was a fork of the AWS CDK repo. Instead of forking the repo and applying changes, we now simply provide a simple wrapper script cdklocal which applies runtime patching. The advantage of the new approach is that you should be able to use arbitrary CDK versions under the cover.

Quick Installation

The cdklocal command line is published as an npm library:

$ npm install -g aws-cdk-local aws-cdk
...
$ cdklocal --version
1.65.5

Note: Starting with version 1.65.2, the dependency aws-cdk needs to be installed manually (to decouple the two libraries, and allow using arbitrary versions of aws-cdk under the covers).

(Note: Depending on your local setup, you may or may not have to use the global npm installation flag -g above.)

Mac OS specific MODULE_NOT_FOUND issue

On Mac OS, brew can be used to install AWS CDK, which might result in a MODULE_NOT_FOUND error from cdklocal. To resolve this, set the NODE_PATH variable pointing to your AWS CDK's node_module folder to expand the lookup path for modules.

$ export NODE_PATH=$NODE_PATH:/opt/homebrew/Cellar/aws-cdk/<CDK_VERSION>/libexec/lib/node_modules

Configurations

The following environment variables can be configured:

  • AWS_ENDPOINT_URL: The endpoint URL to connect to (combination of USE_SSL/LOCALSTACK_HOSTNAME/EDGE_PORT below)
  • EDGE_PORT (deprecated): Port under which LocalStack edge service is accessible (default: 4566)
  • LOCALSTACK_HOSTNAME (deprecated): Target host under which LocalStack edge service is accessible (default: localhost)
  • USE_SSL (deprecated): Whether to use SSL to connect to the LocalStack endpoint, i.e., connect via HTTPS.
  • LAMBDA_MOUNT_CODE: Whether to use local Lambda code mounting (via setting __local__ S3 bucket name). Note: may require CDK version <2.14.0 to be fully functional.
  • BUCKET_MARKER_LOCAL: Magic S3 bucket name for Lambda mount and hot reloading (default: __local__, will default to hot-reload in a future release)

Deploying a Sample App

The CDK command line ships with a sample app generator to run a quick test for getting started:

$ mkdir /tmp/test; cd /tmp/test
$ cdklocal init sample-app --language=javascript
...

Make sure that LocalStack is installed and started up with the required services:

$ SERVICES=serverless,sqs,sns localstack start

Then deploy the sample app against the local APIs via the cdklocal command line:

$ cdklocal deploy
...
Do you wish to deploy these changes (y/n)? y
...
Stack ARN:
arn:aws:cloudformation:us-east-1:000000000000:stack/TestStack/e3debc0a-311e-4968-8230-ed78f89cb614

Once the deployment is done, you can inspect the created resources via the awslocal command line:

$ awslocal sns list-topics
{
    "Topics": [
        {
            "TopicArn": "arn:aws:sns:us-east-1:000000000000:TestStack-TestTopic339EC197-79F43WWCCS4Z"
        }
    ]
}

Change Log

  • 2.19.1: Fix SDK compatibility with older CDK versions; Fix patched bucket location in TemplateURL
  • 2.19.0: Add support for aws-cdk versions >= 2.167.0
  • 2.18.1: Throw better exception if aws-cdk not found
  • 2.18.0: Add support for AWS_ENDPOINT_URL, USE_SSL, and BUCKET_MARKER_LOCAL configurations
  • 2.17.0: Fix IPv4 fallback check to prevent IPv6 connection issue with localhost on macOS
  • 2.16.0: Add check to prevent IPv6 connection issue with localhost on MacOS
  • 2.15.0: Fix issue with undefined BUCKET_NAME_OUTPUT variable; add CI build and eslint config
  • 2.14.0: Add switches in patches to accommodate new esbuild packaging mechanism in CDK v2.14.0+
  • 1.65.7: Add switch that checks for asset existence before symlinking assets; fix parsing fetched template body for JSON/YAML formats; add missing dependency to "diff" package
  • 1.65.6: Create symlinks to Lambda assets to enable persistent code mounting of Lambdas on "cdklocal synth"
  • 1.65.5: Add support for LAMBDA_MOUNT_CODE config to enable local Lambda code mounting
  • 1.65.4: Add support for large stacks by patching bucketUrl for ToolkitInfo
  • 1.65.2: Patch missing getPromise() in forceCredentialRetrieval; remove aws-cdk from npm dependencies
  • 1.65.1: Override BucketURL to use path style addressing
  • 1.65.0: Initial release

License

The AWS CDK is distributed under the Apache License, Version 2.0.