{"_id":"zemdomu","_rev":"30-8d59a49e4ffed3bc4c0a40bdf43783a1","name":"zemdomu","dist-tags":{"latest":"1.4.4"},"versions":{"1.0.0":{"name":"zemdomu","version":"1.0.0","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.0.0","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"a9dcd9329f667ce276d0f96daaee7f4efa81edee","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.0.0.tgz","fileCount":23,"integrity":"sha512-T7GIaF11cDqe+cQXRjUSA3FFQf5c15nwnANdzUgtLRMVVr4Nx6b9lK9ejBeWG8rx6X2KMiMQqBDHLsLiBAtWJg==","signatures":[{"sig":"MEQCIBBbnJwz5XPwDbyr5wuJXbrcO9evzWHUokLwy4W6gkzvAiAJ7BoRoFVNw23abnykSC8euZmZW9qDp6FX3Sk2mlfxqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59731},"main":"./out/index.js","gitHead":"a9ce2d13e3c02d7ff643868fc61a43763f44615d","private":false,"scripts":{"test":"npm run compile && node tests/linter-labels.test.js && node tests/unique-ids.test.js","build":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.8.2","description":"Hello","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.0.0_1750240900572_0.3306534271672361","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"zemdomu","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.0.1","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"2be04bb034ccf233572443265b69b1c735545d51","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.0.1.tgz","fileCount":25,"integrity":"sha512-zV+AejbkYeCrMbokA24Yu6hdJf/jePIFZaqFlny/llNLIUhDMpvfjaR9TIz7LzgHdRW1Hi5j5jmcOVcVDCiIQw==","signatures":[{"sig":"MEYCIQDHpjUIxHUxsXVLmj8wbacYJ35xWIm1yl7yAG+u4TT6fQIhAL8AoRWLmce0hGlVomhNo8c/mcaiNLSxXRSpFfjE88o+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92027},"main":"./out/index.js","gitHead":"2ba1f101df1f3f24ad06ad91533bb0cf1e592f41","private":false,"scripts":{"test":"npm run compile && node tests/linter-labels.test.js && node tests/unique-ids.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.8.2","description":"Hello","directories":{},"_nodeVersion":"20.18.1","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.0.1_1750247668521_0.041418780249163456","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"zemdomu","version":"1.1.0","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.1.0","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"49cca49155ef3b5e26474167da14bba26f927bfa","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.1.0.tgz","fileCount":26,"integrity":"sha512-JEz9/EK8/6FdisFX3dRuTtu81r9jOPgb+SBp8KMZAGvkHZ/IwlB28Xei9jly1PVI0E3EEzpE4CjNrgTvqYdt6g==","signatures":[{"sig":"MEQCIHftwcNsVpgO6nVycKA36ZkELqaCXp6aa1eeW45UJwcJAiAp/rTtPFXVzXokcd+eGq4Ha5AFQ9Fy23XXbGTVufTJqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96055},"main":"./out/index.js","gitHead":"f4e1dd509d5eb84cb24a6224a1070c1dedbfc361","private":false,"scripts":{"test":"npm run compile && node tests/unique-ids.test.js && node tests/label-form-control.test.js && node tests/cross-component.test.js && node tests/heading-order.test.js && node tests/prevent-empty-inline.test.js && node tests/section-heading.test.js && node tests/img-alt.test.js && node tests/button-accessibility.test.js && node tests/html-lang.test.js && node tests/table-caption.test.js && node tests/all-rules.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Hello","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.1.0_1750320786539_0.757831525961137","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"zemdomu","version":"1.1.1","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.1.1","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"55999c0d6d92d23a53dbdd6d57be72e1af8c6189","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.1.1.tgz","fileCount":26,"integrity":"sha512-oAVQCuVxEgHj1wemiuiJaRQigMvg1DhKXFTFNKsnpRiyg+oYW6CvcXgc+zP5jZUUh0OFXJ5kqbqQzgdeelIhGg==","signatures":[{"sig":"MEYCIQCfjuhXzq5KzHDSnxTX1LwxqF+/jsBQ2znW4xozt5O4VAIhAO2n43v3ElIPku4bHv8cjwf/T33em9OASG+KzcbKL7+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96889},"main":"./out/index.js","gitHead":"172c7ea9cc3c2b619e61888afc800a9a5252e9d4","private":false,"scripts":{"test":"npm run compile && node tests/unique-ids.test.js && node tests/label-form-control.test.js && node tests/cross-component.test.js && node tests/heading-order.test.js && node tests/prevent-empty-inline.test.js && node tests/section-heading.test.js && node tests/img-alt.test.js && node tests/button-accessibility.test.js && node tests/html-lang.test.js && node tests/table-caption.test.js && node tests/all-rules.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Hello","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.1.1_1750327355890_0.21808929727008963","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"zemdomu","version":"1.1.3","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.1.3","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"4cee650ac468730e6932e7531f52eb7e4c17e4f5","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.1.3.tgz","fileCount":27,"integrity":"sha512-BtNGHxINFU6Aas057atB0Rrgm+Zl1OLD1eirtKCao9anLuDWZk3ddsWjhdIHuFxd+D2Wzpj09pAgTqDpfp3ViA==","signatures":[{"sig":"MEYCIQD1fpTpf2JQwGv8hx9cFTcWXi0m2Ixs7aUQGuZzxvlu3QIhAIYmfjI9jafRfpxIDkBscAtUVUSoaaHJtZhkpQP9puIy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100610},"main":"./out/index.js","gitHead":"ba29de44746ef61894fa79acad0c8e90098579cb","private":false,"scripts":{"test":"npm run compile && node tests/unique-ids.test.js && node tests/label-form-control.test.js && node tests/cross-component.test.js && node tests/heading-order.test.js && node tests/prevent-empty-inline.test.js && node tests/section-heading.test.js && node tests/img-alt.test.js && node tests/button-accessibility.test.js && node tests/html-lang.test.js && node tests/tabindex.test.js && node tests/table-caption.test.js && node tests/all-rules.test.js && node tests/robustness.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Hello","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.1.3_1750667435786_0.36410264853691765","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"zemdomu","version":"1.1.4","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.1.4","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"42ca27d292707d9d8cf2c51cdfa471b2bb57878c","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.1.4.tgz","fileCount":27,"integrity":"sha512-4Z71x8xMDTk/frEAI4cA6tmItyNj4ro7jlq1RRa59qnBeUapzvNgG4989Q56uX8bMIZILL+Jp23K/1YlHuFuDw==","signatures":[{"sig":"MEUCIBiMfbnU7lUBtbW0U5TFYVbUU3Uo+ssmo+6MXZQgR1dFAiEAsRl125yyqqKnUooqblj1KLT4s6FszQtz4YfBKoDclnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100610},"main":"./out/index.js","gitHead":"ba29de44746ef61894fa79acad0c8e90098579cb","private":false,"scripts":{"test":"npm run compile && node tests/unique-ids.test.js && node tests/label-form-control.test.js && node tests/cross-component.test.js && node tests/heading-order.test.js && node tests/prevent-empty-inline.test.js && node tests/section-heading.test.js && node tests/img-alt.test.js && node tests/button-accessibility.test.js && node tests/html-lang.test.js && node tests/tabindex.test.js && node tests/table-caption.test.js && node tests/all-rules.test.js && node tests/robustness.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Hello","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.1.4_1750670172459_0.8245465502048972","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"zemdomu","version":"1.1.5","keywords":[],"author":"","license":"ISC","_id":"zemdomu@1.1.5","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"dist":{"shasum":"c59442e8055654557b98f1b5c774e7559bdd4984","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.1.5.tgz","fileCount":27,"integrity":"sha512-XOl8XdFubZr4tbZ1hNJzbrOCFGQDik+qD67mb+L8adFxRhoSCNK0lxRWU5fzlVuYRT/seRFMauwdl0bDsSbVRA==","signatures":[{"sig":"MEUCIDyblK49dKkiqzeOU80JKb4Z0xIC1wukFrn+WeDGkBGuAiEA4F5Oa58Y4Dnftoohql0Vd77YZgc/IIbkwgDhEDDTpUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100668},"main":"./out/index.js","gitHead":"a6b1e0eaf0159f7d9416beae031f788fee36b89f","private":false,"scripts":{"test":"npm run compile && node tests/unique-ids.test.js && node tests/label-form-control.test.js && node tests/cross-component.test.js && node tests/heading-order.test.js && node tests/prevent-empty-inline.test.js && node tests/section-heading.test.js && node tests/img-alt.test.js && node tests/button-accessibility.test.js && node tests/html-lang.test.js && node tests/tabindex.test.js && node tests/table-caption.test.js && node tests/all-rules.test.js && node tests/robustness.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","actor":{"name":"zelcus","type":"user","email":"zelcus@hotmail.com"},"email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Hello","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","esbuild":"^0.25.5","typescript":"^5.8.2","@types/jest":"^29.5.3","@types/node":"^22.15.17","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.1.5_1750670193904_0.9450829533952323","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"zemdomu","version":"1.2.0","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.2.0","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"e8772a222eda260dfef39d164090710abc3fabc5","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.2.0.tgz","fileCount":43,"integrity":"sha512-6U33E1pWwCQc8ryBcBU6D2S6vn033wzCaYX4umfKPD+zV8Vx9RJUpoL10s1fGrPQDMxj6nHn4s6RW8JlMN7CPA==","signatures":[{"sig":"MEYCIQD42f8giVXs823YMt6weSjNhnYbepayyp4ofQVWe92jKAIhAJNfia4S8e2LYHkuoI0s5jljd/w5vd8ZeHY4Pth2FTe1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136843},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","gitHead":"f6d280ca7386e07d2c9b3d6adda4a606d843b913","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.8.2","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"glob":"^7.2.3","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.2.0_1753948539454_0.07654768170438486","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"zemdomu","version":"1.3.0","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.0","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"f49adea17edd6447cb4ab70237139097885f2fa1","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.0.tgz","fileCount":52,"integrity":"sha512-Z8LEyw2QNM8QmHCn5wxrsRhEMUaTpK8+Gp2laul2P/GBAGvR0JPDxU1SMa5typzh+90Lc0JxUPWecDBqfL1YFg==","signatures":[{"sig":"MEYCIQC1VP8N6FGOLcX22Wf3smKgSP/3sjjZDYmEEovSAJBaywIhAIuamzMl/iaBmopVhTeq8ceRvpJVG9bOqz5hFMybOymW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152031},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","gitHead":"c1672bbed3ee14356f1b0238a1d9aa7a842df2b1","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.0_1754909560253_0.5986428907333214","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"zemdomu","version":"1.3.2","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.2","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/src/cli.js"},"dist":{"shasum":"fb68d12df0d12f10a3ca8b49034363d7967b3ac9","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.2.tgz","fileCount":52,"integrity":"sha512-j2I+xsO1Mfd5YIYOeNi4dcqIhf09wzSn20Kv63UL7o3hMk77jCbO/G08aFbeVBhKQQyu3MBfk6wGM28qpQhtbA==","signatures":[{"sig":"MEYCIQCTFkCIMZYgihDOZ59yZIvcGQ3RqKBk/Da9Cpk2H+04ygIhAPhERy8IdcynPVRJUrluTQnwXqptLSK3CGv/Y+oHLqLL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152125},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/src/index.d.ts","gitHead":"163fca6ad1297861ce82e267be1a0fe51a2a5367","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run compile && npm test"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.2_1754986732068_0.8536314767311064","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"zemdomu","version":"1.3.3","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.3","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"ea34c4969ed7b440da8b7c1552902bfd093dd92c","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.3.tgz","fileCount":81,"integrity":"sha512-2I+Ma7F0cliioEkSIXYP32HIjp2In8GV7K5rk5M5BgB1zojyrzPmR1Oxap7+76ZurKHGvKphsjcaEYnmS2boFQ==","signatures":[{"sig":"MEUCIEV4wFKCAq99plyCPPpJze9v0nPZpVXNIaMB0OA3l7RDAiEAr3XecJr2lvM4xV+AGBHe7mcrSpL98sXu4W/VveMuz94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277210},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","gitHead":"163fca6ad1297861ce82e267be1a0fe51a2a5367","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.3_1754987231734_0.5006696109832314","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"zemdomu","version":"1.3.4","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.4","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"940129b01a86ec184227a5537ec9fd075030dcbc","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.4.tgz","fileCount":111,"integrity":"sha512-za2Jwp8OzJbBSQufhAUszE5rIt4HO7YUCZ65v02AeXdLodXAP+I09aPvh80QMiCd20LuD0Q43tL761S6l38N7w==","signatures":[{"sig":"MEYCIQDagNzpN4slZ3OB+jEPQ7G/sG/vS70BLRxtgDmzjA3TFgIhAO/pGaMPgTT1yl5YWguXb/OsKLyJXhbG6AMQbzNnzI0v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287707},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","gitHead":"9a6a3b978d9bd8cab2b9f7db7466f4ea81358ec5","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.4_1754991558958_0.6373757164188598","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"zemdomu","version":"1.3.5","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.5","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2d22947cb25c3915860718711b38277796b2fc7a","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.5.tgz","fileCount":111,"integrity":"sha512-+TU4BtE1h1ouUc5PhD0fiARkHfyYGBMDAYRP1WjvsZVykJWE9tRf/TiN7c5viaKMU2h1bJwbDdYS/myf2EDT7w==","signatures":[{"sig":"MEYCIQDX0d/lea1DadWjMttx9ilz2C1wgIHMfl4/fJ22R2RiQgIhAOE9GEailZlzlQMRePBsUyHkykCJy/sY8TreK+1abSVy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":287842},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"9a6a3b978d9bd8cab2b9f7db7466f4ea81358ec5","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.5_1754996364499_0.7536782967301154","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"zemdomu","version":"1.3.6","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.6","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"c559b0dc44a0efb8768467d0e90770ec1283b6e0","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.6.tgz","fileCount":111,"integrity":"sha512-pOUQZnehcR45m/QQTOuJWVLPhtE0AiSgDsbesM2Y6R0CMKYm3ULw1EIDIgG9fw1fcRJF7PxN8TlJfXI5FyDbiA==","signatures":[{"sig":"MEUCIFgO7GLXjH5tsnOLDgrIv8LT8CDTyHi6st19NdG7uaOdAiEA8z/J8XlAXjUUkvMP8INfSkVSx0zAUkc5gmrsJEAK5Fw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293068},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"d920e2080d9f01dd5e913501dcfa218caa4d4044","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.6_1761124265318_0.47877691861075933","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"zemdomu","version":"1.3.7","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.7","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2defffb2bdf2046ada442d9b703119196325d71a","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.7.tgz","fileCount":111,"integrity":"sha512-01FFgBe5kQrnwutSDcJvPAKTu7YikAAP1TC+95kVKQYeFpmyHV8U1uNSM7D02llt1ZgaMo/aarEVZkf8IK5mWw==","signatures":[{"sig":"MEUCIQDGDuk5fdE24sAN9wUMcCmNkKfJG+YBUx1YT23E4vBdzgIgMhqPVgWY5RADheZm77f9Cf7JwSdxgzJ+y5pMQUVBwJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300273},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"d920e2080d9f01dd5e913501dcfa218caa4d4044","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^7.2.3","react":"^19.1.1","react-dom":"^19.1.1","@babel/types":"^7.27.0","@babel/parser":"^7.27.0","@babel/traverse":"^7.27.0"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.8.2","esbuild":"^0.25.5","typescript":"^5.8.2","@types/glob":"^8.1.0","@types/node":"^22.15.17","@types/mocha":"^10.0.10","@types/react":"^19.1.9","@types/react-dom":"^19.1.7","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.20.7"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.7_1761131053490_0.28412032568075474","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"zemdomu","version":"1.3.8","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.8","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2619ade5789806d632572a278544abe0d1ed83e9","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.8.tgz","fileCount":111,"integrity":"sha512-uoUOAYxpw/lDlQl3hm6E4tESM9A8f+rrViGZL7Pm4KW25Ia6jto9MGHkqO+QDWH1VETJ+lP4crzYaN01TipfjA==","signatures":[{"sig":"MEQCIDibnYHs1BHIiF//Uav4rth0Aq0z3SQxHSiV31iMssZ5AiBwIMtf79upTvSQIpgylATzOhxCMjuRbk7aFBDWoH/SXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296042},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"f1c284f7ccf5b9f7a44615fa8e4cc0e183487d12","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^11.0.3","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.8_1761134992606_0.2814871081771728","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"zemdomu","version":"1.3.9","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.9","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2a0490992c6bddc303ef46a36bf6f37973e5a2b2","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.9.tgz","fileCount":111,"integrity":"sha512-08DahgFIIrcKYRSemNAhfj0JZc8x3YqD4AVwr0f+urrrPZBED4GCHJKW+uDtFpwf3G6O3msOtcn1y9yLnmmGfw==","signatures":[{"sig":"MEYCIQDJ6FZRBcIr4qxzoKBGTYJyP54Bh/u/kD3Gj3+uGZfOBQIhAMYlrXTJjjN2IxYN8jDVFD3aLc+i3lWQad3J+w8RjPMl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302140},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"f1c284f7ccf5b9f7a44615fa8e4cc0e183487d12","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^11.0.3","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.9_1761136187639_0.6607629545630123","host":"s3://npm-registry-packages-npm-production"}},"1.3.10":{"name":"zemdomu","version":"1.3.10","keywords":["html","jsx","tsx","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.10","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2081fe5b52408d937bbba085fc145ba8b26bcbe8","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.10.tgz","fileCount":111,"integrity":"sha512-MI9pbsLW0CYzOTl3Y430H/fLQYhssw6vWiWVboBiLkxg+z/PvUlULuZYMTjUl9b4QyOIzeOE2Gy1zzzhk9tOEA==","signatures":[{"sig":"MEYCIQDO9VLUW1E2Hy2HXcq8/kMh4F11AAjuK5JLxkSwTOLOOwIhAMU86zJ1bDJ+QIsHW6lP1NzcWAUYXTb+4Ft5qeSbS3II","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302141},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"f1c284f7ccf5b9f7a44615fa8e4cc0e183487d12","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"_npmVersion":"10.2.4","description":"Semantic HTML linter for HTML, JSX, and TSX. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"glob":"^11.0.3","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.10_1761136770193_0.2469081151426753","host":"s3://npm-registry-packages-npm-production"}},"1.3.14":{"name":"zemdomu","version":"1.3.14","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.14","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"b18617b42090e63685f75f3317bfb7b46ae17f4d","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.14.tgz","fileCount":120,"integrity":"sha512-+Deyb6ygePeH/8pgluBtpAzgCxFtM78o2dEVS5jaWSmFWyfqR/oUY2lwuEf5UaW7GlH1sexjqWFP98wH/XlBtg==","signatures":[{"sig":"MEYCIQDvgza7QvaMyF+AQYePjVyriRnxC56jUq5xglducSbVKAIhAMa5qTrNgG9ccpkcdbziIJotJ1SosakdBdYdTtMpTARD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343823},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"376be78aee68c08925f4a7e07f26e45d8f2b57eb","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.1.1"},"_npmVersion":"10.9.4","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.14_1768665723095_0.5625049750361828","host":"s3://npm-registry-packages-npm-production"}},"1.3.15":{"name":"zemdomu","version":"1.3.15","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.15","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"afe0dd6c8a7b9894a41f077d9724277e164db8a5","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.15.tgz","fileCount":123,"integrity":"sha512-Sj/dF2G+Gc6kY5SoWSy4z1lKDGIhRvVrKGSR/dn1x3/RPddCl3tZ0S/KWtaRqUAEWGqHP2Z55YX7EnQDmGkaag==","signatures":[{"sig":"MEUCIDwMktbo3DkGSHsoIdkU3QL/5IBDNSnGYJL+VkVlmrXjAiEApmTmoiYHJCLNdX4UhuNJHMUKVWbI+SeTHGqfqYo52us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355189},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"6e7ba8e3ae6d8f8b1d251dde6dafa46d5f178151","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.1.1"},"_npmVersion":"10.9.4","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.15_1769296025029_0.623701865733598","host":"s3://npm-registry-packages-npm-production"}},"1.3.16":{"name":"zemdomu","version":"1.3.16","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.16","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"0d724ac6c529a79a0d67c9db1c655e674d732e47","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.16.tgz","fileCount":130,"integrity":"sha512-dBxpRaPYsTqHLEjzXf50X4DKfXSMPQYqqJtCFJTCqumq53U4ghZ3mNYNgOImctziIF1GsOcn3X+yEbX5xMIrAg==","signatures":[{"sig":"MEQCIHXPPlganhqLWyPgPqxSsWg61H4keKUVkj+3jFT1Mq9pAiAyuSvCJrg4SbiDVih7OieL95F3ARvKjA1YlGuWGuLTog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433384},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"b9fe8a1cc25af1626ba0500d16881c7e748cd461","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.1.1"},"_npmVersion":"10.9.4","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.16_1769336898061_0.9456093759926223","host":"s3://npm-registry-packages-npm-production"}},"1.3.17":{"name":"zemdomu","version":"1.3.17","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.17","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"010c9e8cc00118baa11295bb5e63a772bae85ca4","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.17.tgz","fileCount":138,"integrity":"sha512-KdLfJJXv/LHgW37/+GjvAkrcWcmu73/K1eBbSqiPDommgGTomeCmN+1PjizK9HfdMmMSIGgiy8pO47d3Y7PrEA==","signatures":[{"sig":"MEYCIQDafnWPFEe8zJVNkNpiLYESrRwfsxAle1UslYHSGmSnAwIhAJVnNOy5ohraxBSfcWxc4xP3Iv7+Zjs02n/W4kRGW+DV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486934},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"gitHead":"098074de554a64b09780a3d5e34e0d9603d821e3","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.1.1"},"_npmVersion":"10.9.4","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.17_1769873849993_0.2968408027131524","host":"s3://npm-registry-packages-npm-production"}},"1.3.18":{"name":"zemdomu","version":"1.3.18","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.18","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"35fb43b4966db48c3b0410dec2a6c25151273789","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.18.tgz","fileCount":74,"integrity":"sha512-odgLCV3hQJZYw2PQoNhbohN46JJJBJzlI3tW6NTHLewd68wxQaMotxnN4pyG/9sGVD5LhaLc1GT9FZuJ4csKsQ==","signatures":[{"sig":"MEYCIQDKs7vcHCMUCPNMHT26w8jLU87wBnHphrMwNGIgJ9g8yQIhAJ6XWZbOY6qNll/d+B+d1cx/WKDw15k/Dh1eXH9j9sdV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":284712},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"c493c83e1c7d0af9be508843ff4182a1164a1be9","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.1.1","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"10.2.4","@isaacs/brace-expansion":"5.0.1","serialize-javascript@^6.0.2":"7.0.3"},"_npmVersion":"10.9.4","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.25.11","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.18_1773484321193_0.3183850751898505","host":"s3://npm-registry-packages-npm-production"}},"1.3.19":{"name":"zemdomu","version":"1.3.19","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.19","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"e4f9d92b969e917269344ac99a987c9148b5158e","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.19.tgz","fileCount":74,"integrity":"sha512-bTd2HDQziUms0oNZYyFyzXmxrEEl4Xznd45LfTrczkmCObVlDVSIhWpHuZ0nfU+UqWTdqlulTcglfbSlyGWaKQ==","signatures":[{"sig":"MEUCIDeG5krTzNglv+KuoKaF3Gsb34CDvTDz07bSZwZOmc6MAiEA4EYCppTBxbw/ICnvkYTj4s2JjrAH1dYrKdzyShkn58k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286482},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"bf55515a3f83539ade1842804584e986a122f3e5","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.2.0","brace-expansion":"5.0.6","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"10.2.4","@isaacs/brace-expansion":"5.0.6","serialize-javascript@^6.0.2":"7.0.5"},"_npmVersion":"9.2.0","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.28.1","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.19_1781691969439_0.9353654146260972","host":"s3://npm-registry-packages-npm-production"}},"1.3.20":{"name":"zemdomu","version":"1.3.20","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.20","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"2850ae26ac0ed8071691a51a4a025767c13da53c","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.20.tgz","fileCount":74,"integrity":"sha512-RXTfNor4R2oMv0boWHnm/hO/dEmGM/0arFC+qy+8CUcRjb6g5bqeY5sj2opdExy65tgFRWT46ayL8cHXqxo9FQ==","signatures":[{"sig":"MEQCIGxfjqtaJdIh04ZvOwwBpOTqrtmXODiHZFcesNvgrJQ9AiAvXPVMDiNtoP8TJKmzRl/dVY8RIbYF008JtlMfesmE2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286482},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"b6c225a0079a8fcebbc36bbe79ac37f62bab4310","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","prepublishOnly":"npm run build"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"10.2.4","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"_npmVersion":"9.2.0","description":"Semantic HTML linter for HTML, JSX, TSX, and Vue templates. Detects accessibility, SEO, and structure issues before deployment.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.28.1","typescript":"^5.9.3","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.20_1787665077078_0.0486413739297189","host":"s3://npm-registry-packages-npm-production"}},"1.3.21":{"name":"zemdomu","version":"1.3.21","keywords":["html","jsx","tsx","vue","linter","accessibility","semantic-html","seo","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.3.21","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"c5bbf6d6c5fcc9a071442b352333f14f2b97da42","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.3.21.tgz","fileCount":86,"integrity":"sha512-lhqrs31klYP4JCHiXQm9baIPT6PNyeylQrVwpD5YEi9xC9iFj9lWiianbiKVacuyqa4lfMvYKa20bV8jWe84hQ==","signatures":[{"sig":"MEQCIGM97uvrHH/9CPRsksIiiPOBJm+kcCJBHSZfsYaozn3HAiBzINpXaoMlw4OvQH39LVrDRFFwRNkuTMVqUvvR4PqwAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465332},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"77c54b2ccbbbb7c659d7a39df14165f9f000b093","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","prepublishOnly":"npm run build","accuracy-corpus:axe":"npm run compile && node out/tests/accuracy-corpus/axe-run.js","accuracy-corpus:seed":"npm run compile && node out/tests/accuracy-corpus/seed-run.js","test:accuracy-corpus":"npm run compile && mocha out/tests/accuracy-corpus.test.js","accuracy-corpus:study":"npm run compile && node out/tests/accuracy-corpus/study-run.js","accuracy-corpus:prepare":"npm run compile && node out/tests/accuracy-corpus/run.js"},"_npmUser":{"name":"zelcus","email":"zelcus@hotmail.com"},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"$minimatch","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"_npmVersion":"9.2.0","description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"glob":"^11.1.0","react":"^19.2.0","react-dom":"^19.2.0","typescript":"^5.9.3","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^11.7.4","esbuild":"^0.28.1","axe-core":"4.13.0","minimatch":"^10.2.4","@types/node":"^24.9.1","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","@types/babel-types":"^7.0.16","@types/babel-traverse":"^6.25.10","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.3.21_1788299252588_0.46672782496116527","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"zemdomu","version":"1.4.1","keywords":["accessibility","a11y","wcag","semantic-html","html","jsx","tsx","react","vue","static-analysis","linter","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.4.1","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"homepage":"https://zemdomu.dev/","bugs":{"url":"https://github.com/Zemdomu/ZemDomu-core/issues"},"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"15e628d7cb0e70a465d6b8182e8640a3708a65e1","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.4.1.tgz","fileCount":90,"integrity":"sha512-pta2OFyCqnbmKdEfFJbM9iExr7Lqz5EAVTX2ijqj/BmX3I0Ed+80PxQLGfUyNzcBKKjsiGFd5UXfq695SO32fg==","signatures":[{"sig":"MEUCIGFId2FJduqEA/CEydjK3rHXFvyWBCBCH7XuVmcop6xQAiEAkQgIckUfjuojycXp0hjUEr80ksjr8+WOji1iE1A5BRg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484655},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","_from":"file:/home/runner/work/ZemDomu-mono/ZemDomu-mono/packages/ZemDomu-Core/zemdomu-1.4.1.tgz","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","audit:all":"npm audit --audit-level=high","prepublishOnly":"npm run build","audit:production":"npm audit --omit=dev --audit-level=high","accuracy-corpus:axe":"npm run compile && node out/tests/accuracy-corpus/axe-run.js","accuracy-corpus:seed":"npm run compile && node out/tests/accuracy-corpus/seed-run.js","test:accuracy-corpus":"npm run compile && mocha out/tests/accuracy-corpus.test.js","accuracy-corpus:study":"npm run compile && node out/tests/accuracy-corpus/study-run.js","accuracy-corpus:prepare":"npm run compile && node out/tests/accuracy-corpus/run.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d685f965-ed7a-4f72-8693-4f099307428d"}},"_resolved":"/home/runner/work/ZemDomu-mono/ZemDomu-mono/packages/ZemDomu-Core/zemdomu-1.4.1.tgz","overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"$minimatch","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"_integrity":"sha512-pta2OFyCqnbmKdEfFJbM9iExr7Lqz5EAVTX2ijqj/BmX3I0Ed+80PxQLGfUyNzcBKKjsiGFd5UXfq695SO32fg==","repository":{"url":"git+https://github.com/Zemdomu/ZemDomu-mono.git","type":"git"},"_npmVersion":"11.19.1","description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^11.1.0","typescript":"^5.9.3","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^12.0.0","react":"^19.2.0","esbuild":"^0.28.1","axe-core":"4.13.0","minimatch":"^10.2.4","@types/node":"^26.4.0","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.4.1_1788618446475_0.9814953947183991","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"zemdomu","version":"1.4.2","keywords":["accessibility","a11y","wcag","semantic-html","html","jsx","tsx","react","vue","static-analysis","linter","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"ISC","_id":"zemdomu@1.4.2","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"homepage":"https://zemdomu.dev/","bugs":{"url":"https://github.com/Zemdomu/ZemDomu-core/issues"},"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"09933d5ffd06350c6540be8b0fdbd0e86b1ef2bd","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.4.2.tgz","fileCount":90,"integrity":"sha512-GvRs47MS+x3X0kQTUPlEQkjGr+6isXR7dnXMYS4fIBmWi4JQBK7TjMO7rID5feHYH0QPmVKHy60hwzj6Rl1YUA==","signatures":[{"sig":"MEUCIQCRY09tLtC7RJCxl5tunQQ+3Bh9osWb/fBog43Lw6CI5gIgZJ02mmyVmP8076QJn4yb3995ciRTAZymd5djJLTFcxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zemdomu@1.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":484655},"jest":{"transform":{"^.+\\.tsx?$":"ts-jest"}},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"4ea5906abd91044c0b60d5da55e8e5458303e580","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","audit:all":"npm audit --audit-level=high","prepublishOnly":"npm run build","audit:production":"npm audit --omit=dev --audit-level=high","accuracy-corpus:axe":"npm run compile && node out/tests/accuracy-corpus/axe-run.js","accuracy-corpus:seed":"npm run compile && node out/tests/accuracy-corpus/seed-run.js","test:accuracy-corpus":"npm run compile && mocha out/tests/accuracy-corpus.test.js","accuracy-corpus:study":"npm run compile && node out/tests/accuracy-corpus/study-run.js","accuracy-corpus:prepare":"npm run compile && node out/tests/accuracy-corpus/run.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4fff94c4-777a-44fc-8352-9288a4510a77"}},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"$minimatch","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"repository":{"url":"git+https://github.com/Zemdomu/ZemDomu-core.git","type":"git"},"_npmVersion":"11.19.1","description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^11.1.0","typescript":"^5.9.3","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^12.0.0","react":"^19.2.0","esbuild":"^0.28.1","axe-core":"4.13.0","minimatch":"^10.2.4","@types/node":"^26.4.0","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.4.2_1788619512541_0.6749672355003444","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"zemdomu","version":"1.4.3","keywords":["accessibility","a11y","wcag","semantic-html","html","jsx","tsx","react","vue","static-analysis","linter","cli","vscode","github-action"],"author":{"name":"Zacharias Eryd Berlin"},"license":"MIT","_id":"zemdomu@1.4.3","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"homepage":"https://zemdomu.dev/","bugs":{"url":"https://github.com/Zemdomu/ZemDomu-core/issues"},"bin":{"zemdomu":"out/cli.js"},"dist":{"shasum":"c397e639f8f88ba39a625c52b845ba7c04b3c5c5","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.4.3.tgz","fileCount":91,"integrity":"sha512-cQLYD3BkxXV9OoTVrLFjWP9FRiEsgWnbiIFBpWJz7CWgPcfqI6MyQqv4EsL3ILtJ2TI2gBUUjO66LAfu7z/RUA==","signatures":[{"sig":"MEUCIQCp5tLszrMVvDMYhHwZNiOt/kNu6xYzz4BTK6Ru8BFmJwIgR4SUDTo6gMNRL0ohE1uFT52k+b/R1GyibrebIEAsAv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zemdomu@1.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":485692},"main":"./out/index.js","types":"./out/index.d.ts","exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"ac66b361aa42b4a3d3a38325903e28aba0b52764","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","audit:all":"npm audit --audit-level=high","prepublishOnly":"npm run build","audit:production":"npm audit --omit=dev --audit-level=high","accuracy-corpus:axe":"npm run compile && node out/tests/accuracy-corpus/axe-run.js","accuracy-corpus:seed":"npm run compile && node out/tests/accuracy-corpus/seed-run.js","test:accuracy-corpus":"npm run compile && mocha out/tests/accuracy-corpus.test.js","accuracy-corpus:study":"npm run compile && node out/tests/accuracy-corpus/study-run.js","accuracy-corpus:prepare":"npm run compile && node out/tests/accuracy-corpus/run.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4fff94c4-777a-44fc-8352-9288a4510a77"}},"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"$minimatch","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"repository":{"url":"git+https://github.com/Zemdomu/ZemDomu-core.git","type":"git"},"_npmVersion":"11.19.1","description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"glob":"^11.1.0","typescript":"^5.9.3","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^12.0.0","react":"^19.2.0","axe-core":"4.13.0","minimatch":"^10.2.4","@types/node":"^26.4.0","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"tmp":"tmp/zemdomu_1.4.3_1789456155304_0.7306604581281844","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"_id":"zemdomu@1.4.4","bin":{"zemdomu":"out/cli.js"},"bugs":{"url":"https://github.com/Zemdomu/ZemDomu-core/issues"},"dist":{"shasum":"258491c7bd76a1067fc4d61e814a8dcd07bfadef","tarball":"https://registry.npmjs.org/zemdomu/-/zemdomu-1.4.4.tgz","fileCount":91,"integrity":"sha512-BHVp30tg/01CNBBwDqTucj13bi6o16BSOQ2AM8i30KfVFaciXT6bJdyCgLgtnzNEEO8KwiZSPTbFiAmMBSbSPQ==","signatures":[{"sig":"MEUCICydbTVWeZtt3hDSE+f2qbE6X9J5dGf+hVnRFvASsnUwAiEAhu01ca9BOjI2N2WJPAkDyDKpCdqDmwI2Cb58ajhg9F8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDx4QheKq9Aq0/umP9MwVLa7VIDdA+jKCzwgRlZoCDTwQIgTtMq7jd3QIUasap3OVvnZrrPDl4ddRD9FpBFDunQqdU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/zemdomu@1.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":485866},"main":"./out/index.js","name":"zemdomu","types":"./out/index.d.ts","author":{"name":"Zacharias Eryd Berlin"},"exports":{".":{"types":"./out/index.d.ts","default":"./out/index.js"},"./*":"./out/*"},"funding":"https://buymeacoffee.com/zemdomu","gitHead":"450d980e3ca7a24603ae2ed5d4e00c3d23761f6f","license":"MIT","private":false,"scripts":{"test":"npm run compile && mocha out/**/*.test.js","build":"tsc -p tsconfig.build.json","compile":"tsc -p tsconfig.json","posttest":"node -e \"require('fs').rmSync('out',{recursive:true,force:true});\"","audit:all":"npm audit --audit-level=high","prepublishOnly":"npm run build","audit:production":"npm audit --omit=dev --audit-level=high","accuracy-corpus:axe":"npm run compile && node out/tests/accuracy-corpus/axe-run.js","accuracy-corpus:seed":"npm run compile && node out/tests/accuracy-corpus/seed-run.js","test:accuracy-corpus":"npm run compile && mocha out/tests/accuracy-corpus.test.js","accuracy-corpus:study":"npm run compile && node out/tests/accuracy-corpus/study-run.js","accuracy-corpus:prepare":"npm run compile && node out/tests/accuracy-corpus/run.js"},"version":"1.4.4","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4fff94c4-777a-44fc-8352-9288a4510a77"}},"homepage":"https://zemdomu.dev/","keywords":["accessibility","a11y","wcag","semantic-html","html","jsx","tsx","react","vue","static-analysis","linter","cli","vscode","github-action"],"overrides":{"diff":"8.0.3","glob@^10.0.0":"10.5.0","js-yaml@^4.0.0":"4.3.1","brace-expansion":"5.0.9","minimatch@^9.0.0":"9.0.7","minimatch@^10.0.0":"$minimatch","@isaacs/brace-expansion":"5.0.9","serialize-javascript@^6.0.2":"7.0.5"},"repository":{"url":"git+https://github.com/Zemdomu/ZemDomu-core.git","type":"git"},"_npmVersion":"11.19.1","description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","directories":{},"maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"glob":"^11.1.0","typescript":"^5.9.3","@babel/types":"^7.28.4","@babel/parser":"^7.28.4","@babel/traverse":"^7.28.4"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^12.0.0","react":"^19.2.0","axe-core":"4.13.0","minimatch":"^10.2.4","@types/node":"^26.4.0","@types/mocha":"^10.0.10","@types/react":"^19.2.2","@types/babel__traverse":"^7.28.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zemdomu_1.4.4_1789815866561_0.5973257563539174"}}},"time":{"created":"2025-06-18T10:01:40.483Z","modified":"2026-09-19T11:04:26.964Z","1.0.0":"2025-06-18T10:01:40.729Z","1.0.1":"2025-06-18T11:54:28.705Z","1.1.0":"2025-06-19T08:13:06.728Z","1.1.1":"2025-06-19T10:02:36.069Z","1.1.3":"2025-06-23T08:30:36.005Z","1.1.4":"2025-06-23T09:16:12.633Z","1.1.5":"2025-06-23T09:16:34.080Z","1.2.0":"2025-07-31T07:55:39.763Z","1.3.0":"2025-08-11T10:52:40.427Z","1.3.2":"2025-08-12T08:18:52.230Z","1.3.3":"2025-08-12T08:27:12.052Z","1.3.4":"2025-08-12T09:39:19.161Z","1.3.5":"2025-08-12T10:59:24.753Z","1.3.6":"2025-10-22T09:11:05.530Z","1.3.7":"2025-10-22T11:04:13.702Z","1.3.8":"2025-10-22T12:09:52.797Z","1.3.9":"2025-10-22T12:29:47.907Z","1.3.10":"2025-10-22T12:39:30.428Z","1.3.14":"2026-01-17T16:02:03.244Z","1.3.15":"2026-01-24T23:07:05.163Z","1.3.16":"2026-01-25T10:28:18.211Z","1.3.17":"2026-01-31T15:37:30.142Z","1.3.18":"2026-03-14T10:32:01.341Z","1.3.19":"2026-06-17T10:26:09.609Z","1.3.20":"2026-08-25T13:37:57.213Z","1.3.21":"2026-09-01T21:47:32.835Z","1.4.1":"2026-09-05T14:27:26.609Z","1.4.2":"2026-09-05T14:45:12.704Z","1.4.3":"2026-09-15T07:09:15.453Z","1.4.4":"2026-09-19T11:04:26.651Z"},"bugs":{"url":"https://github.com/Zemdomu/ZemDomu-core/issues"},"author":{"name":"Zacharias Eryd Berlin"},"license":"MIT","homepage":"https://zemdomu.dev/","keywords":["accessibility","a11y","wcag","semantic-html","html","jsx","tsx","react","vue","static-analysis","linter","cli","vscode","github-action"],"repository":{"url":"git+https://github.com/Zemdomu/ZemDomu-core.git","type":"git"},"description":"Semantic accessibility static analysis for HTML, JSX, TSX, and Vue, with supported cross-component structure.","maintainers":[{"name":"zelcus","email":"zelcus@hotmail.com"}],"readme":"# ZemDomu Core\n\n> Semantic accessibility static analysis with supported component context.\n\nZemDomu is static analysis for semantic HTML and accessibility across supported\nHTML, React, and Vue component structures. Its differentiated definition is\nstatic analysis for semantic HTML architecture across component-based\napplications. ZemDomu Core is the shared engine behind the ZemDomu CLI,\nZemDomu VS Code Extension, and ZemDomu GitHub Action.\n\nCore analyzes supported HTML, JSX, TSX, and Vue source patterns. Project-aware\nanalysis can find named structural problems across statically resolvable React\nand Vue imports. It does not model every runtime state or establish\naccessibility or WCAG conformance.\n\n## Quick start: scan your source\n\nRun ZemDomu without a global install. The command exits with `1` when it finds\ndiagnostics, which makes the same check useful locally and in CI.\n\n```bash\nnpx zemdomu check \"src/**/*.{html,jsx,tsx,vue}\" --format pretty\n```\n\nPretty output points to the authoring source and includes a stable rule code:\n\n```text\nCard.tsx:3:5 ZMD004: <img> tag missing alt attribute\n```\n\n## What It Is\n\nZemDomu Core is the semantic accessibility static-analysis engine for modern\nfrontend codebases.\nIt helps developers catch issues like missing landmarks, confusing heading\nstructure, unlabeled controls, weak semantic relationships, and cross-component\ncomposition problems before those issues become late-stage audit findings.\n\nThis package provides the shared logic used by:\n\n- the ZemDomu CLI\n- the ZemDomu VS Code Extension\n- the ZemDomu GitHub Action\n\n## Why ZemDomu\n\nZemDomu complements file-oriented source linters and rendered-DOM testing with\none focused source model across supported frontend syntax.\n\n- Cross-component analysis finds supported structural issues that only appear\n  when statically resolvable components are composed.\n- One shared rules engine powers editor, CLI, and CI behavior consistently.\n- Diagnostics focus on semantic HTML, accessible naming, and document structure.\n- Custom-rule support lets teams extend checks without rebuilding a lint stack.\n\n## Features\n\n- Lint semantic issues in HTML, JSX, TSX, and Vue templates.\n- Works in Node.js, CI, or any JS runtime.\n- Extensible rule system with simple custom rules.\n- Cross-component analysis for React/JSX and Vue projects.\n- Command line interface with `--custom` and `--cross`.\n- Configurable rule severity (`error`, `warning`, `off`).\n- Performance diagnostics for profiling lint runs.\n- Simple API: `lint(content, options)`.\n\n## Library installation\n\n```bash\nnpm install zemdomu\n# or\nyarn add zemdomu\n```\n\n## Usage\n\n```ts\nimport { lint } from \"zemdomu\";\n\nconst html = \"<img>\";\nconst results = lint(html, { rules: { requireAltText: true } });\n\nconsole.log(results);\n// [\n//   {\n//     line: 0,\n//     column: 0,\n//     message: \"<img> tag missing alt attribute\",\n//     rule: \"requireAltText\"\n//   }\n// ]\n```\n\n## How ZemDomu fits\n\nZemDomu is one layer in an accessibility testing strategy, not a conformance\nclaim or a replacement for rendered and manual testing.\n\n- [axe-core](https://github.com/dequelabs/axe-core) tests rendered web UI;\n  ZemDomu checks supported source and component relationships earlier. Use\n  both layers.\n- [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y)\n  is established static JSX linting in ESLint; ZemDomu uses one engine across\n  HTML, React, and Vue with supported cross-file relationships.\n- [Nu Html Checker](https://github.com/validator/validator) checks HTML, CSS,\n  and SVG documents for standards-related mistakes; ZemDomu focuses on named\n  semantic accessibility rules in application source.\n\nComparison source matrix reviewed 2026-08-30; linked primary documentation\nreverified 2026-09-04.\n\n## API\n\n`lint(content: string, options?: LinterOptions): LintResult[]`\n\n### Supported package entry point\n\nImport public APIs only from the package root, `zemdomu`. Use `lint()` for one\nin-memory source and `ProjectLinter` for file or project analysis. Subpath\nimports such as `zemdomu/linter` are deprecated compatibility paths and can be\nremoved in the next major release.\n\n```ts\nimport { lint, ProjectLinter } from \"zemdomu\";\n\nconst inMemoryResults = lint(source, { filePath: \"src/Card.tsx\" });\nconst project = new ProjectLinter({ crossComponentAnalysis: true });\nconst projectResults = await project.lintFiles([\"src/Card.tsx\"]);\nconst semanticGraph = await project.buildSemanticGraph([\"src/Card.tsx\"]);\nconst pageModel = await project.buildPageModel([\"src/AppLayout.tsx\"]);\nconst pageDiagnostics = await project.lintPageDiagnostics([\"src/AppLayout.tsx\"]);\n```\n\n`buildSemanticGraph()` follows supported local React/JSX/TSX and Vue imports\nand returns the public schema `1.0` graph. IDs and array order are deterministic\nfor the same project inputs. Source-backed files, components, imports,\ncomposition usages, headings, navigation landmarks, list items, sections, and\nstatic document IDs retain zero-based locations. Each component also exposes a\n`semanticOutput`: a single unconditional native root is inferred with an\nordered component evidence path and the certain native source location.\nTransitive wrappers can inherit that output, while conditional returns,\nfragments, children/slots, multiple roots, unresolved imports, cycles,\nconfigured depth limits, and unknown route identity remain explicit unknown or\nboundary states.\n\n`buildPageModel()` composes graph output into page-scoped component trees and\nordered heading, landmark, section, navigation, and document-ID facts. Supply\n`pages: [{ route, entryFile }]` for certain route identity, or opt into\n`createReactFileRouteAdapter()` / `createVueFileRouteAdapter()` for inferred\nfilesystem conventions. Custom adapters implement `SemanticRouteAdapter`, so\nthe graph and page model do not hard-code a router. With no applicable adapter,\nentry roots and route identity remain explicit unknowns.\n\n`lintPageDiagnostics()` returns canonical diagnostics and adds the affected\npage, readable component path, composition-instance source locations, and a\npreferred edit location when a page/path is statically resolved. The existing\n`singleH1` rule remains an at-most-one rule. The page-only advisory\n`requirePageH1` rule (ZMD022) checks for a missing page H1 only when explicitly\nenabled with `rules: { requirePageH1: \"warning\" }`.\nConservative suggestion text is limited to structural rules with a supported\nedit direction. Conditional output and unresolved imports, slots, runtime\ncomposition, cycles, and depth boundaries suppress absence and collision claims\nthat are not statically certain. Use `formatZemDomuDiagnosticPretty()` to render\nthis optional context for terminal output.\n\n### Parameters\n\n- `content`: HTML, JSX, TSX, or Vue template string input.\n- `options.rules`: severity settings for built-in rules.\n- `options.customRules`: array of additional rules.\n- `options.filePath`: optional source file path.\n- `options.forceHtml`: treat input as HTML.\n- `options.perf`: attach a `PerformanceRecorder` instance.\n\n### Example `LinterOptions`\n\n```ts\ninterface LinterOptions {\n  rules?: Record<string, \"error\" | \"warning\" | \"off\">;\n  customRules?: Rule[];\n  filePath?: string;\n  forceHtml?: boolean;\n  perf?: PerformanceRecorder;\n}\n```\n\nExample enabling rule severities:\n\n```ts\nconst results = lint(html, {\n  rules: { requireAltText: \"warning\", uniqueIds: \"error\" }\n});\n```\n\n### Example `LintResult`\n\n```ts\ninterface LintResult {\n  line: number;\n  column: number;\n  message: string;\n  rule: string;\n}\n```\n\n### Canonical diagnostics\n\n`LintResult` remains the compatibility shape returned by `lint()` and\n`ProjectLinter`; its `code`, `severity`, and `filePath` fields can be absent for\nlegacy and custom-rule results. Integrations that need a stable machine-readable\ncontract should adapt results with `toZemDomuDiagnostic()` and serialize them\nwith `serializeZemDomuDiagnostics()`.\n\n```ts\nimport {\n  lint,\n  serializeZemDomuDiagnostics,\n  toZemDomuDiagnostic,\n} from \"zemdomu\";\n\nconst results = lint(source, { filePath: \"src/Card.tsx\" });\nconst diagnostics = results.map((result) =>\n  toZemDomuDiagnostic(result, { sourceFile: \"src/Card.tsx\" })\n);\nconsole.log(serializeZemDomuDiagnostics(diagnostics, 2));\n```\n\nEvery `ZemDomuDiagnostic` has `schemaVersion`, `rule`, `code`, `severity`,\n`message`, and a source file/line/column. Lines and columns are zero-based, as\nthey are in `LintResult`. Page identity, component path, related locations,\npreferred edit location, suggestions, provenance, and confidence are optional.\nSchema `1.0` uses the\nrule name as the code fallback for parse errors or custom rules that do not\nprovide a registered or explicit code. Missing legacy severity defaults to\n`error`; pass `defaultSeverity` when another canonical severity is appropriate.\nWhen present, confidence is one of `certain`, `inferred`, or `unknown`.\nThe adapter requires `result.filePath` or `context.sourceFile` and throws if\nneither is available. It does not mutate the legacy result.\n\n## CLI Usage\n\nRun the linter from the command line by installing the package globally or by\nusing `npx`. Provide one or more glob patterns to specify the files to lint.\nPatterns may be separated by spaces, commas, or newlines; commas inside brace\nexpressions remain part of the pattern. Discovery accepts either path separator,\ndeduplicates and sorts matches, and excludes hidden files, `node_modules`,\ndirectories, and symlink traversal.\n\n```bash\nnpx zemdomu \"src/**/*.{html,jsx,tsx,vue}\" --custom my-rule.js\nnpx zemdomu \"src/**/*.html,src/**/*.jsx\"\n```\n\nUse `--custom` (or `-c`) to provide a path to a JavaScript or TypeScript module\nexporting a custom rule or array of rules. For safety, the CLI only accepts\nfiles inside a `./custom-rules` directory relative to your current working\ndirectory. You can repeat `--custom` to load multiple rule files.\n\nUse `--cross` to enable cross-component analysis.\n\nUse `--perf` to emit a JSON timing report to stdout, and `--perf-slowest` to\nalso print the slowest file and phase.\n\n### Output formats and exit codes\n\n`zemdomu check` accepts the same file patterns as the existing command and can\nwrite one of three equivalent views of the canonical diagnostic contract:\n\n```bash\nzemdomu check \"src/**/*.{html,jsx,tsx,vue}\" --format pretty\nzemdomu check \"src/**/*.{html,jsx,tsx,vue}\" --format json\nzemdomu check \"src/**/*.{html,jsx,tsx,vue}\" --format sarif\n```\n\n`pretty` is the default and writes readable diagnostics to stderr. `json` and\n`sarif` write only their machine-readable JSON document to stdout; operational\nand invocation errors always go to stderr. JSON contains a deterministic,\nsource-sorted array of schema `1.0` `ZemDomuDiagnostic` objects. SARIF uses\nversion `2.1.0`, maps canonical related locations to SARIF\n`relatedLocations`, and stores page/component-path context in structured SARIF\nproperties rather than adding presentation text to the diagnostic message.\n\nThe CLI exits with `0` when no diagnostics are emitted, `1` when it emits one\nor more diagnostics, and `2` for invalid CLI usage. `--perf` and\n`--perf-slowest` are only available with `--format pretty` so machine output is\nnever mixed with timing output.\n\n### Semantic graph and page inspection\n\nUse `graph` to inspect the deterministic semantic graph for one or more entry\nfiles. The command follows supported local React, JSX, TSX, and Vue imports and\ngroups source files, components, rendered semantic nodes, and explicit unknown\nanalysis boundaries in readable sections.\n\n```bash\nzemdomu graph \"src/AppLayout.tsx\"\nzemdomu graph \"src/pages/**/*.{tsx,vue}\" --cross-depth 4\n```\n\nUse `inspect` to compose one route from an explicit entry file. Requiring the\nroute-to-entry mapping keeps router conventions outside Core and makes the\nresult reproducible:\n\n```bash\nzemdomu inspect \"/products/[id]\" --entry \"src/AppLayout.tsx\"\n```\n\nPage inspection prints the nested component path, ordered semantic facts,\nsource locations, and any unresolved or traversal-boundary unknowns. Both\ninspection commands write human-readable output to stdout and exit with `2`\nfor invalid invocations or unmatched entry files. Machine-readable inspection\noutput is not part of this command contract; use the public\n`ProjectLinter.buildSemanticGraph()` and `buildPageModel()` APIs when structured\ndata is required.\n\n## Cross-Component Analysis\n\nWhen analyzing JSX or Vue projects you can track semantic issues across\ncomponent boundaries. Instantiate `ProjectLinter` with the\n`crossComponentAnalysis` option or pass `--cross` to the CLI. Use\n`crossComponentDepth` or `--cross-depth` to limit how deep component trees are\ntraversed during analysis.\n\n```ts\nimport { ProjectLinter } from \"zemdomu\";\n\nconst linter = new ProjectLinter({\n  crossComponentAnalysis: true,\n  crossComponentDepth: 2,\n});\n\nawait linter.lintFile(\"App.jsx\");\n```\n\n```bash\nnpx zemdomu \"src/**/*.{jsx,tsx,vue}\" --cross --cross-depth 2\n```\n\n## Performance Diagnostics\n\nAttach a `PerformanceDiagnostics` recorder to gather timing information for each\nfile and rule.\n\n```ts\nimport { lint, PerformanceDiagnostics } from \"zemdomu\";\n\nconst perf = new PerformanceDiagnostics();\nlint(code, { perf });\nconsole.log(perf.getAsJSON());\n```\n\n## Writing Custom Rules\n\nCustom rules are simple objects implementing the `Rule` interface. At minimum,\nprovide a `name`, a `test` function that returns `true` when a node violates\nthe rule, and a `message` describing the problem.\n\n```ts\ninterface Rule {\n  name: string;\n  test(node: any): boolean;\n  message: string;\n}\n```\n\n```js\n// my-rule.js\nmodule.exports = {\n  name: \"noFooDiv\",\n  test: node => node.type === \"element\" && node.tagName === \"foo\",\n  message: \"<foo> is not allowed\"\n};\n```\n\nUse it programmatically:\n\n```ts\nimport { lint } from \"zemdomu\";\n\nconst results = lint(\"<foo></foo>\", { customRules: [require(\"./my-rule\")] });\n```\n\n### Helper Utilities\n\nFor more advanced rules you may need direct access to the parsed HTML or JSX\nAST. ZemDomu exposes helpers for traversal and attribute inspection:\n\n```ts\nimport {\n  parseHtml,\n  visitHtml,\n  getAttr,\n  getJsxAttr,\n  getJsxAttribute,\n  getJsxAttributeState,\n  getJsxExpressionState,\n  getTag,\n  isJsxExpressionPossiblyEmpty,\n  ElementNode,\n  HtmlVisitor,\n} from \"zemdomu\";\n```\n\nOr via the CLI:\n\n```bash\nmkdir -p custom-rules\ncp my-rule.js custom-rules/my-rule.js\nnpx zemdomu file.html --custom custom-rules/my-rule.js\nnpx zemdomu \"src/**/*.{html,jsx,tsx,vue}\" --perf --perf-slowest\n```\n\nThere is a sample rule in `custom-rules/example-rule.js` that you can copy and\nedit.\n\n## Local Development\n\nFrom the core package:\n\n```bash\ncd packages/ZemDomu-Core\nnpm install\nnpm run build\n```\n\n## Links\n\n- npm package: https://www.npmjs.com/package/zemdomu\n- Website: https://zemdomu.dev/\n- Issues and suggestions: https://github.com/ZemDomu/ZemDomu-core/issues\n- VS Code extension: https://marketplace.visualstudio.com/items?itemName=ZachariasErydBerlin.zemdomu\n- GitHub Action: https://github.com/ZemDomu/ZemDomu-action\n\n## License\n\nZemDomu Core is open source under the MIT License.\n\nCopyright (c) 2025 Zacharias Eryd Berlin\n","readmeFilename":"README.md"}