{"_id":"@asymmetric-effort/yamllint","_rev":"5-b32730d813d48c0465ed5a8894fff167","name":"@asymmetric-effort/yamllint","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@asymmetric-effort/yamllint","version":"0.0.1","keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"author":{"name":"asymmetric-effort"},"license":"MIT","_id":"@asymmetric-effort/yamllint@0.0.1","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://yamllint.asymmetric-effort.com","bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"bin":{"yamllint":"build/bin.js"},"dist":{"shasum":"2385fcdd042d5b007cde98b4166fc018beaecfd5","tarball":"https://registry.npmjs.org/@asymmetric-effort/yamllint/-/yamllint-0.0.1.tgz","fileCount":3,"integrity":"sha512-alRoxqJy6k4bMihefBvzKkeFLhFLsWDx6nyOK0mUdnVcWcfmrNXKf8lno8OpBCcT6A/ATJpva7iDgV3bV0r+sA==","signatures":[{"sig":"MEYCIQDVZukTCIWVm5XozkdY+/xLG8R7/wL8BVXtmXjbHZDPuQIhAPIOQ+iru2Aq3U06i8BrFSPDrCXmN3OaeWpt7gpG8RTp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8326},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"75f1e335069978da8ba5497f0d48b88a8deecf7b","scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsc","clean":"rm -rf build bin coverage","format":"prettier --check 'src/**/*.ts' 'tests/**/*.ts'","test:e2e":"vitest run tests/e2e","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"},"repository":{"url":"git+https://github.com/asymmetric-effort/yamllint.git","type":"git"},"_npmVersion":"11.6.2","description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","directories":{},"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","eslint":"^10.4.0","vitest":"^4.1.6","prettier":"^3.3.0","typescript":"^6.0.3","@types/node":"^25.8.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yamllint_0.0.1_1778948240276_0.8506791940572405","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@asymmetric-effort/yamllint","version":"0.0.3","keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"author":{"name":"asymmetric-effort"},"license":"MIT","_id":"@asymmetric-effort/yamllint@0.0.3","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://yamllint.asymmetric-effort.com","bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"bin":{"yamllint":"build/bin.js"},"dist":{"shasum":"cabfbe8a7043062d5d204b713764419d3f2a4b0a","tarball":"https://registry.npmjs.org/@asymmetric-effort/yamllint/-/yamllint-0.0.3.tgz","fileCount":75,"integrity":"sha512-d6KXevlCGfRfDDtXnDfKwgPcWvX3HHw6Wj/hXosIYFZTcTP2SYpz22n/ahdLfXVJ6xS9jEI28oH8y95b+ZccCA==","signatures":[{"sig":"MEYCIQDdeXQI0XiSK7DnJ7v73qilZhfDIcw42t1y5H4LFFBW9QIhAPGhewpKXiLO0zyrdbxoSg1pCNuVXrbDk5ht5ZRYULr4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fyamllint@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":118977},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"3295eb5eb0388b6813796c89f3884ba0210fbf38","scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsc","clean":"rm -rf build bin coverage","format":"prettier --check 'src/**/*.ts' 'tests/**/*.ts'","test:e2e":"vitest run tests/e2e","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ff1f23d-31fd-4b84-81e5-e93960ad2665"}},"repository":{"url":"git+https://github.com/asymmetric-effort/yamllint.git","type":"git"},"_npmVersion":"11.14.1","description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","eslint":"^10.4.0","vitest":"^4.1.6","prettier":"^3.3.0","typescript":"^6.0.3","@types/node":"^25.8.0","markdownlint-cli":"^0.48.0","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yamllint_0.0.3_1778956625447_0.10537909132231293","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@asymmetric-effort/yamllint","version":"0.0.4","keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"author":{"name":"asymmetric-effort"},"license":"MIT","_id":"@asymmetric-effort/yamllint@0.0.4","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://yamllint.asymmetric-effort.com","bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"bin":{"yamllint":"build/bin.js"},"dist":{"shasum":"9d2015c3b15cd61d82470e14d4e6d7b41e0e48b5","tarball":"https://registry.npmjs.org/@asymmetric-effort/yamllint/-/yamllint-0.0.4.tgz","fileCount":75,"integrity":"sha512-he0qCEqwUyXGWRZAHT7lMF6BWeQjNHBCEfWYJQmeAIvV68rvYWZwFecmr86RXN3yw7Vpkjfa4HkbeWunLQktdQ==","signatures":[{"sig":"MEUCIA3Y67j45BNQCSgcVihwu0r/7U3KNd5c6w+J8C2TH2qOAiEAodBFHnKMXgkT84DecJ2jCmczQ17cMPZDf1YL0k1ANTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fyamllint@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120191},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"9fae0d16ad0b30684d38fb8e4e56ec98ac90eb5f","scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsc","clean":"rm -rf build bin coverage","format":"prettier --check 'src/**/*.ts' 'tests/**/*.ts'","test:e2e":"vitest run tests/e2e","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ff1f23d-31fd-4b84-81e5-e93960ad2665"}},"repository":{"url":"git+https://github.com/asymmetric-effort/yamllint.git","type":"git"},"_npmVersion":"11.14.1","description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","eslint":"^10.4.0","vitest":"^4.1.6","prettier":"^3.3.0","typescript":"^6.0.3","@types/node":"^25.8.0","markdownlint-cli":"^0.48.0","@vitest/coverage-v8":"^4.1.6","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yamllint_0.0.4_1778959317727_0.11523062603731304","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@asymmetric-effort/yamllint","version":"0.0.5","keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"author":{"name":"asymmetric-effort"},"license":"MIT","_id":"@asymmetric-effort/yamllint@0.0.5","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"homepage":"https://yamllint.asymmetric-effort.com","bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"bin":{"yamllint":"build/bin.js"},"dist":{"shasum":"f43f9de67141d40fac9af78f59a58721658e7471","tarball":"https://registry.npmjs.org/@asymmetric-effort/yamllint/-/yamllint-0.0.5.tgz","fileCount":75,"integrity":"sha512-bZ//9mCXIYCYIvK0La0VYP35DkbA2aoWTdLVVmUB1KL71xOBQXitQjrMz5ZMNrW0gXAnv6FoYCybcaG4UpiA7Q==","signatures":[{"sig":"MEUCIDRYzGoa3mp3k20uq9WfqLdtHuNNV8gDoa5CfDor9dTQAiEA5TSX368wCoI4NfrK4UI6NTPkHWvH8cQVCpy/svk7Ozs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fyamllint@0.0.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":120897},"main":"build/index.js","type":"module","types":"build/index.d.ts","engines":{"node":">=20.0.0"},"gitHead":"6b868eb689c07f4d48157c521a7d607e6fbd58c9","scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsc","clean":"rm -rf build bin coverage","format":"prettier --check 'src/**/*.ts' 'tests/**/*.ts'","test:e2e":"vitest run tests/e2e","test:unit":"vitest run tests/unit","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage","test:integration":"vitest run tests/integration"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ff1f23d-31fd-4b84-81e5-e93960ad2665"}},"repository":{"url":"git+https://github.com/asymmetric-effort/yamllint.git","type":"git"},"_npmVersion":"11.14.1","description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.0","eslint":"^10.4.0","vitest":"^4.1.6","prettier":"^3.3.0","typescript":"^6.0.3","@types/node":"^25.8.0","markdownlint-cli":"^0.48.0","@vitest/coverage-v8":"^4.1.6","@typescript-eslint/parser":"^8.0.0","@typescript-eslint/eslint-plugin":"^8.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yamllint_0.0.5_1778962776437_0.6563892146624473","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@asymmetric-effort/yamllint","version":"0.0.6","description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","type":"module","main":"build/index.js","types":"build/index.d.ts","bin":{"yamllint":"build/bin.js"},"engines":{"node":">=20.0.0"},"scripts":{"typecheck":"tsc --noEmit","lint":"eslint src tests","format":"prettier --check 'src/**/*.ts' 'tests/**/*.ts'","test":"node --import tsx/esm --test tests/unit/*.test.ts tests/integration/*.test.ts tests/e2e/*.test.ts","test:unit":"node --import tsx/esm --test tests/unit/*.test.ts","test:integration":"node --import tsx/esm --test tests/integration/*.test.ts","test:e2e":"node --import tsx/esm --test tests/e2e/*.test.ts","build":"tsc","clean":"rm -rf build bin coverage"},"keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"author":{"name":"asymmetric-effort"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/asymmetric-effort/yamllint.git"},"homepage":"https://yamllint.asymmetric-effort.com","devDependencies":{"@asymmetric-effort/nogginlessdom":"^0.0.5","@types/node":"^25.8.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","eslint":"^10.4.0","markdownlint-cli":"^0.48.0","prettier":"^3.3.0","tsx":"^4.22.0","typescript":"^6.0.3"},"gitHead":"7fab5ca164ed8c54f8b5beaa52ac5557ee6ba43a","_id":"@asymmetric-effort/yamllint@0.0.6","bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-tjhdsHG69spj+EhlgkLwvHFfFD01sODwi9LK6OxOiORkfi9UbWE7ydqOWshkdhVDgrYFJchZTXRpQy2vtHlJ0g==","shasum":"b17288f767c384b823f38f17a0fe9242760d3a4c","tarball":"https://registry.npmjs.org/@asymmetric-effort/yamllint/-/yamllint-0.0.6.tgz","fileCount":75,"unpackedSize":121011,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@asymmetric-effort%2fyamllint@0.0.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDVItWfUEvN/Iz7gInaa8RmF1pCqPTA8PeYZrC8kN4fRQIgRmZ92bBsGTcmWM2CIzdKjYr/SgATj8bYQE3NGvw+234="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0ff1f23d-31fd-4b84-81e5-e93960ad2665"}},"directories":{},"maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yamllint_0.0.6_1778974817270_0.8394018980792917"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-16T16:17:20.141Z","modified":"2026-05-16T23:40:17.747Z","0.0.1":"2026-05-16T16:17:20.421Z","0.0.3":"2026-05-16T18:37:05.600Z","0.0.4":"2026-05-16T19:21:57.888Z","0.0.5":"2026-05-16T20:19:36.590Z","0.0.6":"2026-05-16T23:40:17.460Z"},"bugs":{"url":"https://github.com/asymmetric-effort/yamllint/issues"},"author":{"name":"asymmetric-effort"},"license":"MIT","homepage":"https://yamllint.asymmetric-effort.com","keywords":["yaml","yml","linter","lint","validator","checker","yamllint","zero-dependencies"],"repository":{"type":"git","url":"git+https://github.com/asymmetric-effort/yamllint.git"},"description":"A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting","maintainers":[{"name":"x684867","email":"npm@samcaldwell.net"},{"name":"samcaldwell","email":"scaldwell@asymmetric-effort.com"}],"readme":"<p align=\"center\">\n  <img src=\"logo.png\" alt=\"yamllint\" width=\"200\">\n</p>\n\n<h1 align=\"center\">@asymmetric-effort/yamllint</h1>\n\n<p align=\"center\">\n  A zero-dependency TypeScript YAML parser, linter, and validator with detailed error reporting.\n  Feature-compatible with <a href=\"https://github.com/adrienverge/yamllint\">adrienverge/yamllint</a>.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/asymmetric-effort/yamllint/actions\"><img src=\"https://github.com/asymmetric-effort/yamllint/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://www.npmjs.com/package/@asymmetric-effort/yamllint\"><img src=\"https://img.shields.io/npm/v/@asymmetric-effort/yamllint\" alt=\"npm\"></a>\n  <a href=\"https://github.com/asymmetric-effort/yamllint/blob/main/LICENSE.txt\"><img src=\"https://img.shields.io/npm/l/@asymmetric-effort/yamllint\" alt=\"license\"></a>\n</p>\n\n---\n\n## Features\n\n- 24 configurable linting rules covering formatting, style, and correctness\n- Multiple output formats: standard, parsable, colored, GitHub Actions\n- Inline comment directives to suppress rules per-line or per-block\n- Built-in `default` and `relaxed` configuration presets\n- Recursive directory scanning with glob-based file filtering\n- Strict mode with configurable severity levels (error/warning)\n- Full CLI and programmatic API\n\n## Installation\n\n```bash\nnpm install -g @asymmetric-effort/yamllint\n```\n\nOr as a dev dependency:\n\n```bash\nnpm install --save-dev @asymmetric-effort/yamllint\n```\n\n## Usage\n\n### CLI\n\n```bash\n# Lint a file\nyamllint myfile.yaml\n\n# Lint a directory recursively\nyamllint ./config/\n\n# Read from stdin\ncat myfile.yaml | yamllint -\n\n# Use a custom config\nyamllint -c .yamllint.yaml myfile.yaml\n\n# Inline config\nyamllint -d \"extends: relaxed\" myfile.yaml\n\n# Parsable output for CI\nyamllint -f parsable .\n\n# Strict mode (exit 2 on warnings)\nyamllint --strict .\n\n# List targeted files\nyamllint --list-files .\n```\n\n### Programmatic API\n\n```typescript\nimport { lint, loadConfig } from \"@asymmetric-effort/yamllint\";\n\nconst source = `---\nkey: value\n`;\n\nconst { resolved } = loadConfig(undefined, \"extends: default\");\nconst result = lint(source, resolved);\n\nfor (const problem of result.problems) {\n  console.log(`${problem.line}:${problem.column} [${problem.level}] ${problem.message}`);\n}\n```\n\n## Configuration\n\nyamllint looks for configuration in these locations (in order):\n\n1. `.yamllint`, `.yamllint.yaml`, or `.yamllint.yml` in the current or parent directories\n2. File specified by `$YAMLLINT_CONFIG_FILE` environment variable\n3. `$XDG_CONFIG_HOME/yamllint/config` (defaults to `~/.config/yamllint/config`)\n4. Built-in `default` configuration\n\n### Example Configuration\n\n```yaml\nextends: default\n\nrules:\n  line-length:\n    max: 120\n    level: warning\n  document-start: disable\n  truthy:\n    allowed-values: [\"true\", \"false\"]\n```\n\n### Presets\n\n| Preset | Description |\n|--------|-------------|\n| `default` | Strict — most rules enabled as errors |\n| `relaxed` | Lenient — disables comments/truthy, downgrades others to warnings |\n\n## Rules\n\n| Rule | Type | Default | Description |\n|------|------|---------|-------------|\n| `anchors` | token | error | Validates anchor/alias usage |\n| `braces` | token | error | Controls spacing inside `{}` |\n| `brackets` | token | error | Controls spacing inside `[]` |\n| `colons` | token | error | Enforces colon spacing |\n| `commas` | line | error | Regulates comma spacing |\n| `comments` | comment | warning | Enforces comment formatting |\n| `comments-indentation` | comment | warning | Ensures comment alignment |\n| `document-end` | token | disabled | Manages `...` marker |\n| `document-start` | token | warning | Requires/forbids `---` marker |\n| `empty-lines` | line | error | Limits consecutive blank lines |\n| `empty-values` | token | disabled | Prevents implicit null values |\n| `float-values` | token | disabled | Controls float representations |\n| `hyphens` | token | error | Limits spaces after `-` |\n| `indentation` | line | error | Enforces consistent indentation |\n| `key-duplicates` | token | error | Prevents duplicate mapping keys |\n| `key-ordering` | token | disabled | Alphabetizes mapping keys |\n| `line-length` | line | error | Sets maximum line width |\n| `new-line-at-end-of-file` | line | error | Requires trailing newline |\n| `new-lines` | line | error | Standardizes line endings |\n| `octal-values` | token | disabled | Prevents octal value confusion |\n| `quoted-strings` | token | disabled | Controls string quoting |\n| `trailing-spaces` | line | error | Removes trailing whitespace |\n| `truthy` | token | warning | Restricts boolean representations |\n\n## Comment Directives\n\nSuppress rules inline using comment directives:\n\n```yaml\n# Disable a specific rule for one line\nkey: value  # yamllint disable-line rule:line-length\n\n# Disable all rules for one line\nkey: value  # yamllint disable-line\n\n# Disable rules for a block\n# yamllint disable rule:colons\nkey : value\n# yamllint enable rule:colons\n\n# Disable all rules for the rest of the file\n# yamllint disable-file\n```\n\n## Output Formats\n\n| Format | Description |\n|--------|-------------|\n| `standard` | Human-readable with filename header |\n| `parsable` | Machine-readable: `file:line:col: [level] msg (rule)` |\n| `colored` | Standard with ANSI colors |\n| `github` | GitHub Actions annotations |\n| `auto` | Detects environment (GitHub Actions, TTY color support) |\n\n## Exit Codes\n\n| Code | Normal Mode | Strict Mode |\n|------|------------|-------------|\n| 0 | No errors | No errors or warnings |\n| 1 | Errors found | Errors found |\n| 2 | — | Warnings only |\n\n## Development\n\n```bash\n# Setup\nmake setup\n\n# Run tests\nmake test\n\n# Lint\nmake lint\n\n# Build\nmake build\n\n# Release\nmake release\n```\n\n## License\n\n[MIT](LICENSE.txt)\n","readmeFilename":"README.md"}