mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-04 12:48:55 +00:00
refactor(npm): inline packages and drop unused dependencies
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# install-npm-packages
|
||||
|
||||
Installs global npm packages listed in `config/npm/packages`.
|
||||
Install npm packages defined in the script.
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -8,4 +8,11 @@ Installs global npm packages listed in `config/npm/packages`.
|
||||
scripts/install-npm-packages.sh
|
||||
```
|
||||
|
||||
Uses `npm install -g` for each package in the configuration file.
|
||||
## What it does
|
||||
|
||||
1. Checks that `npm` is available.
|
||||
2. Installs each package from the inline list using `npm install -g`.
|
||||
3. Upgrades all global packages.
|
||||
4. Cleans the npm cache.
|
||||
|
||||
To add or remove packages, edit the `packages` array in `scripts/install-npm-packages.sh`.
|
||||
|
||||
@@ -15,23 +15,20 @@ if ! command -v npm &> /dev/null; then
|
||||
fi
|
||||
|
||||
packages=(
|
||||
# This is a tool to check if your files consider your .editorconfig rules.
|
||||
"editorconfig-checker"
|
||||
# Node module to create a release or a changelog from
|
||||
# a tag and uses issues or commits to creating the release notes.
|
||||
"github-release-notes"
|
||||
"neovim"
|
||||
"corepack"
|
||||
editorconfig-checker # Check files against .editorconfig rules
|
||||
github-release-notes # Create release notes from tags and issues
|
||||
neovim # Neovim node client
|
||||
corepack # Node.js package manager version management
|
||||
)
|
||||
|
||||
# Function to install npm packages
|
||||
install_packages()
|
||||
{
|
||||
for pkg in "${packages[@]}"; do
|
||||
# Trim spaces
|
||||
pkg=${pkg// /}
|
||||
# Skip comments
|
||||
if [[ ${pkg:0:1} == "#" ]]; then continue; fi
|
||||
# Strip inline comments and trim whitespace
|
||||
pkg="${pkg%%#*}"
|
||||
pkg="${pkg// /}"
|
||||
[[ -z "$pkg" ]] && continue
|
||||
|
||||
if npm ls -g -p "$pkg" &> /dev/null; then
|
||||
msgr run_done "$pkg" "already installed"
|
||||
|
||||
Reference in New Issue
Block a user