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

paicku

v0.2.0

Published

A CLI for containerizing applications with buildpacks

Readme

paicku

Paicku is a wrapper of pack CLI for containerizing applications using buildpacks, in a little bit easier way which can also be called programmatically for testing locally your application.

oclif Version Downloads/week

Table of Contents

Usage

Calling via CLI

Install globally:

npm install -g paicku

Or use npx (no installation required):

cd ./my-node-app-dir
npx paicku build

The above command will output a container image to your registry with a random name.

Specify a custom image name and a path:

paicku build my-image-name --path /path/to/my/app/dir

Calling it Programmatically

All the commands that Paicku supports, can be called programmatically.

Build and run an image

import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.build({
  imageName: 'my-app',
  path: './app',
  builder: 'docker.io/paketobuildpacks/builder-ubi8-base',
})

const container = await result.run({exposedPorts: 8080})

console.log(`Container started at ${container.getUrl()}`)

// Make a request
const response = await fetch(container.getUrl())
console.log('Response:', await response.text())

await container.stop()

Available commands

Command Topics

Examples

Build with podman

paicku build my-app --container-runtime podman
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.build({
  imageName: 'my-app',
  'container-runtime': 'podman',
})

Build with a specific builder

paicku build my-image --builder docker.io/paketobuildpacks/builder-ubi8-base
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.build({
  imageName: 'my-image',
  builder: 'docker.io/paketobuildpacks/builder-ubi8-base',
})

Build from a remote Git repository

paicku build backend-image --path https://github.com/nodeshift/mern-workshop --context-dir backend
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.build({
  imageName: 'backend-image',
  path: 'https://github.com/nodeshift/mern-workshop:backend',
})

Build with environment variables

paicku build my-app --env BP_NODE_VERSION=18.*
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.build({
  imageName: 'my-app',
  env: ['BP_NODE_VERSION=18.*'],
})

Inspect a built image

paicku inspect my-image:latest
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.inspect('my-image:latest', {
  output: 'json',
})

console.log('Image information:', result.parsedStdout)

Get builder suggestions

paicku builder suggest
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.builder.suggest()

console.log('Suggested builders:', result.stdout)

Download SBOM

paicku sbom download my-image:latest --output-dir ./sbom
import {createPaicku} from 'paicku'

const paicku = createPaicku()

const result = await paicku.sbom.download('my-image:latest', {
  'output-dir': './sbom',
})

console.log('SBOM downloaded successfully')

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development

Install the required Node.js modules:

npm install

Run CLI in Development Mode

Use the following command to run the CLI in development mode:

./bin/dev.js

Or to build an app:

./bin/dev.js build test/integration/testdata/nodejs_simple_app --container-runtime podman

Run CLI in Production Mode

To run the CLI in production mode, you need to build the application first:

npm run build

Then, execute the CLI:

./bin/run.js

Note: You must rebuild every time you make changes to the source code.

Testing

Run only the unit Tests

npm run test

Run Integration Tests Only

npm run integration:test:podman
npm run integration:test:docker

Run Tests in Debug Mode

For unit tests (useful for .only or extended execution time):

npm run unit:test:debug

Test Coverage

Run tests with coverage:

npm run test:report