An open API service indexing awesome lists of open source software.

https://github.com/nodenv/nodenv-default-packages

A nodenv plugin that installs a set of npm packages every time you install a new version of Node.
https://github.com/nodenv/nodenv-default-packages

nodejs nodenv nodenv-plugin npm-packages

Last synced: 8 months ago
JSON representation

A nodenv plugin that installs a set of npm packages every time you install a new version of Node.

Awesome Lists containing this project

README

          

# nodenv-default-packages

A [nodenv][] plugin that installs a set of npm packages every time you install a new version of Node.

[![Tests](https://img.shields.io/github/actions/workflow/status/nodenv/nodenv-default-packages/test.yml?label=tests&logo=github)](https://github.com/nodenv/nodenv-default-packages/actions/workflows/test.yml)
[![Latest GitHub Release](https://img.shields.io/github/v/release/nodenv/nodenv-default-packages?label=github&logo=github&sort=semver)](https://github.com/nodenv/nodenv-default-packages/releases/latest)
[![Latest Homebrew Release]()](https://github.com/nodenv/homebrew-nodenv/blob/main/Formula/nodenv-default-packages.rb)
[![Latest npm Release](https://img.shields.io/npm/v/@nodenv/nodenv-default-packages?logo=npm&logoColor=white)](https://www.npmjs.com/package/@nodenv/nodenv-default-packages/v/latest)

This nodenv plugin hooks into the `nodenv install` command to automatically install `npm` packages every time you install a new version of Node.
It requires the `node-build` plugin to be installed.

Forked from the excellent [`rbenv-default-gems`][rbenv-default-gems] plugin from [sstephenson][sstephenson].

- [Installation](#installation)
- [Installing as a nodenv plugin](#installing-as-a-nodenv-plugin)
- [Installing with Homebrew (for macOS users)](#installing-with-homebrew-for-macos-users)
- [Usage](#usage)
- [default-packages Files](#default-packages-files)
- [Updating Default Packages](#updating-default-packages)
- [Credits](#credits)

## Installation

### Installing as a nodenv plugin

Make sure you have the latest nodenv and node-build versions, then run:

```sh
git clone https://github.com/nodenv/nodenv-default-packages.git $(nodenv root)/plugins/nodenv-default-packages
```

### Installing with Homebrew (for macOS users)

MacOS users can install nodenv-default-packages with the [Homebrew](http://brew.sh) package manager.

_This is the recommended method of installation if you installed nodenv with Homebrew._

```sh
brew install nodenv/nodenv/nodenv-default-packages
```

Or, if you would like to install the latest development release:

```sh
brew install --HEAD nodenv/nodenv/nodenv-default-packages
```

## Usage

nodenv-default-packages automatically installs the packages listed in the [default-packages file(s)](#default-packages-files) file every time you successfully install a new version of Node with `nodenv install`.

Specify packages in `default-packages` by name, one per line.
You may optionally specify a SemVer version spec after the name. For example:

```txt
grunt-cli
jshint ~2.6.3
csslint >= 0.9.0 < 0.10.0
```

Empty lines and lines beginning with a `#` are ignored.

### default-packages Files

nodenv-default-packages reads from `$(nodenv root)/default-packages` as well as `nodenv/default-packages` under all [XDG config directories][xdg].
The XDG config directories searched are `$XDG_CONFIG_HOME` (`$HOME/.config` if unset/empty) and all colon-separated `$XDG_CONFIG_DIRS` (`/etc/xdg` if unset/empty).

### Updating Default Packages

if you update your `$(nodenv root)/default-packages` and want to refresh some or all of your existing node installations you can use commands like this:

```sh
nodenv default-packages install 8.8.1 # Reinstall default packages on Node version 8.8.1
```

```sh
nodenv default-packages install --all # Reinstall default packages on _all_ installed Node versions
```

> [!NOTE]
> This may take some time.

## Credits

Forked from [Sam Stephenson][sstephenson]'s [rbenv-default-gems][] by [Josh Hagins][jawshooah] and modified for [nodenv][].

[sstephenson]: https://github.com/sstephenson
[rbenv-default-gems]: https://github.com/rbenv/rbenv-default-gems
[jawshooah]: https://github.com/jawshooah
[nodenv]: https://github.com/nodenv/nodenv
[xdg]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html