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

serverless-dynamodb-gsi

v0.0.3-6

Published

With this plugin you can work around the fact that only one GSI can be added at a time via CloudFormation.

Downloads

10

Readme

serverless-dynamodb-gsi

With this plugin you can work around the fact that only one GSI can be added at a time via CloudFormation.

This plugin is for the Serverless framework and allows for the removal of AWS DynamoDB GSI indexes from a CloudFormation template before deployment. The GSI indexes are cached and added to the respective table via the AWS JS SDK after deployment.

Installation

To install the plugin, run the following command:

npm i serverless-dynamodb-gsi

Configuration

Add the plugin to the serverless.yml file of your project and configure it as follows:

plugins:
  - serverless-dynamodb-gsi

Usage

The plugin is automatically activated and removes the GSI indexes defined in a CloudFormation template before the "package:createDeploymentArtifacts" hook. The GSI indexes are then added via the AWS JS SDK after the "deploy:deploy" hook.

Note: Make sure to define the GSI indexes in the CloudFormation template as desired so that they are properly added.

Problem

In AWS CloudFormation, there is a limitation where only one GSI (Global Secondary Index) can be added at a time. This means that every time you want to add or modify a GSI, you have to go through the entire process of adding or modifying a GSI by removing it and then adding it back.

This can cause problems in deployment processes, especially when multiple GSI's need to be added. Every time a GSI is added or modified, the entire deployment process has to be restarted, which can lead to longer deployment times. There is also a risk of errors occurring during the deployment process that can cause the deployment to fail and need to be repeated.

To work around this limitation, you can use a plugin like the serverless-dynamodb-gsi suggested by me, which removes and caches the GSI indexes before deployment and then adds them via the AWS JS SDK after deployment. This allows you to add multiple GSI's in a single deployment without having to restart the entire deployment process.

License

dynamodb-gsi-plugin is licensed under the MIT license. See the LICENSE file for more information.