{"_id":"yaml-security-lib","_rev":"58-d19d08cf36fe7b984bac32c3d384efee","name":"yaml-security-lib","dist-tags":{"latest":"1.17.8"},"versions":{"1.0.0":{"name":"yaml-security-lib","version":"1.0.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.0.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"1c7f84e116499389d906eaa407ed7e6865648bb8","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.0.0.tgz","fileCount":5,"integrity":"sha512-m3Os4DUkDD4yP0d8RV6LZ0IRWCd4jaAph7lm1hZQGxbLPy7KEhpLOcnxwoc1n7S3p+e1zHKiwoelOGWjs+ZcBA==","signatures":[{"sig":"MEYCIQD9Q67xrDppJkDO/0BKEyPBMaCFYMEC2lVU2vKf2nOfIAIhAJS0Lo6CSG7fP/5dt84jFdoiww2EFxDHhtQVV9S73kA9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69915},"main":"src/index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"008873f792e67b28fe0488dbafc41d8e2fa0b30b","_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.0.0_1785276903175_0.8559567484404627","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"yaml-security-lib","version":"1.0.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.0.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"a7eec0e06accc0b154d7dd12858ff7079a9f27fd","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.0.1.tgz","fileCount":6,"integrity":"sha512-pZJS5UvI6FlfskxV1hIBTwjwFGa2jDpvGpg8mVuOnchH4qTThkolsENic8eRKvKnRuQAA3DXhRKVGZMcqsJf9Q==","signatures":[{"sig":"MEUCIQCOmnFq4bl3cCYlANi1tHkUU1VEIw9jlFGLoPhc8uC9WwIgA19kLBeSWnSA11s9RH2iCRwNzQdxa1AxKpZ4XVunG9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71707},"main":"src/index.js","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"gitHead":"4c609da33af13e855f926e1922479f0ac6e5ef83","scripts":{"test":"node test/index.js","example":"node examples/basic.js"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.0.1_1785341823855_0.04911866610446802","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"yaml-security-lib","version":"1.1.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.1.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"2190a883e85b196ee8a1f92c689a7e0bdb7e91e6","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.1.0.tgz","fileCount":8,"integrity":"sha512-RYBKLcYPRKUcC7HV5hByGry0sqg0nHcoT2hh3YwFurVdI9uPh4ILrP2jKI+TvZD5EwVGwtJTJJNIl+sVbKFziQ==","signatures":[{"sig":"MEUCIBRMLrHZNiyGgA7xX7MRTvmL8vkZiR43cvmCnKfIJFliAiEAw+fmAk1se5hqLNWVnK5UjKCF5UGXrvADJzeww/n6rlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97169},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"78e7f1309e71b1d17737cd303f5414a1ea036d88","scripts":{"test":"node test/index.js && node test/fuzz.js","example":"node examples/basic.js","build:cjs":"node -e \"const f=require('fs'),s=f.readFileSync('src/index.js','utf8').replace(/^export function /gm,'function ').replace(/^export class /gm,'class ')+'\\nmodule.exports={setLimits,YamlSecurity};';f.writeFileSync('src/index.cjs',s);console.log('src/index.cjs generated ('+s.split('\\\\n').length+' lines)');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.1.0_1785344548044_0.911313483541645","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"yaml-security-lib","version":"1.2.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"f5053dc3091bddd56801d00ff5662696f268858f","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.0.tgz","fileCount":8,"integrity":"sha512-wi4Oii0QazMs4jEtBGhd5Vi9e1e7LDS8SBC6snQPqajouC84GmwDkHtdlO/w0QLlFHbb9f/AiqVT8mjttIgfPg==","signatures":[{"sig":"MEUCIQChrHRV4ZfPRJOGolZH+KOBSOl6qukJUeeEjtmoVMzkdQIgQoESgOtrqj3IlkSy3HhzgNSQ9V64HziEoUfWJgJ9iTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103754},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"bedf2b916be94099e3cbc3118e988fa0f6836172","scripts":{"test":"node test/index.js && node test/fuzz.js","example":"node examples/basic.js","prepare":"npm run build:cjs","build:cjs":"node -e \"const f=require('fs'),s=f.readFileSync('src/index.js','utf8').replace(/^export function /gm,'function ').replace(/^export class /gm,'class ')+'\\nmodule.exports={setLimits,YamlSecurity};';f.writeFileSync('src/index.cjs',s);console.log('src/index.cjs generated ('+s.split('\\\\n').length+' lines)');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.0_1785346924963_0.9497104676932098","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"yaml-security-lib","version":"1.2.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"4598fa8486bfa36ce3cb8b9da9cb38647e3fd3a8","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.1.tgz","fileCount":10,"integrity":"sha512-KcxvuF4jbhpsh+U8T60OY5BFET+vdKt+dsSRvbZUlcyTnLT0QlqI6Nu5rHlhUjx42xcMqojD5Q4Vk/7l87Aqkg==","signatures":[{"sig":"MEYCIQC9m+1WtTr9SWByBj3SvODwNcKDbruFwSaonlWIGzWKVwIhALUthU2l5Yk4nvItnjvFmFadlif+bvz5t+mfiIZ306x9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130370},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"83dab9e4580f9052fc9316f5f5db037529570b59","scripts":{"test":"node test/index.js && node test/fuzz.js","example":"node examples/basic.js","prepare":"npm run build:cjs","build:cjs":"node -e \"const f=require('fs'),s=f.readFileSync('src/index.js','utf8').replace(/^export (function|class) /gm,(m,t)=>t+' ')+'\\nmodule.exports={setLimits,YamlSecurity,YAMLException,default:YamlSecurity};';f.writeFileSync('src/index.cjs',s);console.log('src/index.cjs generated ('+s.split('\\\\n').length+' lines)');\"","build:browser":"node -e \"const{execSync:e}=require('child_process'),{mkdirSync:m}=require('fs');try{e('npx esbuild --version',{stdio:'pipe'})}catch{e('npm install --no-save esbuild',{stdio:'inherit'})};m('dist',{recursive:true});e('npx esbuild src/index.js --bundle --format=esm --outfile=dist/yaml-security.mjs --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=iife --global-name=YamlSecurity --outfile=dist/yaml-security.min.js --minify',{stdio:'inherit'});console.log('Built dist/');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.1_1785348506791_0.5416435779026993","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"yaml-security-lib","version":"1.2.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"3b8a7f8915bd0b75d4ef758aa033305dfff4e4c3","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.2.tgz","fileCount":7,"integrity":"sha512-iKzPsVTLTarmHPo/mVfVX/K+LQpvgqLJ0U1hAjnG922jnFHDqISKPHrMEcV+vnrB6ueM+5FQMIMNBg6EvcGvcQ==","signatures":[{"sig":"MEUCIQCMxleQvmpoGYTjNNrdlw4NB1Fh8nEqUgyYUgFHx5eGwgIgIFq6uApwh0B82Cv9mKG/sxvn+cMQksFLxM95e75mXDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78505},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"503514e122a29d9c16aa9b3bb78ada99d771cd99","scripts":{"test":"node test/index.js && node test/fuzz.js","example":"node examples/basic.js","build:browser":"node -e \"const{execSync:e}=require('child_process'),{mkdirSync:m}=require('fs');try{e('npx esbuild --version',{stdio:'pipe'})}catch{e('npm install --no-save esbuild',{stdio:'inherit'})};m('dist',{recursive:true});e('npx esbuild src/index.js --bundle --format=esm --outfile=dist/yaml-security.mjs --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=iife --global-name=YamlSecurity --outfile=dist/yaml-security.min.js --minify',{stdio:'inherit'});console.log('Built dist/');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.2_1785350140090_0.8025334867048548","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"yaml-security-lib","version":"1.2.3","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.3","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"d49a17760d0c284427eed13f2c9ede1e37a8f042","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.3.tgz","fileCount":8,"integrity":"sha512-mj6LcWFYy8xdEh1QR/ks+wR1enr89/1w/HMfZomCdkCL2lKtdUW1IA06RmRKmyEs1tE061r3/173RaQp737U/g==","signatures":[{"sig":"MEQCIEQYHGcGLbpDUrKanh17CtUHdNehi0jKKIsu5YTeUAUvAiBDWhLPpbzLGEEGuhFTWlsefQYDwqW1AxG/9D/DWWM3GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76313},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"4e1dac0d803a5e427ad1799367acbcf67827cf54","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"node -e \"const{execSync:e}=require('child_process');e('npx esbuild src/index.js --bundle --format=esm --outfile=src/index.min.js --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=cjs --outfile=src/index.cjs --minify',{stdio:'inherit'});console.log('Built src/index.min.js + src/index.cjs');\"","example":"node examples/basic.js","build:browser":"node -e \"const{execSync:e}=require('child_process'),{mkdirSync:m}=require('fs');m('dist',{recursive:true});e('npx esbuild src/index.js --bundle --format=esm --outfile=dist/yaml-security.mjs --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=iife --global-name=YamlSecurity --outfile=dist/yaml-security.min.js --minify',{stdio:'inherit'});console.log('Built dist/');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.3_1785350586930_0.952056071217739","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"yaml-security-lib","version":"1.2.4","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.4","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"f0df667bcbaf68b193e7ea073e1a92c5865b51e7","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.4.tgz","fileCount":10,"integrity":"sha512-aBRy64ctLRX0346miJWevgQ+eZY67f2FE4CYdc/xQ90MRu3KRawqo4jFMA61ZxDWo2IyE0Qzm5QF6lHSm/HafQ==","signatures":[{"sig":"MEQCIAyCjdw5fyMSBa9Ch3RX7rKOPqKZR87aLrO8+Xdz6v9AAiBzd2b+MazoGMVLVMny1K+tgwA4ttJFgNRpDUHZ3UQzxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101524},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"944003ec104decdd279db52c224c0e030edc987f","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"node -e \"const{execSync:e}=require('child_process');e('npx esbuild src/index.js --bundle --format=esm --outfile=src/index.min.js --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=cjs --outfile=src/index.cjs --minify',{stdio:'inherit'});console.log('Built src/index.min.js + src/index.cjs');\"","example":"node examples/basic.js","build:browser":"node -e \"const{execSync:e}=require('child_process'),{mkdirSync:m}=require('fs');m('dist',{recursive:true});e('npx esbuild src/index.js --bundle --format=esm --outfile=dist/yaml-security.mjs --minify',{stdio:'inherit'});e('npx esbuild src/index.js --bundle --format=iife --global-name=YamlSecurity --outfile=dist/yaml-security.min.js --minify',{stdio:'inherit'});console.log('Built dist/');\""},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.4_1785352045637_0.43229391627174074","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"yaml-security-lib","version":"1.2.5","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.2.5","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"70d0753a8df050fcfeb2f23fad86ba5af1290496","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.2.5.tgz","fileCount":10,"integrity":"sha512-CydO3kP9qzHrN1IGZ9y51KSsNXpQSeveLk6emJuX1W86uUhKX59kikbtkwyjS2/Br34KOU8knE0Jc2qkxm0KSA==","signatures":[{"sig":"MEYCIQCgiAeCi1tYKB28GCTtBxFwAwwSxOR8f4ouBSx0FrKh8wIhAIgcYaxybNs6KE75OFXOBkvYiQVzbETa7mQAudLyrNsw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102728},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"7354f0581f3255261588d01afc43a38642d37d43","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.2.5_1785357940307_0.5767428078306012","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"yaml-security-lib","version":"1.3.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.3.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"b588735a457aba24571dcf2fdf4ac5ffba801e7b","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.3.0.tgz","fileCount":8,"integrity":"sha512-CA3yr0V0Uf/QoHnaAUXc0YuPIF+jOntW+FcJ4LaO9rX4ogWDtEF9W11thziAG0WVYFEJdqsww6na9huu6Iphzw==","signatures":[{"sig":"MEUCIQD/2lKPmfDv8oJDtoznqH8AkDr+2s1d7PY6TYMydQREZQIgFCldJ/pUeajv/zmrnzB1ir1yRTLWf/z8My6bY5toFUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83347},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"c05ee992cff95dd33e342e3b5042b70bd174e4d4","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.3.0_1785428558941_0.17497234042096044","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"yaml-security-lib","version":"1.4.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.4.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"7c6a1df40d4747e088a61b4b3f4af6f1f0c8bb66","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.4.0.tgz","fileCount":8,"integrity":"sha512-aKMNBnwtZ6cw5yXzhkxeNGFRuosZks14cgEXgvaaThfzZluls6lO0dCClttt4uSgT0xCRL8N14aDZHpqvVzjrQ==","signatures":[{"sig":"MEUCIQD1RNQmQD7AqyKALs4dUp1Dqha/1h825TnoA6X+BM1g5AIgbnPp7Qv7yZnUpcbP3JxpwGZhS0tPYSrTpfSy0WoVKYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87838},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"9c2e19b46d7c8064aabbea6f624991cb09e69836","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.4.0_1785431025905_0.3512229521784833","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"yaml-security-lib","version":"1.4.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.4.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"14c5d15c0e4457b88e357221db366e0d0d1894b9","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.4.1.tgz","fileCount":8,"integrity":"sha512-GZbyIXSPWTBe+usiNGtrbkLWGoua0F8iCD74Oz7OF6WyoeZr7kRCuBZVoK4jEcUSdyf5GJF0HWO+xM62/RcCAg==","signatures":[{"sig":"MEYCIQCzFITlkx2GpCT8LWATp5yv3pbeaag4ntLjqmis8Hu1VAIhAKEvlZV5JZxk2RwD6DFgKpbAH3qe5DTNCfgc9zY5PeIR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91052},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"79ebc9f8c2eca8c52a90dfeff816f303b2457c80","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.4.1_1785433025647_0.2556201883877085","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"yaml-security-lib","version":"1.4.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.4.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"d2d39435c3a42aea5a3bd8f583161524b779555d","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.4.2.tgz","fileCount":8,"integrity":"sha512-rd3Lyh2Odi5mIM36TrMiNGQsIjaqX3hx9GjbicJdzrDBIMiqHVY7LBCDBUDbTr993aq8sdu6X6MJYUgivGxmTQ==","signatures":[{"sig":"MEYCIQCq4zzLYthAiDR9iIRJgipRYbx7SgXt7CgPM/zD7GeoewIhAL6fyGwVIpAhhuSXjogwtL75iJkxb0zv+fBdY6j64ODY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91182},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"41a664b3eb3eb8dabc3cf37751beeabd5c6a4d9d","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.4.2_1785433280673_0.7115669950010337","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"yaml-security-lib","version":"1.5.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.5.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"fad1f6718fe8065a4ee6228e6b865e94eab74182","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.5.0.tgz","fileCount":10,"integrity":"sha512-abDgnvoN++3ncskcd+50HpwD8UMzPkWnlU1XY+tg+Nb9OsCtOAVVgY4iqzeyW3CyQo5ZR3sLgitdLhfD68aVkw==","signatures":[{"sig":"MEUCIQDDWsKDOT9NB4Rv+AlDG1Ieai3Tjl+2fyh0FEqnlbSrbQIgNoaUfTVTWbv2tliA087e/8SauyJo9uWyRKWHak9NUxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130723},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"b19a265e3365da408ace5378febeab42884d26e2","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.5.0_1785434447509_0.1701515327134968","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"yaml-security-lib","version":"1.5.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.5.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"6479e2b8b7c278663e24c6054421eff0e89ea4af","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.5.1.tgz","fileCount":10,"integrity":"sha512-C21crp8HCHuQFnf4aYnbW8thfOUp6amwaaIICPGuvraQF23ZeE/l+GzrVnbdma5rHJhKtpyDMofRtADwOacE5A==","signatures":[{"sig":"MEUCIGOUNL9tepQ7d/jUzG5gVhutgwtb+/yULscgUP4u80RDAiEAuof50sN3yQ2qL3Qg37i2bUQcNTw1hvQ3wfNec3cL5Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132377},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"f505569d0d60383ff423f4512ece02b0d6247fa2","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.5.1_1785436910272_0.6678316296366216","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"yaml-security-lib","version":"1.6.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.6.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"e1d21277220c380241a04c537178b4c3e37b1140","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.6.0.tgz","fileCount":10,"integrity":"sha512-8KfxhKazCgwKkCnUIqqQMujpvZckQPQj4w7ZbTTtixYKqPWggZvwSFaav2cBxBBYnlq3v83DU7LA00sxoJTtDg==","signatures":[{"sig":"MEUCIQCy6r3aypX/gSA89t1/ehwSVL7zTWtOJSUJGK9/G3dQyQIgPhlVgnjCa5vJzsUjD8fjWhT+jcpC4A9xUTcrUDD457E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137833},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"3376a612e321e9a0966a92ec17c6904659133499","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.6.0_1785441875642_0.6015470020387228","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"yaml-security-lib","version":"1.7.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"760253a2b766e13aabff3792f0df6e6ce41d9d0c","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.0.tgz","fileCount":10,"integrity":"sha512-d6KbfD+TOc4VRnC3g4T+pYCk9JCDmfZ4/Sf5FyGHGHO8HAyT3nblu4kAmv45K/7IobkOU4OnhEirUohp6bMFbg==","signatures":[{"sig":"MEUCIHbfGYZZbe1XKJD7JmvT1/Izv12lAFGGNcwiBzwipUrdAiEA4E2kmaTjK/+eHZE+aRQgCF/PYPMc2VHvWsjm7euPMBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139297},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"476a2547f9ba546a62643ea09861892296f83b7a","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.0_1785445164959_0.6677567292885453","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"yaml-security-lib","version":"1.7.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"ee037d7c393dd451763e21e5147ff8f8524ad81f","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.1.tgz","fileCount":10,"integrity":"sha512-hZpTZc/NfH6ei0lBlpYE9FGmzFgKs01Cx3TO6WZXrbvKmM5APqa03D+KMOGL0Z1RvVzrJMdgcyo5ARPKO/YLxg==","signatures":[{"sig":"MEUCIEW70ducLq+KJqiQF98omXGivOFXoDP8xp6hBTrxwYKwAiEApVTMfo550BADGPtuWNxcVkrPuB1bUydL8qOYZfRHdjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141985},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"6cdb9e214c6b6653f2ac013c6bd5f287124c1196","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.1_1785450622900_0.07813755811902734","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"yaml-security-lib","version":"1.7.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"99180b8081bec008987b0bb40986bb4dcfd8bc59","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.2.tgz","fileCount":10,"integrity":"sha512-MhSUzP5Qfve92eLBgxVRNXQSJGdE51SxzCcN/+bI661dyvgY25LixcHhHDs3PMVAaubnZ6BCvFJ7WkqsoR1rGQ==","signatures":[{"sig":"MEUCIQDdntCfSAqJTMBVrvRCVd37CA3TN0L+ddE5YDE6Xca/GwIgERWuv0HBQdl385GZlqBaaxYUG/byv5Q/y5inWyDAgaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142954},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"a4ce400fe894184dcedd18b03af95fe45ee1ad03","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.2_1785459227758_0.46548028171119715","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"yaml-security-lib","version":"1.7.3","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.3","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"ee3895accb9a71e7b59a88c81018409cc972ebe6","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.3.tgz","fileCount":10,"integrity":"sha512-TQJKEzVWVBhvR6ajke2Z9rgAiTe1DRTpmNlFw1/LbkIY6W/IvcCIH1mhdehCpA2sn5xp0p/IhStTMIQ7m7j+zA==","signatures":[{"sig":"MEQCIBGHZA6YNdHHRFxcbEcg8n6OYpPxJxsBhEpRfuHtU5qaAiA89D22PplTHufYqJAuaH7JGRT2abPzEywNfNQqa1lKnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143090},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1e5b99a764090e73266566d938e9d0e15b720e47","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.3_1785461060286_0.4452432699329363","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"yaml-security-lib","version":"1.7.4","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.4","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"95a755503a68cb897de04c17499e39119455c7fc","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.4.tgz","fileCount":10,"integrity":"sha512-E1QUVaJXcyk0sPgXPCsDwnNOvubBj7c2hQWi+Ay/zoPsJYwWIw13cDM3QpBUieXhnb9IEKgGbDpoxGLmDHKgLQ==","signatures":[{"sig":"MEUCIDwZeAHnPdXq5/yXu4fe0h9tp0vCVrAVFbIUE+IrGJIzAiEAh4y6NBNRVBqC36FOieKytTOjvxQ4dmpC0ytopveYuXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143122},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"de365bfa2ecc4b83d8aa79fd86e24bdaa467f55c","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.4_1785461994834_0.11169477466328126","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"yaml-security-lib","version":"1.7.5","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.5","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"d336528ab6c9c0520aa9d779373c4af08b5a302f","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.5.tgz","fileCount":10,"integrity":"sha512-cELEuaSAZpwrMqUbFMvpHiVX1b7vHcwgcUFH6RXH5GpXJ7l779SYcj9GoiallgFcw6DUzzr0m1Vsmj5BbDDLkg==","signatures":[{"sig":"MEYCIQDZyfV2suUzbNLuCAr/Knv7Iywolu0eK0Xf7OfFPwLW/wIhAKTIZBs+iPyQaMrtN2GeFj1gjZf8DOBuPeV8RuaRAkDc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143681},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"608849422a56cc5b2cbdebd675da0a06f6fd0e8e","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.5_1785462826418_0.9033768882140139","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"yaml-security-lib","version":"1.7.6","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.7.6","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"f2ee2ee0338fdf0554bb6a3168d2ad71dcaabdb9","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.7.6.tgz","fileCount":10,"integrity":"sha512-mNDjjTdwYkVvVUSapkDU/6zCiOjg3mqK3cUw/gvDTGyCRK2ee5YWl5fBMTzb3wJwA6fUciNVAbozaddzF9ysdg==","signatures":[{"sig":"MEYCIQCk0j+7h1Ie7U6mAbwArCuXbhN15X2sReGXRl47XhZmCQIhAOWUe8ZV52PHP8QaFtrvgTR1L8ywzqujt8xEDi/4wDd6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143948},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"a20b4d5c6866c0a5d5699b4076b9ded75abea7b7","scripts":{"test":"node test/index.js && node test/fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.7.6_1785699998413_0.28821109198031447","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"yaml-security-lib","version":"1.8.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.8.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"05474d168c7dabc63768bbe2ff004c32901b7d3c","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.8.0.tgz","fileCount":10,"integrity":"sha512-ZJjBuvbDLV1fpOInSZaiO80VPqjJ0d35ULVFD1T3SkbUUGxerz8IeNFZq8d7o+RaeufsBqiY6yhGsrnPD+/rTw==","signatures":[{"sig":"MEQCIEiNs0w84PJtqH9QqWD3zpKFYdGqBTo+4oKEr8VmZNQhAiAbj/aOyzCHG72QTZphYQta4DvpIfMqn4c2WjkrLBS1/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237955},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"4893c4cef43fd3a51729cfbb64b989e8cc82eff9","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.8.0_1785709312352_0.5557900118268395","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"yaml-security-lib","version":"1.8.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.8.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"e3dabfccebcd4ef126408dc3896ed3f12918eb28","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.8.1.tgz","fileCount":10,"integrity":"sha512-5OSxhurT/qlPYPUbftjYEckFkzdurYP4EZc515CRznEhB+9tyjDCiNehnAKxC+wIhfmSnSZPezGQIB8RWBNP5Q==","signatures":[{"sig":"MEYCIQD+jTtcLR+fYTLaxZ7lcLQtyvZ/uJ4xsfBCOcXA5eeF2gIhAKDJpup3k+eHDuelh88fPA8xBTHsvTu8ZNClOU1FnhIC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":251897},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"0c37903fb04f2bc74de71824e12712863a837597","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^4.1.0","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.8.1_1785715329980_0.21223415273157786","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"yaml-security-lib","version":"1.9.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.9.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"1af936e66b9f3751dc2bde53d16e3c4ab3e50746","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.9.0.tgz","fileCount":10,"integrity":"sha512-eOYMX2MqK/gSdMEnAXmt75dWcPDizQeAR/hQnNeHJn/bC6H39UkusJqvhUqw1Un/c5Z32V5prFsrO8RQ+FHTgg==","signatures":[{"sig":"MEUCIHDX9yT8+SKhe6iuT/fmsomVXH31j+0+YYsWScvXhXvBAiEAgLtYr/tPwi1xEPH9JHulh376ogas8cKiBzaGJXjAHr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306633},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"9bb1c440fdd2059f12c65aca359032e2f62b95d1","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.9.0_1785943001098_0.7669130741918349","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"yaml-security-lib","version":"1.10.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"fb4a5de6425547e18af53fd5c061e2e11360e505","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.0.tgz","fileCount":10,"integrity":"sha512-mAo75EMAMDyAIQSV/gX/PjG/KWDdFcIlxDDjI3bUqj4ikgvzj+7fJm6TFGrwR1YFIyR5VIDz2VqYB1lYrMoKDg==","signatures":[{"sig":"MEQCIHN/QNGfHCqG7n6vVSM7gOJIZm665oT0rxytLuTMu+KEAiBTmKWJDdwOWjWg7AAHSK+nhUT9f1rKwb1pKIBWdh62MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362645},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"e2979acf37739669f3742fc655f582af0f58018f","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.0_1785943095106_0.002759610820206815","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"yaml-security-lib","version":"1.10.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"42b1cc82ff06ff07624b64bd2ba03d32326f58d6","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.1.tgz","fileCount":10,"integrity":"sha512-GftjLaYCLZHbyzfjXZzrWThoJjusIl0jB+78WFMijHI6ASP0RQ0xRzGLcLeba1DeTSmlELM1vFkLYt5d15iIxQ==","signatures":[{"sig":"MEUCIQClkG7J3zmoCkOnnw8tSsY9Bsrei5iUndm/eu9ZuigI1AIgcyKTTGk08oHFLiWYU2Mhcu2pLZUnu15ndi9sjOpJ7yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":362946},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"e975645be4448a0fa86bb10a77fc1395d8366020","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.1_1785980181775_0.06477618805320295","host":"s3://npm-registry-packages-npm-production"}},"1.10.2":{"name":"yaml-security-lib","version":"1.10.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"24f03f0f68eab06a52e02d8f9306b5254fa2798d","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.2.tgz","fileCount":10,"integrity":"sha512-pqM+jrd4doGqnwpzOKR73KWfSC4R6+Ly9jucOkdBPUMOhN9TSO44xAcvIJp3j0ac5C3vsBOx8ik+W0yUDHjKSw==","signatures":[{"sig":"MEYCIQDJ43kfjtq8tMflRx+i8afOxQIMUN70GXEKA2fOdBL2cQIhALg63YoarROjQoAVtBAeOMH0iP0/Rr+3LSsVVxuR/Axk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400567},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"53193497fdb9af7e47e8fbe414b85f3507ae2e83","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/tree-suite.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.2_1785981374476_0.8740407661403458","host":"s3://npm-registry-packages-npm-production"}},"1.10.3":{"name":"yaml-security-lib","version":"1.10.3","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.3","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"f0ca96c59dfcb3115a63447840b84e063b042fa8","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.3.tgz","fileCount":10,"integrity":"sha512-+aecnxjmp11kglEt0YxUZ619UvmgGuVxjvn828ldT4zapxvW6C6UqddeNMyFIO67vjtgbuu1ZtWWkrgj/hzQrQ==","signatures":[{"sig":"MEQCIDIHaX8L61Mzfq/dYyWlFbhz8LovQfcRf29Nxgc0XPo3AiB5rWNc/uw8nc9gEAYBOa10uymRP6yd0B4lDP2OeOsnjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400567},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"98c483e52a32edf13117501a26794ea84b9e83e8","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/tree-suite.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.3_1785982358113_0.30908143208062855","host":"s3://npm-registry-packages-npm-production"}},"1.10.4":{"name":"yaml-security-lib","version":"1.10.4","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.4","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"85e915427a7590f98c8252d56f5bbca17fca4bd3","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.4.tgz","fileCount":10,"integrity":"sha512-lBi2gsukjhjXx3lew4fdtghnofy5U/DP/eO4nQ1WccvtRmL0UrV4oNzzKQ6ErM/ot+KD6VndcwaFKoLFdSBkKA==","signatures":[{"sig":"MEUCIEXIwTjgJCdMz5wQ97e5GqPv3SgDIfqi3DMZnLFukWkhAiEA0r7u6g4xvEW9A6xNC+r5cS7fdUdD8Z9QId4SFo22Lpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":401942},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"97b9392675e4ff684464305344123cedd4d6a6d8","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.4_1785983397738_0.8985874102416054","host":"s3://npm-registry-packages-npm-production"}},"1.10.5":{"name":"yaml-security-lib","version":"1.10.5","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.10.5","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"ed10a1a9d42951851503ae0bac63fc317b09a2b4","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.10.5.tgz","fileCount":10,"integrity":"sha512-msbER63j8h4WJXyYzXD40XA5M3xQ/zLv3Va+hFKGVPyA5i7SGN6egeNfZv+2543eJu0OjB3tTfwRyiX+3F3mxA==","signatures":[{"sig":"MEUCIQCHFvckIIjxWBoCU6aNWHfNh/3OO+bHs04xmOA4p6jlAQIgezKaLCgZ7upW00/+hmgMQMDKds+tZag08ybdoQO6Mv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":406894},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"e947dc0fd07ad9ff6fc676bd01c87db7050195e9","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.10.5_1785985008645_0.9695511130155943","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"yaml-security-lib","version":"1.11.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.11.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"dist":{"shasum":"998341d312aefb3b9696ce6734e91cb728cbfca1","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.11.0.tgz","fileCount":10,"integrity":"sha512-Xe3V6SopmAwbsB4qGukSke+UIbjfhfYNJLHJ8I4C2wnfK9BT2awfy58qcHgaSDkn4NMpzKRpm8/Tj2Ab6VGObA==","signatures":[{"sig":"MEQCIGzD8mu1OOhGdGrb7RONietLQ4JSAyG+gWxRvsjVlqS5AiBZmfIXuNdEF9rOX2J+FHcANhJ8X+i43GKIU3F4TI389g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487338},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"8715e90983e4dd24353d822be4bace0e34452964","scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.11.0_1785989003217_0.3446941542911879","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"yaml-security-lib","version":"1.12.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"6ac37dc3f1070efea8bd5660993e343c5ec5ba60","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.0.tgz","fileCount":11,"integrity":"sha512-eICkPnrDfxgUYNIDPC2imZwBtn7SoDSGmPW4HIGlopyzdIEFp8z+xpvzpHrlALLcU7uMXHStcjGyo0xD5UugmA==","signatures":[{"sig":"MEQCIHZX+b/ytsHElUhhSjvj4cev98xTT4vt1ZoLQA0m6WJeAiAcllxSZtV+ih+z+aJYaM4QpvUf6rTuW6lZLglDUdrl4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536184},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1943c76ab43e3bcf19485f6f145442740f0fbbc8","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.0_1786068353492_0.12383231487454682","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"yaml-security-lib","version":"1.12.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"5a8648f505af00ecdf7e289795dda14d5db4ed8d","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.1.tgz","fileCount":11,"integrity":"sha512-VMGwIYHQdHyYL2w9JDuYnO8NdMoeHCPUl38h6wBdN7IQ09sMfdrk+ZxJeOa4EZcvbEUm/DHjkecKPg18az2uPQ==","signatures":[{"sig":"MEYCIQDuO73Efor+3OHeiNaHccqE734XuYzfq/qNS6Cz2iPlJgIhAOXGu+DJ7rRzQEjewa8AdBmgSG1Z+2lFBisOcCfWww1D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":540732},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"f2f2d0529c7d059cda3d63c20051b322e954a8de","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.1_1786122920196_0.23364761391050437","host":"s3://npm-registry-packages-npm-production"}},"1.12.2":{"name":"yaml-security-lib","version":"1.12.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"51852e3bfbee49340129554a4659bfd79eea8e1b","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.2.tgz","fileCount":11,"integrity":"sha512-aPrn+f6T/cqgA1pg19jUEKaC37F4Zd99lotPtGHZtmjSbklJo526/5G2C/0seKiq8OZ7wKH8JGWIlqVIwxrudg==","signatures":[{"sig":"MEQCICbByj15faPqI3PBdtORKFPmwoiUF+v9pEzxrf6hJQKYAiAk/KRoONnDuKy6rHk2WnsVtU7hLFRSBUWt1+VOKTjZlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":542288},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"7d01737e776288cdc7de2869303c9f59ddda1348","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.2_1786126887197_0.9533490103970179","host":"s3://npm-registry-packages-npm-production"}},"1.12.3":{"name":"yaml-security-lib","version":"1.12.3","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.3","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"2a250c3a5f364629bdc303d896e1724c399335b0","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.3.tgz","fileCount":11,"integrity":"sha512-gKNd3ZU2mfyQaXgEZfnsC9uobtDRZ1tIdHpuuDR9V0cBkPbWRrRFMb9goQlLA3Yt1hCQaQS9H9BOc74ESKeRWA==","signatures":[{"sig":"MEYCIQDNXpQrO2DNhVxOLm3R4Ev9Qen+fgsaUWweO7DswG9PnQIhAILaEIHfiLl4R9EjlQekeuoVEckiKUzaLuBxnbGBMitl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":544126},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"16acdf835f9c4e6febcc4187ee5502b3704722e5","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.3_1786130452245_0.09134228724129922","host":"s3://npm-registry-packages-npm-production"}},"1.12.4":{"name":"yaml-security-lib","version":"1.12.4","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.4","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"61503091506c126f4e9acd96d5ec7724bc719132","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.4.tgz","fileCount":11,"integrity":"sha512-mTOFUwKiikOLqrgPHdGX4GoAn1WaPD2t1zcnSO+nB7UljVHbq19o4TFWU5PZAfa9wgk8PoKL1ZzD11lfRyAcBQ==","signatures":[{"sig":"MEQCIDs+I9CR2MgBPiE/Wi0r8Lp61d2qirCb9opP7GBFrPnHAiBb9HkrKXvDCrmeJWVWjMfHVsznRjLYb84n9q1KLW3qdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":551268},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"940a3b5709f54e39469adbccc694979e8275eb2b","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.4_1786138817432_0.6974897524101022","host":"s3://npm-registry-packages-npm-production"}},"1.12.5":{"name":"yaml-security-lib","version":"1.12.5","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.5","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"6fb452d5b0a4715c9b7371db65e8ef24aa426217","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.5.tgz","fileCount":11,"integrity":"sha512-Q9MP1CYwJUxpE0C+Tu9+jMb3qpl17FZwD8iUm6AtJL1WsxKn4oXqQUHrtCEJiO0IiBftpbZMgFTA8YLbdJ7UKg==","signatures":[{"sig":"MEYCIQDkUfaSEALVGVII2Xl57n61GAjLXBJuwcFFnXuypBdUtAIhAN+lgOc7k45GaXh9qvLoSORY2/hAj6tAY2OKTbQ5lFPR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":552798},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"a976e2496125862d5954d1cc4e0f470be798f27f","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.5_1786142972973_0.7073457209681719","host":"s3://npm-registry-packages-npm-production"}},"1.12.6":{"name":"yaml-security-lib","version":"1.12.6","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.12.6","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"92b4e85c753a7a9a17c59c2c505c10c3cfa3f6f9","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.12.6.tgz","fileCount":11,"integrity":"sha512-GgA2EvNqX7o7mYgUBVlJta6R0/01Zq+S5+KxxaNW6lUEd6O3HNe0IUQUl4NQgvGIGTsWDuB0gEAbcQYR/Hr0hA==","signatures":[{"sig":"MEYCIQDjezyUG3fPdA3dRNbEqA80Gg6/ynPQ2PElhB4OQJDo6gIhAMlgZiaJeVs4vsm2UF7qhwobw+2b7cbf6PK+aHuyTVmS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":557545},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"21d7e854d67b7465648192ec702ea84eb96d48d5","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.12.6_1786312233387_0.6352565546073337","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"yaml-security-lib","version":"1.13.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.13.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"b196d5f7b98778085ab31741fad109dd6152dc86","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.13.0.tgz","fileCount":11,"integrity":"sha512-tJFyJqiM1g+qJiyLW9+uRF1GVs6mN7AUYkSwqjjRVA+3iwpir+OWIiMSQhNQ+qZ64DsZ3SFd/BX7MgPp3MySyA==","signatures":[{"sig":"MEQCIDj1Y6Qu1A+dpL/Arzn0Gu3pJ/6z9+1Rjm5jyENSV4ksAiAum9SZJGr/xRco1GfUI/eQI7jJpy9Ox3UgwUH3uIxkIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560767},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"1fa2482f805512fcf92a11966d11f76934056ff0","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"deprecated":"dist missing strict preset, use >=1.13.1","repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.13.0_1786315961033_0.05838990274214395","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"yaml-security-lib","version":"1.13.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.13.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"ebff43a4c6db4c31c83cc3c6441109d7820a39dc","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.13.1.tgz","fileCount":11,"integrity":"sha512-fq1nmoQ8uBe0LWk3AqZ21LxH+rle7+g2Tr5JHtDvNgFCSSo2IszC9hNieYYaSxbJ/V6xUUwJX3qFdGSrGjDh9g==","signatures":[{"sig":"MEUCIHtwu7sm8DdVM0fBjhQ73emTGHJOPphB8BBIiXqGck9JAiEAiBrKfFbd+DSmb+W7XT4WMDv7dlee3njN//kwHIR+rzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":565988},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"a1074de500ff041193dde54b819b391ff54cf703","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.13.1_1786318372276_0.4129705098369876","host":"s3://npm-registry-packages-npm-production"}},"1.13.2":{"name":"yaml-security-lib","version":"1.13.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.13.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"8e2fe4ed5310b2ba2dc33661d207d629d2e44712","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.13.2.tgz","fileCount":11,"integrity":"sha512-zbtSOR5xR7LSgtXrA1O+CI4JGt6hbM9LDbwsZG3YAKfbX6GAkbreTl6R8coIQQFo5k4Tp1lzrsf+vIRpS3yCOg==","signatures":[{"sig":"MEYCIQCW74B9LV0mu49rTMQ4WayhKwK2Y6M5M3A7dI2lTV1BiwIhAOcjol+TEYDwF+BHMv7AQ3EhNc6qAbmQ4hDZytO+5Mtq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567889},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./package.json":"./package.json"},"gitHead":"d57639e895aa1d52e99aeeada5a813614145cbab","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.13.2_1786319761966_0.7541627276077363","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"yaml-security-lib","version":"1.14.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.14.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"ff3b4a9043d18f015887b535b8bb95e22c7b95ea","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.14.0.tgz","fileCount":17,"integrity":"sha512-1Pvvvki6W7hcCmveUuXfNyFE+cMsvluWGKHraagvJcdsDH09mBdLUL4Y5Q2Uxr5IqbJe2dA8GCI7JpSGPo744w==","signatures":[{"sig":"MEUCIDvxyC13nCZNTBwP+BZ4agtBZ9AkPv0S/RccleahdVmGAiEApG1SdnFALvq5cVmPwjH3CMc0soCU03y4UlyIR05YOj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":931624},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"import":"./src/index.min.js","require":"./index.cjs"},"./core":{"import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"a7e3480b8548c7b9a077c911cedc65f3b08f2ed8","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.14.0_1786321872199_0.2282834060588146","host":"s3://npm-registry-packages-npm-production"}},"1.14.1":{"name":"yaml-security-lib","version":"1.14.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.14.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"d874a151a925e8341f7898e7ba60ffa2518f7012","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.14.1.tgz","fileCount":20,"integrity":"sha512-MdTQ4hztgBvP3i7uJghwN0oS7Hgd6zakMbB2lychZ6e+8s+SSvrHbGpDiQSAeoe38qPKu5m/v+hWbcHl5rH45A==","signatures":[{"sig":"MEQCIDLpRO1gQ7AUNRNGKlwOcXFNeETEM6NyzaPAS3GPIKR5AiAApc8E5l/m0ELHLqMMEHzNXweOIh1P15AIZH83WG2kMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":932927},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"35ffb8e1c92740eebab2a113809d5be945afb548","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.14.1_1786323074467_0.9796724656904388","host":"s3://npm-registry-packages-npm-production"}},"1.14.2":{"name":"yaml-security-lib","version":"1.14.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.14.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"5c1c5424c4345a8c1bf2ea72c84ec611af61b819","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.14.2.tgz","fileCount":20,"integrity":"sha512-YC2yjki/bfs71priXQOhlQEDG2pWcKdn3L9zAmTnhorVuZrdSZhCr8rRN72MrUCGuc9lYhnvtzMUdOJ1sB1WWQ==","signatures":[{"sig":"MEUCIFYTvQ1MSwKg/BMVbgJoLJrEKS0P211fTOciOte2At6rAiEAtIod4mXRokTAebP0kia6Z/1AxPPLDL4SoYKf7ilnoW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":934698},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"7a88084206dd0c4303df05dbab3c34685f3e10cf","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --emitDeclarationOnly","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.14.2_1786324304027_0.19458462692201617","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"yaml-security-lib","version":"1.15.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.15.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"bf5987b77bf262c8f4ed092cb572bc926d33707d","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.15.0.tgz","fileCount":26,"integrity":"sha512-wERkOQC166itnGEhNtLKm1DJM2gDJBqon5iQyQPibW1G7mV3xefk+xq60UWJiVS/GU1QbOrhETXvz5/DjAWDjA==","signatures":[{"sig":"MEQCIFESI6kxS1LVVnwrzlwELOfDiAd3yunZPEcbrJV6U+bUAiBHZ1Yvau6/5sYOVJVGpI2YBizAqISsA/yHgqWQJ+o0sQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1297089},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"d5e963e09ed7d9e161c7a1191d60a30f111d5745","scripts":{"lint":"node bin/yaml-lint.js examples/basic.js","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.15.0_1786327431827_0.6376331861430058","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"yaml-security-lib","version":"1.16.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.16.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"b936703200dfa189a9f62ec11edfa118517a3534","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.16.0.tgz","fileCount":26,"integrity":"sha512-V8TZk5JtKWglQ+wXoaX/jRmxj/zvtp4nSHCj/ZDYhQVWV4Adlh2lcAsXT3SnuZvpjj8YGFJ4DfncxdlqKS6JzA==","signatures":[{"sig":"MEUCIGl0Q4JwhS4fmY8G4DLSrpoNDz4LyoEzxB0MV5BIaiS7AiEAvSOPWTGpPVdtYRfLJHGW1pKHeM4GyHCAVUzzqV/i3yA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1308398},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"3f751409b268030ce444b4a9570b827014c9b585","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.16.0_1786329841923_0.8756690235487568","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"yaml-security-lib","version":"1.17.0","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.0","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"40124a8ab5d92743a9aef0eedff648a66ef66838","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.0.tgz","fileCount":26,"integrity":"sha512-im2Jhs8KC84g60uillyo2YBymw9cnBfUplvLqguuQP+YLAoOMLQHQoW9l9LjdzYM71UTX+qcXDFOOyX87b7FPQ==","signatures":[{"sig":"MEUCIQCfcoRDHRCYkgfxG9YkO44rokdsnOrMz0gRbK0Afgl7ygIgSi4d0b799z2K/q7ZIWj4ucCj/AyokdC+eCFCWaVPK/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1313126},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"e20584e113534bbdb32f084e595086dcfb95ef79","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.0_1786334421990_0.04847869621459222","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"yaml-security-lib","version":"1.17.1","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.1","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"f3cc960c7465ade54448f70171a4f4a92e924356","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.1.tgz","fileCount":29,"integrity":"sha512-8wzbr3qiIFZ1EmNAt98aFGdQuN+ZajKNKRE0MMkclXA5a+FdghC3eZwfiup57MH2T+bVqIf5m2f4qWdKg1i1Aw==","signatures":[{"sig":"MEQCICP+nuqW6N2QyIbpAl5nHvPLlMHwiuWCTpaCUY4KzSesAiAym+q6xajpzZqXzAaJE6YmQD+Yhq7Bvi+pMEN0fxmskA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595048},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"01a4ebcda294d07519367df58ae65a853a737f2d","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.1_1786337879610_0.9364774210207087","host":"s3://npm-registry-packages-npm-production"}},"1.17.2":{"name":"yaml-security-lib","version":"1.17.2","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.2","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"5840d84b6cbebe8b44d7c2564ece2b39d7495780","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.2.tgz","fileCount":29,"integrity":"sha512-MnGJyA+hhxxeYMJkIB3yU0zE7d5qw2Ji68v23rZ54Hab7ys46a0klXieeB/WJ3x1kOevHGqIxkJTBa/C6AYa8g==","signatures":[{"sig":"MEYCIQC6XaIp5I1J3SwBdy5BsXsBlUas5xGsE6AfmYQuXRZuVQIhAIHoEyQFOnXN+/diQGe5RABfQ+u0MTLG4y1msDEhat8b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595106},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"3a78044edd42675af41cb5a6ed3f8d767cb53323","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.2_1786339049935_0.4550962454834735","host":"s3://npm-registry-packages-npm-production"}},"1.17.3":{"name":"yaml-security-lib","version":"1.17.3","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.3","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"cfba4a7cd1b4dae40aecdaf77acd1f47da4c43ff","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.3.tgz","fileCount":29,"integrity":"sha512-tWa1MIEFzm7/CIQL7YWOmEN44XZj4qERtPL4juyDdJ8wzE+CKvroeZK4SuqVRERngm7mwL0j4YYJghdrDv9JhQ==","signatures":[{"sig":"MEQCIAbhRpMHtaWO/KjHmvxAyBBEgB97Xv2mqIWBwOwu7+txAiBJ1Bge3OLdc+c3vX3fPWgerDl01/x/HgJRysGTecxPqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595126},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"f3c70096a63d7b32a36f3ad2985ae2c06b5a68db","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.3_1786395788429_0.10676638216910184","host":"s3://npm-registry-packages-npm-production"}},"1.17.4":{"name":"yaml-security-lib","version":"1.17.4","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.4","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"2f4516cf1cc231f35b62fed6cf677e013b8b5899","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.4.tgz","fileCount":29,"integrity":"sha512-s3fc2w4GnEzZsl4uuoJ3GCFy7tyw50YCzIrj+3BJ4VlOi4/M3h5A43bzUpzSWjOWy1Ab3xTS4mgEc18UmIXZog==","signatures":[{"sig":"MEQCIBel1GByErqmUAhlIN/l4zh7vwxGfYS7630yn3yCUECwAiB8ffi57pRFo4KrqvVhmsMb2pGHvdlvxfffdwXzocyLZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595256},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"e54645b4f0d93ac2b26602a2d17604a23b43a595","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.4_1786405871748_0.09289176158568235","host":"s3://npm-registry-packages-npm-production"}},"1.17.5":{"name":"yaml-security-lib","version":"1.17.5","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.5","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"639df6366b8c5da8651f75d6ddfd1c7845ddfb1a","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.5.tgz","fileCount":29,"integrity":"sha512-UCapedvluddfh7p2t8AZM5D+w7l0Blb5gmSmgtTIjOu4iRir38QU1/Eh1oQIa4AYg1/HFc1PV1oyHJ29W2W2Og==","signatures":[{"sig":"MEYCIQDe2SuiJc//iCeOE9UwEznUAJBjj/xOoIzeIQxLUVuGVQIhALf/8yOJDZet+N3WrNTFayDAZ5LCwAAmf+JAeJSfjTTI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1595463},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"c88f995cd27f35c2acba08c518bac2c90471609a","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm","example:pipeline":"node examples/pipeline.mjs"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.5_1786651120883_0.6485327180875848","host":"s3://npm-registry-packages-npm-production"}},"1.17.6":{"name":"yaml-security-lib","version":"1.17.6","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.6","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"80037d42758cf0fd13477875c2ab2c8879c94340","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.6.tgz","fileCount":29,"integrity":"sha512-5XwYzdaiv7u7wcsVY80OVBZjv+fZj0uCtsl/Y1uo7gsiav3//RthZFJlyGd4da9jEDAgPB2spsvyddvLYtM5Sg==","signatures":[{"sig":"MEQCIB9jga41UgEXNx6Q1Br+zTz931qS0Wi6v+aoqh8ecII/AiAzaAEz3SP7kmlO4gLaClb/b4rrYf3WPgAIOGP1bvWa8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1698251},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"9e1518be4117f1bb68b7bdcacf50d5f58f587997","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm","example:pipeline":"node examples/pipeline.mjs"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.6_1786662725937_0.4016728911465701","host":"s3://npm-registry-packages-npm-production"}},"1.17.7":{"name":"yaml-security-lib","version":"1.17.7","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","_id":"yaml-security-lib@1.17.7","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"bin":{"yaml-lint":"bin/yaml-lint.js"},"dist":{"shasum":"9cd137fe7745c010aae9f568e3ce253f1f1880fa","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.7.tgz","fileCount":29,"integrity":"sha512-IHS8eFv30Qv4xetgaPrXcIft2QgswCsm7akeScX3SrqZpPaczabwHWQ5TkSQ8HrLnyiQl0rO5DFF5k5vezO8NA==","signatures":[{"sig":"MEUCIQDSPt1qhvPDg1zctu6YWuNW99LSaochinMex8PcxSRT1AIgDmDOc4a6UcTW5yaH2M+8WGkmoZ7wPIxipGgHOQjZSLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1717754},"main":"index.cjs","type":"module","types":"src/index.d.ts","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./package.json":"./package.json"},"gitHead":"c4cb2ab76fa7f1a07320208d3f3a8916d8502b07","scripts":{"lint":"node bin/yaml-lint.js examples/basic.yaml","test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm","example:pipeline":"node examples/pipeline.mjs"},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"overrides":{"serialize-javascript":"6.0.2"},"repository":{"url":"git+https://github.com/dlta17/yaml-security-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","directories":{},"sideEffects":false,"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","rollup":"^4.62.3","js-yaml":"^5.2.3","typescript":"^5.6.2","@rollup/plugin-terser":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/yaml-security-lib_1.17.7_1786674304191_0.14491557764399232","host":"s3://npm-registry-packages-npm-production"}},"1.17.8":{"name":"yaml-security-lib","version":"1.17.8","description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","main":"index.cjs","types":"src/index.d.ts","type":"module","bin":{"yaml-lint":"bin/yaml-lint.js"},"exports":{".":{"types":"./src/index.d.ts","import":"./src/index.min.js","require":"./index.cjs"},"./core":{"types":"./src/core.d.ts","import":"./src/core.min.js","require":"./src/core.cjs"},"./validate":{"types":"./src/validate.d.ts","import":"./src/validate.min.js","require":"./src/validate.cjs"},"./lint":{"types":"./src/lint.d.ts","import":"./src/lint.min.js","require":"./src/lint.cjs"},"./package.json":"./package.json"},"sideEffects":false,"scripts":{"test":"node test/index.js && node test/fuzz.js && node test/stream.js && node test/stream-fuzz.js && node test/yaml-test-suite.js && node test/tree-suite.js && node test/validate.js && node test/lint.js && node test/entries.js && node test/cli.js","lint":"node bin/yaml-lint.js examples/basic.yaml","prepack":"npm run build:cjs && npm run build:esm && npm run build:browser","example":"node examples/basic.js","example:pipeline":"node examples/pipeline.mjs","bench":"node bench/benchmark.js","build":"npm run build:cjs && npm run build:esm && npm run build:browser","build:cjs":"rollup -c --environment FORMAT:cjs","build:esm":"rollup -c --environment FORMAT:esm","build:types":"tsc --noEmit -p tsconfig.json --allowJs false","build:browser":"mkdir -p dist && rollup -c --environment FORMAT:browser-iife && rollup -c --environment FORMAT:browser-esm"},"keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"license":"AGPL-3.0-only","author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/dlta17/yaml-security-lib.git"},"homepage":"https://github.com/dlta17/yaml-security-lib#readme","bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"engines":{"node":">=16.0.0"},"overrides":{"serialize-javascript":"6.0.2"},"devDependencies":{"@rollup/plugin-terser":"^1.0.0","js-yaml":"^5.2.3","rollup":"^4.62.3","typescript":"^5.6.2","yaml":"^2.9.0"},"gitHead":"e02a2a1238a9104a7f95b6c1c5bd1732659702f2","_id":"yaml-security-lib@1.17.8","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-AaNoav1kt9K6iiJ2kDyxMSAEujbTopZDlf/XJ7r0AEUtLXRFXSjha+tJVxH02a6VxU9yTi9zILFm6FoSgadUUg==","shasum":"5aea29707542a62fa6b932147faa70f3fa54a1c6","tarball":"https://registry.npmjs.org/yaml-security-lib/-/yaml-security-lib-1.17.8.tgz","fileCount":29,"unpackedSize":1718337,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDd+runBQ4r/S6hNBCgwkDBvp19m1lj17C6pL6TfpY7GwIhAIFC7g3D0jMqHzkhLy8mkp05jkMp5eSz756jpe1wsyV0"}]},"_npmUser":{"name":"dlta17","email":"salamanedal@gmail.com"},"directories":{},"maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/yaml-security-lib_1.17.8_1786682086914_0.0012982125467755345"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-28T22:15:03.108Z","modified":"2026-08-14T04:34:47.216Z","1.0.0":"2026-07-28T22:15:03.309Z","1.0.1":"2026-07-29T16:17:04.071Z","1.1.0":"2026-07-29T17:02:28.195Z","1.2.0":"2026-07-29T17:42:05.156Z","1.2.1":"2026-07-29T18:08:26.931Z","1.2.2":"2026-07-29T18:35:40.264Z","1.2.3":"2026-07-29T18:43:07.076Z","1.2.4":"2026-07-29T19:07:25.790Z","1.2.5":"2026-07-29T20:45:40.444Z","1.3.0":"2026-07-30T16:22:39.111Z","1.4.0":"2026-07-30T17:03:46.036Z","1.4.1":"2026-07-30T17:37:05.798Z","1.4.2":"2026-07-30T17:41:20.795Z","1.5.0":"2026-07-30T18:00:47.663Z","1.5.1":"2026-07-30T18:41:50.426Z","1.6.0":"2026-07-30T20:04:35.776Z","1.7.0":"2026-07-30T20:59:25.105Z","1.7.1":"2026-07-30T22:30:23.063Z","1.7.2":"2026-07-31T00:53:47.977Z","1.7.3":"2026-07-31T01:24:20.434Z","1.7.4":"2026-07-31T01:39:55.012Z","1.7.5":"2026-07-31T01:53:46.566Z","1.7.6":"2026-08-02T19:46:38.545Z","1.8.0":"2026-08-02T22:21:52.501Z","1.8.1":"2026-08-03T00:02:10.198Z","1.9.0":"2026-08-05T15:16:41.251Z","1.10.0":"2026-08-05T15:18:15.260Z","1.10.1":"2026-08-06T01:36:21.943Z","1.10.2":"2026-08-06T01:56:14.626Z","1.10.3":"2026-08-06T02:12:38.278Z","1.10.4":"2026-08-06T02:29:57.882Z","1.10.5":"2026-08-06T02:56:48.777Z","1.11.0":"2026-08-06T04:03:23.405Z","1.12.0":"2026-08-07T02:05:53.631Z","1.12.1":"2026-08-07T17:15:20.355Z","1.12.2":"2026-08-07T18:21:27.359Z","1.12.3":"2026-08-07T19:20:52.437Z","1.12.4":"2026-08-07T21:40:17.703Z","1.12.5":"2026-08-07T22:49:33.120Z","1.12.6":"2026-08-09T21:50:33.545Z","1.13.0":"2026-08-09T22:52:41.184Z","1.13.1":"2026-08-09T23:32:52.432Z","1.13.2":"2026-08-09T23:56:02.116Z","1.14.0":"2026-08-10T00:31:12.372Z","1.14.1":"2026-08-10T00:51:14.698Z","1.14.2":"2026-08-10T01:11:44.259Z","1.15.0":"2026-08-10T02:03:51.978Z","1.16.0":"2026-08-10T02:44:02.076Z","1.17.0":"2026-08-10T04:00:22.137Z","1.17.1":"2026-08-10T04:57:59.754Z","1.17.2":"2026-08-10T05:17:30.087Z","1.17.3":"2026-08-10T21:03:08.586Z","1.17.4":"2026-08-10T23:51:11.922Z","1.17.5":"2026-08-13T19:58:41.045Z","1.17.6":"2026-08-13T23:12:06.117Z","1.17.7":"2026-08-14T02:25:04.354Z","1.17.8":"2026-08-14T04:34:47.059Z"},"bugs":{"url":"https://github.com/dlta17/yaml-security-lib/issues"},"author":{"name":"Nedal Ibrahim","email":"salamanedal@gmail.com"},"license":"AGPL-3.0-only","homepage":"https://github.com/dlta17/yaml-security-lib#readme","keywords":["yaml","security","duplicate-keys","alias-depth","prototype-pollution","yaml-parse","safe-yaml","linter","yaml-lint"],"repository":{"type":"git","url":"git+https://github.com/dlta17/yaml-security-lib.git"},"description":"Secure YAML parser — duplicate key detection, alias depth limiting, prototype pollution prevention","maintainers":[{"name":"dlta17","email":"salamanedal@gmail.com"}],"readme":"# YAML Security Lib\n\n[![npm version](https://img.shields.io/npm/v/yaml-security-lib)](https://www.npmjs.com/package/yaml-security-lib)\n[![CI](https://github.com/dlta17/yaml-security-lib/actions/workflows/ci.yml/badge.svg)](https://github.com/dlta17/yaml-security-lib/actions)\n[![Downloads](https://img.shields.io/npm/dw/yaml-security-lib)](https://www.npmjs.com/package/yaml-security-lib)\n[![Bundle Size](https://img.shields.io/bundlephobia/min/yaml-security-lib)](https://bundlephobia.com/package/yaml-security-lib)\n[![TypeScript](https://img.shields.io/badge/TypeScript-ready-blue)](https://www.npmjs.com/package/yaml-security-lib)\n[![Snyk Advisor](https://img.shields.io/badge/Snyk%20Advisor-Recommended-brightgreen)](https://snyk.io/advisor/npm-package/yaml-security-lib)\n[![Snyk Security Score](https://snyk.io/test/github/dlta17/yaml-security-lib/badge.svg)](https://snyk.io/test/github/dlta17/yaml-security-lib)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21684897.svg)](https://doi.org/10.5281/zenodo.21684897)\n[![ORCID](https://img.shields.io/badge/ORCID-0009--0008--4915--4787-a6ce39)](https://orcid.org/0009-0008-4915-4787)\n\n**Secure YAML parser for JavaScript.** Protects against:\n- **Duplicate keys** — Privilege escalation (K8s, GitLab, Ansible)\n- **Anchor bombs** — Alias depth + circular alias tracking (prevents OOM/exhaustion)\n- **Prototype pollution** — `__proto__` / `constructor` / `prototype` blocked\n- **Billion Laughs** — Expansion limit detection\n- **Runaway strings/keys** — `maxStringLength` / `maxKeys` limits (opt-in)\n- **CPU-exhaustion via quadratic parsing** — flow collections (multi-line gathering and single-line item slicing) are linear-time in both the batch and streaming engines, so deep `a: [\\n  x,\\n …` inputs and huge single-line `[1,2,3,…]` sequences can't stall the parser\n\nZero dependencies. Works in Node.js ≥16 (CI-tested on 16, 18, 20, 22 and 24) and all modern browsers.\n\n> **New here?** Start with the [Usage Guide](docs/USAGE.md) — practical recipes,\n> limit reference, troubleshooting, and FAQ.\n>\n> **For contributors / maintainers:** see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for a\n> deep dive into the two parsing engines (batch + streaming), the security model, and a\n> code map of the single-file core (`src/index.js`).\n\n## Why yaml-security-lib?\n\nChecks were verified on the current generators (Node 24, 2026-08) — `js-yaml@4` and `eemeli/yaml`. \"Own key\" means the parser stores the key as a plain data key on a null-prototype object, so it does not mutate `Object.prototype`.\n\n| Capability | yaml-security-lib | js-yaml v4 | eemeli `yaml` |\n|------------|:---:|:---:|:---:|\n| Duplicate key detection | ✔ in every path (streams, quoted keys, merges) | ✔ default `load()` | ✔ `parse()` errors |\n| Prototype-pollution keys (`__proto__` / `constructor` / `prototype`) | ✔ **rejected** | own key (no pollution) | own key (no pollution) |\n| Alias depth / expansion caps (`maxAliasDepth`, `maxExpansion`, strict preset) | ✔ **default on** | ✖ | partial (`maxAliasCount`) |\n| Alias graph bomb (384 B input → ~780 k aliased nodes) | ✔ rejected in ~10 ms | parsed (shared refs) | rejected in ~40 ms |\n| Node-count / input-size guards (`maxNodes`, `maxInputBytes`, `maxStringLength`, `maxKeys`) | ✔ **default on** | ✖ | ✖ |\n| Deep nesting | ✔ iterative (no stack overflow) | recursion (`RangeError` on deep docs) | recursion |\n| Wide mappings (10 k distinct keys) | ✔ capped — refuses past 10 k nodes | linear (~310 ms) | quadratic (~23 s) |\n| Never-throw safe API `{ ok, result }` / `{ ok, error }` | ✔ | ✖ throws | ✖ throws |\n| Streaming event API (`createStream` / `parseStream`) | ✔ | ✖ | ✖ |\n| Schema validation | ✔ `validateYaml` + `s.*` toolkit | ⚠ typed value schemas | ⚠ custom tags only |\n| Linter with security rules | ✔ 14 rules | ✖ | ✖ |\n| Zero runtime dependencies | ✔ | ✔ | ✔ |\n| Browser bundles + per-subpath TypeScript types | ✔ | ✖ | ⚠ |\n\nThe headline difference is **default-on resource guards and a never-throw API**: untrusted documents are bounded before they can exhaust memory or the call stack, and the parser answers `{ ok, error }` instead of throwing into your process.\n\n## Install\n\n```bash\nnpm install yaml-security-lib\n```\n\n## Usage\n\n```js\nimport { YamlSecurity } from 'yaml-security-lib'\n// or: const { YamlSecurity } = require('yaml-security-lib')\n\nconst parser = new YamlSecurity()\n\n// Parse safely — always returns { ok, result } or { ok, error }\nparser.parse(\"name: أحمد\\nage: 30\")\n// → { ok: true, result: { name: 'أحمد', age: 30 } }\n\n// Duplicate key → caught safely\nparser.parse(\"x: 1\\nx: 2\")\n// → { ok: false, error: 'YAML at line 2: Duplicate key: \"x\"' }\n\n// Anchor bomb → caught safely\nparser.parse(\"&a *a\")  // self-reference (circular alias)\n// → { ok: false, error: 'YAML: circular alias detected — \"a\"' }\n\nparser.parse(\"&a 1\\n&b *a\\n&c *b\\n&d *c\\n&e *d\\n&f *e\\n&g *f\\n&h *g\\n&i *h\\n&j *i\\n&k *j\\n&l *k\\nkey: *l\")  // 11-deep chain\n// → { ok: false, error: 'YAML: alias depth exceeds limit (10)' }\n```\n\n## Quick Start — which method should I use?\n\n```js\nimport { YamlSecurity, parse, validateYaml, lint } from 'yaml-security-lib'\n```\n\n| Method | When to use it | Throws? | Bomb protection? |\n|--------|----------------|---------|------------------|\n| `new YamlSecurity().parse()` | **Recommended for any untrusted input** — never throws | No — returns `{ ok, result }` or `{ ok, error }` | Yes |\n| `parse()` | Only when you're sure the YAML is valid, or you want `try/catch` yourself | Yes — throws `YAMLException` | Yes |\n| `validateYaml()` | Parse + a structured schema error report (`{ ok, value, errors }`) | No | Yes |\n| `lint()` | Inspect a string/file for style + security issues without needing the parsed value | No — returns `{ valid, issues }` | Yes (rules) |\n\nFor any input you didn't write yourself, use the `YamlSecurity` class: it never throws, always answers `{ ok, result }` or `{ ok, error }`, and enforces all the security limits by default.\n\n### Safe API (recommended)\n\n```js\nconst parser = new YamlSecurity()\n\nconst result = parser.parse(untrustedYaml)\n\nif (!result.ok) {\n  console.error('Rejected:', result.error)\n  // handle the rejection safely\n} else {\n  console.log(result.result)\n}\n```\n\n### Drop-in replacement for js-yaml\n\n```js\n// Before\nimport yaml from 'js-yaml'\nconst data = yaml.load(str)\n\n// After (safe)\nimport { YamlSecurity } from 'yaml-security-lib'\nconst parser = new YamlSecurity()\nconst { ok, result, error } = parser.parse(str)\nif (!ok) throw new Error(error)\nconst data = result\n```\n\n### Custom limits (optional)\n\n```js\nconst parser = new YamlSecurity({\n  maxNodes: 5000,       // default 10000\n  maxAliasDepth: 8,     // default 10\n  maxDepth: 40,         // default 50\n  maxExpansion: 50000,  // default 100000\n})\n```\n\nWant untrusted input locked down in one line? Pass `strict: true` instead — see [Strict profile](#strict-profile-strict-true).\n\n## Lean builds (subpath imports)\n\nThe umbrella package bundles every feature (parser + stream + validator + linter ≈ 114 KB min / 31 KB gzip). If you only need part of it, import a lean subpath instead — each one is a standalone bundle with exactly its own API:\n\n| Subpath | Exports | Size (min / gzip) |\n|---------|---------|-------------------|\n| `yaml-security-lib` | Everything (backward compatible default) | 114 KB / 31 KB |\n| `yaml-security-lib/core` | `YamlSecurity`, `parse`, `parseAll`, `dump`, `createStream`, `parseStream`, `validateYaml`, `setLimits`, `tree`, … — no schema builder, no linter | 102 KB / 28 KB |\n| `yaml-security-lib/validate` | `s.*`, `validate`, `createStreamValidator`, `fromJSONSchema`, `toJSONSchema` — pure schema toolkit, **no parser** | 16 KB / 4.7 KB |\n| `yaml-security-lib/lint` | `lint`, `LINT_RULES` | 58 KB / 17 KB |\n\n```js\n// Only parse/dump untrusted YAML → skip the validator + linter bundles.\nimport { YamlSecurity } from 'yaml-security-lib/core'\n\n// Only validate plain JS values against a spec → skip the parser entirely.\nimport { s, validate } from 'yaml-security-lib/validate'\n\n// Only lint → also skips the streaming engine.\nimport { lint } from 'yaml-security-lib/lint'\n```\n\n`YamlSecurity.parse()` and `validateYaml()` remain available from `core`; `validateYaml` combines parsing + validation, so it lives with the parser ([`YamlSecurity` docs](#new-yamlsecurityopts)). TypeScript declarations ship with every subpath (`core`/`validate`/`lint` each resolve their own `.d.ts`).\n\n## API\n\n### `new YamlSecurity(opts?)`\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `strict` | `false` | Start from the hardened strict profile instead of the current defaults. See \"Strict profile\" below |\n| `maxAliasDepth` | `10` | Max alias chain depth, measured as **graph depth at resolution time**: resolving `*x` walks the anchor-source chain back to its root and rejects when the hops exceed the limit. This catches chains threaded through collections (`&a [*b]`, `key: &a\\n  v: *b`, `&a {<<: *b}`), not just direct `&a *b` links |\n| `maxAlias` | `100` | Max total alias expansions |\n| `maxDepth` | `50` | Max nesting depth of block collections (mappings + sequences). Flow `[...]`/`{...}` don't count; `0` disables. See \"How `maxDepth` is counted\" below |\n| `maxNodes` | `10000` | Max parsed nodes before abort |\n| `maxExpansion` | `100000` | Max expansion factor (Billion Laughs) |\n| `maxStringLength` | `0` (unlimited) | Max string length in parsed output. Set to e.g. `10000` to prevent overly long strings. |\n| `maxKeys` | `0` (unlimited) | Max keys per mapping (block + inline). Set to e.g. `1000` to prevent mapping bombs. |\n| `maxInputBytes` | `1048576` (1MB) | Max input size in bytes (set via `maxInputMB` too) |\n| `maxInputMB` | `1` | Max input size in MiB (maps onto `maxInputBytes`) |\n\n> **Note on limits**: all limits use strict `>` semantics — a value equal to the limit is allowed, anything larger is blocked. E.g. `maxStringLength: 1000000` allows a 1,000,000-char string but blocks 1,000,001+. To block a specific size, set the limit one lower. Constructor options are validated with the same rules as `setLimits` (unknown keys are ignored, invalid values throw).\n\n#### How `maxDepth` is counted\n\nThe counter starts at `0` for the document's top-level block collection and increases by `1` for every *nested block collection* (block mapping or block sequence) you open. Flow collections (`[ ... ]`, `{ ... }`) are **not** counted, and `maxDepth: 0` disables the guard. Because the rule is strict `>` (depth equal to the limit is allowed), `maxDepth: 3` accepts `a.b.c.d` — three nested maps reach depth `3` — but rejects `a.b.c.d.e`, whose fourth nested map reaches depth `4 > 3`:\n\n```yaml\na:         # block mapping, depth 0\n  b:       # block mapping, depth 1\n    c:     # block mapping, depth 2\n      d: 1 # block mapping, depth 3 → allowed with maxDepth: 3\n```\n\n```yaml\na:            # depth 0\n  b:          # depth 1\n    c:        # depth 2\n      d:      # depth 3\n        e: 1  # depth 4 > 3 → blocked\n```\n\nSequences count too, and their items do **not** reset the counter — the block inside a sequence item is the sequence's depth `+ 1`:\n\n```yaml\na:        # depth 0\n  - b:    # sequence depth 1; the item map `b` is depth 2\n      c: 1 # block mapping, depth 3 → blocked with maxDepth: 2\n```\n\n### `parse(str)` → `{ ok, result } | { ok, error }`\n\nParses a YAML string. Always returns an object — never throws.\n\n### `parseAll(str)` → `{ ok, result } | { ok, error }`\n\nParses multi-document YAML (`---` or `...` separated). Returns an array.\n\n### `dump(obj, opts?)` → `{ ok, result } | { ok, error }`\n\nSerializes a JavaScript value to YAML. Options: `indent` (default `2`), `flowLevel` (default `6`).\n\n### `parseAll(str, opts?)` on instance\n\nWhen called on a `YamlSecurity` instance, `parseAll` accepts an optional second argument with per-call schema overrides:\n\n```js\nconst parser = new YamlSecurity()\nparser.parseAll('x: !upper hello\\n---\\ny: world', {\n  schema: mySchema,\n})\n// or with types array (extends instance schema):\nparser.parseAll('x: !upper hello', { types: [upperType] })\n```\n\n### `parseToJSON(str)` → `{ ok, result } | { ok, error }`\n\nParses YAML and returns pretty-printed JSON string.\n\n```js\nconst p = new YamlSecurity()\np.parseToJSON('name: أحمد\\nage: 30')\n// → { ok: true, result: '{\\n  \"name\": \"أحمد\",\\n  \"age\": 30\\n}' }\n```\n\n### `YamlSecurity.setLimits(opts)`\n\nGlobally adjust limits for all parsers (affects existing and new instances). Call with no arguments (or `{}`) to reset to defaults.\n\n```js\nimport { YamlSecurity } from 'yaml-security-lib'\n\n// Tighten limits globally\nYamlSecurity.setLimits({\n  maxNodes: 5000,\n  maxDepth: 20,\n  maxExpansion: 10000,\n  maxStringLength: 50000,\n  maxKeys: 500,\n  maxAliasDepth: 5,\n  maxInputMB: 0.5,\n})\n\nconst p = new YamlSecurity()\np.parse('x: ' + 'a'.repeat(60000))\n// → { ok: false, error: 'YAML: string length exceeds limit (50000)' }\n```\n\n### Strict profile (`strict: true`)\n\nEvery limit key above can be set individually, but for a one-line hardened setup pass `strict: true`. It swaps the defaults for a tighter preset profile (values in parentheses) while keeping the exact same semantics:\n\n| Limit | Standard default | Strict default |\n|-------|------------------|----------------|\n| `maxNodes` | `10000` | `5000` |\n| `maxAlias` | `100` | `20` |\n| `maxAliasDepth` | `10` | `5` |\n| `maxExpansion` | `100000` | `10000` |\n| `maxInputBytes` / `maxInputMB` | `1048576` / `1` | `1048576` / `1` |\n| `maxStringLength` | `0` (unlimited) | `1048576` (1MB) |\n| `maxKeys` | `0` (unlimited) | `10000` |\n| `maxDepth` | `50` | `30` |\n\n`strict` works everywhere limits are accepted — constructor, `setLimits`, `createStream`, `parseStream`:\n\n```js\nimport { YamlSecurity } from 'yaml-security-lib'\n\n// Per-instance hardened profile\nconst parser = new YamlSecurity({ strict: true })\n\n// Global hardened profile for all instances\nYamlSecurity.setLimits({ strict: true })\n\n// Streaming\nconst stream = createStream({ strict: true })\n```\n\nExplicit limit keys passed alongside `strict` override the profile value (`{ strict: true, maxStringLength: 0 }` re-enables unlimited strings). `setLimits({ strict: false })` resets the global profile back to the standard defaults. A strict instance ignores the current global base — it always starts from the strict profile — so a global `setLimits({ maxDepth: 1000 })` does not loosen an instance created with `{ strict: true }`.\n\n### `YamlSecurity.setSchema(schema)`\n\nSet a custom Schema on an instance (affects parsing only for that instance).\n\n```js\nimport { YamlSecurity, YamlType, Schema } from 'yaml-security-lib'\n\nconst schema = new Schema()\n  .addType(new YamlType('!upper', {\n    construct: (v) => String(v).toUpperCase(),\n  }))\n\nconst parser = new YamlSecurity()\nparser.setSchema(schema)\nparser.parse('x: !upper hello')\n// → { ok: true, result: { x: 'HELLO' } }\n```\n\n### `YAMLException`\n\nAll internal errors use the `YAMLException` class (extends `Error`). Available as an export for `instanceof` checks:\n\n```js\nimport { YAMLException } from 'yaml-security-lib'\ntry { /* ... */ } catch (e) {\n  if (e instanceof YAMLException) console.log('YAML error:', e.message)\n}\n```\n\n## Streaming API\n\nIn addition to `parse`/`parseAll`, the library provides a zero-dependency, SAX-style **streaming parser**. It feeds YAML in chunks, emits events, and **enforces every security limit while streaming** — so a malicious document is rejected before the whole input is consumed.\n\n### `createStream(opts?)` → `StreamParser`\n\nPush-based incremental parser.\n\n```js\nimport { createStream } from 'yaml-security-lib'\n\nconst stream = createStream({ maxNodes: 10000, maxDepth: 50 })\n\nstream.on('key',      ev => console.log('key  ', ev.value))\nstream.on('scalar',   ev => console.log('value', ev.value))\nstream.on('document', doc => console.log('doc  ', doc))   // convenience: full document\nstream.on('end', () => console.log('done'))\n\n// feed in chunks (works for single- and multi-doc streams)\nstream.write('a: 1\\n')\nstream.write('b: [2, 3]\\n')\nstream.end()\n```\n\n`StreamParser` is also **async-iterable**:\n\n```js\nconst stream = createStream()\nconst consumer = (async () => {\n  for await (const ev of stream) console.log(ev.type, ev.value)\n})()\nstream.write('a: 1\\n')\nstream.end()\nawait consumer\n```\n\nEvents: `documentStart`, `mappingStart`, `sequenceStart`, `key`, `scalar`, `mappingEnd`, `sequenceEnd`, `documentEnd`, `end` (plus `error`). Each `key`/`scalar` event carries `{ value, raw }`.\n\n### Streaming semantics\n\n- **Multi-line scalars fold**: plain, double-quoted, and single-quoted scalars that span lines fold line breaks to a single space (`a: \"line1\\n  line2\"` → `\"line1 line2\"`), matching reference parsers.\n- **Implicit timestamps are strings**: a plain `2023-01-15` resolves to the string `\"2023-01-15\"` (YAML 1.2 core behavior). Use an explicit `!!timestamp` tag to get a `Date`.\n- **Retroactive retraction**: for pathological `- - 2:` indentation the parser may emit a scalar and later retract it. The parser's `retractions` counter tells consumers when events cannot be replayed verbatim into the final tree.\n- **Merge keys (`<<`)** are resolved during buffering; the merge is applied after the mapped events are emitted, so a pure event-replay consumer should apply `<<` merges as post-processing.\n\n### `parseStream(input, opts?)` → `AsyncGenerator`\n\nYields each parsed document as it completes. Accepts a string or any (async) iterable of chunks.\n\n```js\nimport { parseStream } from 'yaml-security-lib'\n\nfor await (const doc of parseStream('a: 1\\n---\\nb: 2')) {\n  console.log(doc) // { a: 1 } then { b: 2 }\n}\n\n// streaming from an async source, document-by-document\nasync function* chunks() {\n  yield 'name: أحمد\\n'\n  yield '---\\n'\n  yield 'count: 3\\n'\n}\nfor await (const doc of parseStream(chunks())) { /* ... */ }\n```\n\n### Security in streaming mode\n\nAll limits (`maxNodes`, `maxDepth`, `maxKeys`, `maxExpansion`, `maxStringLength`, `maxAlias`, `maxAliasDepth`, `maxInputBytes`) are enforced **during** parsing. For example, `maxInputBytes` is checked on every `write()`, and `maxNodes`/`maxKeys` on every node/key seen. `maxDepth` is counted exactly as in the batch parser — see \"How `maxDepth` is counted\" above; both engines enforce the same limit on the same documents. Alias bombs are bounded by `maxExpansion`/`maxNodes` just like the batch parser: every `*alias` reference charges the full weight of the anchored subtree, so `createStream({ maxExpansion, maxNodes })` stops a bomb even when `maxAlias` is raised. Multi-line flow collections are gathered with an incremental balance tracker, so the stream parser stays linear-time on `a: [\\n  x,\\n …` inputs (no per-line re-scan of the accumulated flow).\n\n### Anchors: `buffered` vs `disable`\n\nAliases require remembering the anchored node, which conflicts with true constant-memory streaming:\n\n- `anchors: 'buffer'` (default) — anchors/aliases are supported; anchored values are buffered in memory until resolved.\n- `anchors: 'disable'` — any `&`/`*` is rejected immediately for **true zero-buffering** (fully constant-memory streaming for anchor-free documents).\n\n**Anchor rules** (batch and stream, consistent): anchors are **document-scoped** — an alias in one document that references an anchor from an earlier document is rejected (`unresolved alias`); each document starts a fresh anchor table. An alias with **no anchor at all** is an error (`YAML: unresolved alias \"*x\" — no anchor with that name`), never a literal string fallback. An anchor applied to an **alias node** (`&a *b`, e.g. a bare root, a sequence item `- &a *b`, or a mapping value `x: &a *b`) is rejected with `YAML: alias node should not have any properties`, matching js-yaml/eemeli; self-references (`&a *a`, `&a *b\\n&b *a`) fail with `YAML: circular alias detected`. Block anchor chains (`&a hello\\n&b *a\\n…`) are supported and bounded by `maxAliasDepth`, which measures the chain at **resolution time** — so chains hidden inside flow/block collections (`&a [*b]`, `key: &a\\n  v: *b`, merge keys `&a {<<: *b}`) are rejected at the same depth limit, not just direct `&a *b` links.\n\n### `YamlSecurity.createStream()` / `YamlSecurity.parseStream()`\n\nInstances expose the same streaming API, bound to the instance's schema and limits:\n\n```js\nconst ys = new YamlSecurity({ maxDepth: 20 })\nconst s = ys.createStream()\ns.on('document', doc => console.log(doc))\ns.write('a: 1\\n'); s.end()\n\nfor await (const doc of ys.parseStream('x: 1\\n---\\nx: 2')) { /* ... */ }\n```\n\nInstance streams inherit the instance's constructor limits (including a `strict` profile); options passed to `createStream`/`parseStream` override them per call.\n\n### Constructor vs `setLimits`\n\nConstructor options only affect that specific instance. `setLimits` affects all instances globally.\n\n```js\nconst strict = new YamlSecurity({ maxAliasDepth: 2 })\nstrict.parse(\"&a 1\\n&b *a\\n&c *b\\n&d *c\\nkey: *d\")\n// → { ok: false, error: '...alias depth exceeds limit (2)' }\n\nconst normal = new YamlSecurity()\nnormal.parse(\"&a 1\\n&b *a\\n&c *b\\n&d *c\\nkey: *d\")\n// → { ok: true, result: { key: 1 } }  ← unaffected by strict config\n```\n\n## Schema Validation\n\nValidate parsed YAML (or plain JS values) against a schema spec. Works standalone (`validate`, `validateYaml`) and **inside the streaming API** — the validator consumes the SAX events incrementally, so a bad document can be rejected before the rest of the input is consumed.\n\n### Fluent builder\n\n```js\nimport { s, validate, validateYaml } from 'yaml-security-lib'\n\nconst user = s.object({\n  name: s.string({ min: 1 }),\n  age: s.int({ min: 0 }),\n  tags: s.array(s.string()),\n  role: s.optional(s.enum(['admin', 'user'])),  // absent OK, present must match\n})\n\nvalidate({ name: 'ned', age: 30, tags: ['a'] }, user)\n// → { ok: true, errors: [] }\n\nvalidateYaml('name: ned\\nage: -5\\n', user)\n// → { ok: false, value: {...}, errors: [{ path: '$.age', message: 'must be >= 0', ... }] }\n```\n\nErrors carry a JSON-pointer-like `path` (`$.a.b[0]`), a `message`, and the offending `value`.\n\n| Builder | Description |\n|---------|-------------|\n| `s.string({ min, max, pattern, enum })` | String with length/pattern/choice constraints |\n| `s.int({ min, max, exclusiveMin, exclusiveMax, multipleOf })` | Integer |\n| `s.number()` / `s.float({...})` | Any finite number |\n| `s.bool()` / `s.null()` / `s.any()` / `s.never()` | Boolean / null / anything / nothing |\n| `s.timestamp()` | `Date` or ISO 8601 string |\n| `s.enum([...])` | One of the listed values (deep equality) |\n| `s.array(items, { minItems, maxItems, uniqueItems })` | Array of `items` |\n| `s.tuple([a, b])` | Fixed-length array, per-index types |\n| `s.object(shape, { required, allowExtra, additionalProperties, patternProperties, minProps, maxProps })` | Object with per-key specs |\n| `s.record(spec)` | Map of any string keys → `spec` |\n| `s.optional(spec)` / `s.nullable(spec)` | Present-optional / accepts `null` |\n| `s.oneOf([...])` / `s.anyOf([...])` / `s.allOf([...])` / `s.not(spec)` | Combinators |\n| `s.custom(fn)` | Custom validator: return `true`/`undefined` to pass, `false` or a string to fail |\n\nKeys in an `s.object(shape)` are **required by default**; wrap with `s.optional()` to relax. Unknown keys are **rejected by default**; set `allowExtra: true` or provide `additionalProperties`.\n\n**Pattern safety:** schemas accept `pattern` (`s.string({ pattern })`) and `patternProperties` keys as strings or RegExps. Because the input being tested is attacker-controlled, every pattern is scanned **before** use and patterns with catastrophic-backtracking structure — nested quantifiers (`(a+)+b`), nullable loops (`(a*)*`, `(a|)` inside a repeat), ambiguous alternation in a quantifier (`(a|aa)+`), adjacent unbounded repeats over overlapping first chars (`a+a+`) — are refused with `unsafe regex pattern — possible catastrophic backtracking`. Bounded quantifiers, disjoint alternations (`(a|b)`, `(ab|cd)`), and repeats separated by literal characters (e-mail shapes) are unaffected.\n\n### JSON Schema bridge\n\n`fromJSONSchema(js)` converts a JSON Schema (draft-07 subset: `type`, `enum`, `const`, `$ref` to local `#/$defs`, `pattern`, `min/maxLength`, `minimum/maximum`, `multipleOf`, `items`, `prefixItems`→tuple, `properties`, `required`, `additionalProperties`, `patternProperties`, `min/maxItems`, `min/maxProperties`, `uniqueItems`, `oneOf`/`anyOf`/`allOf`/`not`, boolean schemas) into a fluent spec. `toJSONSchema(spec)` converts back:\n\n```js\nimport { s, validate, fromJSONSchema } from 'yaml-security-lib'\n\nconst spec = s.fromJSONSchema({           // or fromJSONSchema(js)\n  type: 'object',\n  properties: { n: { type: 'integer', minimum: 1 } },\n  required: ['n'],\n  additionalProperties: false,\n})\n```\n\n### Validation in the streaming API\n\nPass `validate` to `createStream`/`parseStream`. Violations are emitted as `violation` events **incrementally** — as soon as the offending node completes:\n\n```js\nimport { createStream, s } from 'yaml-security-lib'\n\nconst spec = s.object({ age: s.int({ min: 0 }) })\nconst parser = createStream({ validate: spec, abortOnError: true })\n\nparser.on('violation', (v) => console.log(v.path, v.message)) // $.age must be >= 0\nparser.on('error', (e) => console.error('aborted:', e.error.message))\nparser.on('document', (doc) => { /* validated doc */ })\n\nparser.write('age: -5\\n')\nparser.end()\n```\n\n- `violation` event: `{ type: 'violation', path, message, value }`.\n- `abortOnError: true` throws on the **first** violation → the stream aborts with an `error` event before consuming the rest of the input.\n- `parseStream(input, { validate: spec })` yields `{ value, errors }` per document (`errors` is the authoritative per-doc list).\n- Structure-level checks (object/array/record/tuple/scalar/ranges) are exact and incremental. `oneOf`/`anyOf`/`allOf`/`not`/`custom` and deep `uniqueItems` are authoritatively resolved at document end from the buffered root (default mode); in `anchors: 'disable'` (zero-buffering) mode they are best-effort via kind-matched branches.\n- `createStreamValidator(spec)` is exported standalone for custom event-driven consumers.\n\n## Comparison vs Alternatives\n\n| Feature | yaml-security-lib | js-yaml | yaml (Eemeli) |\n|---------|:-:|:-:|:-:|\n| Zero dependencies | ✅ | ❌ (5 deps) | ❌ (10+ deps) |\n| Error-safe API (never throws) | ✅ | ❌ | ❌ |\n| Duplicate key detection | ✅ (blocked) | ✅ (warn) | ❌ |\n| Prototype pollution guard | ✅ | ❌ | ❌ |\n| Circular alias detection | ✅ | ❌ | ❌ |\n| Alias depth limit | ✅ | ❌ | ❌ |\n| Node/expansion limits | ✅ | ❌ | ❌ |\n| `maxStringLength` / `maxKeys` | ✅ | ❌ | ❌ |\n| Input size limit (1MB default) | ✅ | ❌ | ❌ |\n| YAML Test Suite score | **406/406** (100%) | ~95% | ~95% |\n| Browser bundle | ✅ (14KB gzip) | ✅ (17KB) | ✅ (26KB) |\n| Dual license (AGPL + Commercial) | ✅ | ❌ (MIT) | ❌ (MIT) |\n| Schema system | ✅ | ✅ | ✅ |\n| Multi-document support | ✅ | ✅ | ✅ |\n| **Streaming parser** (SAX events + async iterator) | ✅ | ❌ | ✅ |\n| Zero dependencies (fully self-owned) | ✅ | ❌ | ❌ |\n\n## YAML Test Suite\n\nyaml-security-lib passes **all 406** official [YAML Test Suite](https://github.com/yaml/yaml-test-suite) test cases (100%, 351 files) — including every SHOULD-FAIL security-relevant case — while enforcing its security protections (duplicate keys, alias bombs, prototype pollution, expansion limits). The [`tree()`](#-treeyamlstr-opts--string) event stream matches **262/262** conformance cases (the 82 SHOULD-FAIL cases throw as expected).\n\nPlain-scalar `:` handling matches **js-yaml** in both the batch and streaming parsers (the streaming fuzz oracle is js-yaml v5):\n\n- Flow collections require commas between entries: `{a: 1 b: 2}` and `[a: 1 b: 2]` throw `missed comma between flow collection entries`.\n- Block plain scalars reject `: ` key separators: `key: a: b` and `key: a\\n  b: c` throw `bad indentation of a mapping entry`, while attached colons stay literal (`key: a:b`, `key: http://x`, `key: 10:30:00`).\n- Continuation lines fold into the plain scalar in both parsers, whatever their leading indicator (`key: a\\n  - b` → `\"a - b\"`, `key: a\\n  \"b\"`, `key: a\\n  &x b`, `key: a\\n  ? b`, `key: a\\n  [1, 2]`, `key: a\\n  |\\n  text`, `key: a\\n  ...`). A column-0 `...`/`---` still ends/starts a document, and multi-document streams match `js-yaml`'s `loadAll`.\n- Compact quoted-key mappings are accepted PyYAML-style: `\"a\":b` → `{a: 'b'}` (js-yaml rejects the attached value with \"a whitespace character is expected after the key-value separator\"). The keys flow through the duplicate/prototype-pollution checks — `\"__proto__\":x` is blocked, `\"a\":b\\n\"a\":c` is a duplicate key, `- \"a\":b` and `x:\\n  \"a\":b` nest correctly.\n\n## Schema System\n\nBuilt-in YAML types (`!!str`, `!!int`, `!!float`, `!!bool`, `!!null`, `!!timestamp`, `!!binary`) are resolved automatically. You can extend or replace them with custom types.\n\n### `YamlType`\n\n```js\nimport { YamlType } from 'yaml-security-lib'\n\nconst upperType = new YamlType('!upper', {\n  kind: 'scalar',           // 'scalar' | 'mapping' | 'sequence'\n  construct: (v) => String(v).toUpperCase(),  // transform parsed value\n  resolve: () => false,     // implicit detection (true to auto-resolve)\n})\n```\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `kind` | `'scalar'` | Type kind (only `scalar` is used currently) |\n| `construct` | identity | Transforms the raw string into the result value |\n| `resolve` | `() => false` | Returns truthy if the value should be implicitly resolved by this type (checked in order of registration) |\n| `instance` | `undefined` | Reserved for future use (mapping/sequence instances) |\n\n### `Schema`\n\n```js\nimport { Schema } from 'yaml-security-lib'\n\nconst schema = new Schema()\n  .addType(upperType)\n  .addType(reverseType)\n\nschema.tagFor('hello') // → 'tag:yaml.org,2002:str'\n```\n\n- **`addType(type)`** — Registers a type. Returns the Schema (chainable).\n- **`removeType(tag)`** — Removes a type by tag. Returns `true` if found and removed.\n- **`hasType(tag)`** — Returns `true` if a type with that tag is registered.\n- **`tagFor(val)`** — Returns the YAML tag that would be used for a JS value.\n\n### Standalone `parse` / `parseAll` with options\n\n```js\nimport { parse, parseAll } from 'yaml-security-lib'\n\n// Custom schema\nparse('x: !upper hello', { schema: mySchema })\n\n// Extend default schema with custom types\nparse('x: !upper hello', { types: [upperType] })\n\nparseAll('---\\nx: !upper hello\\n---\\ny: 2', { schema: mySchema })\n```\n\n### `tree(yamlStr, opts?)` → `string`\n\nRenders a normalized YAML event stream (libyaml-style `+MAP` / `-MAP` / `+SEQ` / `-SEQ` / `=VAL` / `=ALI` events with resolved anchors, tags, and style prefixes) without constructing the object tree. Useful for debugging, canonicalization, and diffing YAML documents.\n\n```js\nimport { tree } from 'yaml-security-lib'\n\ntree('a: 1\\nb: [x, y]\\n')  // +STR +DOC +MAP =VAL :a =VAL :1 …\n```\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `schema` | `DEFAULT_SCHEMA` | Schema used to resolve tags |\n| `types` | `[]` | Extra custom types (like `parse`) |\n| `keepRaw` | `false` | Emit raw scalar text instead of normalized values |\n\nPasses **262/262** tree conformance cases from the official YAML Test Suite (the remaining 82 are the SHOULD-FAIL cases, which all throw as expected).\n\n### `parseTree(yamlStr, opts?)` → `Array<Node>`\n\nLike `tree()`, but returns a nested AST instead of a string — one node per document:\n\n```js\nimport { parseTree } from 'yaml-security-lib'\n\nconst [doc] = parseTree('a: 1\\nb: [x, y]\\n')\n// doc.type === 'document'\n// doc.node = { type: 'mapping', flow: false, items: [\n//   { key: { type: 'scalar', style: 'plain', value: 'a' }, value: { type: 'scalar', style: 'plain', value: '1' } },\n// ] }\n```\n\n| Node field | Description |\n|------------|-------------|\n| `type` | `'document'` / `'mapping'` / `'sequence'` / `'scalar'` / `'alias'` |\n| `items` | Children for `mapping` (array of `{ key, value }`) and `sequence` |\n| `flow` | `true` if the collection used flow style `{}` / `[]` |\n| `anchor` / `tag` | Anchor name / resolved tag (if any) |\n| `value` | Scalar content (or alias target name for `'alias'`) |\n| `style` | `'plain'` / `'single'` / `'double'` / `'literal'` / `'folded'` |\n\n### `renderTree(events)` → `string`\n\nRenders a flat event stream (the `{ t, k, s, a, g, c, n, e }` objects produced during parsing) into the libyaml-style `+STR`/`+DOC`/`+MAP`/`=VAL`/`-STR` text that `tree()` returns. Useful if you drive the parser yourself:\n\n```js\nimport { renderTree } from 'yaml-security-lib'\n\nrenderTree([{ t: 'doc' }, { t: 'c', k: 'map' }, { t: 'v', c: 'a', s: 1 }, { t: 'x', k: 'map' }, { t: 'docEnd' }])\n// +STR +DOC +MAP =VAL :a -MAP -DOC -STR\n```\n\n### `assembleAST(events)` → `Array<Node>`\n\nThe inverse of `renderTree`: builds the nested document AST (same node shape as `parseTree`) from a flat event stream. `parseTree` is exactly `assembleAST` applied to the events of an internal parse.\n\n### Utility helpers\n\n```js\nimport { getBaseConfig, unescapeYaml, byteLength } from 'yaml-security-lib'\n```\n\n- `getBaseConfig()` → copy of the current default limits: `{ maxNodes: 10000, maxAlias: 100, maxAliasDepth: 10, maxExpansion: 100000, maxInputMB: 1, maxInputBytes: 1048576, maxStringLength: 0, maxKeys: 0, maxDepth: 50 }` (reflects `setLimits`, including `setLimits({ strict: true })`, which reports the strict profile values).\n- `unescapeYaml(str)` → decode YAML double-quoted escapes (`\\n`, `\\t`, `\\xNN`, `\\uNNNN`, `\\UNNNNNNNN`, …) into a JS string. Throws `YAMLException` on an unknown escape.\n- `byteLength(str)` → UTF-8 byte length (works in Node and browsers via `Buffer` or `TextEncoder`).\n\n### `%TAG` directives\n\nCustom tag handles via `%TAG` directives are expanded and resolved against the active Schema:\n\n```js\nparse('%TAG !e! tag:example.com:\\n---\\nx: !e!upper hello', {\n  schema: tagSchema,  // schema with type for 'tag:example.com:upper'\n})\n```\n\n### DEFAULT_SCHEMA\n\nThe default schema automatically resolves:\n\n| Tag | Implicitly resolves |\n|-----|-------------------|\n| `!!str` | Any unmatched value |\n| `!!null` | `null`, `~` |\n| `!!bool` | `true`, `false` |\n| `!!int` | Decimal, hex (`0x`), octal (`0o`), binary (`0b`). Leading zeros (`0123`) are strings. |\n| `!!float` | Decimal numbers, scientific notation, `.inf` / `-.inf` / `.nan` |\n| `!!timestamp` | ISO 8601 dates (`2024-01-01`, `2024-01-01T12:00:00Z`) |\n| `!!binary` | Base64 (explicit only) |\n\n## Linter\n\n`lint(yaml, opts?)` validates a YAML string for **syntax errors**, **security\nconcerns**, and basic **style** issues. It never throws for YAML content;\nissues are returned with line/column positions and a severity.\n\n```js\nimport { lint } from 'yaml-security-lib';\n\nconst result = lint('a: 1\\nb: yes\\nb: 2\\n', {});\n// {\n//   valid: false,\n//   issues: [\n//     { rule: 'duplicate-key', severity: 'error',   line: 3, column: 2, ... },\n//     { rule: 'truthy-yes-no', severity: 'warning', line: 2, column: 3, ... }\n//   ],\n//   errors: 1,\n//   warnings: 1\n// }\n```\n\n`valid` is `true` only when there are **no error-severity** issues.\n\n### Rules\n\n| Rule | Severity | Detects |\n|------|----------|---------|\n| `syntax-error` | error | Unparseable YAML (incl. tabs for indentation) |\n| `duplicate-key` | error | Duplicate mapping keys |\n| `anchor-bomb` | error | Circular aliases / excessive alias expansion |\n| `prototype-pollution` | error | Keys like `__proto__` / `constructor` |\n| `unsafe-tag` | warning | Code-execution tags (`!!js/function`, `!!python/object`, …) |\n| `hidden-character` | warning | Invisible / bidi control characters (trojan-source risk) |\n| `merge-key` | warning | YAML merge key `<<` (can amplify alias expansion) |\n| `inconsistent-eol` | warning | Mixed LF/CRLF line endings |\n| `trailing-spaces` | warning | Trailing whitespace at end of line |\n| `line-length` | warning | Lines over `maxLineLength` (default 120) |\n| `missing-newline-at-eof` | warning | File does not end with `\\n` |\n| `space-after-colon` | warning | `key:value` instead of `key: value` |\n| `space-after-dash` | warning | `-item` instead of `- item` (numbers like `-5` skipped) |\n| `truthy-yes-no` | warning | Unquoted `yes`/`no`/`on`/`off` (YAML 1.2 strings) |\n\n### Options\n\n```js\nlint(yaml, {\n  maxLineLength: 100,              // line-length threshold\n  rules: ['syntax-error', 'duplicate-key'],       // enable only these rules (everything else off)\n  rules: { 'truthy-yes-no': 'off', 'line-length': 'off' },  // toggle per rule\n});\n```\n\nRule values accept `false`/`0`/`'off'` (disable), `true`/`'error'`, or\n`'warn'`/`'warning'`. Passing an unknown rule name throws a `TypeError`.\n\n### CLI\n\nA `yaml-lint` binary ships with the package:\n\n```bash\nyaml-lint config.yaml\nyaml-lint --json config.yaml          # machine-readable output\nyaml-lint --max-line-length 100 **/*.yaml\ncat config.yaml | yaml-lint           # stdin when no files are given\n```\n\nIssue output follows the classic `file:line:column` format, and the exit code\nis `1` when any error-severity issue is found, `2` on IO/usage errors.\n\n## Browser\n\nPre-built bundles available in `dist/`:\n\n```html\n<script src=\"https://unpkg.com/yaml-security-lib/dist/yaml-security.min.js\"></script>\n<script>\n  const p = new YamlSecurity.YamlSecurity()\n  console.log(p.parse('hello: world'))\n</script>\n```\n\nOr with ES modules:\n\n```html\n<script type=\"module\">\n  import { YamlSecurity } from 'https://unpkg.com/yaml-security-lib/dist/yaml-security.mjs'\n</script>\n```\n\n### Lean CDN bundles\n\nThe `core` / `validate` / `lint` lean bundles ship as browser builds too, so CDN users can load just what they need:\n\n| File | Global (script tag) | Exports |\n|------|--------------------|---------|\n| `dist/yaml-security.min.js` | `YamlSecurity` | Everything |\n| `dist/core.min.js` | `YamlSecurityCore` | A `YamlSecurity` + `parse`/`parseAll`/`dump`/`validateYaml`/`createStream`/… |\n| `dist/validate.min.js` | `YamlSecurityValidate` | `validate`, `s.*` schema toolkit |\n| `dist/lint.min.js` | `YamlSecurityLint` | `lint`, `LINT_RULES` |\n\n```html\n<script src=\"https://unpkg.com/yaml-security-lib/dist/core.min.js\"></script>\n<script>\n  const { YamlSecurity } = YamlSecurityCore\n  console.log(new YamlSecurity().parse('hello: world'))\n</script>\n```\n\nESM equivalents ship as `dist/core.mjs`, `dist/validate.mjs` and `dist/lint.mjs`.\n\n## Performance & resource bounds\n\nLike any parser that validates as it parses, this one is slower than the fastest bare parser but faster than the full `yaml` package, and it caps cost instead of accepting pathological inputs. Run `npm run bench` to regenerate these numbers (Node 24, 2026-08).\n\n**Throughput** — 2.3 KB Kubernetes-style config, median of 300 iterations:\n\n| Library | median ms/parse | vs fastest |\n|---------|----------------|------------|\n| `yaml-security-lib` `parse()` | 5.69 | 3.6× |\n| `js-yaml` `load()` | 1.58 | 1.0× |\n| `eemeli` `yaml.parse()` | 12.19 | 7.7× |\n\n**Alias graph bomb** — 384 B of input whose aliases expand to ~780 k nodes:\n\n| Library | result | time |\n|---------|--------|------|\n| `yaml-security-lib` | **rejected** (`nodes limit exceeded`) | ~10 ms |\n| `js-yaml` | parsed (aliases are shared references) | ~8 ms |\n| `eemeli` `yaml` | **rejected** (`Excessive alias count`) | ~40 ms |\n\n**Flat mapping bomb** — 10 k distinct keys (~62 KB input), no aliases:\n\n| Library | result | time |\n|---------|--------|------|\n| `yaml-security-lib` | **rejected** past default 10 k-node cap | ~360 ms |\n| `js-yaml` | parsed | ~310 ms |\n| `eemeli` `yaml` | parsed — **quadratic** on wide mappings | ~23.5 s |\n\nThe point of the right-hand columns is not speed but **boundedness**: without the 10 k-node / alias / depth / input-size guards, a tiny hostile document can balloon into gigabytes or a hung parser.\n\n## Threat model\n\n`yaml-security-lib` defends against documents that try to exhaust resources or corrupt data:\n\n| Attack | Document shape | Defence |\n|--------|----------------|---------|\n| Billion Laughs | aliases that exponentially multiply | `maxExpansion`, `maxNodes` |\n| Alias bomb | deep anchor chains, circular aliases | `maxAliasDepth`, `maxAlias`, circular detection |\n| Mapping bomb | enormous flat mapping | `maxNodes`, `maxKeys`, `maxInputBytes` |\n| Deep nesting | thousands of nested `[`/`{`/mappings | iterative parser — no recursion crash |\n| Runaway scalar | giant strings | `maxStringLength`, `maxInputBytes` |\n| Duplicate keys | same key twice — K8s/GitLab privilege escalation | blocked in every parse path |\n| Prototype pollution | `__proto__` / `constructor` / `prototype` keys | rejected |\n| Hidden/bidi text | invisible control characters in config values | `lint()` `hidden-character` rule |\n| Code-execution tags | `!!js/function`, `!!python/object`, … | `lint()` `unsafe-tag` rule |\n\nThe `strict` profile raises the defaults (`maxNodes` 5000, `maxAlias` 20, `maxAliasDepth` 5, `maxKeys` 10000, `maxStringLength` 1 MB, `maxDepth` 30) for high-security environments; the ordinary defaults already reject the bombs above.\n\n## License\n\n**Dual License:** free for personal, academic and research use; commercial license for closed-source products.\n\n| Use case | License | Cost |\n|----------|---------|------|\n| Personal / open-source projects | [AGPL-3.0](LICENSE) | Free |\n| Students, teachers & coursework | [Academic Use terms](LICENSE.COMMERCIAL) §4 | Free |\n| Academic research / publications | [AGPL-3.0](LICENSE) + citation | Free |\n| Commercial product (closed-source) | [Commercial License](LICENSE.COMMERCIAL) | Paid |\n\n### Students & academic users — free\n\nIf you're a **student, teacher, or academic researcher**, you don't need to pay for anything:\n\n- Use the library freely in coursework, theses, assignments, class demos and research projects. Academic use (non-commercial research, education, teaching) is explicitly free under §4 of the [Commercial License Agreement](LICENSE.COMMERCIAL) — no license key, no registration, no fee.\n- The only ask (from §4b): **cite the work** in any publication that results from it:\n\n  > YAML Security Lib — Nedal Ibrahim.<br>\n  > https://github.com/dlta17/yaml-security-lib · https://doi.org/10.5281/zenodo.21684897\n\n- §4c also requests a courtesy copy of any publication referencing the library — send it to salamanedal@gmail.com (optional, appreciated).\n- Academic use is valid at accredited institutions; if you're an independent learner, personal non-commercial use is covered by the free [AGPL-3.0](LICENSE) anyway.\n\n### Personal use\n\nNon-commercial personal projects (private or open-source) are free under [AGPL-3.0](LICENSE) — no purchase, no citation obligation.\n\n### Commercial use\n\nClosed-source products aren't covered by the AGPL's copyleft obligations. A [Commercial License](LICENSE.COMMERCIAL) lets you use the library in proprietary products without those obligations:\n\n| Tier | Developers | Annual fee |\n|------|-----------|------------|\n| Freelancer | 1 | $199 |\n| Startup | 2–10 | By agreement |\n| Enterprise | Unlimited | By agreement |\n\nContact salamanedal@gmail.com for startup/enterprise pricing.\n\nSee [LICENSE](LICENSE) (AGPL-3.0) and [LICENSE.COMMERCIAL](LICENSE.COMMERCIAL) for the full terms.\n\n## Author\n\n**Nedal Ibrahim** — salamanedal@gmail.com\n\n## Development & Testing\n\n```bash\nnpm install\nnpm test        # unit + fuzz + stream + stream-fuzz + YAML Test Suite + tree suite + validate + lint\n```\n\n- The YAML Test Suite + tree suite require the suite checkout; set `YAML_SUITE_DIR`\n  (e.g. `/home/nedal/yaml-test-suite/src`). If the dir is missing they skip cleanly,\n  and CI clones the suite automatically.\n- Zero runtime dependencies; rollup (dev-only) rebuilds the bundles.\n- Bundles are gitignored, but `npm pack`/`npm publish` runs `prepack` which\n  rebuilds them automatically — published tarballs always ship fresh builds.\n- Implicit timestamps resolve to **strings** (YAML 1.2 core); only explicit\n  `!!timestamp` yields a `Date` — `parse()` and the stream must always agree.\n- The stream-fuzz oracle is **js-yaml v5**; do not downgrade to v4 (YAML 1.1\n  turns timestamps into `Date`, failing ~28 oracle assertions).\n- Every code change bumps the version (`patch`/`minor`/`major`) with a\n  `CHANGELOG.md` entry and a `vX.Y.Z` git tag. Docs-only changes may stay put.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) and [AGENTS.md](AGENTS.md) for details.\n","readmeFilename":"README.md"}