{"_id":"@bernierllc/validators-editorial-style","_rev":"8-43c301911358a6e3b33410e5d8ab9a96","name":"@bernierllc/validators-editorial-style","dist-tags":{"latest":"1.6.0"},"versions":{"1.0.0":{"name":"@bernierllc/validators-editorial-style","version":"1.0.0","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.0.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"07163ba7948e82438254314c1eb11f0069c321be","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.0.0.tgz","fileCount":28,"integrity":"sha512-h8ikxnw7FNfd/OpGgcMERHCYJoIvN6JnsRGQRFUbTKcsb3GF5IUG9BPwxhZg62jpw0B0rYAQvtS14WXBstM+tw==","signatures":[{"sig":"MEUCIQDsO34Hvkd7/dM//glZZO1fM1DZVWJpzY+NvOIc7gkyVgIgLl0zW6KYIvFTogalIapF/g0o9lcDV8X4t2ZlfDVhOR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81464},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"dced111e23e724590d406bd7239b7c1179eb788d","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.4.2","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@bernierllc/validators-core":"^0.1.0","@bernierllc/validators-utils":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.0.0_1760229825982_0.1579282496437009","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bernierllc/validators-editorial-style","version":"1.0.1","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"48b3b762e5040e313f32265f0f366c3fb702a8b7","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.0.1.tgz","fileCount":28,"integrity":"sha512-x2wS6Hp2B/cM1xe+EQ5TKtM2WN7lEfTQzJ30yZPdNFvT6qaQWExXol/IhYglV1eO7yf8ooETwUhFqXzita8EfQ==","signatures":[{"sig":"MEUCIQDaIMuqiGLTWhpBzF+bOZViZDA+NjSx7iuyQPeNVRME4QIgUMRZ1TDZWepOuhAPpHhsdS1c7wfDQv7s7iBs3ahfkKo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81464},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"cb6bbfc1fc8c6ee2b5344acf143042720adb7482","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.4.2","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"24.4.1","dependencies":{"@bernierllc/validators-core":"^0.1.0","@bernierllc/validators-utils":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.0.1_1760230079827_0.7278190772183857","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bernierllc/validators-editorial-style","version":"1.2.0","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"d9ff22504bf79ffaa1d2f73bca94f4ac8248862c","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.2.0.tgz","fileCount":28,"integrity":"sha512-LsWAU/H3JYba5Kbgv5AuOOjsqLwIuPaWQRMcga73XJQYP1BjeThE4FtIsbuVU8V253r1MM4LNX0t3U+mh2itXQ==","signatures":[{"sig":"MEUCIQCLHYU8Z8ibxERQGAy5Zok+atnONOujk43S66v/ihAKXAIgUYGwYd1osXiT6QE7mQ17Pvo6VEdEIflfVEPoEfozJOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81566},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"20.19.6","dependencies":{"@bernierllc/validators-core":"0.1.2","@bernierllc/validators-utils":"0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.2.0_1767642363906_0.7165703430068509","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bernierllc/validators-editorial-style","version":"1.2.1","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"a231ad8c788b91d70456275939d4a9ee16822417","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.2.1.tgz","fileCount":28,"integrity":"sha512-dTLWBd7rPX+YbTm0p3t2AuDSU0jcI6MC15py4QcX5hUv5JfB0pBIpbGrYtbIjPar3IECiOyGJk6YZIrXdg31RA==","signatures":[{"sig":"MEQCIC0w6+OHWGZ6l9tDilGsz+dW4yLIKwb1O3JO3vMmw6tdAiBhCsBmWFMxGrhMI05/4WYTYk6DXDlQMqIixNRU6hB/ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81508},"main":"dist/index.js","_from":"file:bernierllc-validators-editorial-style-1.2.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"_resolved":"/tmp/1583ee9080a82f928c2cb3c64f79fedb/bernierllc-validators-editorial-style-1.2.1.tgz","_integrity":"sha512-dTLWBd7rPX+YbTm0p3t2AuDSU0jcI6MC15py4QcX5hUv5JfB0pBIpbGrYtbIjPar3IECiOyGJk6YZIrXdg31RA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.11.0","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/validators-core":"0.1.3","@bernierllc/validators-utils":"0.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.2.1_1773078281435_0.7375098299256635","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@bernierllc/validators-editorial-style","version":"1.2.2","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.2.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"d483de5292447653563cdffd6a80a5a845c91039","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.2.2.tgz","fileCount":28,"integrity":"sha512-qHyHOyvhHvCyJfIj96nfeYegpEWb5DnnPNIYQkhXDbR2r1m4re2JyjwNCDSRwyLOGNbBanolLf8Ozber/Va57A==","signatures":[{"sig":"MEUCIBjVMtdO9miO6g7OfH3mo8LL3IWWbmga/9+YgfrB7X2XAiEA9In0uPU3OJDsS/v84BEmKpfTZIVJchJjLn6BUM4bREA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81508},"main":"dist/index.js","_from":"file:bernierllc-validators-editorial-style-1.2.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-editorial-style/bernierllc-validators-editorial-style-1.2.2.tgz","_integrity":"sha512-qHyHOyvhHvCyJfIj96nfeYegpEWb5DnnPNIYQkhXDbR2r1m4re2JyjwNCDSRwyLOGNbBanolLf8Ozber/Va57A==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.11.0","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"20.20.0","dependencies":{"@bernierllc/validators-core":"0.1.4","@bernierllc/validators-utils":"0.1.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.2.2_1773163917482_0.13703974869834945","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bernierllc/validators-editorial-style","version":"1.3.0","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"fae970ddd50611ba5930816f00824cd6a4aa154e","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.3.0.tgz","fileCount":28,"integrity":"sha512-V2SSJYLI6T2MC77gai5WGGHdIfpvBb3Nen5sDx/DqhsVIcof0uV4BeY2Y+Gy3N2Qw7PfquowWCEBQnr3ddcNjA==","signatures":[{"sig":"MEUCIECEbLLqkXKCJUjzzubOBZY5W3b8pMztHpvaR0zOYLlHAiEA6F52zWrhSuZ53yM3w/OF//vQivl3gm+lvIo/LBh5HAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81508},"main":"dist/index.js","_from":"file:bernierllc-validators-editorial-style-1.3.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-editorial-style/bernierllc-validators-editorial-style-1.3.0.tgz","_integrity":"sha512-V2SSJYLI6T2MC77gai5WGGHdIfpvBb3Nen5sDx/DqhsVIcof0uV4BeY2Y+Gy3N2Qw7PfquowWCEBQnr3ddcNjA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.14.1","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/validators-core":"0.2.0","@bernierllc/validators-utils":"0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.3.0_1779242146686_0.9071696220210959","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@bernierllc/validators-editorial-style","version":"1.4.0","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","_id":"@bernierllc/validators-editorial-style@1.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernierllc/tools#readme","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"dist":{"shasum":"1f6d5a37c7e0d3e83078310e76e5049cb3d0ab17","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.4.0.tgz","fileCount":28,"integrity":"sha512-3nACe2XEbtF0VBl3QKVHTxEYiUcTgQbGJGH8zVmUYurex0gH0PL1pMUCeQzmJMGrPazAlHL7PoQwendu6EEvQA==","signatures":[{"sig":"MEUCIQDzkdbrkvin6a+uE1zCw1CXM3a476kAEo45SbgiJqhvfAIgNSCD6adiDO/kGleyQReeC3ydKvLXg12oWvzqCk7Yi5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81508},"main":"dist/index.js","_from":"file:bernierllc-validators-editorial-style-1.4.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc --watch","lint":"eslint src --ext .ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist coverage","lint:fix":"eslint src --ext .ts --fix","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"_resolved":"/home/runner/work/tools/tools/packages/validators/validators-editorial-style/bernierllc-validators-editorial-style-1.4.0.tgz","_integrity":"sha512-3nACe2XEbtF0VBl3QKVHTxEYiUcTgQbGJGH8zVmUYurex0gH0PL1pMUCeQzmJMGrPazAlHL7PoQwendu6EEvQA==","repository":{"url":"git+https://github.com/bernierllc/tools.git","type":"git","directory":"packages/validators/validators-editorial-style"},"_npmVersion":"11.14.1","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","directories":{},"_nodeVersion":"20.20.2","dependencies":{"@bernierllc/validators-core":"0.3.0","@bernierllc/validators-utils":"0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.37.0","ts-jest":"^29.0.5","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/parser":"^5.57.0","@typescript-eslint/eslint-plugin":"^5.57.0"},"_npmOperationalInternal":{"tmp":"tmp/validators-editorial-style_1.4.0_1779250904252_0.8791550001140127","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@bernierllc/validators-editorial-style","version":"1.6.0","description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","main":"dist/index.js","types":"dist/index.d.ts","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"author":{"name":"Bernier LLC"},"license":"UNLICENSED","dependencies":{"@bernierllc/validators-core":"0.4.0","@bernierllc/validators-utils":"0.5.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^18.15.0","@typescript-eslint/eslint-plugin":"^5.57.0","@typescript-eslint/parser":"^5.57.0","eslint":"^8.37.0","jest":"^29.5.0","ts-jest":"^29.0.5","typescript":"^5.0.0"},"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/validators/validators-editorial-style"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","dev":"tsc --watch","test":"jest --watch","test:run":"jest","test:coverage":"jest --coverage","lint":"eslint src --ext .ts","lint:fix":"eslint src --ext .ts --fix","clean":"rm -rf dist coverage"},"_id":"@bernierllc/validators-editorial-style@1.6.0","bugs":{"url":"https://github.com/bernierllc/tools/issues"},"homepage":"https://github.com/bernierllc/tools#readme","_integrity":"sha512-8Szu/ZEbBefEHKvhPJDY/LMtmwCEnRwnLrhHwF9taFt3iIjt5ez0Wf/Ync3HdalRMTVkuYsKviM3MdxMcF9biw==","_resolved":"/home/runner/work/tools/tools/packages/validators/validators-editorial-style/bernierllc-validators-editorial-style-1.6.0.tgz","_from":"file:bernierllc-validators-editorial-style-1.6.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-8Szu/ZEbBefEHKvhPJDY/LMtmwCEnRwnLrhHwF9taFt3iIjt5ez0Wf/Ync3HdalRMTVkuYsKviM3MdxMcF9biw==","shasum":"9171284d688bc842164569958e95f51ae54ed09d","tarball":"https://registry.npmjs.org/@bernierllc/validators-editorial-style/-/validators-editorial-style-1.6.0.tgz","fileCount":32,"unpackedSize":84833,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICXQn+HIcdqFz7A18MUw86ys5EVpwrhIjlwX4oTJmb4PAiA74SyQ3YA4fhtIDSSE/kOP1dHXSM6AMM4EzhrMCqBHOA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b4fed709-9529-478e-ac16-fb1f24437d9b"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/validators-editorial-style_1.6.0_1779252192763_0.7776962810374479"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-12T00:43:45.855Z","modified":"2026-05-20T04:43:13.030Z","1.0.0":"2025-10-12T00:43:46.203Z","1.0.1":"2025-10-12T00:48:00.062Z","1.2.0":"2026-01-05T19:46:04.028Z","1.2.1":"2026-03-09T17:44:41.572Z","1.2.2":"2026-03-10T17:31:57.623Z","1.3.0":"2026-05-20T01:55:46.821Z","1.4.0":"2026-05-20T04:21:44.383Z","1.6.0":"2026-05-20T04:43:12.917Z"},"bugs":{"url":"https://github.com/bernierllc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"UNLICENSED","homepage":"https://github.com/bernierllc/tools#readme","keywords":["validation","validators","editorial","style","content","inclusive-language","brand-terms","tone","readability","primitive"],"repository":{"type":"git","url":"git+https://github.com/bernierllc/tools.git","directory":"packages/validators/validators-editorial-style"},"description":"Editorial style validation for the BernierLLC validators ecosystem - validates inclusive language, brand terms, prohibited terminology, and editorial tone","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/validators-editorial-style\n\nEditorial style validation for the BernierLLC validators ecosystem. Validates inclusive language, brand terms, prohibited terminology, tone, and readability to ensure high-quality, professional documentation.\n\n## Installation\n\n```bash\nnpm install @bernierllc/validators-editorial-style\n```\n\n## Features\n\n- **Inclusive Language**: Detects non-inclusive terminology and suggests alternatives\n- **Brand Terms**: Validates correct capitalization of technology brands and terms\n- **Prohibited Terms**: Identifies weak, vague, or unprofessional language\n- **Tone Validation**: Ensures professional, respectful, and clear communication\n- **Readability Score**: Calculates Flesch Reading Ease score for content accessibility\n\n## Usage\n\n### Basic Validation\n\n```typescript\nimport { validateEditorialStyle } from '@bernierllc/validators-editorial-style';\n\nconst content = `\n  Hey guys! This is a simple guide to using the API.\n  Obviously, you should whitelist the master server.\n`;\n\nconst problems = await validateEditorialStyle(content);\n\nproblems.forEach(problem => {\n  console.log(`${problem.severity}: ${problem.message}`);\n  if (problem.suggestion) {\n    console.log(`  Suggestion: ${problem.suggestion}`);\n  }\n});\n```\n\n### Using Individual Rules\n\n```typescript\nimport {\n  inclusiveLanguage,\n  brandTerms,\n  prohibitedTerms,\n  toneValidation,\n  readabilityScore\n} from '@bernierllc/validators-editorial-style';\nimport { createRuleContext } from '@bernierllc/validators-core';\nimport { createSharedUtils } from '@bernierllc/validators-utils';\n\nconst content = 'Your content here';\nconst context = createRuleContext('editorial-style', content, createSharedUtils());\n\n// Run individual rules\nconst rule = inclusiveLanguage.create(context);\nrule(content);\n\nconst problems = context.getProblems();\n```\n\n### With Custom Utilities\n\n```typescript\nimport { validateEditorialStyle } from '@bernierllc/validators-editorial-style';\nimport { createSharedUtils } from '@bernierllc/validators-utils';\n\nconst utils = createSharedUtils();\nconst problems = await validateEditorialStyle(content, utils);\n```\n\n## Validation Rules\n\n### 1. Inclusive Language\n\nDetects non-inclusive terminology and suggests inclusive alternatives:\n\n**Non-inclusive terms detected:**\n- `whitelist` → `allowlist`\n- `blacklist` → `denylist/blocklist`\n- `master` → `primary/main`\n- `slave` → `secondary/replica`\n- `guys` → `folks/everyone/team`\n- `manpower` → `workforce/staff`\n- `sanity check` → `verification/validation`\n- `dummy` → `placeholder/sample`\n- `crazy/insane` → `unexpected/surprising`\n\n**Example:**\n```typescript\n// ❌ Problematic\n\"Add the IP to the whitelist and configure the master server.\"\n\n// ✅ Better\n\"Add the IP to the allowlist and configure the primary server.\"\n```\n\n### 2. Brand Terms\n\nValidates correct capitalization of technology brands and terms:\n\n**Brands validated:**\n- JavaScript (not javascript, Javascript)\n- TypeScript (not typescript, Typescript)\n- GitHub (not github, Github)\n- npm (not NPM, Npm)\n- Node.js (not nodejs, NodeJS)\n- API, URL, HTML, CSS, JSON (all caps)\n- macOS, iOS (specific capitalization)\n\n**Note:** Skips validation inside code blocks (marked with backticks).\n\n**Example:**\n```typescript\n// ❌ Problematic\n\"Use javascript and github for your api.\"\n\n// ✅ Better\n\"Use JavaScript and GitHub for your API.\"\n```\n\n### 3. Prohibited Terms\n\nIdentifies weak, vague, or unprofessional language:\n\n**Vague intensifiers:** `very`, `really`\n**Filler words:** `just`, `simply`\n**Condescending:** `obviously`, `clearly`, `easy`, `simple`\n**Informal:** `gonna`, `wanna`, `kinda`, `sorta`\n**Absolute statements:** `always`, `never`, `impossible`\n**Passive voice:** `it is believed`, `it is recommended`\n\n**Example:**\n```typescript\n// ❌ Problematic\n\"This is very important. Just add the code and obviously it works.\"\n\n// ✅ Better\n\"This is important. Add the code to enable the feature.\"\n```\n\n### 4. Tone Validation\n\nEnsures professional, clear, and respectful communication:\n\n**Tone issues detected:**\n- **Condescending**: \"as you probably know\", \"of course\", \"needless to say\"\n- **Overly casual**: \"hey guys\", \"cool\", \"awesome\", \"!!\"\n- **Uncertain**: \"maybe\", \"perhaps\", \"I think\", \"??\"\n- **Bureaucratic**: \"herein\", \"pursuant to\", \"utilize\"\n- **Aggressive**: \"must\", \"cannot\", \"never do\" (marked as errors)\n\n**Example:**\n```typescript\n// ❌ Problematic\n\"Obviously this is cool!! You must do this now.\"\n\n// ✅ Better\n\"This approach is effective. We recommend implementing this feature.\"\n```\n\n### 5. Readability Score\n\nCalculates Flesch Reading Ease score for content accessibility:\n\n**Score ranges:**\n- 90-100: Very Easy (5th grade)\n- 80-89: Easy (6th grade)\n- 70-79: Fairly Easy (7th grade)\n- 60-69: Standard (8th-9th grade)\n- 50-59: Fairly Difficult (10th-12th grade)\n- 30-49: Difficult (College)\n- 0-29: Very Difficult (College graduate)\n\n**Target:** 50-70 for technical documentation\n\n**Note:** Skips content with fewer than 50 words. Removes code blocks before calculation.\n\n## API Reference\n\n### `validateEditorialStyle(content: string, utils?: SharedUtils): Promise<Problem[]>`\n\nMain validation function that runs all editorial style rules.\n\n**Parameters:**\n- `content` - The content string to validate\n- `utils` - Optional shared utilities (creates default if not provided)\n\n**Returns:** Array of validation problems\n\n### Validators\n\n#### `editorialStyleValidator`\n\nPrimitive validator instance for editorial style.\n\n**Properties:**\n- `meta.name` - Validator name (\"editorial-style\")\n- `meta.domain` - Validation domain (\"content\")\n- `validate(content, context)` - Validation method\n\n### Metadata\n\n#### `metadata`\n\nPackage metadata including version, description, and rule information.\n\n**Properties:**\n- `name` - Package name\n- `version` - Package version\n- `description` - Package description\n- `domain` - Validation domain\n- `rules` - Array of rule metadata\n\n## Integration Status\n\n- **Logger**: Not applicable - Pure validation package\n- **Docs-Suite**: Ready - Exports markdown documentation\n- **NeverHub**: Not applicable - Primitive validator with no service dependencies\n\n## Examples\n\n### Complete Validation Example\n\n```typescript\nimport { validateEditorialStyle } from '@bernierllc/validators-editorial-style';\n\nconst documentation = `\n  # API Documentation\n\n  Hey guys! This is a very simple guide to using our API.\n\n  Obviously, you should whitelist your IP addresses on the master server.\n  The api uses JSON for all responses. Just send a GET request to get data.\n\n  It's impossible to mess this up - the system always works perfectly!\n`;\n\nconst problems = await validateEditorialStyle(documentation);\n\n// Group problems by severity\nconst errors = problems.filter(p => p.severity === 'error');\nconst warnings = problems.filter(p => p.severity === 'warn');\nconst info = problems.filter(p => p.severity === 'info');\n\nconsole.log(`Found ${errors.length} errors, ${warnings.length} warnings, ${info.length} info`);\n\n// Show problems with suggestions\nproblems.forEach(problem => {\n  console.log(`\\n${problem.severity.toUpperCase()}: ${problem.message}`);\n\n  if (problem.evidence?.snippet) {\n    console.log(`  Context: \"${problem.evidence.snippet}\"`);\n  }\n\n  if (problem.suggestion) {\n    console.log(`  💡 ${problem.suggestion}`);\n  }\n});\n```\n\n### Custom Rule Set\n\n```typescript\nimport { createPrimitiveValidator } from '@bernierllc/validators-core';\nimport {\n  inclusiveLanguage,\n  brandTerms,\n  readabilityScore\n} from '@bernierllc/validators-editorial-style';\n\n// Create validator with subset of rules\nconst customValidator = createPrimitiveValidator(\n  'custom-editorial',\n  'content',\n  [inclusiveLanguage, brandTerms, readabilityScore]\n);\n\n// Use custom validator\nconst context = createRuleContext('custom-editorial', content, createSharedUtils());\nconst problems = await customValidator.validate(content, context);\n```\n\n### CI/CD Integration\n\n```typescript\nimport { validateEditorialStyle } from '@bernierllc/validators-editorial-style';\nimport * as fs from 'fs';\n\nasync function validateDocumentation(filePath: string): Promise<boolean> {\n  const content = fs.readFileSync(filePath, 'utf-8');\n  const problems = await validateEditorialStyle(content);\n\n  const errors = problems.filter(p => p.severity === 'error');\n\n  if (errors.length > 0) {\n    console.error(`❌ ${errors.length} editorial errors in ${filePath}`);\n    errors.forEach(e => console.error(`  - ${e.message}`));\n    return false;\n  }\n\n  const warnings = problems.filter(p => p.severity === 'warn');\n  if (warnings.length > 0) {\n    console.warn(`⚠️  ${warnings.length} editorial warnings in ${filePath}`);\n    warnings.forEach(w => console.warn(`  - ${w.message}`));\n  }\n\n  return true;\n}\n\n// Validate all markdown files\nconst docFiles = ['README.md', 'docs/api.md', 'docs/guide.md'];\nconst results = await Promise.all(docFiles.map(validateDocumentation));\n\nif (!results.every(r => r)) {\n  process.exit(1);\n}\n```\n\n## Best Practices\n\n1. **Run in CI/CD**: Include editorial validation in your continuous integration pipeline\n2. **Combine with Linters**: Use alongside ESLint and Prettier for comprehensive code quality\n3. **Document Exceptions**: When false positives occur, document why specific terms are acceptable\n4. **Educate Team**: Share validation results to improve writing across your team\n5. **Iterate**: Start with errors only, gradually address warnings as team improves\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Run tests with coverage\nnpm run test:coverage\n\n# Build\nnpm run build\n\n# Lint\nnpm run lint\n```\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n\n## See Also\n\n- [@bernierllc/validators-core](../validators-core) - Core validation types and utilities\n- [@bernierllc/validators-utils](../validators-utils) - Shared validation utilities\n- [@bernierllc/validators-markdown-structure](../validators-markdown-structure) - Markdown structure validation\n- [@bernierllc/validators-content](../validators-content) - Domain validator for complete content quality\n","readmeFilename":"README.md"}