{"_id":"stylelint-plugin-defensive-css","_rev":"75-35b007cbeb5fbf1ab8e3ea7e42880c60","name":"stylelint-plugin-defensive-css","dist-tags":{"beta":"1.0.0-beta.0","next":"2.5.0-next.0","latest":"2.9.7"},"versions":{"0.0.1":{"name":"stylelint-plugin-defensive-css","version":"0.0.1","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"91c97d3ea533860fd6fa5cbeae6142a74fe13d87","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.1.tgz","fileCount":8,"integrity":"sha512-jOmkNVQkf3ty2i1gdOFIe1ncGq+vDxZG4o1cjmdouSPSZCoPok83S55vwacvjroVXz7VwLTvO46qP8bPU1jglA==","signatures":[{"sig":"MEQCIFUXDVaO2deFNhoQMa1g0W5D+kOGr3yD3U/glSk9yAdBAiBvuXT2YUShgWCtq2waZrQZSKOO0TecjsMKNyj7y5ziVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkG/hOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsZg//dBDrl+3yoRvnx7HYzsCmWuac8k2jDDtzY7pkZDvTbaaGOA5e\r\n3mEzsAp2OBVsj5h69UGmaKkUMLWYyauItlBG6S3n4Xg+/VUFjSxuDwwQ1c3u\r\njIDVwWCRW1xFiGwbY+s3xQBSxyuYsC09lC2k7Jy3MdgirAWUecriEbtVNA0d\r\nmwBCU6DMzMzq+SfJSsqg8/bbRBE75ErkeRBJCcss+ZNPPqFnV0idPbUasJbt\r\n2RHCuO5YgU9vOq3GO/MNo75A3l2W15PzvsUq33in7q4onm0fBb0bHfENu6sf\r\nh0z06wV5lku6ScsFNHXajcj1JnTSIY+G7Brjl6CCpHGFAYkfT1sW6qGBJ4EF\r\npAXz8/vPIbgw1oPmMzWh/YvRQIq/8MKJYIFVXqA4iVn7DaeUtuLWxZx8kj+s\r\np7VYAEK40AjP8K/E5+itBY8I9+Y0y8ePiPkZWp3OB9OjqjHXzfiR8Jct5ReX\r\nAV6AdUTgBB2xpnuMUwBDd3CS9XgbfQIKbVHi0hd9yAv5EU5QUhmqoYqxjFo0\r\n163dmVL2a8BCShhyOUOxsRuj3DtH3rCU8n6/B78odxvjNy1uVoFSSKDL9BwL\r\nDGw4koY6oiSJpTrEn/gBQnWvvJss+tEcRD6wxom/HbrSphTZZ2NuvK9WrcpI\r\nUwynDPcKyufHhy0LffGY0uTI0KfafkmrULk=\r\n=Pba8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"25e77d44fa0c2c10220668290024605c834fa091","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.1_1679554638495_0.5790772998274714","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"stylelint-plugin-defensive-css","version":"0.0.2","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"d06d08141b3ab0361d4babe8c56c6cadfc1742e0","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.2.tgz","fileCount":8,"integrity":"sha512-8HW2Xvpk1jo84OEo7lPmifj+hDddiiSsFyt0kJ1OtQDUWJPDHDw0zCWml0yLeZX6ngBQDbATkgXSe9EkfvRjBw==","signatures":[{"sig":"MEUCIQDf6JJjp3TCpz1K9aPqg/cJ/VCMVCBaAGaVe95rEwI1LAIgDrQ1pwJMFFSvEOguvgIyZGUQZ5a2uGy1a0ehDArqcb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkG/46ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoTwQ/8DS1rQ2OXQ7YYoQ4sPvbfuUv8g5bzpfedPIJB5rF+597vg2vC\r\nzl73FOZKWWvATbYQuZpyC5ZFgk0ke3lz7dyOmT7dtmxFhxE2pMXEq1u1Lini\r\nfhJuKxpS/h4A3rygSXBMWuBs0+5wZRMdaeKUEjlW6ejXFtOUDemlD9qwPyrP\r\nLpbzlB8U+gdL6wBXf36R7QhF3OIZPT4G7KFC2Y+Z1t+3l0QPW2UoXe1jnl+C\r\n6lk+3uDN8fVaq82vDDn8RD39CziS5OgZxGa/CProU6X/eiO5TZS5bX25Ua6j\r\npjgx1Z7mgftvIZsDWXdjziCJQMQMwiQXLWbKvcKetPAsbVBAI8H4lzJEIvLm\r\nuFVh7sAl3KDPOqXXesYozCS1c5kBh4d+DketLZMB7i/s0vlR/brspXMZHBQM\r\n+VynJz6dUMcgsLN4zBccgPhHvGBMEcedSu6XnWoGHl6z52k8Yse/ke8DWNGh\r\n7i6GooNFLYLkOBCVSlvbyNzoygtlxuJli1QB2mdMEYayzeL5YA1teYNyGNYK\r\ni/VxmsikKpNTVE6152ibkUSDqe3HhaxkmggagkBC6W64d+cU+evWTYqdCwzn\r\nMH1ALpfDe7Li7bg2TFJ44DOLAAnJRxJl/X3U/YiVD53RqA7G4Oy6ZRV16fRE\r\nZWp+gjzBvEysEA30VVWY3VGBNlGsMKd2ym0=\r\n=fw8L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"ed1ccb136340b296c68c8174d1a22f77dc56c77c","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.2_1679556154485_0.9776103976362867","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"stylelint-plugin-defensive-css","version":"0.0.4","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"3d7a5097b6c030fe924abfcf60bb4647399abef5","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.4.tgz","fileCount":8,"integrity":"sha512-Wwzqsx19XgIhqhWYueVmuLXPtKyGCesmE6DqDND4BCTT84jlFTL3FPri0594UiDYpKE68hapkvfVzMWo/GFmDA==","signatures":[{"sig":"MEQCID8eAtnZbqVn18vYp6K8MnE5A8mKNenefsUFaYzkusJAAiB3nXfH+cmp9Eh4rZ0knCQSPVRDLSeFbWq/7ooJjddgXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHVaHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlthAAnzK/eUtgwvc5/FdvedkDUYpskYr58xbjXC47MhuHhtidaD2u\r\nLSlalup7Jh8IRePv8Kf7SzawmZ0Y8ru6kxaEi6dfEUgHvoN5VNGb2jWqP/6d\r\nPhlzNoGCU4yHs+5NM234aonV7HHbm9Rr2aMFQ84RRoO3AMDde1Yh0XUUKxJv\r\n8Cs+nENe87F4vkPcqzh1ZDZkh8GhjIqxKozhfbKNEpQzurIVkv0P0x5MebHz\r\nrGnKnRoJ7zuj88+xRiGtOg9Ii4kh464FL+henuWsTJb4RBNjW5LWASSJEz8e\r\ntA3EKj4EYgbVO0M/nnT8GnlqnVlVORxkITyahEDvVlWF414FARVxOYNBzEs6\r\nNjmg/5Jm2lLd1r81uV7USz/VkzTuO4IRptE48t1vMqmAwd0aov0fvncyx7cR\r\nrp4ptEC558GZlPvHo7D5r1z4yznQCTA+MxqnJGCvkNLh4v3qvZ7FCNkE4k17\r\nZBEGd2tvJRY5BjpLoj0lAE+1NS+gY5SdkBzNyHbJ3bjMueSKs4NLquBckV3O\r\nsuMXM4HjHgz8GtCDdcc0iEmdRMRg/+vLKzTOfIBFhtd7mjG7wt3Nb3JjvPPQ\r\n2Sf3NrAGGENNoLcx4MV9XJqF7ExfNQ2OPNw+iIFy9M3/vltM4dkFACoG168Z\r\nvKzp4pH/R/VZMtJWSLidDAN/seM5uShEcu8=\r\n=hOIc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"a0453aac26f2057ea46ff6967c9a9c7970c5ee06","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.4_1679644295428_0.17290775700217043","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"stylelint-plugin-defensive-css","version":"0.0.5","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.5","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"13e47e881baea31576a5dff6ae156c2ed21d09be","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.5.tgz","fileCount":8,"integrity":"sha512-K49j3EmsBF1MvgThdHtGUFHHRz/FD6mdp0yMdEXN9wDt1ALngG1So2lbLKKwsUGTPUkbWUtFaQHyzSZehj/Z+g==","signatures":[{"sig":"MEYCIQC3kHCJe2lzqWDKP5gvobgMgaLGbfsdLjuew5TblhUJtQIhANEgAdtbI50Se0GzDsveEwcKPglFDktWC3vidQOsYsfk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHVz/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoX/w/7BhHhrmIrumaFkZ4zXAJRO+AZOPewZxqlAFzYwU/P9Bia+s+Y\r\nHg6NYFIv7/GAddVMq993C8qp5LyZVXJ2SQoILIAxXULia9B384t/XzQZLIv7\r\nKJOVfvAqiNGfMHSqopjdy8liUl3KJyiypSFqwpJLeWAXRGhu/0ngrnSh4k8B\r\ng3HzXAYHX2sJ/NO/LOiVv2Q0AVJtkm7KBjjWFu43lsy9FATlCfThs7OHApvB\r\n2BYuFbu2LPjSKzsWTPBOGU7Mo817RkokyQzhFPSJzf+unNwXMy2ju3fAvntd\r\ngBtwdchitvh/sOCjgCiJ+bY/QGFaV+UM1d2KRLMW0VqT2xHEZ7Xez6xcv8b+\r\nsSirKZ/SRo3bm+UM6F3FB/jA2/S4OV8/k6qXXEkqr5GSyco41qE4wsJpg0wf\r\nZEK8gsxVGnVofdB9+O1tC+ry3wN6ouUy3OVkwkZ36xLON+2A0kAnVAhrrcfO\r\nf0oJ4rQMJr6IddQ9Gx0XiKXXfQ39KNmK9gF//c839nQTR5hgpTywC4qCWHzq\r\nUd9kN1GcOt+PhnGlIp3Aham3A+jkAjXr3F7F5p6IrZa0sctLzJeCN7EcoP9+\r\n3PeKtSvPsNlkjRvJLx03pRM4SAQR4wjnWck9OcF1M/gku/ekWpAR4VZEBEHT\r\nqAjvpZaZynA/1Yew/eMn0VwH1k0Pov3H5gM=\r\n=a+vR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"db705d35b582b3ecde4bc0def8603ac247708766","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.5_1679645951386_0.673212595942835","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"stylelint-plugin-defensive-css","version":"0.0.6","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.6","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"1f93062de3e517d20636705387fcacbbcfe8c41b","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.6.tgz","fileCount":8,"integrity":"sha512-EbMdm7geCxUGstTyZ7zC9DwXjq/CxgF3S1THxF11QjFo7exL+5973TangzbnTdw9sc7z0cVYUr3cw+93Z3a5nQ==","signatures":[{"sig":"MEUCIDc6POMhh/cpmEjjFlWRawgazTnUPjjnbt7fwaQ59BCmAiEAhNeiWr+4eSAY4byLd1KIk4ztUCb+sJPpPKQcYA9uax8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHV5ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmri5A//VtoE4g2e+A1QmXi+dpooGaMW5ucT7XD7ZWCQQNrhcYunotKK\r\nUS1NkUFN3guQZln14WDvxYF6fxzhyf3TZY0P6Wq+cY7s0+z8N+X86fNHUGEB\r\nq2RsTT58Vdj5My6dGfDqqQ8nKCaWr/S3pA2I+kB2EkxODwq9XVDy8RnSgdvC\r\n68vo5/aKebixg3DX9DN+PFGdzg6rQMehw32nTjuvEnZ5D9Y54M51lWUJSj4o\r\nKc1Z8W6HBG0zSCUPH2omGpO2RHLrJ4aENkeBozSZ7CYHAfxoifAkFzY9QWtJ\r\nwYfX8fLXasDfrYSrEW4HQ9B9u7i5xrU2Nb7o61F83ZBXfoyiKoiW3Tq5Nhug\r\nkVEq/3URf+MSq8Mkw5S9BJbTynLYxgNSuAg+JtKu6UQWdhZ8034DM0R/Ct9e\r\nT8UiBp3+EULxHnu+Cabi6pHuPSYyBMIo52/hZfCV4Iqjaepd9daRvHUS1BNI\r\ntlBynPwXluWIswZjIU8lneaFm6HViR9JAr/jZoNI2aMGUYfttX2c4uVjdoMn\r\nimZ4g2OIPYYupoeEXbxcpH3D7U+/jhxtiquTOp9yQ9/naU7XWUkJknfqKMqJ\r\nxFRlzF16e0h+s0kh6f7bPddaGkLqM4sGX6omtxiWpHrJnlnltTxBtCxvQuTy\r\nRXTtdNOSlXzILtUa+7OQV388i8W3Ec0rD6s=\r\n=ph2Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"f12beb9f75c145dd6c00c56fcdd54a286b9d68dc","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.6_1679646296919_0.6612661971407261","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"stylelint-plugin-defensive-css","version":"0.0.7","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.0.7","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"5d8febaf71138efebad54cab861c394d89b743d9","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.0.7.tgz","fileCount":8,"integrity":"sha512-+EIo3JaKdBcIspZocMGWePmFi1xg7lenw6c63Vg4uIyCtZ4OKpBrshEftzYOq0GwC2aYQja4WOq2Dx01cmHlLQ==","signatures":[{"sig":"MEYCIQCluoWcLnHzL17m3mSsSnXRffCWrI00jXJSUXVhhwX0PgIhALmhMSkawtOtdxSAAelYDfh8DE5SGVRawjV5T38GN14W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHV86ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoK9Q//Qx8ALhNLr3JGgO40SoxsneI+px3K9IdvycfwYyj6q/i4AYO4\r\n4XlUmToIIpBIsg352j9+DgA4qxmfyaFz58mYZjGaVlXh50sUmMFvQtl2ydp1\r\nRNuzTMQh7r8QjibzHnmROVOBrbjuIkuuu2ehYKLvIv33cvjn2U2C6CtPYV7M\r\nUWQfX7LgDZ4eFTRvOxJyb1CIvYKCRjvOJchdYEuVRTcGU2fCGG/o4A4qQCK6\r\nbqE9USsxVE8xCKP4Aez46/dazWtAvmoSiX36LUOZ+uMjGdoEI6Nzn7dThqkM\r\nvzWcKbGx1a8Gra9NFUtaR/xcanokLT9zxdpu4tuihyNHc36jRNkKhX7MzsGz\r\nfwvpOs6Q10wyYsxEX1gKEJr1OCgfRRT6nhz2+neYUuJ7r0Sbv3u/WQ66cs7x\r\n/Ng3/TF0bTdiOTx5Jt7cuR2HtTuj9/1oOCXfKya67pkB4QA7Nx9OICNrPj5Q\r\nhME/oN8ny1ULeFIJtn0EZvxDCF0Dr2G4MhuPHJOTjwnn5hOkjRrFHfnknbZH\r\nk80Krs9Nm9JLf/CL0zMd2NtEfyHczG9501qUh66WQJoyHqgJafXaCJgEv4ol\r\nIdkAKODIKhvEGJrONdFSsVhgckPzMDJXrepdOB8HG+cL7SQyzUUhynNBzehS\r\niwNA0dKQG0mg1040bVRQW3FkzGO2umT/CPE=\r\n=bfMM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"1b642f51d3a377e4fed99b6ce5e1cf64bfd22215","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.0.7_1679646522492_0.5481134872304334","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"stylelint-plugin-defensive-css","version":"0.1.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.1.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"56fb287a54b24e355dec2daaa99f35ea7f13029d","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.1.0.tgz","fileCount":8,"integrity":"sha512-pEvv6YhfSrwIqzPH18la7gVtWmWVLB3BVx5k14l0i3hfNT29fLcvqHqOF45qazikLnA2lSIoWEDciuk+glv0gw==","signatures":[{"sig":"MEUCIHobjbthNlnsVVdw4ps8q4O5zPygMsszrk40rmog9n/WAiEAp1sHnJSvea27lHb8xPKySRuFVyL2rsYoVN9tPvLYf1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOvHGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpskw//dLzmONTb4JtlctwLp4/P1jbUBknmbHze+TCP6pqMGjfyVp/G\r\n8TfgcRj4RVMt+Ahtn/L3cEhk7tjJLE5z2F7AFErTe6P3goNSNeN2CY+ARQs2\r\nISfU8WxdmOO6VRroFBk/DhSeGTakqa+RutArAJWLgFHNA8RdRHgKWOoi3vyH\r\nt0qC2hAdx2x6Ct8XBtig1Mu5ADF1qMXHJQ7HV2qGOPZBFvTRaFTyvm5Gmcny\r\nd9j2jJiswQYFTz8a5u9lIXTxPcQMNtyY0Xgn4V/QNGJs6cSYsa6XqosT1RqO\r\n4KVkbe/RtGuHuUQf3JJu5yl3Q6XFizj6WE92lcyEsKY/2z503HDHm2KPLCPo\r\nSgF7Tgbi3YyidRHyrL0EqvKOo9dDWY7boYBOE5Am5vXa3h9gnj1LzXn+pySj\r\n/xd67eVvgq8KjdSCMWkdMRF2b4JqTirAt5ySlWoHZVln98xJ4fyFrVZk+BR4\r\nDSl5Eup+JDewCYgXCRpgzP2RbqVtuIFpkqGY/t4AANfbNTTW5B6sEWHTFZFl\r\n1zkBSCKbaXWa/NJAfB+SQwzEigcyMI7CGoeV+CF5SLtX/GD9TeeZW5SyArT1\r\nw1wxuAxomY228rSD8u/ZBvbJHZproG3DtYIzlB7SA5aYSziu/VK/qyLj1SzO\r\naNyyuCRvh7K8NQUnWvKtGiznkLHOq2hM8hI=\r\n=AhD1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"96983611e6109720788e65106f9abd09bc067a1f","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.1.0_1681584582781_0.5834884923690729","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"stylelint-plugin-defensive-css","version":"0.2.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.2.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"c5c5e8f00be322397f86f1b12b8acabf99ba3c69","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.2.0.tgz","fileCount":8,"integrity":"sha512-dxd8uaggcmRlqdsST4ih4hCsvoFAnlO3ufBsXJ50aVPctbhjwAUg4n9qKqRrsFzFK47spvIdgAHFTfrumiY2+A==","signatures":[{"sig":"MEQCIA9Us1IbCMYeLGUE4RDqpHRdJy0GwV1ukM3WVSjDqqmxAiB1es0HGPFekOhG3ZuTM2C30PQc9tK/azGAOnQB0lxkBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkRMtmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWiA//du8iM7M6Czc6KA99dYlwHK8pYDRxqkTqRGuwcME6onKgy+R2\r\n+jtwo80PY5hfqlgutLImzJ2FXmgRnFDjWTjf4gbUKpHgSzkx/bxd0Upwwssn\r\nh3Z6rzk+PqU8aQGQ7OH1+6Wruk4qKRpRS85iuaB7lsVPIAFZWtalNS8aCDuM\r\nKfVUA3HhSutMCKhgEnAuW5k71r3gnjt0aJR8Ff3PQFd/hSDJDE+8GZ0qT2H2\r\nKKW3cGo+b0gP/PV0IcN9Hl5zHQ0+afTGK2pVZVNsteksn5++Zd1n9TUB5tMz\r\nMzo1shIXQgtTdGsJTKFoa8e2AWKWMBkLn88QzOSwEgk9SxO+JEpOn0OH5eCt\r\n7xnuAsbYsx35qOAAmz1xqIIw9D/3aTWVpGvP6uLf885z1dFqSb1/r1ST8u/0\r\nQg9WAPU5RpmKDHFGYMss++iedCUREORzW1PVFzYE+0+Gna9LQrmIySKMjxT6\r\n/e14hApA45HlpPjnkw4bS9OVL8jXs0CtuI9cy/kjiQLSM/71ZTzHCYX46GVT\r\nSnuKcepoXicjgJZdQx+A56J5oo8tYt/veHbpzxNYRvItsQ95vyHaUuCvGDkI\r\n5qbhmdTNPoLDqKqBQX7HD579l8bbFqw75RFJp5T1N42vAOkfi5+TutQa331T\r\nWzZWQNsyx8c8sfnPpx/2E/PfwlJcbmPq67E=\r\n=gwFo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"a9088f2a8de8671051a6d8fd37ee24c2e2c1b50d","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.2.0_1682230118506_0.030328443409842754","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"stylelint-plugin-defensive-css","version":"0.3.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.3.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"9088b45a2f071415f802b9e548bbf873d72532b9","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.3.0.tgz","fileCount":9,"integrity":"sha512-IfbQrC7ASOX/pI0oaet4pdTIAMJvYjXkbT0l2Ct0NQJ++JEOxMGMfp3LBEeWG9tZHz+q9DkdoaqmqVwlgXiwbA==","signatures":[{"sig":"MEUCIFss0R96jDnwhXjgw0zvj0/ivtx0J1TTnw+ffWUEhITqAiEAnKXlct85jCheiQSDo1rQXi418rT29firyJzaRE02fIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14510},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"5c2ab1ec464de8b697732ced9f57e50d071852fc","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.3.0_1683619861899_0.9158027648902942","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"stylelint-plugin-defensive-css","version":"0.4.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.4.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"ffe2df13cdaf656f0a087ae8330783aa326c4886","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.4.0.tgz","fileCount":9,"integrity":"sha512-TbUUqRVnC8qzaS3OVSTc6UAsbyTLosbH9qnqNEEOq+Vo2RsRTLhQrkuXk53oQDmlJwwpPSsNLpKnXXg+VxTL6w==","signatures":[{"sig":"MEQCIH9jXPkDd5PqDi16XqGlMwRQYEVyaHgfdqQSDsMKrF0PAiABxt91l14N2SzVfUXLErfEJSYgQXe27gqBZzoYflw4nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16931},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"b86224835e3ba0cdd473944ba527623373dcbcdb","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.4.0_1684135452655_0.9450250703849012","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"stylelint-plugin-defensive-css","version":"0.5.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.5.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"766082b7ae5af4e4a86bbbd1a6b46c5fb28137c8","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.5.0.tgz","fileCount":9,"integrity":"sha512-y2tp/MpfIQpPJxREWDmOtjemADxhBU7bx5ff2zlDcGVeivc1NL1sHQXLA3l+OZZGv6DIUeKop47KaaQ9QAo88A==","signatures":[{"sig":"MEUCIA7HfAGhCuLBUSMQ+vWE3TkcIoarnt+Qc8SzyvMXeKlEAiEAnnxLJ5gkJ4fuAL02JRz60jP20yDUpX2GXLTyvdN0wu4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19412},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"1f19d7449fb199dc7e25feb12b50ee074b63d4e1","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.5.0_1684141150117_0.45054911313471124","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"stylelint-plugin-defensive-css","version":"0.6.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.6.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"6832b395152c41a6fa0711150950460988c4a394","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.6.0.tgz","fileCount":9,"integrity":"sha512-NxAPovHuVLdLcGPPT0FLYVZWw1BN1HcdrG7r+HMNGNj7+dgBUbsuribBvjdPK6LqKM/5j0wIPJDGGAdury7KZg==","signatures":[{"sig":"MEUCIEut/FzYR428WpYVwwpTTWHeEWSurtPNrnrYHG9j0hGXAiEAlE9HIJan7PE/Go4a9IW/T1giuRRft61q+61G3f20nwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19321},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"206928a70a1f19a395137f0fa44280fdde708734","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.6.0_1685096143288_0.6545445165107096","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"stylelint-plugin-defensive-css","version":"0.7.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.7.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"1c3dc252f891395d957ffe8125179a5126a5e5ad","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.7.0.tgz","fileCount":9,"integrity":"sha512-YFqUSMFPmjZHQuhLkavxkUD/Z3tPLmaxCqP54QiIdpJ9p9Fwg8iKoCmqVw1pqZ5lrihT/+cqy9Uu/pvDbGH38A==","signatures":[{"sig":"MEQCIEnE0mVGhbFm+V2lkeLw9aJ0p9G1fUL43vqmGia34mNyAiAIVIMY+HPNSzj5waa2C31V01NPO76yxVqteLh6bx5mSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19319},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"060dbbad9d6279b249b95e28f684a7a306f22572","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.7.0_1686914418788_0.7398136937113233","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"stylelint-plugin-defensive-css","version":"0.8.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.8.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"b2ffa1b0e0f4a12f77eae9b1f13a6170b4819a3e","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.8.0.tgz","fileCount":9,"integrity":"sha512-DvDhZWpgwNBn9kuo+IT7v+wjv5xgDEMKFKJbHM24wxQ/HBU4a22+2extTc77tZWTiuWGNz2JBwLIVSdP65A3lA==","signatures":[{"sig":"MEQCIFrPcL68zdM14KtEzJGbt5ZGPQ4rw/32NMKR23C9RTRPAiBQEtHpXAkmN8fK7CYQmHtyTvkHsNbvi9LamvudS7E6cw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19598},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"dbfa7efff2506b76f500d9fb2a5aafa125ddbecb","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.8.0_1687677041115_0.5113090413610037","host":"s3://npm-registry-packages"}},"0.8.1":{"name":"stylelint-plugin-defensive-css","version":"0.8.1","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.8.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"50b5fdd0a8e7361062b3a01be6b997ba4c8c436a","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.8.1.tgz","fileCount":9,"integrity":"sha512-M/OjNz4Jc+V1VhU/iYa3l1f8nUawnnNxbf9/SR6VkWuLVdZWn7ONmSBGc7Kv0QIXRGbE0pLz1BzecsNy/LjOrQ==","signatures":[{"sig":"MEUCIBBrF2Wf0R9wE7n9gKKmd+ZF+rr66dTYA+ESnerp+8ExAiEA7xgOKsRvCvsBs/ca7kw5vibyn03V44litGQK2LBSWys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19747},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"293a4e748247a3b51982d09d5f28cb3871640397","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.8.1_1687677132443_0.1794128606505201","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"stylelint-plugin-defensive-css","version":"0.9.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.9.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"f8c110b9cffacbcf6e457c5035e59c5585647cbe","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.9.0.tgz","fileCount":9,"integrity":"sha512-9S6jpxCPp7WHkwr5QJ9nn+7kgpSqZCGQ5D8dlkOMRLr1P3HN6vBHMoSOkbnY8LQm5pLALkplKYr9NN2RQ9VzAA==","signatures":[{"sig":"MEUCIQD3lphgAQy3sTWdVZcsyjXgCf/5FsWzXJ5LHF8f8/2GbQIgBk4i4mXg+Lt11icwFs7kmxsNWby2mxRLQNHpj5AqK44=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19768},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"e06da78077b85d06c8fbd22b3b63bf209ab0869f","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.9.0_1695884243691_0.2638156907884255","host":"s3://npm-registry-packages"}},"0.9.1":{"name":"stylelint-plugin-defensive-css","version":"0.9.1","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.9.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"e9ac226ed234c52776b025a6a8551334f59067a2","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.9.1.tgz","fileCount":9,"integrity":"sha512-zVucZ1pVTpRX/7MCWp3MEMJ2K5hzhP/FlCptPPvspaoG+cwnofMR9TZBAbk7LT96oQyLCpqVunTP0qltfRl7fg==","signatures":[{"sig":"MEUCIHJ/IXSNLpVoVPtOrlrL2BSh4PSZnhS7tXWfpULlhUkzAiEAi8CU4LdhQyd4XvKVMiK/GaeYT0Nm88J23AfZjodgDPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19768},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"4f15d85efdaf910952928e1264ec8de93a34af90","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.9.1_1695884289503_0.5567974304718877","host":"s3://npm-registry-packages"}},"0.9.2":{"name":"stylelint-plugin-defensive-css","version":"0.9.2","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.9.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"fea346791ccbfaff487986dc3ad69cc6b2d7ca87","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.9.2.tgz","fileCount":9,"integrity":"sha512-Xeh4gGXKC3oixb7ht5xpcrL4hUAL4UhDAVRP5VmhZnov9gb6MM50dLsaJkX0VvprhdD/dAf3LHK1NLDfctthfg==","signatures":[{"sig":"MEUCIF4JKGqinK3CaBuFx2T01xrF/kNgKYAgNahQxj1eqQICAiEApj+7Fj9ykFwtrYzifK7sfh9ZA3l2N57iU476xu8h+Yo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19746},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"2df9902650e44c3157de10c97905755eb5e4e316","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.9.2_1697629364622_0.6250684321666065","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"stylelint-plugin-defensive-css","version":"0.10.0","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.10.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"0ae122692b252453e12572108f83e8708d4aae8c","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.10.0.tgz","fileCount":9,"integrity":"sha512-QnJys/5gT8hJPF30jRDoYhiUoOMNMbyt6FUAxFORTZf3xHOqUn46jBwuhQV5oXATATBfxDB+WABLnSagn8x+pw==","signatures":[{"sig":"MEYCIQCbAGEdxINu1F6QVjk1lZcTvQQJWIGOYyjNZHpHbeNj7QIhAIjPEt8FXROeD1u1O/m+jntI+bG2riS90a5hT2GscK+I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22145},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"266f5b9f5463c8b144dc0701931d7dda0cd1af78","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.10.0_1698479916104_0.7295182275200736","host":"s3://npm-registry-packages"}},"0.10.1":{"name":"stylelint-plugin-defensive-css","version":"0.10.1","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.10.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"3a693b7b345dcab09dc1d059e2f03719e206f4a9","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.10.1.tgz","fileCount":9,"integrity":"sha512-6J0uQgqmESgRe/r2QKR/WdQIaZKN9P0iCa6ZMpgNAbX2nOtCGKb1ur2dBXyROGI81OEXS3h3IXtuuHIObyQ5zA==","signatures":[{"sig":"MEUCIBfgjpKJpjbiRBBT2x/F59/VKJ9Lcnx2u7MHzT9r5n9pAiEA4qrQ2OkcUAejuI3bmP/yCVi1hRak3kN5Vtj+IWujTPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22142},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"f57b96c5c2ff8470a02deff95b1d38437a10bf0f","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^2.8.4","stylelint":"^15.2.0","lint-staged":"^13.1.2","@commitlint/cli":"^17.4.4","prettier-eslint":"^15.0.1","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^17.4.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.10.1_1698480109540_0.42720609856165015","host":"s3://npm-registry-packages"}},"0.10.2":{"name":"stylelint-plugin-defensive-css","version":"0.10.2","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.10.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"8cfeb7fb78073ed73ca7d8c874e6338f5943c64c","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.10.2.tgz","fileCount":9,"integrity":"sha512-/A/6bz3jKemmwBm77Uf2zLqT7gN6qLEDdQiWaABMidQC1aMsz52LRBQc8f5L1gAG04Nw5i7XbdQhlyfq9MGQGw==","signatures":[{"sig":"MEUCIQCEYq71sgNhK9/BTy4+q30k1yj5P2cuP/5dttQ8d19g7AIgXAZ51QLHHGxiSg/Ci6Z1P98WW+1CqSsb8j8fnrhCBRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22861},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"eb0f6cd4ff968531d60f585653101f512eedb62b","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","stylelint":"^15.2.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.2.0","prettier-eslint":"^16.1.2","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^18.1.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.10.2_1698482989702_0.7580354054223177","host":"s3://npm-registry-packages"}},"0.10.3":{"name":"stylelint-plugin-defensive-css","version":"0.10.3","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.10.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"6cec2f742b9e670ca6904381e1231d5598346467","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.10.3.tgz","fileCount":9,"integrity":"sha512-SQPIjA633CH6LPVkgGSi+b8NtzH44MhkFaeGZzIMCNEpaJ/DEaYYTfgnQpfGJ6h0RwNgC4HU3i11kjAHpdgVAQ==","signatures":[{"sig":"MEUCIQDwX9/1aHM0KbH7mptAMhjOqdhf6LRDw/+rgvgR4CXMNgIgYI5DejF2HPO8cuEwseldj5FVzWxFrv2VmO+iztjUwMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22918},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"7af73b79f75971e8ccee345f3837daee170ca206","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"8.19.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"18.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","stylelint":"^15.2.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.2.0","prettier-eslint":"^16.1.2","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^18.1.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.10.3_1703784137977_0.769325181962832","host":"s3://npm-registry-packages"}},"0.10.4":{"name":"stylelint-plugin-defensive-css","version":"0.10.4","keywords":["Stylelint","plugin","CSS","defensive CSS","best practices"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@0.10.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"7c9566d8cd0893c4af3226f18428d328b0adbdda","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-0.10.4.tgz","fileCount":9,"integrity":"sha512-Y2uzOhyLDckiAy2c8uJbDNENYXICW0JPgcnIjj+gK+jYm5SCVlvPwGSdwbn+zWDLR96NoAGRwhajMstv9nE5Vw==","signatures":[{"sig":"MEUCIC1HWJIyupYWqFimYmOtQkkgP/PrNuqYidHRSg1jbPY9AiEA5XrB21MdQkru146rpiXzHcNLcn6MfmiH66I7EjJTuO0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22863},"main":"src/index.js","engines":{"node":">=16.0.0"},"gitHead":"c492036e6e577523fd80f463e35da3bad302000b","scripts":{"test":"jest","prepare":"husky install"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"8.19.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.{js|md}":["eslint","prettier --write"]},"_nodeVersion":"18.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","stylelint":"^15.2.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.2.0","prettier-eslint":"^16.1.2","jest-preset-stylelint":"^6.1.0","@commitlint/config-conventional":"^18.1.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_0.10.4_1703830676589_0.8342047469901139","host":"s3://npm-registry-packages"}},"1.0.0-beta.0":{"name":"stylelint-plugin-defensive-css","version":"1.0.0-beta.0","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.0-beta.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"a9253b55db7d1253972c231292b3988819b91de4","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.0-beta.0.tgz","fileCount":9,"integrity":"sha512-WCLPldsZHARE4V7eh+Pn42qa68mELImj8ular0CXBMfIActkucHibQIe+dEhhLDxbfmAb4TQnfkh6dvRMeOvXw==","signatures":[{"sig":"MEQCIHoTEJy0W/RHNaX26LvIiWE446AZWb7hFkGYOAF3uldUAiAZFRlwKbMXKGdX8e1DLGWufZ6CZET71hwJQL0CdxXeew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22944},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"4b5879970c850b75db4aebbe374800369f0b5fe5","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"8.19.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"18.12.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.0-beta.0_1703832419929_0.5190518162133424","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"stylelint-plugin-defensive-css","version":"1.0.0","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"615ea46aa85d19525d5d67986c897e81036ac729","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.0.tgz","fileCount":9,"integrity":"sha512-86JZSncX1BLRg9MGbGkc1ncQTmcH8R3yT3j0t9AJxqPPYdA2m3D/w8D8K/qeiyOSJFXSyr3N7PxZxtfcyFa5cg==","signatures":[{"sig":"MEQCIACtAfvnr5KabjvzokxzuhDsJ/5I3aURdZS7+M0OV76/AiBJxLJyxp156n+XaU7zbNOOsIb/fh7nuEH7l5UiahIcGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23044},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"31fde357db65c8f238b9ede8db3a617fdc97da48","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"8.19.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"18.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.0_1703833311749_0.40727898899071113","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"stylelint-plugin-defensive-css","version":"1.0.1","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"988d82c4c700296eeafd7e5c5780832a366199e4","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.1.tgz","fileCount":9,"integrity":"sha512-vnomGwClbZ1090nEqNyZzzR03uuJpGiCh8fLra7Z/HxjL5h7INRznuqz8kaTfzjtLFZEIZMlKFdZY5XZQVCJ1A==","signatures":[{"sig":"MEYCIQCr2JwS5x/gmInRkfR4pOx6YcWuZ/3CLPTdjRJH63TPQAIhAOelKIsJmSwlMLBtWd+SG5e0jXMDjtOr8lGQ3+RxpF/U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23206},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"63b5b8def3a65e56d1f52379cf6a940ebd6de3a1","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"8.19.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"18.12.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.1_1704966254602_0.09781444513775117","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"stylelint-plugin-defensive-css","version":"1.0.2","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"28ed5cfad005c3caa284cf93f537380ccb9a0110","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.2.tgz","fileCount":9,"integrity":"sha512-VI91Tjm3e07OfR3u24GgMqdO0/lgv93nIGic9e5gmvlMUwtdloGJtJenlcYWNChmdBXmuikf2wtAYqPQfBoOBA==","signatures":[{"sig":"MEUCIE2MrgSI52fxAdiJ1xpwfaQ7Ypd/YXdL1uykFKnx0J6EAiEA7Vw1cYIYg/bZr23OzkYi3nETdK6cPbfN2SaOiQS6DqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23272},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"37b4ae6372f30ac28fbfc6d2f5526b52572e5d1a","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.2_1705929249161_0.818506630867524","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"stylelint-plugin-defensive-css","version":"1.0.3","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"8b6a3b63c4ecd1ca8305f20d6514e7fae577a6c0","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.3.tgz","fileCount":9,"integrity":"sha512-3P6o01qhBGn/EC5DzRCPllsOtg3A1u40BS+s0HP86sHv2kUiIk9CmWGekWOmfplYJYvFlSY4HyhLhl1VuDWbBg==","signatures":[{"sig":"MEQCIEP5nbTirVtHhQr3EeLKW/wzwjoJrwGt5LbAjePNvi6YAiAhdIvGbigUp3kuv6Zk/M3b7VI/0koZQGOheG3aNc1n/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23410},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"2ded7eaa244dd7dc1376edd7dcf84805b8d12445","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.3_1710591140687_0.1749908879283928","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"stylelint-plugin-defensive-css","version":"1.0.4","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.0.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"7ddb88969933a3a93be5930c02f54a8ef8f7fb1a","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.0.4.tgz","fileCount":9,"integrity":"sha512-8H5z8u+k/C88s1guEGwpcdZlbPhUdu0qHkQphqidCCchryx3/c95IFKiwg3aEhiXjADqdsOvMtckbqNDpjuU9g==","signatures":[{"sig":"MEQCID6GXF4+P1zF8xL9rG8YAsaS/w7xSJOt7gHuUZfXZPaWAiAZRvZjdmSv+Bod8n84v89z18MXPtNtjmZUiaBYh6Rh9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23355},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"4032d664ff7ad324c7542baeda1893d116533d0a","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"7.15.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"16.3.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","husky":"^8.0.3","eslint":"^8.35.0","jest-cli":"^29.4.3","prettier":"^3.0.3","cross-env":"^7.0.3","stylelint":"^16.1.0","lint-staged":"^15.0.2","@commitlint/cli":"^18.4.3","prettier-eslint":"^16.1.2","jest-light-runner":"^0.6.0","jest-preset-stylelint":"^7.0.0","@commitlint/config-conventional":"^18.4.3"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.0.4_1714644093052_0.9593809213766189","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"stylelint-plugin-defensive-css","version":"1.1.0","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.1.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"13b578755ba0d5a4008de08f6384a7d1eee93dfa","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.1.0.tgz","fileCount":19,"integrity":"sha512-l4q3szLwFzKSfgFlUVu1iTWAftVAkAs9zctCk0sjOJeL+TYNoucOdf5qxcgKCH4c+Gfvodbvz9+yz1RsbQYOpQ==","signatures":[{"sig":"MEUCIQCjtvoNG09IhFwgY+oyucrkRH1FMysMLEt/RGbKblmmJgIgRdt8oG1hUiXAVcYiZX7TDvEa8iueR9OJ3WUa3bZgGE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33226},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"07a6f4cd213e2acb6324829a746e448958be6b23","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","eslint":"^8.57.1","jest-cli":"^30.2.0","prettier":"^3.8.1","cross-env":"^10.1.0","stylelint":"^17.1.0","lint-staged":"^16.2.7","@commitlint/cli":"^20.4.0","prettier-eslint":"^16.4.2","jest-light-runner":"^0.7.11","jest-preset-stylelint":"^9.1.0","@commitlint/config-conventional":"^20.4.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.1.0_1769872977168_0.9391453837819557","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"stylelint-plugin-defensive-css","version":"1.1.1","keywords":["css","csslint","defensive css","lint","linter","stylelint","stylelint-plugin"],"author":{"name":"Daniel Yuschick"},"license":"MIT","_id":"stylelint-plugin-defensive-css@1.1.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css#readme","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"50db2e7865bd5fd194cb110b5d994642fb79eb6a","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-1.1.1.tgz","fileCount":19,"integrity":"sha512-Pw4llga9oG2nGC5drB3fNJa2vVBhkxerkOGK9/NK0ypnRHbFcSnKdhxHH034OnqfkfLd6SAQec/5QLYJOYI6/w==","signatures":[{"sig":"MEQCIFNl/Plb0hfppuDq3/atUe32k5jpXujxzVxrC75f+tUmAiAbJDRyy8Tw+zSxkrnZjXfaEUIVJTr+MjajwQDxmRft7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33237},"main":"src/index.js","type":"module","engines":{"node":">=18.12.0"},"exports":"./src/index.js","gitHead":"c0000bb7ecf7766f978917b51e442b83ad779663","scripts":{"jest":"cross-env NODE_OPTIONS=\"--experimental-vm-modules\" jest --runInBand","test":"npm run jest","prepare":"husky install","test:watch":"npm run jest -- --watch"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"lint-staged":{"**/*.js|md|json":["eslint","prettier --write"]},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^30.2.0","husky":"^9.1.7","eslint":"^8.57.1","jest-cli":"^30.2.0","prettier":"^3.8.1","cross-env":"^10.1.0","stylelint":"^17.1.0","lint-staged":"^16.2.7","@commitlint/cli":"^20.4.0","prettier-eslint":"^16.4.2","jest-light-runner":"^0.7.11","jest-preset-stylelint":"^9.1.0","@commitlint/config-conventional":"^20.4.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_1.1.1_1769936666439_0.04300286870240422","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"60b7767d88b88fc706b23c838f6ad7a7b7d638d3","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.0.tgz","fileCount":7,"integrity":"sha512-mpEyNcVR0/B06Byqap5EqoXV9U9JWuzipLP7dhEmIPH1ZO2aga4Ya0DtSQT6D0Gh9nv/vGhQE/1UsPemd0Ksjw==","signatures":[{"sig":"MEUCID3i2J6i3VIr/1PwHMPHKttl5FK8170ZLs8xcyfDjcnpAiEAjJ4/ITaMv7vOPk6LhMJuANEgpluXRqt6JD6IgxUk0rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76967},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"c36c8563a6cfbac3a97902bb9b01516c36729b96","scripts":{"dev":"tsdown --watch","test":"vitest","build":"tsdown"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.0_1770021716374_0.7011821954343289","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.1":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"5a8478272d31cafacc07d164b5bfe92a3cdb0f79","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.1.tgz","fileCount":15,"integrity":"sha512-ozBgX7q5RUI4POUGm7BFxWmHmqsuLlxVlKMkpvFIuNzM0rwNS5QFwJO1dc9c53XmVzAoZ2K1yayY72H0Dp/K/A==","signatures":[{"sig":"MEYCIQDcyuXMqGMe51CkAJJ4PxILsId8oKzV6uJ99vB5MoLRSAIhAKvb8IG7B9BVJaJwIcFf3QpRyq+r8OxvJWlslG78nXj9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"a5e9d118e0096d495ad3ed5d01e3ac8066d8b386","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.1_1770105869707_0.9097733365155347","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.2":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.2","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"52f280ad585cf861071eabbc85423266094a256d","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.2.tgz","fileCount":15,"integrity":"sha512-Ic/WLVrpNAfYh2DgjAdzYkgUaPwaSjbxKLVgMZvGQUbdzB/5/ME6liEpOQhebT2CItyiUicfv1yN0X7yLwytMg==","signatures":[{"sig":"MEUCIFUFCppm1c6NziLKySTSiG/9vEQRdpjeddxqdc7kZH3TAiEA5tzWJiTz+oIfy/FvxehWVK7pfjT89kkzzFCqQfyetOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"5f708b06c47a215916e7e506aee11f2a2999a5db","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.2_1770105897705_0.5929513125953112","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.3":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.3","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"dea304c14e1fddd4eaa1abeb9acf9785754ce883","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.3.tgz","fileCount":15,"integrity":"sha512-CjF3C8+5nCpiqn3h8w8LNMoQt9Cthmd5GSmYeB28b6XFD8VjPnT5qbj+0BkezQN7FEvymIbCNuMuBmZh/n1OoA==","signatures":[{"sig":"MEUCIQCsa8N+o7ZoFLqNS3wQJ2Mo1wpFmWuFM5StAzoLoyyK6wIgD9QX+moBEx5kwZnfGqN8JweKoRlm0o3TQ9VQm1M25lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"de041e56d49dcf60b218f1e3dfa3554a804c1fb1","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.3_1770105926397_0.9363846679313657","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.4":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.4","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"d309b83efc1cbb0c3e920d1079afd243f114e4ea","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.4.tgz","fileCount":15,"integrity":"sha512-HOGb3QNJbFw5Nij/5R+8AojMLUGTGEPrMf71JsneFerjjYza6tMGxTUbc8vxY+WutpdkVheo5q2nZqM47oR0EQ==","signatures":[{"sig":"MEUCIAUXrxxxiboTLE3FDgWfsIh4sn36Csyd2+6jW5FMPdoNAiEA5Wg++dcWGD7whqYa1y97ZIrR+rI7fEwe/DjjgWcnzI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"9df725e6d45340fb816b6fc8c0abea5c88c13e39","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.4_1770105957754_0.307673633245066","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.5":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.5","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.5","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"7a7b9f6fe91d5494e3cf7f32323571a50cc3fe9c","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.5.tgz","fileCount":15,"integrity":"sha512-kVOtoo0v6Nx+2Oso+Xj2y9k3r5ZA32nVXD27+4kOJdhfFlqL3qMmTPbr83/vRpJa/q+ZxROaIK0sUNyYrji3FQ==","signatures":[{"sig":"MEYCIQCv3NbGmzFTqXDH3osWXs8EAaUGkyb8q8OA/Lb50lh7IwIhANQ0y3Tu7+EmxenYMOc7peTF1qQoI5vLXJnYO626Za5N","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"a715741065f63d190fa975cb3dccf0dc5a138f0c","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.5_1770106236003_0.7502307084442932","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.6":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.6","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.6","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"bd40da42c9b6fcac5e89cf4775c2de6f450c7785","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.6.tgz","fileCount":15,"integrity":"sha512-LdlEWpX3/DibtIUZWIkBqflcJJ059i89AX9zG3SgZMYm/CVDfMJC5rAOCvZd2qTKtJyypMynkcKQJjVmdqs4RQ==","signatures":[{"sig":"MEUCIQCdVe5s/dwezCCVm/BYN6/oReIb1PkyvlnagFMU5BXQ9AIgPYREJ/+iO01K2WLYws9OiOVmivDuyq3/916auGWzxhw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"18c105e3e0cb1b138b22f880a9f4d6d81ce26cbc","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.6_1770107316705_0.4909169911269464","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-next.7":{"name":"stylelint-plugin-defensive-css","version":"2.0.0-next.7","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0-next.7","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"865a71b5695d7e8fcc6ee759dede8e98b472af36","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0-next.7.tgz","fileCount":15,"integrity":"sha512-5mpIvXQjN8Xmj9EUUFG3uqyLIe2s0wKT+5j2mc+tllHVeAyDhh8DsChR/QxCzw2CaVl0kXHPEf1SLIpljKQBmg==","signatures":[{"sig":"MEUCIQDWarXxvMrgw5+/eAL3AxOCyibiwYqNlXpZjTEHASTqpQIgcsC5P3HqpBr5fmEvSgaY3T3/UPhtl9Le/RXgN9/29BA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91534},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"8c793b78f55a2e498c9589e7edd306e44fc8b7c5","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0-next.7_1770107517825_0.43474318648835863","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"stylelint-plugin-defensive-css","version":"2.0.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"e36bc5a529a939d0f78a7318843c72bfd4fe1e66","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.0.tgz","fileCount":15,"integrity":"sha512-bhog5F6Pzslf9Mmd4TryhTwK2MxC9SoekbCA5Z0VlsnvyHnu8WRzW12aPAcJkUzBxrszxRpyH8NvsYEfzNjYZQ==","signatures":[{"sig":"MEUCIQD8yLuYl9NVmkIhKnxErMa6ZbaMYBUuuu20RfpQtzjf/QIgSZxYmLpMtx5+XZ+E02Rdd1n5pV2B8Zjn4ijCmZREyvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91527},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"cef317fd98f7f4bdc359a45d42389b8ee8770edb","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.0_1770108232592_0.9018052134370154","host":"s3://npm-registry-packages-npm-production"}},"2.0.1-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.0.1-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.0.1-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"be006765087821b7037a2de7cf826ce54d1812a9","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.0.1-next.0.tgz","fileCount":15,"integrity":"sha512-vdTw8ACuMuIl9hGJWBibisAwQZUNdd0+l5FadZSxo/k6vXKGAv1Jm7RETpcsHFNkpCjFz4QONZj8TiXnc7Eheg==","signatures":[{"sig":"MEYCIQCttaq0MArk50FPlQQ3FxOODraBumg/3B25pGjIOq54cwIhAIbMXNb5UTWiOLD6pktQz1t2YdF1nMF8lePmhnzwuYJb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97678},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"e1909eb5e89d5e29e54a85ea1f043ef3c973e93c","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir --config .release-it--prerelease.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.0.1-next.0_1770132596680_0.7876515068474119","host":"s3://npm-registry-packages-npm-production"}},"2.1.1-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.1.1-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.1.1-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"7ce175b2bcf43cdab6f80f0f5af1b4f0b0862456","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.1.1-next.0.tgz","fileCount":15,"integrity":"sha512-2EjdIcfi/PXAjzs4g/3RahzrlDU8NrO3RpWWKrSaA4spIAVMwtmW6/frRBeL01xljh5ygIr3R+CG+0ThD2JIdQ==","signatures":[{"sig":"MEUCIGrxfJnWVnwJEausEfJQZMHVqzFe9dD8/crvQrqpgI4QAiEAmKrEIHHf7M+nN8qd5T1pbS8qYFutaBwulDXl4cctoNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99095},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"030d3f6de391c35b51039c55a3bf8cc4d0966fe0","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir --config .release-it--prerelease.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.1.1-next.0_1770133198385_0.5804595712216085","host":"s3://npm-registry-packages-npm-production"}},"2.1.1-next.1":{"name":"stylelint-plugin-defensive-css","version":"2.1.1-next.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.1.1-next.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"97193743ddfb6cfa375a263da096a648594933cb","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.1.1-next.1.tgz","fileCount":15,"integrity":"sha512-rDgVgG5BtpAmi06MyPfhYyhzug76p3ANZk9cMXHPG71c0qX/ihjvPfFRKBp9Y4uAgYzA8pElo8Zp859xPtE/yA==","signatures":[{"sig":"MEUCIQDKhtdkpARIDB3yxY4TLNBYBPAf/rHxMIbaZBiSlVcqhQIgEbb5UHZE1aB9w9mbK3CqqWOZ6uWg4QfW10uupkAm+5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99095},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"110521b105610b80222e0a114343791a3c4eec00","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir --config .release-it--prerelease.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.1.1-next.1_1770133635200_0.19063498041005333","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"stylelint-plugin-defensive-css","version":"2.1.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.1.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"a3520b35237c3da14a08b40e83167e74285e416a","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.1.1.tgz","fileCount":15,"integrity":"sha512-1KTrgObai5aSvrzVl61mTaDZLtKXDpCGDM5X+R2HMOMakpiKMSkM+E7hBrjJYSrOJXj4u5dDSQcmfQ98oIuvrg==","signatures":[{"sig":"MEUCIQD5ChqK70ui2rYx5XSr5H7nqK7zepjFqXjHXH3NgyCQmgIgHijzjEQlF0dCvK7o0AUt4C0do/bjCvC1NY1Wgz7L8ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99088},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"e64fdfafaba20d2922efb27ae6a21c27d6e455ac","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json","release:prerelease":"release-it --preRelease=next --no-git.requireCleanWorkingDir --config .release-it--prerelease.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.1.1_1770133747926_0.8172074003840815","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"dcd152b805207ca0f2da1a85ed059d4eebd258b6","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.0.tgz","fileCount":3,"integrity":"sha512-SnEMKylKXzfu6Mtvr6KkjOhTp2vIumR8MyT8ANIKpSEeCCOGzR8svDqfQSLgJsdyExQ/f+8nSJ6QruHmbglvSw==","signatures":[{"sig":"MEQCIF00bnwJ2td1iDRAIyBhg+VZUkjCsX3ekg6w4WhvnRyjAiBCani6faJaQeJAwrXKyEuQhK5XAhupeAZHaGLBhz1VkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27023},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"6fc9cfac17c816c2754efb2fc5833d2f586a2f20","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.0_1770300813428_0.29705173080997427","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.1":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"66944006762835a8cc2afcba1b36b6644fdbe266","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.1.tgz","fileCount":17,"integrity":"sha512-6dKvxtTBNTyv/hdYo9Jg/2ZIpVmw6kBfL5owsFxB6RIRFYlMmX9UAj9BGuaDguR+0aJktRkUUtHxneXGFj56Yw==","signatures":[{"sig":"MEUCIQClBNrd1CgJycw0R++aB7Zekcf3Y089a+ItvTsFZZhAQAIgCd05a2QGlVv3/K74XNLrep/k7AL17zwiqv7TZEqrH1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117996},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"51767ed72751fadf6b2377ea5b1a0bd9d2f76708","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.1_1770301752220_0.4224213484875796","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.2":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.2","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"9e33aaa2f113b86b42f265229cbfd9f9ff9e5435","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.2.tgz","fileCount":17,"integrity":"sha512-A8lf6CBjTzq/Rzq2OkApwxX/aGt0vRuhoSflYagAmtbsWWkpmpb8w+wvu1Cvbi4nIFPmKTHAl1PBuCUaVzRIpw==","signatures":[{"sig":"MEUCIA2AHEeOj6wLv2sWID1DdzqPVokDwPLg4DVaQZ3z8j7nAiEAzXfkKlILXXgrQhiyU/QPQmy0hZTzPBYo7dbqmtaV1wQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118095},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"baed12ae624313a2a4850dedb41a27a9865f122d","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.2_1770320689594_0.40516737104526435","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.3":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.3","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"a4caf8dc5f723a1bae5a352b6bbae31a5f97a920","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.3.tgz","fileCount":17,"integrity":"sha512-7pkMbFRGCSuoSd1UHuOLS3WdmOuwWBWw4ig/G8P+EQrPp9GDKzc0ekBRIfL8PyY02c0ucimcFII+jMzOHgOC8w==","signatures":[{"sig":"MEUCIQDj3sOsKBR3JxTAeLWVGn27JooZg7B+oaW9j7Xx+hHLRwIgVCK1PTeKj58VD+VMpHS5q4l1Ipc/mzJ0Z0buL92TZEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119323},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"5313ad578ba5cf2ea98b5772ea6dccb06ca360ee","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.3_1770369067400_0.21034659219972252","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.4":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.4","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"f0a4f615566b577a066a254934f883e32aed55d5","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.4.tgz","fileCount":17,"integrity":"sha512-C2N5xeJZyh5yMlE7OtrIHtQTPhuTHV4OWKA+pxUJ0CBR6Zd55VsB4EEWZpS43NLrYwEZbqczi/F2TzPiGBOWtQ==","signatures":[{"sig":"MEUCIEDQaga9CCQZjrwUMfl6rXfAPP75GpRxPHWQctLPeGd3AiEA9PWBJl1p1Lvu3QJeuYeFaVkjV+UZ7gKxIWgulzrQmIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120543},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"b10e9762090eb5a19b334d1a3de34d026850ec38","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.4_1770370518392_0.14122623980614857","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-next.5":{"name":"stylelint-plugin-defensive-css","version":"2.2.0-next.5","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.2.0-next.5","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"fd54fac695a7613443888e048c33a794e05ef677","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.2.0-next.5.tgz","fileCount":17,"integrity":"sha512-3m2qYE+xEkpSbqVJWljY1fvDJkzyF4ZI27XX9mVjIiUA6xQ4bJYuePg9WV7KvAZgCEOA2PY/TaVXcWCNZqI3nw==","signatures":[{"sig":"MEUCIGnPxd6vDSU6xltsEVVb/9fW+x1W293rae37k/sZdc8xAiEAxr8CaBh+WZZwMkGSZWSIEQgIGyF2S/EESKK8utIVZow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127308},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"24f15963593dc1b0a8bc1d64d78d1b45d5ddb35f","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.2.0-next.5_1770456051762_0.25722421299008924","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"stylelint-plugin-defensive-css","version":"2.3.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"9d997df00c484aa928b84240544345e36c576392","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.0.tgz","fileCount":17,"integrity":"sha512-3nOw4mLKEZGWnL9YGaCMZBr4HAJET002sj9WDeIpSuatMvrp9ZMC0/XxxRblRvtPhCJwDgnDWKmf72fsHVjhXQ==","signatures":[{"sig":"MEYCIQDLcc24IkBNBXTGx0wU6Bm+s5tzz+L6h68T7a+UCuh9DwIhAJTkAxX8jGJYQsiTF4Ra8L0kDzRXRCBOZHGqLGgViHbp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127338},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"e5ad97885f2f26e3f8e078bc701c5d1ae05d57df","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.0_1770470935827_0.5092203891288609","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"e364e0bc41739df17a8fff6a9ef6082fa66152a7","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.0.tgz","fileCount":17,"integrity":"sha512-FjiM14bu2SuEjgH752Za4AjgTT/USku5VWAXbIx4xDZ7HLwXF2FP+93eRLrOZwgVWePRP9wNv1Gi+HgKAqcK2g==","signatures":[{"sig":"MEUCIFjXFvt1zLz4CNQjHfmKMPnYJDgEjhqypUCPT0phhwwVAiEAiYRS6yP4f+42sQIK3WmWf9kcbzx6SfZLXeGUY4uR61E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130175},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"343cef6f3a86e4fd76bb6ca3bb7d2073299b0779","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.0_1770475642314_0.020243265836587865","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.1":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"aa15a4454bc320d451ce05b99c61df9be41cc2b2","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.1.tgz","fileCount":17,"integrity":"sha512-zf57EGqpdUBuqidvVbOXxfjZeVWpGm3FEH3VxUW1SbKiZp08vPEA4XzxHR6PKi70X4NlPZVIa3PBRrWihUxNTg==","signatures":[{"sig":"MEQCIBi5Cy+M8VkM2fuAlZXcjN7av89Kg0rPZwNXRAsC8Yy7AiBki36COHo4FCW5BXskJboMvfpDltaRWbBYL/ebjkxdyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139614},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"0132309b6435702b68a957c0ebcffb2fe7d99169","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.1_1770476006737_0.4343088223678442","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.2":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.2","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"9e0a385125cf9154658a687fab0ef9ff01573785","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.2.tgz","fileCount":17,"integrity":"sha512-c34q0SwsvGe1u+VrOW/NFBOmQh+J1VSZD2c18ZN6g2YveuX/7cXx5WDZ4oovjj1ZQwG4armxyxnRtAt5jDutMw==","signatures":[{"sig":"MEUCIQDSEulVkQchbml77TTNgfWzRpTP4hmPapZpxkg81NpfMAIgTmHUaPjQLdrjVLIs7clo4rASEurmhIkjm3OwUC+GyzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147026},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"9d078c9f0daddd30e678ea27ca19c548c15b75d6","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.2_1770488001324_0.659798639158069","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.3":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.3","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"d421f0f8f26e8951cd0536e057988b761e1521e9","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.3.tgz","fileCount":17,"integrity":"sha512-9X0Yrg2DO1VXkqd0MrLFJuyX+XQo7sizOTBwdtRk+ydw9dAT9RZbtLFUjDG74vBAknbx855kFP31kEH+9ttirw==","signatures":[{"sig":"MEUCIQDyU5fwU9nBSUxE9E7I0b0WrH6k/cN8GFkgidlVjlJZ7AIgPIak1IMVd0qJrkSKTDLqyBLXEsYW57OVXhlPURic00U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146646},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"af9168da71c904652e10b0eaf93d74b3e7429a5f","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.3_1770492992289_0.557813850815227","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.4":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.4","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"8ebcc37e5483c8d6e9af8882b92cbb98c2c66e6b","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.4.tgz","fileCount":17,"integrity":"sha512-iu0oVQx8a2iU7yhebDBzVcKWa2A/KWmRyAsUAMTpGwUEAk3HQlOVxDnToO4Yyn0B7Ea6eg3pIjNxv6iozpdNbQ==","signatures":[{"sig":"MEUCIQCRxfspyc3Wi5+Mn/oh/4j7rA0R0U5kwTHS82oNsJ/QeAIgaDkl2VvbBeOMZInfIBPbqirjn5tvLM9vceS3FD69arI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147347},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"}},"gitHead":"68644a13ddd257680dc3a41a9fc1277a9a05a745","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.4_1770538469121_0.29857868904001195","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-next.5":{"name":"stylelint-plugin-defensive-css","version":"2.3.1-next.5","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.3.1-next.5","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"1d7510917afda991b65bacc4c7edcb84878e6c3e","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.3.1-next.5.tgz","fileCount":21,"integrity":"sha512-XQ4EQYCzAyModbrOMYl5kwxdVlLpNaSAyVF1V0Q2lMU7P2iEk4OYK7T8YtFAtlQEvsFPEdBw8kL2FPz/vxtyog==","signatures":[{"sig":"MEYCIQD9SfMEwPvE5hPp1eHxrXnGmWRSweF5sNonvE4jS6HCkQIhAOQKZ64BSfIzisYZwdoihCH0QWoOyEBXZnNTxMKIVoEt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149529},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"fb39379d88899f93011037a29d796518c8993ce9","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.3.1-next.5_1770538688602_0.5963463761360341","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"stylelint-plugin-defensive-css","version":"2.4.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.4.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"95ac919b74a39cd68326c483be6f25d25a801a25","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.4.0.tgz","fileCount":21,"integrity":"sha512-ya0Mq1zf0plzMtJ3QXSVnQeOdQvlcnyhybD9gAsleAv4XjUWNPdk0btKYaZbu2oZ66XBF2oRh6tVrobdXuPykA==","signatures":[{"sig":"MEUCIAoNKbcshWeTtJxJG5heK1qk1hKAPUmPyMJL9SW3fEzvAiEAmK5pvo/xrZAQ/iDtVtQCFanxnykC/prbb8y9u9W6VPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149522},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"fb39379d88899f93011037a29d796518c8993ce9","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.4.0_1770543435586_0.1369641365017975","host":"s3://npm-registry-packages-npm-production"}},"2.4.1-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.4.1-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.4.1-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"16a96dc8bb2d6b2b9e63f371b61d161d93ef25be","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.4.1-next.0.tgz","fileCount":21,"integrity":"sha512-EgTJgKFhwPVN9MFMqkYFENww0zzM+RsMJ1Qn1JRiflXuJ9bAqZZfbsjXoBeJfH2m47jzSfQzxWVhkYPYF5c1AQ==","signatures":[{"sig":"MEYCIQCOaMyanA90Rjha+7JuCdORJoPKcpgXYp6+h7qnUQWJBgIhAIwrG1b70mZcGJPDcqg1/hg7exMGacJ/13/869Nt3s8z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149529},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"bed5ac6b8c9cb26dd96024e63b161f751965a108","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.4.1-next.0_1770711051881_0.04236208435178712","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"stylelint-plugin-defensive-css","version":"2.4.2","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.4.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"f8d9a66cf26e379ebe8911c0d69bb89ce8b7f4ba","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.4.2.tgz","fileCount":21,"integrity":"sha512-+C73LeiMLbTAg2dzl/gA4UL8MCutCLlR5V07TizNoRxqKWw/HPrm1rzKlmv8MTkjZ/cmEj0zn/ANLhGlw7+Sug==","signatures":[{"sig":"MEYCIQDQAxXRqPM2g+sPdBB37gSuLbT9kjagYiXLL7e0WyIijAIhAMMJQYpqq7OKfb930YD2IJ/1HLYeRgcExO9FBlXuGZQT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149498},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"2a3c6177ac5feb713cb118573567ea318c6cfae4","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","lerna":"^9.0.3","eslint":"^9.39.2","tsdown":"^0.18.1","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.4.2_1770711474817_0.2313347745058032","host":"s3://npm-registry-packages-npm-production"}},"2.5.0-next.0":{"name":"stylelint-plugin-defensive-css","version":"2.5.0-next.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.5.0-next.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"483830beb83a1ead167aaa99db0db1421e0adf04","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.5.0-next.0.tgz","fileCount":21,"integrity":"sha512-u+quWtKraJMjISh42wGgXJN8dZGSY1DaQlNGqS2kcXP7mJty1xFkOkSE2cldixMXkjJsMnevSFvCXwIWXJKq8A==","signatures":[{"sig":"MEYCIQDeb07OjLBQGmSjONLw0/aFX6ScHG7dpfXbg7kzweSvMwIhAJM2qaA0wjOqeOJZlRW7EgKnGcdiWGTSZjafCibk6Y3O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1107296},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"65dc094d02d49d45a2c83cff627428f966fecbb1","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"10.9.2","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.20.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.5.0-next.0_1771341609628_0.30845547848569765","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"stylelint-plugin-defensive-css","version":"2.5.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.5.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"5a451bec3e675f7b097d034b98ef9ed1d4713a5c","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.5.0.tgz","fileCount":21,"integrity":"sha512-6LFBc+MsdxEvXAb843E5JW9KldmHvZWypbC3OcfxeC1qfMCHO9LaGfrPfzEtivIfyKEsG8sUfQOFNoC47DRDCQ==","signatures":[{"sig":"MEYCIQCAjZRSWMQpl3n1LmV3rOuUfeRdqNUJO2pvK0lO3MeugwIhALGqMg2o3ABeBeUyO1aGYBP3IrRwSgIvzo+sNhOEstwU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":160865},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"55455320250990829a7937797854ffcd86c0984b","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.20.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.5.0_1771342609740_0.7341111664253699","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"stylelint-plugin-defensive-css","version":"2.6.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.6.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"2c51ac974010461e3f1014badf26d4e4f94fd0dc","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.6.0.tgz","fileCount":21,"integrity":"sha512-q3UAggG4r51MLfcV6mK//e+oXQIZ/5v4z+al5fOXPrrCDMSmlOMmJcOj1b32oMjFH493aSARQC82lMbUH3Mc4g==","signatures":[{"sig":"MEQCIEC68qrI0SHlp5j36L9OCROiQrwXqepQVPfik+0Hhfw/AiBE2qnUPD2PCut2wI2nu1ZODKlQJRELJ0aFaergpQHqsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":165599},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"dfea12de1e6ca3936b8deec94154fc3a16caad0f","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.20.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.6.0_1771756491536_0.5828900553490972","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"stylelint-plugin-defensive-css","version":"2.7.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.7.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"00307136ad864d4801c72e3d3ee3487d2d7dd033","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.7.0.tgz","fileCount":21,"integrity":"sha512-GL7biBCTuxQOwv2VSHUVfwgA79XrHplksqjG3F30jEH3F+wH6zNz6bn2rgNbGnwJL7sGwm7gdfuwzTr8o/TdqQ==","signatures":[{"sig":"MEUCIF0j3OC9JUiDWsAPJvqOwSI1FZVGbr53LHUmGV7jlBmAAiEAwQye+6JeEB54pDOB+pWKlOCMlLZ3qg/jW5lM0BXP1tc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":172837},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"da071d51da9d4cb3ffc5317d0a89342480a928ba","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.20.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.7.0_1773742089431_0.5735809250057622","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"stylelint-plugin-defensive-css","version":"2.8.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.8.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"9b947c08a40a0ee07d628990ea15b7054b983f77","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.8.0.tgz","fileCount":21,"integrity":"sha512-+jM8cEgBiDZt5w/BqOUFz7yCMIsVSRl26FHNKxuHpwb3sNQ1UDGBIWPmQXBu1BLBEXlnD7Jta74jJlS16ZP18A==","signatures":[{"sig":"MEQCIHCv+Rqe/iRgt08Or/bz75L0OfQcgn9K31JCN486nmcMAiB7LSi1+XdY4g1jypc1vay9SKNWGztnzFhUIS4r6NDIaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182530},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"ce65b768736bf4b1b55fef6253c20f9d5ea2e62d","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.20.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.8.0_1773909337031_0.07899931405392846","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"stylelint-plugin-defensive-css","version":"2.8.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.8.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"239deddfcf0f173863603c5f10daab5341603088","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.8.1.tgz","fileCount":21,"integrity":"sha512-1N7zm9U2zyjVwn0Oy+oC4fhUz15N2L+aNx3bpo0SQPcYkojlbTVJH4ab68GKP/G/Lt8x9pxUa/CGS0YdfW92Tg==","signatures":[{"sig":"MEYCIQC1zgPC4o8ZWEyhrmuumtivbFNIajK3PJocAwvRrhG7mQIhAPysVEYkfRS/osNgbTtnuIr9Mca+v/u7X1VYTWz5TWCh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185422},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"99b4c79bb2c3c2eab98ee3af4ae681ca29426981","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.8.1_1774979134931_0.5990700019649209","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"stylelint-plugin-defensive-css","version":"2.9.0","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.0","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"c8efa1cb8ad5910780d65480a7ae858e6e4096c7","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.0.tgz","fileCount":21,"integrity":"sha512-VEp+HTLSRauPMWn9TwpD6YAk73uVOewK1YyQzDo4qMCsnL3azlg8EviZQ5VsywBVLhb2HyXs8HWNjK6h8ac85w==","signatures":[{"sig":"MEQCIADtJQ+Pi1U78aNEg+M/ozOW20HHDyQ1GNYJmV30kRfgAiBrTtxS4+o3wK4Hl8eYTMQAH/qqVyqCQ6pJt3Zj9NEwaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":235791},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"09d5d7d824d2cd567979c88e571eb924e660f361","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.0_1775714344474_0.8284308866263044","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"stylelint-plugin-defensive-css","version":"2.9.1","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.1","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"18e857c762924748df97bb4ec1139df273ad6468","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.1.tgz","fileCount":21,"integrity":"sha512-y/+9Nz5Wf1Of8eFzN5qwLQSL8rTlokX6VnveD/Gy3+zJMDdIzOZ63crVoSqtJYIffG1SN2j68NoVnfd5rPPKbg==","signatures":[{"sig":"MEYCIQDAr25yt+K8eorbuzmKwv0V1vkk9ZlsLcPe4z+wrIMthgIhAPSYeYn2APZ50Hl5sejTzaIK8CHsJWPVRah5mrgOgONa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236031},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"c0bf970c4cda1688013a020e26af80095de33096","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.1_1776498304061_0.3456470501128237","host":"s3://npm-registry-packages-npm-production"}},"2.9.2":{"name":"stylelint-plugin-defensive-css","version":"2.9.2","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.2","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"0fd6a58049fc9eed52a46eda2cf061b883f54808","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.2.tgz","fileCount":21,"integrity":"sha512-CXqcS8QwRS5JRvi4/ZoPK+EHLaUQ5YJbaW7fHTTZRJFRgUbt/RbAji3uFsVkBSnH1yJfWyCZ72zPvh7M4sIy2g==","signatures":[{"sig":"MEYCIQCcVbCFsBVU+GxiHslcKJSOggghp8SqNnhlxwYR5OlNTwIhAInCydXitE8/XEp1n7T8tvnjIgI0z1VtQmtpprhbORUT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236779},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"bec1bf2834700b61b0629af3551680f79668bc88","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.6.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.10.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.2_1778654513652_0.6032249871637225","host":"s3://npm-registry-packages-npm-production"}},"2.9.3":{"name":"stylelint-plugin-defensive-css","version":"2.9.3","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.3","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"e764c4e3821c0ddef13130ea63c609c19cbb589e","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.3.tgz","fileCount":21,"integrity":"sha512-PyDi9C3i51f8tOoAFUORpcHwiyybc+7vAhGwIASothux1bjYMaoXAZy9eR+QPM1Ye33qVW9qq3Sn7c0CSJ1egw==","signatures":[{"sig":"MEQCIADAU/AVkpyq1tpo9TAMcmvlF2zYDOPmGizDGMpzXSM1AiAzkUqalkdtGLmhjINx8sFbwTMvVxrb4ZHvdyAP5/E2aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237063},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"82f76c6167a1fa4076b8fc2beb4d36e10f30c310","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.12.1","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.3_1779455115856_0.3338202697477741","host":"s3://npm-registry-packages-npm-production"}},"2.9.4":{"name":"stylelint-plugin-defensive-css","version":"2.9.4","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.4","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"915d6765a8ba95caeaeee0e7663e6a8be2fb7cdc","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.4.tgz","fileCount":21,"integrity":"sha512-LIqhTJHGyliBiO9MwMOFlL37Rm+3lTeGzfrKsIeR2hMMKpw7I+essHymSXokOOLD+ndyjCLTMrXgtq88rtHCVQ==","signatures":[{"sig":"MEUCIQCTcIIG6IfC6nN9euWLVG0PpW5G3dz38EnipQ4xLSsmXwIgFnXVA7O6ToLvkMj8bLBz1MwnwdKFur/jg+vDjAKzUG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245105},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"1c5e66c95555d1a4fc63e1f781432d1dd89e01b7","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.16.0","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","postcss-selector-parser":"^7.1.1","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.4_1784093456201_0.17280742446729103","host":"s3://npm-registry-packages-npm-production"}},"2.9.5":{"name":"stylelint-plugin-defensive-css","version":"2.9.5","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.5","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"3f85d746425f64b042dc67171cd080c232bf55b8","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.5.tgz","fileCount":21,"integrity":"sha512-iF72bpLMpCS+kBg7C7wseXP6uV5kIj1epBejrzJRMqXZLRw8UcpdJGtmamU1ZQNYhLtrK/xiFR4n0xQ/W6ZAtg==","signatures":[{"sig":"MEUCIQCti5BhfYoU5lEoZDLp92foV9vw+6Yx6thCRbcTc/GvoQIgSPK19lXu0PhL2OcTLsRAEbrIER9VHXhAzCv7flVrHzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245129},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"a2bd54e7c229d0c64ef81af43dfda2705014c018","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.16.0","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"postcss-selector-parser":"^7.1.1"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.6.1","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.2.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.54.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.5_1785738290742_0.6128600756257456","host":"s3://npm-registry-packages-npm-production"}},"2.9.6":{"name":"stylelint-plugin-defensive-css","version":"2.9.6","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","_id":"stylelint-plugin-defensive-css@2.9.6","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"dist":{"shasum":"aac98f30bb0092bcbd7659600203da4dd8cb6bce","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.6.tgz","fileCount":21,"integrity":"sha512-DhZYjUX3AjMCn6UQx3ksxbvhET7lt7jBu+5q1Z7Db5Lc15aDOIZX4usvSAXQQpnk3SMxGCS20abPr2ipU++iGA==","signatures":[{"sig":"MEYCIQDwoytzK4aavaePizX2/5aXKm269SLEYBzlzArfkmi3rgIhAO1HNS5iXmp3U17dKdEsZkvjae5tajrjBrPuKRrKd1Qo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245211},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json","./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"}},"gitHead":"c5554a5a685dd438451bdde490e13b40da3f4174","scripts":{"dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","test":"vitest","build":"tsdown","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","test:watch":"vitest --watch","release:dry":"release-it --dry-run","release:official":"release-it --config .release-it--official.json"},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"repository":{"url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git","type":"git"},"_npmVersion":"11.16.0","description":"A Stylelint plugin to enforce defensive CSS best practices.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"postcss-selector-parser":"^7.1.4"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","eslint":"^9.39.2","tsdown":"^0.21.3","vitest":"^3.2.4","csstype":"^3.2.3","globals":"^17.7.0","prettier":"^3.8.1","stylelint":"^16.1.0","@eslint/js":"^9.39.2","release-it":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.1.0","typescript-eslint":"^8.62.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","vitest-stylelint-utils":"^2.0.0","@release-it/conventional-changelog":"^10.0.4"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/stylelint-plugin-defensive-css_2.9.6_1785739663619_0.6186413357017324","host":"s3://npm-registry-packages-npm-production"}},"2.9.7":{"name":"stylelint-plugin-defensive-css","version":"2.9.7","description":"A Stylelint plugin to enforce defensive CSS best practices.","type":"module","author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs"},"./configs/accessibility":{"import":"./dist/configs/accessibility.mjs","require":"./dist/configs/accessibility.cjs"},"./configs/recommended":{"import":"./dist/configs/recommended.mjs","require":"./dist/configs/recommended.cjs"},"./configs/strict":{"import":"./dist/configs/strict.mjs","require":"./dist/configs/strict.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsdown","dev":"tsdown --watch","lint":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}'","lint:fix":"eslint '**/*.{js,cjs,mjs,ts,cts,mts}' --fix","release:official":"release-it --config .release-it--official.json","release:dry":"release-it --dry-run","test":"vitest","test:watch":"vitest --watch"},"dependencies":{"postcss-selector-parser":"^7.1.4"},"devDependencies":{"@eslint/js":"^9.39.2","@release-it/conventional-changelog":"^10.0.4","@types/node":"^25.1.0","csstype":"^3.2.3","eslint":"^9.39.2","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.5","globals":"^17.7.0","jiti":"^2.7.0","prettier":"^3.8.1","release-it":"^19.2.4","stylelint":"^16.1.0","tsdown":"^0.21.3","typescript":"^5.9.3","typescript-eslint":"^8.62.1","vitest":"^3.2.4","vitest-stylelint-utils":"^2.0.0"},"peerDependencies":{"stylelint":"^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"},"keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"publishConfig":{"registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git"},"bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"gitHead":"ccf239feeec494cdfc6a29d235abd41ec91d3613","_id":"stylelint-plugin-defensive-css@2.9.7","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-ugILyMO6wMeSC6dsSVujR0YMjjyNhYvit6sz6/GSfWr0WtJ2t7X7knTLj3YviCX7mbtj1vn4CqQuaFFq8iMjiQ==","shasum":"ada06aec00d708fd9128cbd6387113ed03be9091","tarball":"https://registry.npmjs.org/stylelint-plugin-defensive-css/-/stylelint-plugin-defensive-css-2.9.7.tgz","fileCount":21,"unpackedSize":245275,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDC3qZIhbTsNncNfF4jUDZ7uCQfb5Ft2j523fyw0hM0KgIhAP9X0d73ghbfD6kAoxreT3zXVTEg04lsSWNqyrJGmpfo"}]},"_npmUser":{"name":"yuschick","email":"danyuschick@gmail.com"},"directories":{},"maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stylelint-plugin-defensive-css_2.9.7_1788685416891_0.9840602201049817"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-23T06:57:18.494Z","modified":"2026-09-06T09:03:37.168Z","0.0.1":"2023-03-23T06:57:18.752Z","0.0.2":"2023-03-23T07:22:34.698Z","0.0.4":"2023-03-24T07:51:35.580Z","0.0.5":"2023-03-24T08:19:11.642Z","0.0.6":"2023-03-24T08:24:57.094Z","0.0.7":"2023-03-24T08:28:42.628Z","0.1.0":"2023-04-15T18:49:42.958Z","0.2.0":"2023-04-23T06:08:38.738Z","0.3.0":"2023-05-09T08:11:02.104Z","0.4.0":"2023-05-15T07:24:12.840Z","0.5.0":"2023-05-15T08:59:10.311Z","0.6.0":"2023-05-26T10:15:43.440Z","0.7.0":"2023-06-16T11:20:18.931Z","0.8.0":"2023-06-25T07:10:41.365Z","0.8.1":"2023-06-25T07:12:12.592Z","0.9.0":"2023-09-28T06:57:23.895Z","0.9.1":"2023-09-28T06:58:09.749Z","0.9.2":"2023-10-18T11:42:44.814Z","0.10.0":"2023-10-28T07:58:36.367Z","0.10.1":"2023-10-28T08:01:49.770Z","0.10.2":"2023-10-28T08:49:49.967Z","0.10.3":"2023-12-28T17:22:18.164Z","0.10.4":"2023-12-29T06:17:56.796Z","1.0.0-beta.0":"2023-12-29T06:47:00.158Z","1.0.0":"2023-12-29T07:01:51.946Z","1.0.1":"2024-01-11T09:44:14.731Z","1.0.2":"2024-01-22T13:14:09.322Z","1.0.3":"2024-03-16T12:12:20.869Z","1.0.4":"2024-05-02T10:01:33.219Z","1.1.0":"2026-01-31T15:22:57.315Z","1.1.1":"2026-02-01T09:04:26.586Z","2.0.0-next.0":"2026-02-02T08:41:56.517Z","2.0.0-next.1":"2026-02-03T08:04:29.844Z","2.0.0-next.2":"2026-02-03T08:04:57.853Z","2.0.0-next.3":"2026-02-03T08:05:26.517Z","2.0.0-next.4":"2026-02-03T08:05:57.920Z","2.0.0-next.5":"2026-02-03T08:10:36.131Z","2.0.0-next.6":"2026-02-03T08:28:36.834Z","2.0.0-next.7":"2026-02-03T08:31:58.017Z","2.0.0":"2026-02-03T08:43:52.755Z","2.0.1-next.0":"2026-02-03T15:29:56.937Z","2.1.1-next.0":"2026-02-03T15:39:58.541Z","2.1.1-next.1":"2026-02-03T15:47:15.341Z","2.1.1":"2026-02-03T15:49:08.070Z","2.2.0-next.0":"2026-02-05T14:13:33.566Z","2.2.0-next.1":"2026-02-05T14:29:12.364Z","2.2.0-next.2":"2026-02-05T19:44:49.759Z","2.2.0-next.3":"2026-02-06T09:11:07.527Z","2.2.0-next.4":"2026-02-06T09:35:18.547Z","2.2.0-next.5":"2026-02-07T09:20:51.912Z","2.3.0":"2026-02-07T13:28:55.971Z","2.3.1-next.0":"2026-02-07T14:47:22.468Z","2.3.1-next.1":"2026-02-07T14:53:26.922Z","2.3.1-next.2":"2026-02-07T18:13:21.483Z","2.3.1-next.3":"2026-02-07T19:36:32.431Z","2.3.1-next.4":"2026-02-08T08:14:29.266Z","2.3.1-next.5":"2026-02-08T08:18:08.763Z","2.4.0":"2026-02-08T09:37:15.734Z","2.4.1-next.0":"2026-02-10T08:10:52.019Z","2.4.2":"2026-02-10T08:17:54.981Z","2.5.0-next.0":"2026-02-17T15:20:09.863Z","2.5.0":"2026-02-17T15:36:49.871Z","2.6.0":"2026-02-22T10:34:51.686Z","2.7.0":"2026-03-17T10:08:09.597Z","2.8.0":"2026-03-19T08:35:37.181Z","2.8.1":"2026-03-31T17:45:35.113Z","2.9.0":"2026-04-09T05:59:04.630Z","2.9.1":"2026-04-18T07:45:04.216Z","2.9.2":"2026-05-13T06:41:53.840Z","2.9.3":"2026-05-22T13:05:16.017Z","2.9.4":"2026-07-15T05:30:56.358Z","2.9.5":"2026-08-03T06:24:50.882Z","2.9.6":"2026-08-03T06:47:43.766Z","2.9.7":"2026-09-06T09:03:37.022Z"},"bugs":{"url":"https://github.com/yuschick/stylelint-plugin-defensive-css/issues"},"author":{"name":"Daniel Yuschick","email":"daniel.yuschick@gmail.com"},"license":"MIT","homepage":"https://github.com/yuschick/stylelint-plugin-defensive-css","keywords":["css","css lint","defensive css","lint","linter","stylelint","stylelint plugin","stylelint-plugin","best practices"],"repository":{"type":"git","url":"git+https://github.com/yuschick/stylelint-plugin-defensive-css.git"},"description":"A Stylelint plugin to enforce defensive CSS best practices.","maintainers":[{"name":"yuschick","email":"danyuschick@gmail.com"}],"readme":"![Stylelint Plugin - Defensive CSS Logo](./assets/logo--dark.webp#gh-dark-mode-only)\n![Stylelint Plugin - Defensive CSS Logo](./assets/logo--light.webp#gh-light-mode-only)\n\n![Stylelint Plugin Defensive CSS License](https://img.shields.io/github/license/yuschick/stylelint-plugin-defensive-css?style=for-the-badge)\n![Stylelint Plugin Defensive CSS Latest NPM Version](https://img.shields.io/npm/v/stylelint-plugin-defensive-css?style=for-the-badge)\n![Stylelint Plugin Defensive CSS Main Workflow Status](https://img.shields.io/github/actions/workflow/status/yuschick/stylelint-plugin-defensive-css/pull-request--checks.yaml?style=for-the-badge)\n![Stylelint Plugin Defensive CSS NPM Downloads](https://img.shields.io/npm/dw/stylelint-plugin-defensive-css?style=for-the-badge)\n\nA Stylelint plugin to help you write more defensive, accessible, and maintainable CSS. Catch layout and accessibility bugs before they ship, enforce team-wide best practices, and guard against the subtle CSS pitfalls that break real-world experiences.\n\n> [!TIP]\n> [V1 documentation can be found here](./V1-DOCUMENTATION.md)\n\n## Table of Contents\n\n[Getting Started](#getting-started) | [Quickstart](#quickstart) | [Plugin Configs](#defensive-css-configs) | [Plugin Rules](#defensive-css-rules) | [Troubleshooting](#troubleshooting)\n\n## Getting Started\n\n> [!IMPORTANT]\n> The plugin requires [Stylelint](https://stylelint.io/) v14.0.0 or greater.\n\nTo get started using the plugin, it must first be installed.\n\n```bash\nnpm i stylelint-plugin-defensive-css --save-dev\n```\n\n```bash\nyarn add stylelint-plugin-defensive-css --dev\n```\n\nWith the plugin installed, it must be added to the `plugins` array of your Stylelint config.\n\n```json\n{\n  \"plugins\": [\"stylelint-plugin-defensive-css\"]\n}\n```\n\nAfter adding the plugin to the configuration file, you now have access to the various rules and options it provides.\n\n## Quickstart\n\nAfter installation, add this to your `.stylelintrc.json`:\n\n```json\n{\n  \"plugins\": [\"stylelint-plugin-defensive-css\"],\n  \"extends\": [\"stylelint-plugin-defensive-css/configs/recommended\"]\n}\n```\n\n## Defensive CSS Configs\n\nFor quick setup, the plugin provides preset configurations that enable commonly used rules.\n\n### Recommended\n\nThe `recommended` preset enables core defensive CSS rules with sensible defaults, suitable for most projects.\n\n**Usage:**\n\n```json\n{\n  \"extends\": [\"stylelint-plugin-defensive-css/configs/recommended\"]\n}\n```\n\n**Equivalent to:**\n\n```json\n{\n  \"plugins\": [\"stylelint-plugin-defensive-css\"],\n  \"rules\": {\n    \"defensive-css/no-accidental-hover\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/no-list-style-none\": [true, { \"fix\": true, \"severity\": \"error\" }],\n    \"defensive-css/no-mixed-vendor-prefixes\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/no-unsafe-clamp-font-size\": [\n      true,\n      { \"reportUnresolvable\": [true, { \"severity\": \"warning\" }], \"severity\": \"error\" }\n    ],\n    \"defensive-css/no-unsafe-will-change\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/no-user-select-none\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-background-repeat\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-dynamic-viewport-height\": [true, { \"severity\": \"warning\" }],\n    \"defensive-css/require-flex-wrap\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-focus-visible\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-forced-colors-focus\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-named-grid-lines\": [\n      true,\n      {\n        \"columns\": [true, { \"severity\": \"error\" }],\n        \"rows\": [true, { \"severity\": \"warning\" }]\n      }\n    ],\n    \"defensive-css/require-prefers-reduced-motion\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-pure-selectors\": [\n      true,\n      { \"ignoreElements\": [\"*\"], \"severity\": \"error\" }\n    ],\n    \"defensive-css/require-system-font-fallback\": [true, { \"severity\": \"error\" }]\n  }\n}\n```\n\n### Accessibility\n\nThe `accessibility` preset enables accessibility-focused rules to catch common issues that impact keyboard navigation, screen readers, and user preferences.\n\n**Usage:**\n\n```json\n{\n  \"extends\": [\"stylelint-plugin-defensive-css/configs/accessibility\"]\n}\n```\n\n**Equivalent to:**\n\n```json\n{\n  \"plugins\": [\"stylelint-plugin-defensive-css\"],\n  \"rules\": {\n    \"defensive-css/no-accidental-hover\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/no-list-style-none\": [true, { \"fix\": true, \"severity\": \"error\" }],\n    \"defensive-css/no-unsafe-clamp-font-size\": [\n      true,\n      { \"reportUnresolvable\": [true, { \"severity\": \"warning\" }], \"severity\": \"error\" }\n    ],\n    \"defensive-css/no-user-select-none\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-focus-visible\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-forced-colors-focus\": [true, { \"severity\": \"error\" }],\n    \"defensive-css/require-prefers-reduced-motion\": [true, { \"severity\": \"error\" }]\n  }\n}\n```\n\n### Strict\n\nThe `strict` preset enables every rule for the most strict linting offered by the plugin.\n\n**Usage:**\n\n```json\n{\n  \"extends\": [\"stylelint-plugin-defensive-css/configs/strict\"]\n}\n```\n\n## Defensive CSS Rules\n\nThe plugin provides multiple rules that can be toggled on and off as needed.\n\n1. [No Accidental Hover](#no-accidental-hover)\n2. [No Fixed Sizes](#no-fixed-sizes)\n3. [No List Style None](#no-list-style-none)\n4. [No Mixed Vendor Prefixes](#no-mixed-vendor-prefixes)\n5. [No Unsafe Clamp Font Size](#no-unsafe-clamp-font-size)\n6. [No Unsafe Will-Change](#no-unsafe-will-change)\n7. [No User Select None](#no-user-select-none)\n8. [Require At Layer](#require-at-layer)\n9. [Require Background Repeat](#require-background-repeat)\n10. [Require Custom Property Fallback](#require-custom-property-fallback)\n11. [Require Dynamic Viewport Height](#require-dynamic-viewport-height)\n12. [Require Flex Wrap](#require-flex-wrap)\n13. [Require Focus Visible](#require-focus-visible)\n14. [Require Forced Colors Focus](#require-forced-colors-focus)\n15. [Require Grid Minmax](#require-grid-minmax)\n16. [Require Named Grid Lines](#require-named-grid-lines)\n17. [Require Overscroll Behavior](#require-overscroll-behavior)\n18. [Require Prefers Reduced Motion](#require-prefers-reduced-motion)\n19. [Require Pure Selectors](#require-pure-selectors)\n20. [Require Scrollbar Gutter](#require-scrollbar-gutter)\n21. [Require System Font Fallback](#require-system-font-fallback)\n\n---\n\n### No Accidental Hover\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/hover-media/)\n\nHover effects indicate interactivity on devices with mouse or trackpad input. However, on touch devices, hover states can cause confusing user experiences where elements become stuck in a hovered state after being tapped, or trigger unintended actions.\n\n**Enable this rule to:** Require all `:hover` selectors to be wrapped in `@media (hover: hover)` queries, ensuring hover effects only apply in supported contexts.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-accidental-hover\": true\n  }\n}\n```\n\n#### No Accidental Hover Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n@media (hover: hover) {\n  .btn:hover {\n    color: black;\n  }\n}\n\n/* Will traverse nested media queries */\n@media (hover: hover) {\n  @media (min-width: 1px) {\n    .btn:hover {\n      color: black;\n    }\n  }\n}\n\n/* Will traverse nested media queries */\n@media (min-width: 1px) {\n  @media (hover: hover) {\n    @media (min-width: 100px) {\n      .btn:hover {\n        color: black;\n      }\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n.fail-btn:hover {\n  color: black;\n}\n\n@media (min-width: 1px) {\n  .fail-btn:hover {\n    color: black;\n  }\n}\n```\n\n</details>\n\n---\n\n### No Fixed Sizes\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/fixed-sizes/)\n\nFixed pixel (px) values prevent layouts from adapting to different screen sizes, user preferences, and device contexts. When widths, heights, spacing, and breakpoints are defined with px, content can overflow on small screens, create excessive whitespace on large displays, or ignore user font-size preferences set for accessibility.\n\n**Enable this rule to:** Require relative or flexible units (rem, em, %, vw, fr, etc.) for sizing properties and media queries, ensuring layouts adapt gracefully across all contexts.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-fixed-sizes\": true\n  }\n}\n```\n\n#### No Fixed Sizes Options\n\n**Configuration:** By default, this rule validates critical sizing properties (width, height, font-size), spacing properties (margin, padding, gap), typography properties (line-height, letter-spacing), and responsive at-rules (@media, @container). Use the `at-rules` and `properties` options to customize which are checked or adjust their severity levels.\n\n```ts\ntype Severity = 'error' | 'warning';\n\ninterface SecondaryOptions {\n  'at-rules'?: Partial<\n    Record<CSSType.AtRules, boolean | [boolean, { severity?: Severity }]>\n  >;\n  properties?: Partial<\n    Record<keyof CSSType.PropertiesHyphen, boolean | [boolean, { severity?: Severity }]>\n  >;\n  severity?: Severity;\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-fixed-sizes\": [\n      true,\n      {\n        \"at-rules\": [{ \"@container\": false }],\n        \"properties\": [\n          { \"transform\": true, \"scroll-margin\": [true, { \"severity\": \"warning\" }] }\n        ],\n        \"severity\": \"error\"\n      }\n    ]\n  }\n}\n```\n\n#### No Fixed Sizes Examples\n\n> [!NOTE]\n> This rule does not resolve or validate the values of CSS custom properties. Values like `var(--width)` are treated as flexible since their actual values are not determined. Ensure your custom property definitions use relative units if they're used for sizing.\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Sizing with relative units */\n.box {\n  width: 50%;\n  height: 100vh;\n  font-size: 1.5rem;\n}\n\n/* Spacing with flexible units */\n.card {\n  margin: 2rem auto;\n  padding: 1em 2em;\n  gap: 1rem;\n}\n\n/* Grid with fractional units */\n.grid {\n  grid-template-columns: repeat(3, 1fr);\n}\n\n/* Functions with flexible units */\n.responsive {\n  width: clamp(200px, 50%, 800px);\n  padding: calc(1rem + 2vw);\n}\n\n/* Media queries with relative units */\n@media (min-width: 48rem) {\n  .box {\n    padding: 2rem;\n  }\n}\n\n/* Zero values are allowed */\n.reset {\n  margin: 0;\n  padding: 0px;\n}\n\n/* Custom properties */\n.themed {\n  width: var(--width);\n  margin: var(--spacing, 1rem);\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* Fixed sizing */\n.box {\n  width: 500px;\n  height: 300px;\n  font-size: 16px;\n}\n\n/* Fixed spacing */\n.card {\n  margin: 20px;\n  padding: 10px 15px;\n  gap: 24px;\n}\n\n/* Grid with fixed values */\n.grid {\n  grid-template-columns: 100px 1fr 100px;\n}\n\n/* Functions with only px */\n.fixed {\n  width: clamp(200px, 400px, 800px);\n  padding: calc(10px + 5px);\n}\n\n/* Media queries with px */\n@media (min-width: 768px) {\n  .box {\n    padding: 2rem;\n  }\n}\n\n/* Mixed units still fail if px is present */\n.mixed {\n  margin: 1rem 20px;\n  line-height: 24px;\n}\n```\n\n</details>\n\n---\n\n### No List Style None\n\n> [!TIP]\n> This rule is fixable by passing the `{ fix: true }` option.\n\nIn Safari, using `list-style: none` on `<ul>`, `<ol>`, or `<li>` elements removes list semantics from the accessibility tree, making the list invisible to VoiceOver users. Using `list-style-type: \"\"` (empty string) achieves the same visual result while preserving accessibility.\n\n**Exception:** Lists inside `<nav>` elements maintain their semantics even with `list-style: none`, so this rule allows that pattern.\n\n**Enable this rule to:** Prevent `list-style: none` on lists outside of navigation, requiring the accessible `list-style-type: \"\"` approach instead.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-list-style-none\": [true, { \"fix\": true }]\n  }\n}\n```\n\n#### No List Style None Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Recommended: Preserves semantics */\nul {\n  list-style-type: '';\n}\n\n/* Exception: Lists inside nav elements retain semantics */\nnav ul {\n  list-style: none;\n}\n\n/* Other list-style values are fine */\nul {\n  list-style: disc;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\nul {\n  list-style: none;\n}\n\n.menu ul {\n  list-style: none;\n}\n\nol.items {\n  list-style: none;\n}\n\n:not(nav) ul {\n  list-style: none;\n}\n```\n\n</details>\n\n---\n\n### No Mixed Vendor Prefixes\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/grouping-selectors)\n\nGrouping vendor-prefixed selectors in a single rule can cause the entire rule to be invalid according to the [W3C selector specification](https://www.w3.org/TR/selectors/#grouping). For example, combining `-webkit-` and `-moz-` placeholder selectors will prevent either from working correctly.\n\n**Enable this rule to:** Require vendor-prefixed selectors to be separated into individual rules, ensuring browser-specific styles apply correctly.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-mixed-vendor-prefixes\": true\n  }\n}\n```\n\n#### No Mixed Vendor Prefixes Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ninput::-webkit-input-placeholder {\n  color: #222;\n}\n\ninput::-moz-placeholder {\n  color: #222;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ninput::-webkit-input-placeholder,\ninput::-moz-placeholder {\n  color: #222;\n}\n```\n\n</details>\n\n---\n\n### Require At Layer\n\nCSS cascade layers (`@layer`) provide explicit control over specificity ordering, preventing unexpected style overrides in large codebases or design systems. Without layers, the cascade relies solely on source order and specificity, making it fragile and difficult to manage as styles scale. Scoping component styles to a top-level `@layer` ensures predictable cascade behavior and clearer style boundaries.\n\n**Enable this rule to:** Require all style rules to be wrapped in a top-level `@layer` rule, optionally restricting to a set of supported layer names.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-at-layer\": true\n  }\n}\n```\n\n#### Require At Layer Options\n\n**Configuration:** By default, this rule requires all styles to be inside any `@layer`. Use the `supportedLayerNames` option to restrict which layer names are allowed.\n\n```ts\ninterface SecondaryOptions {\n  severity?: Severity;\n  supportedLayerNames?: string[];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-at-layer\": [\n      true,\n      {\n        \"supportedLayerNames\": [\"ds.components\", \"ds.utilities\"],\n        \"severity\": \"error\"\n      }\n    ]\n  }\n}\n```\n\n#### Require At Layer Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Any layer name (without supportedLayerNames) */\n@layer components {\n  div {\n    color: red;\n  }\n}\n\n/* Supported layer name (with supportedLayerNames: ['ds.components']) */\n@layer ds.components {\n  div {\n    color: red;\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* Not wrapped in any @layer */\ndiv {\n  color: red;\n}\n\n/* Unsupported layer name (with supportedLayerNames: ['ds.components']) */\n@layer components {\n  div {\n    color: red;\n  }\n}\n```\n\n</details>\n\n---\n\n### Require Background Repeat\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/bg-repeat)\n\nBackground and mask images repeat by default when the container is larger than the image dimensions. On large screens, this can result in unintended tiling effects that break the design.\n\n**Enable this rule to:** Require an explicit `background-repeat` or `mask-repeat` property whenever `background-image` or `mask-image` is used.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-background-repeat\": true\n  }\n}\n```\n\n#### Require Background Repeat Options\n\n**Configuration:** By default, this rule validates both background and mask images. Use the `background-repeat` and `mask-repeat` options to control which properties are checked.\n\n```ts\ninterface SecondaryOptions {\n  'background-repeat'?: boolean | [boolean, { severity?: Severity }];\n  'mask-repeat'?: boolean | [boolean, { severity?: Severity }];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-background-repeat\": [\n      true,\n      {\n        \"background-repeat\": [true, { \"severity\": \"error\" }],\n        \"mask-repeat\": false\n      }\n    ]\n  }\n}\n```\n\n#### Require Background Repeat Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  background: url('some-image.jpg') repeat black top center;\n}\n\ndiv {\n  background: url('some-image.jpg') black top center;\n  background-repeat: no-repeat;\n}\n\ndiv {\n  mask: url('some-image.jpg') repeat top center;\n}\n\ndiv {\n  mask: url('some-image.jpg') top center;\n  mask-repeat: no-repeat;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  background: url('some-image.jpg') black top center;\n}\n\ndiv {\n  background-image: url('some-image.jpg');\n}\n\ndiv {\n  mask: url('some-image.jpg') top center;\n}\n\ndiv {\n  mask-image: url('some-image.jpg');\n}\n```\n\n</details>\n\n---\n\n### No Unsafe Clamp Font Size\n\n> [!NOTE]\n> [Read the research behind this rule](https://www.smashingmagazine.com/2023/11/addressing-accessibility-concerns-fluid-type/)\n\nUsing `clamp()` with viewport units for fluid font sizing can prevent text from scaling to 200% of its original size when users zoom to 500%, violating [WCAG Success Criterion 1.4.4 (Resize Text)](https://www.w3.org/WAI/WCAG21/Understanding/resize-text.html). The issue occurs because viewport units don't scale with browser zoom, the viewport stays the same size while everything else grows.\n\nThis rule enforces that the ratio between the min and max values in a `clamp()` font-size does not exceed 2.5. This threshold is mathematically derived: at 500% zoom, the browser scales the min by 5×, and WCAG requires at least 2× the original size. For the zoomed floor (5 × min) to always meet the target (2 × max), the ratio must satisfy max/min ≤ 2.5.\n\n**Enable this rule to:** Guard against the most common WCAG 1.4.4 failure when using viewport-based fluid type.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-unsafe-clamp-font-size\": true\n  }\n}\n```\n\n#### No Unsafe Clamp Font Size Options\n\n| Option               | Type                                  | Default | Description                                                                                                  |\n| -------------------- | ------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------ |\n| `maxRatio`           | `number`                              | `2.5`   | The maximum allowed ratio between clamp max and min values.                                                  |\n| `reportUnresolvable` | `boolean \\| [boolean, SeverityProps]` | `true`  | Report when the min/max ratio cannot be determined due to mixed units. `var()` functions are given the benefit of the doubt. Can specify custom severity. |\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-unsafe-clamp-font-size\": [\n      true,\n      { \"maxRatio\": 2.5, \"reportUnresolvable\": true, \"severity\": \"error\" }\n    ]\n  }\n}\n```\n\n**Report unresolvable cases as warnings:**\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-unsafe-clamp-font-size\": [\n      true,\n      { \"reportUnresolvable\": [true, { \"severity\": \"warning\" }] }\n    ]\n  }\n}\n```\n\n#### No Unsafe Clamp Font Size Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Safe ratio of 2.5 */\n.title {\n  font-size: clamp(10px, 5vw, 25px);\n}\n\n/* Safe ratio using rem */\n.title {\n  font-size: clamp(1rem, 2vw, 2.5rem);\n}\n\n/* calc-style preferred with viewport unit — safe ratio */\n.title {\n  font-size: clamp(1rem, 0.5rem + 2vw, 2.5rem);\n}\n\n/* var() functions — cannot verify ratio, benefit of the doubt */\n.title {\n  font-size: clamp(var(--min), 5vw, 25px);\n}\n\n/* No viewport unit in preferred — no risk */\n.title {\n  font-size: clamp(1rem, 50%, 3rem);\n}\n\n/* font shorthand with safe ratio */\n.title {\n  font:\n    clamp(10px, 5vw, 25px) / 1.5 'Helvetica',\n    sans-serif;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* Ratio of 5.0 — exceeds safe limit */\n.title {\n  font-size: clamp(10px, 5vw, 50px);\n}\n\n/* Ratio of 3.0 — the article's original failing example */\n.title {\n  font-size: clamp(16px, 4vw, 48px);\n}\n\n/* Ratio of 3.0 using rem */\n.title {\n  font-size: clamp(1rem, 2vw, 3rem);\n}\n\n/* Mixed units — cannot verify ratio */\n.title {\n  font-size: clamp(1rem, 5vw, 40px);\n}\n\n/* font shorthand with unsafe ratio */\n.title {\n  font:\n    clamp(10px, 5vw, 50px) / 1.5 'Helvetica',\n    sans-serif;\n}\n```\n\n</details>\n\n---\n\n### No Unsafe Will-Change\n\n> [!WARNING]\n> \"`will-change` is intended to be used as a last resort, in order to try to deal with existing performance problems. It should not be used to anticipate performance problems.\" ~ [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/will-change)\n\nThe `will-change` CSS property hints to browsers about expected changes to an element, allowing them to optimize rendering ahead of time. However, misuse can cause serious performance issues: applying it to too many properties consumes excessive GPU memory, using it on non-composite properties provides no benefit, and applying it via the universal selector (`*`) forces GPU layers on every element, causing catastrophic performance degradation.\n\n**Enable this rule to:** Prevent common `will-change` anti-patterns that harm performance rather than improve it.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-unsafe-will-change\": true\n  }\n}\n```\n\n#### No Unsafe Will-Change Options\n\n**Configuration:** By default, this rule allows up to 2 properties and errors on violations. Use the options below to customize validation.\n\n```ts\ntype Severity = 'error' | 'warning';\n\ninterface SecondaryOptions {\n  ignore?: (keyof PropertiesHyphen)[];\n  maxProperties?: number;\n  severity?: Severity;\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-unsafe-will-change\": [\n      true,\n      {\n        \"maxProperties\": 3,\n        \"ignore\": [\"width\"],\n        \"severity\": \"error\"\n      }\n    ]\n  }\n}\n```\n\n#### No Unsafe Will-Change Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Single composite property */\n.card:hover {\n  will-change: transform;\n}\n\n/* Two composite properties (at default limit) */\n.modal {\n  will-change: transform, opacity;\n}\n\n/* Composite property in pseudo-class */\n.button:focus-visible {\n  will-change: opacity;\n}\n\n/* With ignore option for filter */\n.element {\n  will-change: transform, opacity, filter;\n  /* Passes if maxProperties: 3 and ignore: ['filter'] */\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* Universal selector - forces GPU layers on all elements */\n* {\n  will-change: transform;\n}\n\n/* Exceeds default maxProperties limit (3 > 2) */\n.element {\n  will-change: transform, opacity, filter;\n}\n\n/* Non-composite properties (trigger layout/paint) */\n.box {\n  will-change: width, height;\n}\n\n.positioned {\n  will-change: top, left;\n}\n\n.spaced {\n  will-change: margin, padding;\n}\n\n/* Mixed: exceeds limit AND contains non-composite property */\n.card {\n  will-change: transform, opacity, width, height;\n}\n\n/* Universal selector in descendant */\n.container > * {\n  will-change: opacity;\n}\n```\n\n</details>\n\n---\n\n### No User Select None\n\nDisabling text selection with `user-select: none` prevents users from copying content, interferes with screen reader text navigation, and breaks expected browser behavior. While there are legitimate use cases (e.g., drag handles, icon-only buttons), applying it broadly to text content harms usability and accessibility.\n\n**Enable this rule to:** Disallow `user-select: none` usage\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-user-select-none\": true\n  }\n}\n```\n\n#### No User Select None Options\n\n**`ignore`:** An array of string or regex patterns for selectors that should be excluded from this rule. The rule checks all ancestor selectors, so nested children of ignored selectors are also excluded.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/no-user-select-none\": [\n      true,\n      {\n        \"ignore\": [\".drag-handle\", \"/^\\\\.icon-/\"]\n      }\n    ]\n  }\n}\n```\n\n#### No User Select None Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n.class {\n  user-select: auto;\n}\n\n.class {\n  user-select: text;\n}\n\n.class {\n  user-select: all;\n}\n\n.class {\n  user-select: contain;\n}\n\n/* With ignore option: [\".drag-handle\"] */\n.drag-handle {\n  user-select: none;\n}\n\n/* Nested child of ignored selector is also excluded */\n.drag-handle .icon {\n  user-select: none;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n.class {\n  user-select: none;\n}\n\n.class {\n  -webkit-user-select: none;\n}\n\n.class {\n  -moz-user-select: none;\n}\n\n/* Nested CSS is also flagged */\n.parent {\n  .child {\n    user-select: none;\n  }\n}\n```\n\n</details>\n\n---\n\n### Require Custom Property Fallback\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/css-variable-fallback)\n\nCSS custom properties (variables) can fail silently if undefined, potentially breaking layouts or causing visual issues. Providing fallback values ensures graceful degradation when variables are missing or invalid.\n\n**Enable this rule to:** Require all `var()` functions to include a fallback value (e.g., `var(--color, #000)`).\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-custom-property-fallback\": true\n  }\n}\n```\n\n#### Require Custom Property Fallback Options\n\n**Configuration:** By default, this rule validates all custom properties. Use the `ignore` option to exclude specific patterns, such as global design tokens or component-scoped variables.\n\n```ts\ninterface SecondaryOptions {\n  ignore?: (string | RegExp)[];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-custom-property-fallback\": [true, {\n        \"ignore\": [\"var\\\\(--exact-match\\\\)\", /var\\(--ds-color-.*\\)/],\n        \"severity\": \"warning\"\n    }],\n  }\n}\n```\n\n#### Require Custom Property Fallback Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  color: var(--color-primary, #000);\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  color: var(--color-primary);\n}\n```\n\n</details>\n\n---\n\n### Require Dynamic Viewport Height\n\nOn mobile browsers, the viewport height can change as the address bar and other UI elements collapse or expand during scrolling. Using static viewport units (`100vh` or `100vb`) can cause content to be cut off or create unexpected layout shifts, particularly on iOS Safari and Chrome mobile.\n\nDynamic viewport units (`100dvh`, `100dvb`) automatically adjust to the current viewport size, accounting for browser UI changes and providing a more reliable layout on mobile devices.\n\n**Enable this rule to:** Flag usage of `100vh` and `100vb` on height-related properties and automatically fix them to use dynamic viewport units.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-dynamic-viewport-height\": true\n  }\n}\n```\n\n#### Require Dynamic Viewport Height Options\n\n> [!TIP]\n> This rule is fixable by passing the `{ fix: true }` option.\n\n**Configuration:** By default, this rule validates `height`, `block-size`, `max-height`, and `max-block-size` properties. Use the `properties` option to customize which properties are checked and their severity level.\n\n```ts\ninterface SecondaryOptions {\n  fix?: boolean;\n  properties?: {\n    'block-size'?: boolean | [boolean, SeverityProps];\n    height?: boolean | [boolean, SeverityProps];\n    'max-block-size'?: boolean | [boolean, SeverityProps];\n    'max-height'?: boolean | [boolean, SeverityProps];\n    'min-block-size'?: boolean | [boolean, SeverityProps];\n    'min-height'?: boolean | [boolean, SeverityProps];\n  };\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-dynamic-viewport-height\": [\n      true,\n      {\n        \"fix\": true,\n        \"properties\": {\n          \"height\": [true, { \"severity\": \"error\" }],\n          \"min-block-size\": false\n        },\n        \"severity\": \"warning\"\n      }\n    ]\n  }\n}\n```\n\n#### Require Dynamic Viewport Height Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n.hero {\n  height: 100dvh;\n}\n\n.container {\n  block-size: 100dvb;\n}\n\n.modal {\n  max-height: 100dvh;\n}\n\n/* Small and large viewport units are also valid */\n.element {\n  height: 100svh;\n  max-height: 100lvh;\n}\n\n/* Non-100 viewport units are allowed */\n.partial {\n  height: 50vh;\n  max-height: 75vb;\n}\n\n/* min-height is not validated */\n.flexible {\n  min-height: 100vh;\n}\n\n/* Width properties are not affected */\n.wide {\n  width: 100vw;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n.hero {\n  height: 100vh;\n}\n\n.container {\n  block-size: 100vb;\n}\n\n.modal {\n  max-height: 100vh;\n}\n\n.overlay {\n  max-block-size: 100vb;\n}\n\n/* Also flags usage in functions */\n.calculated {\n  height: calc(100vh - 20px);\n}\n\n.clamped {\n  block-size: clamp(100vb, 50vb, 100vb);\n}\n```\n\n</details>\n\n---\n\n### Require Flex Wrap\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/flex-wrap)\n\nFlex containers do not wrap their children by default. When there isn't enough horizontal space, flex items will overflow rather than wrapping to a new line, potentially breaking layouts on smaller screens.\n\n**Enable this rule to:** Require an explicit `flex-wrap` property (or `flex-flow` shorthand) for all flex containers, ensuring predictable wrapping behavior is defined.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-flex-wrap\": true\n  }\n}\n```\n\n#### Require Flex Wrap Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  display: flex;\n  flex-wrap: wrap;\n}\n\ndiv {\n  display: flex;\n  flex-wrap: nowrap;\n}\n\ndiv {\n  display: flex;\n  flex-direction: row-reverse;\n  flex-wrap: wrap-reverse;\n}\n\ndiv {\n  display: flex;\n  flex-flow: row wrap;\n}\n\ndiv {\n  display: flex;\n  flex-flow: row-reverse nowrap;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  display: flex;\n}\n\ndiv {\n  display: flex;\n  flex-direction: row;\n}\n\ndiv {\n  display: flex;\n  flex-flow: row;\n}\n```\n\n</details>\n\n---\n\n### Require Focus Visible\n\nThe `:focus` pseudo-class shows focus indicators for both mouse clicks and keyboard navigation, which often leads developers to hide focus outlines entirely (creating accessibility issues). The `:focus-visible` pseudo-class only shows focus indicators when the user is navigating with a keyboard, providing a better user experience.\n\n**Enable this rule to:** Require `:focus-visible` instead of `:focus` for better keyboard navigation UX.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-focus-visible\": true\n  }\n}\n```\n\n#### Require Focus Visible Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n.btn:focus-visible {\n  outline: 2px solid blue;\n}\n\n.modal:focus-within {\n  border: 1px solid blue;\n}\n\n/* Intentional exclusion */\n.input:not(:focus) {\n  border: 1px solid gray;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n.btn:focus {\n  outline: 2px solid blue;\n}\n\nbutton:focus {\n  outline: none;\n}\n\n.input:focus:hover {\n  border-color: blue;\n}\n```\n\n</details>\n\n---\n\n### Require Forced Colors Focus\n\nIn [Forced Colors Mode](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors) (e.g., Windows High Contrast Mode), the browser overrides many CSS properties to ensure readability. Notably, `box-shadow` is completely removed. This means focus indicators that rely solely on `box-shadow`, a common pattern when `outline` has been set to `none` or `0` and translating designs from Figma, become invisible, breaking keyboard accessibility.\n\n**Enable this rule to:** Detect when `:focus` or `:focus-visible` selectors remove the outline and use `box-shadow` as the only focus indicator, which is unsafe in Forced Colors Mode. A common fix is to use `outline: 2px solid transparent` which remains invisible by default but becomes visible in Forced Colors Mode.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-forced-colors-focus\": true\n  }\n}\n```\n\n#### Require Forced Colors Focus Detection Logic\n\nThis rule reports when **all** of the following are true:\n\n1. The selector targets a focused element (`:focus`, `:focus-visible`)\n2. The `outline` has been removed (`none`, `0`, `0px`, etc.)\n3. A `box-shadow` is present as the apparent focus indicator\n4. No visible `border` is present as a fallback (borders survive Forced Colors Mode)\n5. The rule is **not** wrapped in `@media (forced-colors: none)` or `@media not (forced-colors: active)`\n\nThe rule gives the benefit of the doubt to `var()`, `inherit`, `revert`, and other values it cannot resolve statically.\n\n#### Require Forced Colors Focus Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Transparent outline becomes visible in Forced Colors Mode */\n.btn:focus-visible {\n  outline: 2px solid transparent;\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* Visible outline alongside decorative box-shadow */\n.btn:focus-visible {\n  outline: 2px solid blue;\n  box-shadow: 0 0 0 4px rgba(0, 0, 255, 0.3);\n}\n\n/* box-shadow without outline removal — default browser outline remains */\n.btn:focus-visible {\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* outline removed but visible border present — borders survive FCM */\n.btn:focus-visible {\n  outline: none;\n  border: 2px solid blue;\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* Inside forced-colors: none — outside FCM context */\n@media (forced-colors: none) {\n  .btn:focus-visible {\n    outline: none;\n    box-shadow: 0 0 0 2px blue;\n  }\n}\n\n/* Nested CSS — parent removes outline, child restores it */\n.btn {\n  outline: none;\n\n  &:focus-visible {\n    outline: 2px solid transparent;\n    box-shadow: 0 0 0 2px blue;\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* outline: none with box-shadow as only focus indicator */\n.btn:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* outline-width: 0 with box-shadow */\n.btn:focus-visible {\n  outline-width: 0;\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* Shorthand with 0 width — invisible even with style and color */\n.btn:focus-visible {\n  outline: 0 solid red;\n  box-shadow: 0 0 0 2px blue;\n}\n\n/* Nested CSS — parent removes outline, focus uses only box-shadow */\n.btn {\n  outline: none;\n\n  &:focus-visible {\n    box-shadow: 0 0 0 2px blue;\n  }\n}\n\n/* transparent border does not count as a visible FCM-safe indicator */\n.btn:focus-visible {\n  outline: none;\n  border: 2px solid transparent;\n  box-shadow: 0 0 0 2px blue;\n}\n```\n\n</details>\n\n---\n\n### Require Grid Minmax\n\nA grid column defined with a raw `1fr` will size to its content's intrinsic minimum, meaning a long word, a wide image, or an unbreakable string can force the track — and the entire grid — to overflow its container. Wrapping the value in `minmax(0, 1fr)` overrides that automatic minimum, allowing the track to shrink and preventing content blowouts.\n\n**Enable this rule to:** Flag loose `1fr` values on `grid-template-columns` and `grid-auto-columns` and automatically fix them to `minmax(0, 1fr)`.\n\n> [!NOTE]\n> This rule only checks the `grid-template-columns` and `grid-auto-columns` properties. It does not lint the `grid`, `grid-template`, or other grid shorthand properties, where reliably isolating the column tracks from row tracks, area strings, and `auto-flow` keywords is ambiguous.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-grid-minmax\": true\n  }\n}\n```\n\n#### Require Grid Minmax Options\n\n> [!TIP]\n> This rule is fixable by passing the `{ fix: true }` option.\n\nA `1fr` value already wrapped in `minmax()` or `fit-content()` is considered safe and is left untouched, even when it appears alongside a raw `1fr` in the same declaration.\n\n**Configuration:** By default, this rule checks all selectors. Use the `ignore` option to exclude specific selectors by exact string or regular expression. Nested declarations are skipped when any ancestor selector matches an ignore pattern.\n\n```ts\ninterface SecondaryOptions {\n  ignore?: (string | RegExp)[];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-grid-minmax\": [true, {\n        \"fix\": true,\n        \"ignore\": [\".legacy-layout\", /^\\.grid-/],\n        \"severity\": \"warning\"\n    }]\n  }\n}\n```\n\n#### Require Grid Minmax Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  grid-template-columns: minmax(0, 1fr) 250px;\n}\n\ndiv {\n  grid-template-columns: repeat(5, minmax(0, 1fr));\n}\n\ndiv {\n  grid-auto-columns: minmax(0, 1fr);\n}\n\n/* fr units on non-column properties are not checked */\ndiv {\n  grid-template-rows: 1fr 250px;\n}\n\n/* the grid shorthand is not checked */\ndiv {\n  grid: 1fr / 1fr;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  grid-template-columns: 1fr 250px;\n}\n\ndiv {\n  grid-template-columns: repeat(3, 1fr);\n}\n\ndiv {\n  grid-auto-columns: 1fr;\n}\n\n/* the raw 1fr is flagged even alongside a protected minmax() */\ndiv {\n  grid-template-columns: minmax(0, 1fr) 1fr;\n}\n```\n\n</details>\n\n---\n\n### Require Named Grid Lines\n\n**Enable this rule to:** Require all grid tracks to be associated with named lines using the `[name]` syntax in `grid-template-columns`, `grid-template-rows`, and the `grid` shorthand.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-named-grid-lines\": true\n  }\n}\n```\n\n#### Require Named Grid Lines Options\n\n**Configuration:** By default, this rule validates both row and column lines. Use the `columns` and `rows` options to control which axes are checked.\n\n```ts\ninterface SecondaryOptions {\n  columns?: boolean | [boolean, { severity?: Severity }];\n  rows?: boolean | [boolean, { severity?: Severity }];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-named-grid-lines\": [\n      true,\n      {\n        \"columns\": [true, { \"severity\": \"error\" }],\n        \"rows\": [true, { \"severity\": \"warning\" }]\n      }\n    ]\n  }\n}\n```\n\n#### Require Named Grid Lines Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  grid-template-columns: [c-a] 1fr [c-b] 1fr;\n}\n\ndiv {\n  grid-template-rows: [r-a] 1fr [r-b] 2fr;\n}\n\ndiv {\n  grid-template-columns: [a] [b] 1fr [c] 2fr;\n}\n\ndiv {\n  grid-template-columns: repeat(auto-fit, [line-a line-b] 300px);\n}\n\ndiv {\n  grid-template-rows: repeat(auto-fill, [r1 r2] 100px);\n}\n\ndiv {\n  grid: [r-a] 1fr / [c-a] 1fr [c-b] 2fr;\n}\n\ndiv {\n  grid-template-columns: repeat(auto-fit, [a]300px);\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  grid-template-columns: 1fr 1fr;\n}\n\ndiv {\n  grid-template-rows: 1fr 1fr;\n}\n\ndiv {\n  grid-template-columns: repeat(3, 1fr);\n}\n\ndiv {\n  grid-template-rows: repeat(3, 1fr);\n}\n\ndiv {\n  grid: auto / 1fr 1fr;\n}\n\ndiv {\n  grid: repeat(3, 1fr) / auto;\n}\n\ndiv {\n  grid-template-columns: 1fr [after] 1fr;\n}\n\n/* Reserved identifiers cannot be used as line names */\ndiv {\n  grid-template-columns: [auto] 1fr;\n}\n\ndiv {\n  grid-template-rows: [span] 1fr;\n}\n```\n\n</details>\n\n---\n\n### Require Overscroll Behavior\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/scroll-chain)\n\nScroll chaining occurs when a scrollable element reaches its scroll boundary and the scroll continues to the parent container. This commonly happens in modals where scrolling past the end causes the background content to scroll, creating a disorienting user experience.\n\n**Enable this rule to:** Require an `overscroll-behavior` property for all scrollable containers (`overflow: auto` or `overflow: scroll`), preventing unintended scroll chaining.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-overscroll-behavior\": true\n  }\n}\n```\n\n#### Require Overscroll Behavior Options\n\n**Configuration:** By default, this rule validates both horizontal and vertical overflow. Use the `x` and `y` options to control which axes are checked.\n\n```ts\ninterface SecondaryOptions {\n  x?: boolean | [boolean, { severity?: Severity }];\n  y?: boolean | [boolean, { severity?: Severity }];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-overscroll-behavior\": [\n      true,\n      {\n        \"x\": [true, { \"severity\": \"warning\" }],\n        \"y\": [true, { \"severity\": \"error\" }]\n      }\n    ]\n  }\n}\n```\n\n#### Require Overscroll Behavior Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n}\n\ndiv {\n  overflow: hidden scroll;\n  overscroll-behavior: contain;\n}\n\ndiv {\n  overflow: hidden; /* No overscroll-behavior is needed in the case of hidden */\n}\n\ndiv {\n  overflow-block: auto;\n  overscroll-behavior: none;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  overflow-x: auto;\n}\n\ndiv {\n  overflow: hidden scroll;\n}\n\ndiv {\n  overflow-block: auto;\n}\n```\n\n</details>\n\n---\n\n### Require Prefers Reduced Motion\n\n> [!TIP]\n> [Read more about prefers-reduced-motion on MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion)\n\nSome users experience motion sickness or vestibular disorders that make animations uncomfortable or even nauseating. The `prefers-reduced-motion` media query allows users to request minimal animation. Respecting this preference is crucial for accessibility.\n\n**Enable this rule to:** Require all animations and transitions to be wrapped in a `@media (prefers-reduced-motion: no-preference)` or `@media not (prefers-reduced-motion: reduce)` query.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-prefers-reduced-motion\": true\n  }\n}\n```\n\n#### Require Prefers Reduced Motion Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n@media (prefers-reduced-motion: no-preference) {\n  .box {\n    transition: transform 0.3s;\n  }\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  .box {\n    animation: slide 1s ease;\n  }\n}\n\n/* Instant transitions are allowed */\n.box {\n  transition: transform 0s;\n}\n\n/* No animation is allowed */\n.box {\n  animation: none;\n}\n\n@media not (prefers-reduced-motion: reduce) {\n  .box {\n    transition: transform 0s;\n  }\n}\n\n/* Nested media queries */\n@media (prefers-reduced-motion: no-preference) {\n  @media (min-width: 768px) {\n    .box {\n      transition: transform 0.3s;\n    }\n  }\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n.box {\n  transition: transform 0.3s;\n}\n\n.box {\n  animation: slide 1s ease;\n}\n\n.box {\n  animation-duration: 0.5s;\n}\n\n/* Media query without prefers-reduced-motion */\n@media (min-width: 768px) {\n  .box {\n    transition: transform 0.3s;\n  }\n}\n```\n\n</details>\n\n---\n\n### Require Pure Selectors\n\nElement selectors (e.g., `div`, `input`, `section`) couple styles directly to HTML structure, making stylesheets fragile when markup changes. Pure selectors — classes, IDs, and pseudo-classes — keep styles decoupled from the DOM, resulting in more maintainable and portable CSS.\n\n**Enable this rule to:** Require selectors to target classes or IDs rather than HTML element tags, preventing structural coupling between styles and markup.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-pure-selectors\": true\n  }\n}\n```\n\n#### Require Pure Selectors Options\n\n**Configuration:** By default (`strict: false`), this rule rejects selectors that are entirely element-based and requires at least one class or ID when element tags are present. Set `strict: true` to reject any non-ignored element tag in a selector (even when a class or ID is also present, e.g., `.card button`). Use `ignoreElements` to allowlist specific tags (e.g., `*`, `html`, `body`) and `ignoreAttributeModifiers` (_or deprecated `ignoreAttributeSelectors`_) to permit element tags that have an attached attribute selector (e.g., `input[type=\"text\"]`).\n\n```ts\ninterface SecondaryOptions {\n  ignoreAttributeModifiers?: boolean;\n  ignoreAttributeSelectors?: boolean;\n  ignoreElements?: (keyof HTMLElementTagNameMap)[];\n  severity?: Severity;\n  strict?: boolean;\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-pure-selectors\": [\n      true,\n      {\n        \"ignoreElements\": [\"html\", \"*\"],\n        \"ignoreAttributeModifiers\": true,\n        \"severity\": \"error\",\n        \"strict\": true\n      }\n    ]\n  }\n}\n```\n\n#### Require Pure Selectors Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\n/* Standard class selector */\n.card {\n  color: red;\n}\n\n/* Class-to-class relationship (flat specificity) */\n.nav-item .link {\n  color: red;\n}\n\n/* Default mode (strict: false): mixed class + tag selector is allowed */\n.card button {\n  color: red;\n}\n\n/* ID selector */\n#header {\n  color: red;\n}\n\n/* Attribute on a class (no tag dependency) */\n.button[disabled] {\n  opacity: 0.5;\n}\n\n/* Class with pseudo-class */\n.btn:hover {\n  color: blue;\n}\n\n/* Class with pseudo-element */\n.card::before {\n  content: '';\n}\n\n/* Pseudo-class only */\n:root {\n  --color: red;\n}\n\n/* Child combinator with pure selectors */\n.input-group > .input-field {\n  width: 100%;\n}\n\n/* Nested class selectors */\n.card {\n  .btn {\n    background: yellow;\n  }\n}\n\n/* With ignoreElements: ['html', 'body'] */\nhtml {\n  font-size: 16px;\n}\nbody {\n  margin: 0;\n}\n\n/* With ignoreAttributeModifiers: true */\ninput[type='text'] {\n  border: 1px solid;\n}\nbutton[disabled] {\n  opacity: 0.5;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\n/* Standalone element selector (global pollution) */\ndiv {\n  color: red;\n}\n\n/* Direct child element selector (markup fragility) */\nul > li {\n  margin: 0;\n}\n\n/* Base element */\ninput {\n  border: 1px solid;\n}\n\n/* Universal selector */\n* {\n  box-sizing: border-box;\n}\n\n/* Element with pseudo-class */\nbutton:active {\n  color: red;\n}\n\n/* Mixed pure and impure in selector list */\n.btn,\nbutton {\n  color: red;\n}\n\n/* Deeply nested tag selectors */\nheader nav ul li a {\n  text-decoration: none;\n}\n\n/* Nested tag inside class */\n.card {\n  span {\n    color: red;\n  }\n}\n\n/* With strict: true, mixed class + tag selectors are also rejected */\n.table td {\n  display: none;\n}\n```\n\n</details>\n\n---\n\n### Require Scrollbar Gutter\n\n> [!NOTE]\n> [Read more about this pattern in Defensive CSS](https://defensivecss.dev/tip/scrollbar-gutter)\n\nWhen content grows and triggers a scrollbar, the sudden appearance of the scrollbar causes a layout shift as content reflows to accommodate it. This creates a jarring visual jump, especially in dynamic interfaces where content changes frequently.\n\n**Enable this rule to:** Require a `scrollbar-gutter` property for all scrollable containers, reserving space for the scrollbar and preventing layout shifts.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-scrollbar-gutter\": true\n  }\n}\n```\n\n#### Require Scrollbar Gutter Options\n\n**Configuration:** By default, this rule validates both horizontal and vertical overflow. Use the `x` and `y` options to control which axes are checked.\n\n```ts\ninterface SecondaryOptions {\n  x?: boolean | [boolean, { severity?: Severity }];\n  y?: boolean | [boolean, { severity?: Severity }];\n}\n```\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-scrollbar-gutter\": [\n      true,\n      {\n        \"x\": [true, { \"severity\": \"warning\" }],\n        \"y\": [true, { \"severity\": \"error\" }]\n      }\n    ]\n  }\n}\n```\n\n#### Require Scrollbar Gutter Examples\n\n<details>\n<summary>✅ Passing Examples</summary>\n\n```css\ndiv {\n  overflow-x: auto;\n  scrollbar-gutter: auto;\n}\n\ndiv {\n  overflow: hidden scroll;\n  scrollbar-gutter: stable;\n}\n\ndiv {\n  overflow: hidden; /* No scrollbar-gutter is needed in the case of hidden */\n}\n\ndiv {\n  overflow-block: auto;\n  scrollbar-gutter: stable both-edges;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples</summary>\n\n```css\ndiv {\n  overflow-x: auto;\n}\n\ndiv {\n  overflow: hidden scroll;\n}\n\ndiv {\n  overflow-block: auto;\n}\n```\n\n</details>\n\n---\n\n### Require System Font Fallback\n\nCustom or non-standard fonts can fail to load due to network issues, font licensing, or missing system installations. Without a proper fallback, users may see invisible text (FOIT) or a jarring font swap (FOUT). Including a web-safe or CSS system font fallback ensures text remains readable under all conditions.\n\n**Enable this rule to:** Require `font` and `font-family` declarations to include a web-safe and/or CSS system font fallback.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-system-font-fallback\": true\n  }\n}\n```\n\n#### Require System Font Fallback Options\n\n**Configuration:** By default (loose mode), this rule accepts either a web-safe font (e.g., `Arial`, `Georgia`) or a CSS system font generic (e.g., `sans-serif`, `monospace`) as a valid fallback. Enable `strict` mode to require a CSS system font generic specifically. Use the `ignore` option to exclude patterns such as CSS variables or design tokens.\n\n> [!NOTE]\n> **Web-safe fonts** (e.g., `Arial`, `Georgia`, `Verdana`) are pre-installed on most operating systems and are accepted in **loose mode only**.\n>\n> **CSS system font generics** (e.g., `sans-serif`, `serif`, `monospace`, `system-ui`) are resolved by the browser itself and are accepted in **both loose and strict modes**.\n>\n> CSS global keywords (`inherit`, `initial`, `unset`, `revert`, `revert-layer`) are always accepted since they delegate font resolution to the cascade.\n\n```ts\ninterface SecondaryOptions {\n  ignore?: (string | RegExp)[];\n  strict?: boolean;\n}\n```\n\n**Loose mode (default):** Accepts web-safe fonts or CSS system font generics as fallbacks.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-system-font-fallback\": [\n      true,\n      {\n        \"severity\": \"warning\"\n      }\n    ]\n  }\n}\n```\n\n**Strict mode:** Requires a CSS system font generic — web-safe fonts alone are not enough.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-system-font-fallback\": [\n      true,\n      {\n        \"strict\": true,\n        \"severity\": \"error\"\n      }\n    ]\n  }\n}\n```\n\n**Ignore patterns:** Exclude specific fonts or CSS variable patterns from being flagged.\n\n```json\n{\n  \"rules\": {\n    \"defensive-css/require-system-font-fallback\": [\n      true,\n      {\n        \"ignore\": [\"var\\\\(--ds-font-family.*\\\\)\", \"Exact Font\"]\n      }\n    ]\n  }\n}\n```\n\n#### Require System Font Fallback Examples\n\n<details>\n<summary>✅ Passing Examples (Loose Mode)</summary>\n\n```css\n/* Web-safe font alone — accepted in loose mode */\n.heading {\n  font-family: Arial;\n}\n\n/* CSS system font generic as fallback */\n.heading {\n  font-family: 'Fira Sans', sans-serif;\n}\n\n/* System font keyword in font shorthand */\n.heading {\n  font: caption;\n}\n\n/* Newer generic families */\n.heading {\n  font-family: 'Custom Font', ui-sans-serif;\n}\n\n/* CSS global keywords are always accepted */\n.heading {\n  font-family: inherit;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples (Loose Mode)</summary>\n\n```css\n/* No fallback at all */\n.heading {\n  font-family: 'Fira Sans';\n}\n\n/* Quoted generic names are treated as custom families */\n.heading {\n  font-family: 'sans-serif';\n}\n\n/* Multiple custom fonts with no fallback */\n.heading {\n  font-family: 'Custom Font', 'Another Font';\n}\n```\n\n</details>\n\n<details>\n<summary>✅ Passing Examples (Strict Mode)</summary>\n\n```css\n/* CSS system font generic as fallback */\n.heading {\n  font-family: 'Fira Sans', sans-serif;\n}\n\n/* Web-safe font with a system font generic */\n.heading {\n  font-family: Arial, sans-serif;\n}\n\n/* Standalone system font generic */\n.heading {\n  font-family: system-ui;\n}\n\n/* Newer CSS system font generics */\n.heading {\n  font-family: 'Custom Font', ui-serif;\n}\n```\n\n</details>\n\n<details>\n<summary>❌ Failing Examples (Strict Mode)</summary>\n\n```css\n/* Web-safe font alone — not enough in strict mode */\n.heading {\n  font-family: Arial;\n}\n\n/* Web-safe fallback without a system font generic */\n.heading {\n  font-family: 'Custom Font', Helvetica;\n}\n\n/* Two web-safe fonts, no system font generic */\n.heading {\n  font-family: Verdana, Georgia;\n}\n```\n\n</details>\n\n## Troubleshooting\n\n### Third-Party False Positives\n\nIf you're getting warnings for properties you don't control (e.g., from third-party libraries), you can disable the rule for specific files in your Stylelint config file using the `overrides` property.\n\n```json\n{\n  \"overrides\": [\n    {\n      \"files\": [\"vendor/**/*.css\"],\n      \"rules\": {\n        \"defensive-css/no-mixed-vendor-prefixes\": null\n      }\n    }\n  ]\n}\n```\n\n### Ignoring Specific Patterns\n\nAs an escape hatch, use Stylelint's built-in `disable` comments to bypass specific rules:\n\n```css\ndiv {\n  /* stylelint-disable-next-line defensive-css/require-background-repeat */\n  background: url(./some-image.jpg);\n}\n```\n","readmeFilename":"README.md","users":{"nyxsakurarage":true}}