Skip to content

xthezealot/npmprune

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f6f5614 · Apr 17, 2025

History

30 Commits
Apr 17, 2025
Dec 14, 2024

Repository files navigation

npmprune

npmprune.sh is an lightweight script designed to clean up your node_modules directory by removing unnecessary files like Markdown, doc and config files.

It helps in reducing the overall size of node_modules, optimizing storage space, and speeding up deployments, especially in containerized environments.

By detecting NODE_ENV, it can perform a more aggressive cleanup, tailored for production builds such as in Docker containers.

  1. Install
  2. Usage
  3. Integration
  4. Compatibility

Install

wget -O /usr/local/bin/npmprune https://github.com/raw/xthezealot/npmprune/master/npmprune.sh && chmod +x /usr/local/bin/npmprune

Usage

npmprune

Production mode

If the NODE_ENV environment variable is set to production, NPMprune performs a more extensive cleanup by also removing type definitions.

Additional Patterns

You can provide additional patterns by passing them as arguments:

npmprune "*.log" "*.bak"

Integration

In deployment scripts

# Basic usage:
wget -qO- https://github.com/raw/xthezealot/npmprune/master/npmprune.sh | sh

# With additional patterns:
wget -qO- https://github.com/raw/xthezealot/npmprune/master/npmprune.sh | sh -s -- "*.log" "*.bak"

In a Dockerfile

# Basic usage:
RUN wget -qO- https://github.com/raw/xthezealot/npmprune/master/npmprune.sh | sh

# With additional patterns:
RUN wget -qO- https://github.com/raw/xthezealot/npmprune/master/npmprune.sh | sh -s -- "*.log" "*.bak"

Compatibility

npmprune is compatible with both Linux and macOS environments, even with the most basic Alpine Linux setup.

About

Prune unnecessary files from node_modules

Resources

Stars

Watchers

Forks

Languages