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 🙏

© 2026 – Pkg Stats / Ryan Hefner

enablement-pipeline

v0.1.16

Published

These are cicd pipeline utilities with a NodeJS focus

Readme

enablement-pipeline

These are cicd pipeline utilities with a NodeJS focus, adopted for Ingram. Conventional Commits Conventional Commits


This is a Monorepo so each component will be versioned and packaged individually but stored in a single (mono) repository. This forces the use of better tooling to perform this orchestration.

  • PNPM
  • NX

Getting Started

It requires additonal node based tools to be installed in you computer:

npm install -g pnpm nx

For local development run the following commands:

pnpm install

NOTE: The pnpm does not require the use of the preceding run command. So "npm run build" becomse "pnpm build"

Component Development

Components can be found in the /packages. The folders should be all lower case and use handlebar naming conventions. So CheckBoxGroup becomes check-box-group.

Each component will have its own package.json, babel.config.js, rollup.config.js and index.js

So the minimal structure looks like this:

packages\
    <my-component>\
        package.json
        load-package.c
        rollup.config.js
        babel.config.js
        index.js

The package name in the package.json should be namespaced to @enable and match the package folder name. All lower case and using handlebars.

Example:

{
  "name": "@enable/get-version",
  "version": "0.0.1",
  ...
}

All components are expected to provide a "build" and "test" script

"scripts": {
  "test": "jest",
  "build": "rollup -c"
},

Branching

All new components should be branched from main and merged back into develop.

develop-->[New Branch From Develop]-->PR to develop

Workspaces

pnpm allows for node_module sharing, speed , and workspaces. Workspaces allow us to reference the other components in the project as if they came from a npm registry.

So each component will need to be registered in the projects root /package.json

{
  "dependencies": {
    "@enable/package1": "workspace:*",
    "@enable/package2": "workspace:*",
    ...
}

Each component should also be referenced in the /packages/index.js

export * from '@iux/badge';
export * from "@iux/button";
export * from '@iux/check-box-group';
...

Component Commands

The Nnx utility provides us with the ability to run commands on a component from the root of the project.

# test

nx run test @iux/check-box-group


# build

nx run build @iux/check-box-group

Working from the components folder still works so you can run

pnpm test
pnpm build

Project Commands

Run the following commands to build and test the whole project:

pnpm build
pnpm test

Monorepo Commands

Project dependencies can got out of sync easily in a monorepo. Meaning Control A and Control B have different depency version of a package. This creates havoc when using the controls. So they need to be syncronized from time to time.

The following command does this for us:

pnpm sync

The buid pipelines use commands that allow for parrallelism and are monorepo aware. These commands can be used on local machine to test the build scripts.

pnpm build
pnpm test

Need to cleanup your folders

Removes node_modules, dist, and coverage folders

pnpm clean

Removes node_modules

pnpm clean:node

Removes dist, and coverage folders

pnpm clean:dev

"publishConfig": { "registry": "https://registry.npmjs.org" },