Shared Lychee link checker configuration for Nick2bad4u repositories.
This package publishes a raw lychee.toml file plus a typed Node helper for tooling that needs to resolve that file. The config:
- keeps CI output deterministic with detailed, non-interactive reports;
- enables a short-lived successful-request cache while refusing to cache rate-limit and server-error responses;
- uses modest global and per-host concurrency for GitHub-heavy repositories;
- checks HTTP, HTTPS, local file, and mailto links while leaving mail checks disabled by default;
- excludes local/private addresses, generated outputs, dependency folders, lock files, binary assets, badges, and narrowly evidenced bot-hostile web routes.
It does not wrap Lychee in a custom CLI. Consumers should keep using Lychee's native --config option so repository-local overrides stay obvious.
npm install --save-dev lychee-config-nick2bad4uInstall Lychee separately through Chocolatey, Homebrew, Docker, GitHub Actions, or the official release binaries.
Run Lychee directly against the packaged config:
lychee --config node_modules/lychee-config-nick2bad4u/lychee.toml .For an npm script:
{
"scripts": {
"lint:links": "lychee --config node_modules/lychee-config-nick2bad4u/lychee.toml ."
}
}Lychee accepts more than one --config file. Later config files take precedence, so add a repository-local override after the shared config when a repo needs base_url, root_dir, extra excludes, or different status handling:
{
"scripts": {
"lint:links": "lychee --config node_modules/lychee-config-nick2bad4u/lychee.toml --config lychee.toml ."
}
}For list-valued settings such as exclude, exclude_path, and extensions, treat the local override as a full replacement unless you have verified Lychee's merge behavior for the specific option.
The package exports configPath for scripts that need the absolute path to the packaged TOML file:
import { configPath } from "lychee-config-nick2bad4u";
console.log(configPath);The shared config writes Markdown output to .lychee.report.md and uses Lychee's .lycheecache cache. Add both to consuming repositories' .gitignore files unless you intentionally publish those artifacts.
This repository uses strict package, lint, type, test, coverage, and publishability checks:
npm run release:verifyTo verify the TOML parses with the installed Lychee binary without performing network checks:
npm run lint:lychee:smoke