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

decidr

v2.0.1

Published

Suggests an available cidr range for a peering connection

Downloads

3

Readme

DeCidr npm versionBuild Status

Brought to you by The Times Tooling team  🛠

Overview

DeCidr is a Node.js application that generates a non-clashing CIDR block to be used with a peering connection.

Use case

Let's say you have a VPC called 'Backend' and you would like to peer many 'Front End' VPCs to it. To do this you can use 'Peering Connections' from AWS, which require non-clashing CIDR blocks. For each peering connection you will need to ensure the CIDR block does not clash with the backend CIDR block, or any of the other peerings.

Before creating your new VPC, DeCidr will read your 'Backend' VPC's Route Table(s) to determine what CIDR ranges are taken. It will then provide you with a valid, non-clashing CIDR range, to use on your new front end VPC.

Installation

Run yarn global add decidr to install the application globally.

Use

To use the tool you will need to provide all of the below required values. When specifying the tag value, you can use wild cards to match multiple route tables. This will ensure that the CIDR range does not clash with any of the matching route tables.

Verbose:

DeCidr --blockSize 24 --rangeStart 10.180.0.0 --rangeEnd 10.200.0.0 --tagNames Name --tagValues private*-rtb

Minimal:

DeCidr -b 24 -s 10.180.0.0 -e 10.200.0.0 -n Name -x private*-rtb

Output:

10.180.0.0/24

You can also provide multiple route tables, separated with a comma, in the following way (note the multiple tagNames):

DeCidr --blockSize 24 --rangeStart 10.180.0.0 --rangeEnd 10.200.0.0 --tagNames Name,Name --tagValues private*-rtb,public*-rtb

Extra

-v --version - Prints the version of DeCidr

-h --help - Provides tool help information

Exit Codes

Exit Code 1: Not all arguments have been provided

Exit Code 2: No availability in the range provided

Development

yarn to get the dependencies

yarn build to build the project (must be done when making changes)

npm link to create the symbolic link for running the binary from your terminal e.g. DeCidr -v

Test

yarn test to run all tests with coverage

yarn test:unit to run the unit tests

yarn test:e2e to run the end-to-end tests