Files
computer-playbook/roles/dev-npm
kevinveenbirkenbachandClaude Opus 4.7 2a023ca6a1 chore(lint): autoformat strict-failure semantics + claude.sh rename
* scripts/lint/autoformat.sh:
  - rename run_sort_claude_settings worker to run_claude (matches the
    renamed scripts/lint/claude.sh).
  - drop the EXIT trap that wiped status_dir; cleanup happens explicitly
    after `wait` returns, so a parallel worker that interrupts the
    parent never races a vanished status dir.
  - each worker now captures its tool's exit code and writes one of
    OK / SKIP / FAIL. Tolerated `expected violations remain`-style exits
    (markdownlint-cli2 rc≤1, ansible-lint rc≤2) still count as OK; only
    real failures count as FAIL.
  - all workers run to completion regardless of individual tool failures
    (so the user always sees the full picture); after the summary, the
    script exits 1 if any worker reported FAIL.
* scripts/lint/sort_claude_settings.sh -> scripts/lint/claude.sh
  (history preserved via git mv); update test_claude_settings_sorted.py
  fix-hint accordingly.

Plus working-tree drift across roles/, group_vars/, inventories/,
requirements/, and .pre-commit-config.yaml accumulated from the
make-test setup phase regenerating generated artefacts during recent
test runs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 01:30:49 +02:00
..

npm

Description

This Ansible role installs npm and optionally runs npm ci within a given project directory. It is intended to streamline dependency installation for Node.js applications.

Overview

Designed for use in Node-based projects, this role installs npm and can execute a clean install (npm ci) to ensure consistent dependency trees.

Features

  • npm Installation: Ensures the npm package manager is installed.
  • Optional Project Setup: Runs npm ci in a specified folder to install exact versions from package-lock.json.
  • Idempotent: Skips npm ci if no folder is configured.

Configuration

Set npm_project_folder to a directory containing package.json and package-lock.json:

vars:
  npm_project_folder: /opt/scripts/my-node-project/

License

Infinito.Nexus Community License (Non-Commercial) https://s.infinito.nexus/license

Credits

Developed and maintained by Kevin Veen-Birkenbach. Learn more at veen.world. Part of the Infinito.Nexus Project. Licensed under the Infinito.Nexus Community License (Non-Commercial).