npm.io
1.0.0 • Published 3d agoCLI

pre-commit-config-nick2bad4u

Licence
MIT
Version
1.0.0
Deps
0
Size
46 kB
Vulns
0
Weekly
0

pre-commit-config-nick2bad4u

CI npm

Portable shared pre-commit hook suites with frozen upstream revisions and a safe materializer for the conventional root config file.

Install

npm install --save-dev pre-commit-config-nick2bad4u
python -m pip install pre-commit

Pre-commit does not support config inheritance and normal tooling discovers .pre-commit-config.yaml at the repository root. Materialize a reviewed preset:

npx pre-commit-config-nick2bad4u init --preset node
pre-commit install --install-hooks
pre-commit run --all-files

The command refuses to replace a different existing file. Use --check for drift detection and --force only after reviewing the replacement:

npx pre-commit-config-nick2bad4u init --preset node --check
npx pre-commit-config-nick2bad4u init --preset node --force

Presets

Preset Hook suite
minimal Portable file-format and repository hygiene
security Minimal plus private-key detection and Gitleaks
node Security plus correctly mapped package.json, tsconfig, and workflow schemas
strict Node plus shebang checks and protected default/development branches
assets Node plus opt-in PNG optimization with Oxipng

All upstream hook revisions are frozen full commit SHAs with their release tags recorded in comments. The presets intentionally omit consumer-specific TypeScript, Vite, Electron, commit-message, and package-script hooks.

Typed API

import {
 getPreCommitConfigPath,
 materializePreCommitConfig,
 preCommitConfigPaths,
 preCommitPresets,
} from "pre-commit-config-nick2bad4u";

const path = getPreCommitConfigPath("security");
await materializePreCommitConfig({ preset: "security" });

Advanced callers can run a package-owned file directly:

pre-commit run \
  --config node_modules/pre-commit-config-nick2bad4u/configs/security.yaml \
  --all-files

Materializing remains recommended because pre-commit.ci and normal local discovery expect the conventional root filename.

Updating frozen hooks

Run pre-commit autoupdate --freeze --config <preset> for every public preset, review upstream changes, run all fixture tests, and keep repeated hook blocks synchronized.

Development

npm install
npm run release:verify

Tests validate all YAML suites, full-SHA pins, modern stage names, correct SchemaStore mappings, idempotent writes, drift checks, overwrite refusal, forced replacement, CLI help, and packed assets.

Keywords