{"_id":"stylelint-plugin-rhythmguard","_rev":"30-c460f53386e48aed23489553682b4c29","name":"stylelint-plugin-rhythmguard","dist-tags":{"latest":"3.8.0"},"versions":{"0.1.0":{"name":"stylelint-plugin-rhythmguard","version":"0.1.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@0.1.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues"},"dist":{"shasum":"a96b33eea85b1cf57ab53f2b561f13d6e014da3f","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-0.1.0.tgz","fileCount":18,"integrity":"sha512-D6lsyu65xMcjExNYQ/Ex9z6AbQBc7k5emvG0QRyuz9FgD6f+4DrYdpKfo3zjJgFFzgKWd0bdK/Cqqob8bEQLZg==","signatures":[{"sig":"MEUCIQCqS3XI6deGKyQ2OYADxru1PxsWELY6MLOfS/0ewRmF4wIgJagwWnifTCyEwg1QesxGfeSkZyDdi42ZJW6xHkYQH4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96986},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"f9a8ff0299402f404332978f94042b5a521749ab","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Enterprise-grade Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_0.1.0_1771285258112_0.6682222919822294","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"stylelint-plugin-rhythmguard","version":"0.1.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@0.1.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues"},"dist":{"shasum":"2209925342c59521d0678a72c8ebaede71fe1536","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-0.1.1.tgz","fileCount":18,"integrity":"sha512-svbj71FtWpyjsoDd1yA29Bh1BEhiD9uJtWf6hi5aCQZC8QEaBM/3ow9rkiUj5RvcSa+6KHR1k33djHu2N7cWlg==","signatures":[{"sig":"MEUCIHY/t+JU6UkiXL7z0A58Mbh+1tPusnj2EbGGBHDorlvQAiEAty5zWHeoUmX20by1eLoY+nzDbmbTePlZiP+sTXXu6HU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97495},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"a55da3e96d16418c30bcb07a69e10300229ab8dd","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_0.1.1_1771286643096_0.32905104577429656","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"stylelint-plugin-rhythmguard","version":"1.0.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.0.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"2be47636ebf4d2fa27f24370721fe13a602f476c","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.0.0.tgz","fileCount":18,"integrity":"sha512-Pkb3t+dazyqog9AOVStyCXWkAAniX0p0xNi+IVgWs2C1upq3TAsQ8l/FNvhQr6R/vkYB+niD3rUOZqHgCZ6GUQ==","signatures":[{"sig":"MEUCICTDuIgsmrNw2PZ/Qai0LWOolkRG8rXKpdKI6DBd6Pl0AiEAjPKi4iXemevAWG1g5iPE2vxjFA/lMzjK16j6fe1GiVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98050},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"8e7334c3a329b775dcdce3612a1a223397244594","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.0.0_1771286785318_0.30794708593942777","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"stylelint-plugin-rhythmguard","version":"1.1.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.1.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"c40f8a9ed0c8abdd6bff50885c03feec492b5ab3","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.1.0.tgz","fileCount":22,"integrity":"sha512-O01hrwZiSyk50zrgZto7SBxuWAplKCDIe1L8hSEzGTrRuPecyW1i/i0KSM9r6+9yBBjbU4UMH+Tg+1XVNabcDw==","signatures":[{"sig":"MEUCIDzZZa0lXPVSw7C/xRm82EqiRKb2VXM5uKYNSZTzRV24AiEAtEQhVd/CRTZru0Mf0RPkLd3Z1hpWdaNFtHQKXuvGQe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109887},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"082aa99e8c9f9d55e2580fc4bdfc48d14457465c","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.1.0_1771310071752_0.08289466190559835","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"stylelint-plugin-rhythmguard","version":"1.2.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.2.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"0a32e13ab0383f0bdfbacce4a01ecd31659f7ef6","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.2.0.tgz","fileCount":23,"integrity":"sha512-Oi4xWcM61Bq8IYn/knheBhw+OilwIBdziEQWXlzvjXKTWrEEnQi4lgjbe80h4cMz2waiUX+lh5e3aanDbNH0yw==","signatures":[{"sig":"MEUCIQD8OoNVECIopj5mP5BB0vZbx/DUrnJW69cPCJ3p8rB3EAIgfzYw/qUw41IbpSaT554OB2tYduDSXsBUWBiZtIMiy7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115336},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./configs/tailwind":"./src/configs/tailwind.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"820bead0d94a97a5e977b415ea536d38be85a2ac","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","dependencies":{"stylelint-config-tailwindcss":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.2.0_1771312281015_0.009782220261569385","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"stylelint-plugin-rhythmguard","version":"1.2.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.2.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"8a84661c8b536fc2b6cfa8e4d848ae8931c4d5e4","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.2.1.tgz","fileCount":23,"integrity":"sha512-YVIyjypqDadXdwj3gOUJgPiWqq+SmW8vGHdt7dUjZ3zkrJEjeJMd22CTVxmO41MosK41pNPO2XGnPvix2hiJng==","signatures":[{"sig":"MEUCIGRMbkWBG684LPelpKM2Td/kElNjrjhySlzplXcgq9LUAiEAqkV6Zm1t4h2tkPLs4gQv+gJa0Y0hifq6nCWg1+8SDpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117855},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./configs/tailwind":"./src/configs/tailwind.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"7120ac930520a792481d53df6395264d2c56b779","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","dependencies":{"stylelint-config-tailwindcss":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.2.1_1771314538437_0.8473455899754012","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"stylelint-plugin-rhythmguard","version":"1.3.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.3.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"12069ea776171e580d97dd434d7e198caa9c6170","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.3.0.tgz","fileCount":25,"integrity":"sha512-eOmL6N4OP78xRe0e0JI0TJhTR3dxQ5g79WNjXP8w6WAL3jIeENR6UVXzHz2mfUnfiwpTAaQTncHmuPIi2tCfVQ==","signatures":[{"sig":"MEYCIQDYi7yQEzF3IpiegGT51kkc9CQ/2bDVDYi4uJVSn1aPygIhAOFb7x4ClWTarMymGBu053CgwgBG/S3Bh5FnjdieSJ1o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3860463},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":"./src/index.js","./presets":"./src/presets/index.js","./configs/strict":"./src/configs/strict.js","./rules/use-scale":"./src/rules/use-scale/index.js","./configs/tailwind":"./src/configs/tailwind.js","./rules/prefer-token":"./src/rules/prefer-token/index.js","./configs/recommended":"./src/configs/recommended.js","./rules/no-offscale-transform":"./src/rules/no-offscale-transform/index.js"},"gitHead":"131ced613a47702ebdd44e66b8a88d28e42dd948","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale and token enforcement","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0"},"peerDependencies":{"stylelint":"^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.3.0_1771344712100_0.6270566860033311","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"stylelint-plugin-rhythmguard","version":"1.4.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.4.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"97250f7df44b8a214e9d7ba6894e1b87c3accb7b","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.4.0.tgz","fileCount":50,"integrity":"sha512-WS4oENxXccFdCSx5XxP0FSREfkKd3DjFK3xFpqmNd1h3brH1Lxddn5gTU4GA+oyQq6Ad+gqFq/ct8yRGdSEw4A==","signatures":[{"sig":"MEUCICdW8fNmkUHrs9vJ+ZN+AUKkr1Y4ES8bC73UwX/IfuHIAiEA7mCDQ0HaxRWn0MfD6VBIUIYWT1MtF90ssop6ycnn+Wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2610926},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"304c7432d75d8d930653785c952f59cc6e249af6","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale, token enforcement, and Tailwind class-string governance","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.4.0_1771677497411_0.06456060539160902","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"stylelint-plugin-rhythmguard","version":"1.4.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.4.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"c3dd86e66163d563f24153052c86c97e1e3ea2c2","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.4.1.tgz","fileCount":50,"integrity":"sha512-04OfbmfPES0100pJQqLSdbcQ1LwEicr6Wq2oBvof6crZ3/2+X1WIUrfhAo/w9Ol/dfc6s1tBK3J25fHXCxSCjA==","signatures":[{"sig":"MEQCIDAKWIXQySVJ8eYcfcda5VHaDYTdlA2/o1u6gEQWJAFgAiAqREfhZ5ZbCO5nQKitO+G5I5NZTZ9iuIhSGaLUZOb3Zg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2612221},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"2429588a5f6c14ffe2037229dd167e6beb6b95ed","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale, token enforcement, and Tailwind class-string governance","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.4.1_1771678839750_0.8999244403244933","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"stylelint-plugin-rhythmguard","version":"1.4.2","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.4.2","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"e97d46f152813198d6d0671ff37306780f0c0581","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.4.2.tgz","fileCount":39,"integrity":"sha512-OXflcrDHM/Lw68pJi93iVCu+8qC5O+Ag04L4Xw5ZpIFGiMNGSTLvqiKk/dvG+ycLZRDeHdu7yQ89gAY9F4hfbA==","signatures":[{"sig":"MEUCIQDssM70J+TnFAegjwaXjKqbdJWtCgeuvJjpar31t0+aKAIgZtTxC/nzmOG+hRUPHUGCsmEghztGT9Cg/v2SvhydfJ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122366},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"dcb13ba921be6e33a9bddfeb72b71246c88ecd85","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Stylelint plugin for spacing scale, token enforcement, and Tailwind class-string governance","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.4.2_1771685457746_0.6558349833741066","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"stylelint-plugin-rhythmguard","version":"1.5.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.5.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"33fad2228528c6b6420171e1c058570e0866de45","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.5.0.tgz","fileCount":45,"integrity":"sha512-Rg7+OBgpLnOxWHXJzV7xon4Sx+YUHLDmZif2tp9ihDEVCd4jUhNtCMXdh7dbyP7jm2aPnKECwTacmCD743Qdog==","signatures":[{"sig":"MEUCIQDBQCg6qC1wazEjdiVyWQ69i+uPDjt7Kfo4sUZwnUFgWAIgBVpT7QKCr+Cc/D458/JSV67yLzMUxc95iZb4i0T2Rh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141383},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"98f265650d17cc847ceb42bffe640d97f6431a1f","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/petrilahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.5.0_1776087547145_0.7352285343976777","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"stylelint-plugin-rhythmguard","version":"1.6.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.6.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"f2cfd9a22cd76d73c1ce68ffb46c35fdabbd3be5","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.6.0.tgz","fileCount":46,"integrity":"sha512-PYbT02KbDOllhAXnN9z2vichWTey/CbL8XIeZX6CVeagt5p21wC0rc4aa5AW8g6Wgb3Bmb1qxYOA+SbD0PRKMA==","signatures":[{"sig":"MEUCICr7puaG3XjP9BOEOM++0pv9ICG6DzVLycuVc0abNqWWAiEAtZ/WzlmbiChKUsk7jG2JRms6zoqpUfhkfrSNdGDN3Xk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":159315},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"8a05e03c2f113587afd06f32b18670cd0d950662","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.20.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.6.0_1779170864787_0.5426775854371595","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"stylelint-plugin-rhythmguard","version":"1.6.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.6.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"103ff6755df301818c56f21188cdb57979ffa193","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.6.1.tgz","fileCount":46,"integrity":"sha512-oMLiiVIAHlc7DPh03hXE1syqS2UPuW/wZSeldxsjIoNhtinwYJTkaaXDrwmg+QmZdh5iBuoiZrmQxWxl0Vgs1w==","signatures":[{"sig":"MEUCIQDKFcEwnrdGoqlkpkBxCbp2Vkk+IVWTApME7mdmT3kXfAIgELBmTPnuIQIULJbpraD1AVvziNspEX3EZKv4WoS3eXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162994},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"f881bb8a18676032377bc84372239a5d894cc0e8","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.20.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.6.1_1779520154337_0.18493285127714354","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"stylelint-plugin-rhythmguard","version":"1.7.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.7.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"b7349c71a2ac10af32788e6fd6b8909403d6cc63","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.7.0.tgz","fileCount":46,"integrity":"sha512-Bfg9hg7M/9K5oW2JAZTGOEdv3gqSpp3Qa9ZGCCe6vPu5xKNIoBWJg/nzcvssplgaGb7XF17XSq2TLKYED7xmig==","signatures":[{"sig":"MEUCIQCTk4MKOQPTKrXOPny7WCV8RGZ7rzGBtT0ymACAV4aUrAIgXVs++AAZIdxtcmf0K2AWCGU3z3btZJgBZXNqnCu+ei0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":185078},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"f060bab21ba5226d30cda6fb05d0bffc5df54616","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.20.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.7.0_1779521928451_0.8189364560485592","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"stylelint-plugin-rhythmguard","version":"1.8.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.8.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"d7908daa8a7b8be7d8bb9653abc4527403a1f381","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.8.0.tgz","fileCount":47,"integrity":"sha512-yD93aiv+QZewX2HXClvatrGC0ncS+FK9+ElxR9xfn/ySLbVusxcwe8cRpsldfQOiWTfVWQG5cIo90gD8couTnA==","signatures":[{"sig":"MEUCIQC2NS2aU5pyVmqnRWrLOYBZhHr2bWE9FS2wgJXfSbJgjQIgISeRTN6mj1iyU/jQEMX/M5xyEdL/MyXQ/YdipPjUHuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210492},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"b6bcd6dc337e6ecacaf720c94a23023f707b479c","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.20.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.8.0_1779524714474_0.30074871242711354","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"stylelint-plugin-rhythmguard","version":"1.9.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@1.9.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"9665464329e2acddcde08dff9aad300900a688e2","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-1.9.0.tgz","fileCount":54,"integrity":"sha512-iAZ14LWSW+RQNZZT0HCLGslLSFVub6iwQ5L/OujTElLbjP7Ll4STVYrykmWltqEU5ySi0UeqOjWCFruc5I7kgg==","signatures":[{"sig":"MEUCIBhHAI1ZfejdKSvEJ7LIKfR/5q+L2HKd3A3g8ID6shOzAiEAvnFx+mY68UW64a9GdwqQKiFw8KdA/8HJw2K+UFWnlo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234711},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/motion":{"import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/use-motion-scale":{"import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"4001d98185bc9d60761181de8d45d799c02a0a95","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"11.12.1","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_1.9.0_1779525533924_0.1753539157318018","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"stylelint-plugin-rhythmguard","version":"2.0.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@2.0.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"b9448efe1f974ff7d3a935d510564bb8b0849915","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-2.0.0.tgz","fileCount":56,"integrity":"sha512-1y7+iJRJS0tVEAo9Gvx6drk3w1K7uni/qDaPdOdo/VATmAhXlpLxPGrDnkTssFoiEme3qSBUhVOmB6lQf4nl2A==","signatures":[{"sig":"MEUCIEqP2yJFn2qqE8HfuSHxf1F+OcUcPpMQjar+8ili6/CjAiEAt2ZckFf21nCm0+WFEeIjeprlmEaR5NYfcwkX0C1JZrM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246655},"main":"src/index.js","type":"commonjs","engines":{"node":">=18.18.0"},"exports":{".":{"import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/motion":{"import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/use-motion-scale":{"import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"4723e919e8feec157ceb07fefe94dd098e25f861","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"11.12.1","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.19.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_2.0.0_1779526135206_0.2883783721085138","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"stylelint-plugin-rhythmguard","version":"2.0.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@2.0.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"53a1bf4226843da565faa642c2555723abb96bd0","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-2.0.1.tgz","fileCount":65,"integrity":"sha512-TS/gl5y2waWUzMmQWfwTfVZF2nJlC7glf/clekTUjEDIQYkRoNOP4aN/bNF1rPBYHCFI5jpYztbH3yfQcxWFjg==","signatures":[{"sig":"MEQCIFOY7AFEiLyGbRWC3vCxcrU2C3iNxdsKkIgkjh8ePfGQAiAlBAEZmTcJu0mbvj30jxHPfYOg72L+hN8eWJTiZxJ5BA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":263918},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"types":"./types/config.d.ts","import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"types":"./types/config.d.ts","import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"types":"./types/config.d.ts","import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"types":"./types/config.d.ts","import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"2288046081ed6b32102706fb813e583a535a8b12","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"10.8.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"20.20.2","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_2.0.1_1781685455999_0.11753572775761012","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"stylelint-plugin-rhythmguard","version":"2.1.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@2.1.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"db1881ef7be150a225626d8f31010e08e6c1aecc","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-2.1.0.tgz","fileCount":78,"integrity":"sha512-4G+did3jX6yM2SIa222RqWEZAGE8aw9fZ8iRaiUoWD+ulBVxJafEpnQFzBhDaLF4AGS4OPU08/PMSex8AOqTog==","signatures":[{"sig":"MEUCICXtckYoMZXokvUBshTSjZqrrEXe9aX4w7qVUmtCRfi4AiEAwvLoCEV5pli70Lb0759HqUD0ruCqjgEJMyajdZZuPxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251243},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"types":"./types/config.d.ts","import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"types":"./types/config.d.ts","import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"types":"./types/config.d.ts","import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"types":"./types/config.d.ts","import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"922a663d9d4ee612cc8728911ce1944bd6e85f82","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","typescript":"^5.9.3","@types/node":"^22.20.1","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_2.1.0_1788634339134_0.8942794614070959","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"stylelint-plugin-rhythmguard","version":"2.2.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@2.2.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"5c67b70a9c75f6a1e8f52d66595f2207fc5695d5","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-2.2.0.tgz","fileCount":82,"integrity":"sha512-lJq8vvH+5uNY/m/2F77cknaP3LEpeb5VbCQeqC5s3sZqC6+ixSPWK5zCJLJEynpJyckN+4jZnljZY6Qn5Tht/w==","signatures":[{"sig":"MEUCIEg/NYpIolw0V2amv4Jgg8+ymVbSC1i+SkEKgrgBectlAiEA6sv/Rr4WQwc5q5675otHhF7yRZrhyoCn5hl/zOIOrUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":283691},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=18.18.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./configs/logical":{"types":"./types/config.d.ts","import":"./src/configs/logical.mjs","require":"./src/configs/logical.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/expanded":{"types":"./types/config.d.ts","import":"./src/configs/expanded.mjs","require":"./src/configs/expanded.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./configs/migration":{"types":"./types/config.d.ts","import":"./src/configs/migration.mjs","require":"./src/configs/migration.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./configs/react-tailwind":{"types":"./types/config.d.ts","import":"./src/configs/react-tailwind.mjs","require":"./src/configs/react-tailwind.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"17dae9ca79cbdd0cb914781a75966e5a85640f5c","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","bench:quiet":"node scripts/bench/quiet.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Token governance for CSS and Tailwind — enforce spacing scales, require design tokens, catch arbitrary values","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","typescript":"^5.9.3","@types/node":"^22.20.1","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_2.2.0_1788639967921_0.23686683430832134","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"stylelint-plugin-rhythmguard","version":"3.0.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.0.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"679ea6c957066f72a90c826695234eb838eb44bd","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.0.0.tgz","fileCount":75,"integrity":"sha512-2et8wff6Qo7a54R2+sxf2+oOrpjm00meErr3+zX5AZNK0F5hRDglugB2GQXkN3hrAZXeqQs86tIklFEnE7S4Ow==","signatures":[{"sig":"MEUCIF32m25yTIA4oNOOnaB+OSylpPbvjSLEBfBiRYfKTxapAiEAuleUdpvY+FnN50Hi49/hkLj1JfGL3XdiTJ+IKxeo9Ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":305390},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"098f32050e97d95062960747af45378f80b04544","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","bench:quiet":"node scripts/bench/quiet.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.0.0_1788647952729_0.9447747407906752","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"stylelint-plugin-rhythmguard","version":"3.1.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.1.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"cbfdd5c6fa871ba2cf77de748e80bbfbd30bb245","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.1.0.tgz","fileCount":75,"integrity":"sha512-e2dbxtWCclPG4bI33u8tqIxyjJndlBCDJKcvaGalS5hZQMmVsdNGtKgj1LkBt0Mrply8YQkFxF26gvgR36zD3w==","signatures":[{"sig":"MEUCIHJJ9vfMmiSxcHWRbOsgzBsbSbOUSGOlDNyrl0tdOITRAiEA/rl+A34+TSBxQFydE8euUrs7MnLzHj80zsimFhsR1lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":310450},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"0c99fa4dc5954a7d87e008309bd62626c528681e","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","bench:quiet":"node scripts/bench/quiet.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","geist":"^1.7.0","eslint":"^9.22.0","stylelint":"^16.15.0","@eslint/js":"^9.22.0","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.1.0_1788653502013_0.865272188054399","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"stylelint-plugin-rhythmguard","version":"3.2.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.2.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"cec4a699db18e5ee827d4e5494709d0e94ddad36","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.2.0.tgz","fileCount":79,"integrity":"sha512-wWdX4wOk0VIwD7ChkIoyGd3eKA4wRTobIv7zzVFd9Kev823oQCo8TKqYaV2zppkc9E0MV9es+nNkOcNWih2KDw==","signatures":[{"sig":"MEYCIQDMw5viXdhAzKrOlLLVBdlAYvPDbwq1lbgcoIOywX06eQIhAL0VY7iXB97tTagjOg0MEyWKY0GLgKH4iVkvfdj1ai+r","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":323297},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"fd55493d8343b82bc60055b322f6cb7ebae6a9c7","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.2.0_1788686268975_0.30777829663248757","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"stylelint-plugin-rhythmguard","version":"3.3.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.3.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"c0ac519eaf99d9fbddb07c01f8618b75cc7eb68f","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.3.0.tgz","fileCount":79,"integrity":"sha512-Y9W672kQt6F8tR+F9XQ0HDNaDEhxQwNTdIwWWhUDAx0F4hDVj1FnFIVB46/pVtnIcRNbH2LoTQAow0vg10H9Yw==","signatures":[{"sig":"MEUCIQDAHUWnCfwqNEZMqCGZrYFpTyxIJU2x7a/qX7+Vsgr9twIgWD6GraBpj/KgjdTC6ilPUCqUMV2bXEIXAy3I5/PPxJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":333523},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"8b1e1d500978ba87958a6b9ab61bb14ebb38ae48","scripts":{"lint":"eslint .","test":"node --test test/*.test.js","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node --test --watch test/*.test.js","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node --test test/*.test.js","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","postcss-value-parser":"^4.2.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.3.0_1788694157722_0.7817126594196839","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"stylelint-plugin-rhythmguard","version":"3.4.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.4.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"c7b787633f0541e631f10f9eebf70a38fe108b09","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.4.0.tgz","fileCount":83,"integrity":"sha512-6rckdm9MUkGBooverxEr95O3u4nze/uiIqazIjVjAnadU1PMzOgF7R45FCY706F/Im8o7M1sK+o70Qkuea8/6w==","signatures":[{"sig":"MEQCIFVomVfdLeg6YPZl+2FgEcsOX8qMW03W6nDIkxzuHUDuAiB33BAU6f8zoin3TH7ySMk0mvfuwsBDvzF/W1xvctQbFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":342847},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"4494c335c580de64f187c6a3f9258fcde403017a","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.4.0_1788703875395_0.20409771668408494","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"stylelint-plugin-rhythmguard","version":"3.5.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.5.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"4edc6a3341bfd0f20d2f2c85304de4bd98f19e34","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.5.0.tgz","fileCount":83,"integrity":"sha512-yLWabSgNi7sOBj3AhK+Ym63UMfjY8bOJhImG9ISe8rxWITpkdQETTeAUL6TxR1MEE7rP1/Bnhj7FkM/Bki7I7A==","signatures":[{"sig":"MEUCICMGA7KA4OXN3ueG8ifZjE+RhcbCDDG62PZFvesD5A/CAiEAxfW0No21Zrjo5CAtTYs5DZqjgxFsPoVLItCBVr5sMzo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":345188},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"85a383de1bf5b1db1c164f4691f31a447c1eca78","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.5.0_1788897208266_0.3225930821396601","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"stylelint-plugin-rhythmguard","version":"3.6.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.6.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"b0a9859b3a333a60e2128b41b81951f11dd981e6","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.6.0.tgz","fileCount":90,"integrity":"sha512-7G2Yooonzv07Zs58fEpdEHH7kedynvTutzQil1eBnDMDVA3Y3Uh4WnhWC5C4O6CtnT+JKIBNbT3KoDs/vMrSpw==","signatures":[{"sig":"MEYCIQDRkjq1IP3YJ5zMslIWJrLQd4EE1Bjy3XDmBvq0Ynb6JAIhAPQMDddFrPjrt+5LwOHwsNX4jzttccQzhuPw6sVdy3tp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":390495},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"8e159391d3d303dbdd8a3c7ebc963f33d0fa35c6","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"postcss":"^8.4.0","known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.6.0_1788903821105_0.8804843062659151","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"stylelint-plugin-rhythmguard","version":"3.7.0","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.7.0","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"6eddd894a4c313adbfe9340d36df5b347a8f0407","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.7.0.tgz","fileCount":90,"integrity":"sha512-STownZBHHUBfSc6LfxdTfoz/GChyKowrs7ROj8kwcFjKKFQcai7qwfhLzDa0XdEbt6KdnX1Kplj3pyTsie3zLg==","signatures":[{"sig":"MEQCIGnOwTim5fGS569PorcCqJGtyMikwqBnuKut8PImTSgFAiBb5b/hjn6bNHQiy2sVcZuYH2k2/hXMZnPTZdyhn3Ue6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKg60jJgkDEjMueGbJRhauwsgue6gVq9aeMTJXbkAoZwIhAPRVCcHRG63balD0DWMIOixuXdrsM5j2WY8ohxSV5Kgm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":399628},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"4e2efe2e58df50530f033f014261c98133ecbb61","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"postcss":"^8.4.0","known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.7.0_1789650897472_0.3792063449576346","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"stylelint-plugin-rhythmguard","version":"3.7.1","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"license":"MIT","_id":"stylelint-plugin-rhythmguard@3.7.1","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"bin":{"rhythmguard":"src/cli/index.js"},"dist":{"shasum":"d28c9afd6cb977d0be42292bef88fd7e0a1986e0","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.7.1.tgz","fileCount":90,"integrity":"sha512-lXiDto9oKG7HvG0AlwMMRtWYFspgm1UAJ3fFyUNLdEgRbd5qWrwVu+zJlWomM0drfdi+7Eeyd6hf9M4RPJ+y6A==","signatures":[{"sig":"MEUCIQCrzKQMM6Qty+f+e9X0jNS3u6utZPhLGKiMAYJGqVcH/AIgTxoIGru2PqbBqoo82HDdN3JIrSbD30GdB6blip/3E4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDzM0hsPkeUO7ToNczpV5CowY9pfTOxyShohZtaD0BjnwIhAORVjo/PHs3EcqhS097R4ULTVI+UmdwnBmVS1kEEuyHe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402658},"main":"src/index.js","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"6a0d7a04d480c058280ca8984d087e01ebba8000","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"postcss":"^8.4.0","known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","eslint":"^9.39.5","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-rhythmguard_3.7.1_1789663020025_0.8305110432550757","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"_id":"stylelint-plugin-rhythmguard@3.8.0","bin":{"rhythmguard":"src/cli/index.js"},"bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"dist":{"shasum":"a6e732ee4949a34de4d18e99445ed394bf9ecdb2","tarball":"https://registry.npmjs.org/stylelint-plugin-rhythmguard/-/stylelint-plugin-rhythmguard-3.8.0.tgz","fileCount":92,"integrity":"sha512-0Fb65tvpgN5WVGOe4kdo1pfOSgywhCf7m62QZhfN3+ArJTmKfzPCvqlwBEwQqLXeasc1a5e+Qqsk+k8nMiT/kw==","signatures":[{"sig":"MEYCIQCeveLNv64mlpy8u8AVZcgva8Va1BO3pg70QvD2Wpxc4QIhAPvFVjuacq/o8y0XbSxslUYPih0gONvwiLDO78G4VPmK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFLpQ7BJeIlY7lcGyiDTwuUc1/pvCAYgoQsleqX871afAiEAy4uv/LVQE1n0kgneV/+N6f4BRG2ucF8HlsWLiatbF2o="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/stylelint-plugin-rhythmguard@3.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414463},"main":"src/index.js","name":"stylelint-plugin-rhythmguard","type":"commonjs","types":"./types/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./types/index.d.ts","import":"./src/index.mjs","require":"./src/index.js"},"./cli":{"types":"./types/cli.d.ts","import":"./src/cli/index.mjs","require":"./src/cli/index.js"},"./audit":{"types":"./types/audit.d.ts","import":"./src/audit/index.mjs","require":"./src/audit/index.js"},"./eslint":{"types":"./types/eslint.d.ts","import":"./src/eslint/index.mjs","require":"./src/eslint/index.js"},"./presets":{"types":"./types/presets.d.ts","import":"./src/presets/index.mjs","require":"./src/presets/index.js"},"./configs/embed":{"types":"./types/config.d.ts","import":"./src/configs/embed.mjs","require":"./src/configs/embed.js"},"./configs/motion":{"types":"./types/config.d.ts","import":"./src/configs/motion.mjs","require":"./src/configs/motion.js"},"./configs/strict":{"types":"./types/config.d.ts","import":"./src/configs/strict.mjs","require":"./src/configs/strict.js"},"./rules/use-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-scale/index.mjs","require":"./src/rules/use-scale/index.js"},"./configs/tailwind":{"types":"./types/config.d.ts","import":"./src/configs/tailwind.mjs","require":"./src/configs/tailwind.js"},"./rules/prefer-token":{"types":"./types/rule.d.ts","import":"./src/rules/prefer-token/index.mjs","require":"./src/rules/prefer-token/index.js"},"./configs/recommended":{"types":"./types/config.d.ts","import":"./src/configs/recommended.mjs","require":"./src/configs/recommended.js"},"./rules/use-motion-scale":{"types":"./types/rule.d.ts","import":"./src/rules/use-motion-scale/index.mjs","require":"./src/rules/use-motion-scale/index.js"},"./rules/no-offscale-transform":{"types":"./types/rule.d.ts","import":"./src/rules/no-offscale-transform/index.mjs","require":"./src/rules/no-offscale-transform/index.js"}},"gitHead":"65a2d420e00917999771de0c85f15b7b9ef0d9de","license":"MIT","scripts":{"lint":"eslint .","test":"node scripts/test.mjs","typecheck":"tsc -p tsconfig.typecheck.json","bench:perf":"node scripts/bench/compare.mjs","scales:add":"node scripts/scales/add-scale.mjs","test:watch":"node scripts/test.mjs --watch","bench:quiet":"node scripts/bench/quiet.mjs","bench:agents":"node scripts/bench/agents/run.mjs","build:agents":"node scripts/build-agents.mjs","test:coverage":"c8 --reporter=text --reporter=lcov node scripts/test.mjs","bench:outreach":"node scripts/bench/outreach.mjs","bench:perf:fix":"node scripts/bench/compare.mjs --fix","test:npm-smoke":"node scripts/ci/npm-registry-smoke.mjs --package stylelint-plugin-rhythmguard --version latest","scales:validate":"node scripts/scales/validate-community-scales.mjs","test:pack-smoke":"node scripts/ci/pack-smoke.mjs","build:playground":"node scripts/build-playground.mjs","test:compat-floor":"node --test test/compat/floor-compat.test.js","bench:state-of-spacing":"node scripts/bench/state-of-spacing.mjs"},"version":"3.8.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e3863624-500a-4bfc-b4ff-3bab012cd71a"}},"homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"_npmVersion":"12.0.2","description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","directories":{},"maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"postcss":"^8.4.0","known-css-properties":"^0.37.0","postcss-value-parser":"^4.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","eslint":"^9.39.5","esbuild":"^0.25.10","stylelint":"^16.15.0","@eslint/js":"^9.39.5","typescript":"^5.9.3","@types/node":"^22.20.1","postcss-scss":"^4.0.9","stylelint-scales":"^5.0.0","@anthropic-ai/sdk":"^0.126.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependencies":{"stylelint":"^16.0.0 || ^17.0.0","postcss-scss":"^4.0.0","stylelint-config-tailwindcss":"^1.0.1","stylelint-plugin-logical-css":"^2.0.2"},"peerDependenciesMeta":{"postcss-scss":{"optional":true},"stylelint-config-tailwindcss":{"optional":true},"stylelint-plugin-logical-css":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stylelint-plugin-rhythmguard_3.8.0_1789683431311_0.09563243583481573"}}},"time":{"created":"2026-02-16T23:40:57.984Z","modified":"2026-09-17T22:17:11.716Z","0.1.0":"2026-02-16T23:40:58.254Z","0.1.1":"2026-02-17T00:04:03.258Z","1.0.0":"2026-02-17T00:06:25.499Z","1.1.0":"2026-02-17T06:34:31.937Z","1.2.0":"2026-02-17T07:11:21.160Z","1.2.1":"2026-02-17T07:48:58.581Z","1.3.0":"2026-02-17T16:11:52.369Z","1.4.0":"2026-02-21T12:38:17.661Z","1.4.1":"2026-02-21T13:00:40.058Z","1.4.2":"2026-02-21T14:50:57.960Z","1.5.0":"2026-04-13T13:39:07.302Z","1.6.0":"2026-05-19T06:07:44.939Z","1.6.1":"2026-05-23T07:09:14.494Z","1.7.0":"2026-05-23T07:38:48.575Z","1.8.0":"2026-05-23T08:25:14.626Z","1.9.0":"2026-05-23T08:38:54.095Z","2.0.0":"2026-05-23T08:48:55.393Z","2.0.1":"2026-06-17T08:37:36.131Z","2.1.0":"2026-09-05T18:52:19.277Z","2.2.0":"2026-09-05T20:26:08.068Z","3.0.0":"2026-09-05T22:39:12.885Z","3.1.0":"2026-09-06T00:11:42.234Z","3.2.0":"2026-09-06T09:17:49.100Z","3.3.0":"2026-09-06T11:29:17.866Z","3.4.0":"2026-09-06T14:11:15.542Z","3.5.0":"2026-09-08T19:53:28.439Z","3.6.0":"2026-09-08T21:43:41.277Z","3.7.0":"2026-09-17T13:14:57.583Z","3.7.1":"2026-09-17T16:37:00.215Z","3.8.0":"2026-09-17T22:17:11.405Z"},"bugs":{"url":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues","email":"hello@petrilahdelma.com"},"license":"MIT","homepage":"https://github.com/petrilahdelma/stylelint-plugin-rhythmguard#readme","keywords":["stylelint","stylelint-plugin","css","design-system","design-tokens","spacing-scale","spacing","linting","tailwindcss","eslint-plugin","logical-css"],"repository":{"url":"git+https://github.com/PetriLahdelma/stylelint-plugin-rhythmguard.git","type":"git"},"description":"Nobody chose 13px. Catches off-scale spacing in CSS and Tailwind class strings and snaps it to your scale or tokens. Stylelint rules, an ESLint companion, and an audit CLI.","maintainers":[{"name":"petritapanilahdelma","email":"petri.lahdelma@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/petrilahdelma/stylelint-plugin-rhythmguard/main/assets/rhythmguard-banner.svg?v=12\" width=\"100%\" alt=\"Rhythmguard: stable local evidence for design system drift\" />\n</p>\n\n# stylelint-plugin-rhythmguard\n\nNobody chose 13px. Rhythmguard catches off-scale spacing in CSS and Tailwind class strings, tells you the nearest steps on your scale, and snaps to them or to your tokens when you ask.\n\n[![CI](https://img.shields.io/github/actions/workflow/status/petrilahdelma/stylelint-plugin-rhythmguard/ci.yml?branch=main&label=ci)](https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/stylelint-plugin-rhythmguard?label=npm&color=1f6feb&r=380)](https://www.npmjs.com/package/stylelint-plugin-rhythmguard)\n[![npm downloads](https://img.shields.io/npm/dm/stylelint-plugin-rhythmguard.svg)](https://www.npmjs.com/package/stylelint-plugin-rhythmguard)\n[![License: MIT](https://img.shields.io/badge/license-MIT-white.svg)](./LICENSE)\n\nRhythmguard is scale-aware rather than a blanket ban: values on your scale pass, values off it are reported with the two nearest steps, and tokens are only ever suggested from a map you control. It works on CSS and SCSS declarations through Stylelint and on Tailwind class strings through an ESLint companion, and it ships an audit CLI so you can measure drift and ratchet it down before enforcing anything.\n\nWhat it is not: it does not check colors or hex values, and the Stylelint rules do not see Tailwind class strings (that is the separate ESLint companion below). Pair it with a color linter if you need one; do not expect one tool to do both.\n\n## Start here\n\n```bash\nnpx stylelint-plugin-rhythmguard\n```\n\nNo install, no config. It detects your stack and token files, infers your spacing scale from your own tokens, audits the current directory, and prints the exact `.stylelintrc.json` (and ESLint snippet for Tailwind) to paste. This is the whole run on Bootstrap's `v6-dev` branch, unedited:\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/petrilahdelma/stylelint-plugin-rhythmguard/main/assets/quickstart.gif?v=1\" width=\"100%\" alt=\"Terminal recording: npx stylelint-plugin-rhythmguard on Bootstrap v6-dev detects the stack, infers the 13-step spacing scale from scss/_config.scss, reports 20 off-scale values in CSS and prints a .stylelintrc.json to paste\" />\n</p>\n\nThen:\n\n```bash\nnpm install --save-dev stylelint stylelint-plugin-rhythmguard\n```\n\n```json\n{\n  \"extends\": [\"stylelint-plugin-rhythmguard/configs/recommended\"]\n}\n```\n\nThat enables `rhythmguard/use-scale` on spacing properties with the default 4px scale. Tailwind projects use the `tailwind` config instead, which also extracts spacing tokens from `@theme`:\n\n```json\n{\n  \"extends\": [\"stylelint-plugin-rhythmguard/configs/tailwind\"]\n}\n```\n\nFor class strings in JSX, TSX, Vue, Svelte or Astro, add the ESLint companion. It is the same rules under two names: `stylelint-plugin-rhythmguard/eslint` if you already have this package, or [`eslint-plugin-rhythmguard`](packages/eslint-plugin-rhythmguard#readme) on its own.\n\n```js\n// eslint.config.js\nimport rhythmguard from 'stylelint-plugin-rhythmguard/eslint';\n\nexport default [\n  {\n    plugins: { 'rhythmguard-tailwind': rhythmguard },\n    rules: { 'rhythmguard-tailwind/tailwind-class-use-scale': ['error', { scale: [0, 4, 8, 12, 16, 24, 32] }] },\n  },\n];\n```\n\n## Rules\n\n| Rule | What it reports | Fix |\n| --- | --- | --- |\n| [`rhythmguard/use-scale`](docs/rules/use-scale.md) | Length values off the configured scale | Nearest scale value |\n| [`rhythmguard/prefer-token`](docs/rules/prefer-token.md) | Raw literals where a design token exists | Token from your map |\n| [`rhythmguard/no-offscale-transform`](docs/rules/no-offscale-transform.md) | Off-scale `translate*` offsets | Nearest scale value |\n| [`rhythmguard/use-motion-scale`](docs/rules/use-motion-scale.md) | Off-scale durations and raw easing curves. Opt-in, experimental | Nearest duration |\n| [`rhythmguard-tailwind/tailwind-class-use-scale`](docs/rules/tailwind-class-use-scale.md) | Off-scale Tailwind arbitrary spacing values (`p-[13px]`) in class strings | Nearest scale value |\n| [`rhythmguard-tailwind/tailwind-class-use-motion-scale`](docs/rules/tailwind-class-use-motion-scale.md) | Off-scale `duration-[...]`, `delay-[...]`, raw `ease-[...]`. Opt-in | Nearest duration |\n\nEvery rule validates its options up front. Unknown option names and wrong shapes are reported, never ignored.\n\n## Configs\n\n`recommended`, `strict`, `tailwind`, `motion` (experimental), and `embed` for authors of shared configs (see [docs/FOR_CONFIG_AUTHORS.md](docs/FOR_CONFIG_AUTHORS.md)). All are `stylelint-plugin-rhythmguard/configs/<name>`. What each enables, the full custom setup, and the scale-selection precedence are in [docs/CONFIGS.md](docs/CONFIGS.md). Built-in and community scale presets are in [docs/SCALE_PRESETS.md](docs/SCALE_PRESETS.md).\n\n## Audit before you enforce\n\n```bash\nnpx rhythmguard audit ./src --format markdown\nnpx rhythmguard audit ./src --write-baseline\nnpx rhythmguard audit ./src --since-baseline --fail-on-new-drift\nnpx rhythmguard audit ./src --format github\n```\n\nThe audit scans CSS declarations, Tailwind class strings and your token contract, prints a scale-cleanliness score, and supports baselines so legacy codebases can gate only new drift. Formats: text, Markdown, JSON 2.0, HTML, GitHub Actions annotations, and a shields.io badge document for your README. Full reference in [docs/AUDIT.md](docs/AUDIT.md), rollout recipe and the badge workflow in [docs/CI_ADOPTION.md](docs/CI_ADOPTION.md). In GitHub Actions, [`PetriLahdelma/rhythmguard-action@v1`](https://github.com/PetriLahdelma/rhythmguard-action) runs the audit, annotates the diff, comments on the pull request and fails on new drift in one step.\n\n`npx rhythmguard audit ./src --plan` turns the report into a proposed `decisions` section (adopt a value, allow it, or snap it), and `npx rhythmguard fix ./src --value 10px --to \"var(--space-sm)\" --write` executes one decision as one reviewable change; see [decisions](docs/AUDIT.md#decisions). `npx rhythmguard init` writes a starter config for your stack, and `init --agents all` installs the coding-agent instructions. `npx rhythmguard doctor` checks the setup.\n\n## Guides\n\n- [Tailwind integration](docs/TAILWIND.md), including v4 `@theme` tokens and what each layer covers\n- [Framework setup](docs/FRAMEWORKS.md) for Vue, Lit, Astro and SvelteKit\n- [Comparison with adjacent plugins](docs/COMPARISON.md) and migration recipes\n- [Real before/after excerpts](docs/ADOPTION_DIFFS.md) from public codebases\n- [For shared-config authors](docs/FOR_CONFIG_AUTHORS.md): the `embed` entry point and how inference works per consumer\n- [For coding agents](docs/FOR_AGENTS.md): a paste-ready `AGENTS.md` block, installable with `npx rhythmguard init --agents all` for Claude Code, Cursor and Copilot\n- [Quiet benchmark](docs/QUIET_BENCHMARK.md): findings on public design systems, checked on every change\n- [State of Spacing](docs/STATE_OF_SPACING.md): dated editions of the same data, ranked by drift density, with the values and properties that drifted\n- [Agent evals](docs/AGENT_EVALS.md): does a finding get a coding agent to zero drift, in how many rounds, at what cost, against a rules-only control\n- [Architecture](docs/ARCHITECTURE.md): the layers, the rule kit, the invariants and where each is enforced\n- [Product direction](docs/STRATEGY_2026-09.md)\n- Browser playground: [petrilahdelma.github.io/stylelint-plugin-rhythmguard](https://petrilahdelma.github.io/stylelint-plugin-rhythmguard/) runs the real rules, bundled for the browser, on CSS or SCSS you paste; `scale: \"auto\"`, tokens and fixes included, and a test proves it reports what Stylelint reports\n\n## Compatibility\n\nStylelint 16 and 17. Node 20.19 or newer. Three runtime dependencies (`known-css-properties`, `postcss`, `postcss-value-parser`); `postcss-scss`, `stylelint-config-tailwindcss` and `stylelint-plugin-logical-css` are optional peers. CommonJS and ESM entry points, TypeScript declarations for every export. The CI matrix runs Node 20 and 22 against Stylelint 16.0.0, 16.x and 17.x. Upgrading from 2.x: [docs/MIGRATING_TO_3.md](docs/MIGRATING_TO_3.md).\n\n## Contributing and support\n\nDevelopment setup, semver policy, benchmarking and the release process are in [CONTRIBUTING.md](CONTRIBUTING.md). Bugs and feature requests: [GitHub issues](https://github.com/petrilahdelma/stylelint-plugin-rhythmguard/issues). Security: see [SECURITY.md](SECURITY.md).\n\n## License\n\nMIT. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}