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

@ppwcode/terraform-ppwcode-modules

v6.2.0

Published

A number of general Terraform modules

Downloads

91

Readme

This repository contains a number of general Terraform modules.

The Terraform documentation describes how to use modules. You import the modules from Github, as described in the documentation. Use the format for public Github repositories, using the "double-slash" to refer to the correct subdirectory.

module "MODULE_INSTANCE_NAME" {
    source = "github.com/peopleware/terraform-ppwcode-modules//MODULE_NAME"
}

On the other hand, …

The module domain_version/ directly, and thus the module subdomain/ that depends on it, uses a Node.js JavaScript script (though a Terraform external data source provider) to get information about the SOA serial and the state of the git repository of the Terraform configuration it is used in. Node.js JavaScript code depends on other npm packages, that need to be installed for the script to be able to work. This repository is therefor, apart from being a collection of Terraform modules, also a Node.js package, with dependencies described in package.json. The dependencies need to be available in a node_modules/ folder next to the script, or in one of its ancestor folders, before Terraform can use the modules in > terraform plan or > terraform apply.

This is done by running > npm install in the project that uses these modules.

For this to work, this collection of Terraform modules / npm package must itself be loaded in the Terraform configuration in which it is used via > npm install. These commands work recursively.

This is done by making the configuration in which these modules are used an npm package itself, with this collection of Terraform modules defined as a development dependency in its package.json. Once > npm install is executed, these modules will be available in node_modules/terraform-ppwcode-modules/. To create an instance of a module MODULE_NAME then, the Terraform configuration has to refer to it via a relative path, like this:

module "MODULE_INSTANCE_NAME" {
    source = "./node_modules/terraform-ppwcode-modules/MODULE_NAME"
}

Note to the Terraform maintainers: go with the flow, and promote npm as the primary method to distribute modules.

Compatibility

This library is intended to be compatible with Node 6, 8, and 10.

Development

Node version

Development is done in Node 10, via nvm.

Compatibility

The code does not use async / await, which was introduced in Node 8.

Also, we use Q as Promise library, instead of native Promises, since Node 6 does not yet support util.promisify(). We use Q.nfcall instead.

Style

JavaScript Style Guide

This code uses Standard coding style.

TODO

Setup a CI

Move to ppwcode team. Request access from Travis. Create parallel builds for Node 6, 8 10, and back tag.