{"_id":"postcss-extend-rule","_rev":"6-190d9ba4a095439bdb3d3901bec25683","name":"postcss-extend-rule","description":"Use the @extend at-rule and functional selectors in CSS","dist-tags":{"latest":"4.0.0"},"versions":{"1.1.0":{"name":"postcss-extend-rule","version":"1.1.0","description":"Use the @extend at-rule and functional selectors in CSS","author":{"name":"Jonathan Neal","email":"jonathantneal@hotmail.com"},"license":"CC0-1.0","repository":{"type":"git","url":"git+https://github.com/jonathantneal/postcss-extend-rule.git"},"homepage":"https://github.com/jonathantneal/postcss-extend-rule#readme","bugs":{"url":"https://github.com/jonathantneal/postcss-extend-rule/issues"},"main":"index.js","files":["index.js"],"scripts":{"clean":"git clean -X -d -f","prepublish":"npm test","test":"echo 'Running tests...'; npm run test:js && npm run test:tape","test:js":"eslint *.js --cache --ignore-pattern .gitignore","test:tape":"postcss-tape"},"engines":{"node":">=4.0.0"},"dependencies":{"postcss":"^6.0.11","postcss-nesting":"^4.2.1"},"devDependencies":{"eslint":"^4.7.1","eslint-config-dev":"2.0.0","postcss-tape":"2.1.0","pre-commit":"^1.2.2"},"eslintConfig":{"extends":"dev"},"keywords":["postcss","css","postcss-plugin","extend","matched","matches","match","selectors","subclassing","subclasses","subclass","styling","styles","style","placeholder","placehold","selectors","selector","chaining"],"gitHead":"7c3f6b6d640bc4c1be4c17a9707828fbc7627d5f","_id":"postcss-extend-rule@1.1.0","_npmVersion":"5.4.2","_nodeVersion":"8.5.0","_npmUser":{"name":"jonathantneal","email":"jonathantneal@hotmail.com"},"dist":{"integrity":"sha512-+NXtLOY49Xcx9173SJAYj41esTRTpihSLoKpj5yzoBki9PZK4HF37AH9AVyCeLFJL9fzhh0YFuk/3eyeZ9d/jw==","shasum":"11e4d590ffe4253b853ef1fc03be7167da607d38","tarball":"https://registry.npmjs.org/postcss-extend-rule/-/postcss-extend-rule-1.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzzoTPLEUKqdICYzqH6YMyKBYDP3DQ14j3FYIgGNdCOAIgNoVUxcAbEfiFyp66ICoscPRpYc6FkwcEdu6UNpu3OBA="}]},"maintainers":[{"name":"jonathantneal","email":"jonathantneal@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/postcss-extend-rule-1.1.0.tgz_1505834059010_0.7325346062425524"},"directories":{}},"2.0.0":{"name":"postcss-extend-rule","version":"2.0.0","description":"Use the @extend at-rule and functional selectors in CSS","author":{"name":"Jonathan Neal","email":"jonathantneal@hotmail.com"},"license":"CC0-1.0","repository":{"type":"git","url":"git+https://github.com/jonathantneal/postcss-extend-rule.git"},"homepage":"https://github.com/jonathantneal/postcss-extend-rule#readme","bugs":{"url":"https://github.com/jonathantneal/postcss-extend-rule/issues"},"main":"index.cjs.js","module":"index.es.js","files":["index.cjs.js","index.es.js"],"scripts":{"prepublishOnly":"npm test","pretest":"rollup -c .rollup.js --silent","test":"echo 'Running tests...'; npm run test:js && npm run test:tape","test:js":"eslint *.js --cache --ignore-path .gitignore --quiet","test:tape":"postcss-tape"},"engines":{"node":">=4.0.0"},"dependencies":{"postcss":"^6.0.22","postcss-nesting":"^5.0.0"},"devDependencies":{"babel-core":"^6.26.3","babel-eslint":"^8.2.3","babel-preset-env":"^1.7.0","eslint":"^4.19.1","eslint-config-dev":"^2.0.0","postcss-tape":"^2.2.0","pre-commit":"^1.2.2","rollup":"^0.59.4","rollup-plugin-babel":"^3.0.4"},"eslintConfig":{"extends":"dev","parser":"babel-eslint"},"keywords":["postcss","css","postcss-plugin","extend","matched","matches","match","selectors","subclassing","subclasses","subclass","styling","styles","style","placeholder","placehold","selectors","selector","chaining"],"gitHead":"96d2382426c4c7f83da773dc34a32e8da8cd29ad","_id":"postcss-extend-rule@2.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.1.0","_npmUser":{"name":"jonathantneal","email":"jonathantneal@hotmail.com"},"dist":{"integrity":"sha512-dgr1GJzW3lUBczZJO5Fm51rktn34Uc99xR1uQyC2Td8JPep/Y+TRx6TjK0yngikOd4LxV1xyuohMMpcaOBgrfA==","shasum":"031fe6f608cf6efd20cb58b11f343b164c18d370","tarball":"https://registry.npmjs.org/postcss-extend-rule/-/postcss-extend-rule-2.0.0.tgz","fileCount":6,"unpackedSize":24181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbD3PNCRA9TVsSAnZWagAAWL8P/1xdIZx9VEbQ/W74qYLW\nb7F1sqsOrwLOhfagEIc23qSQNdE6dmkVXRZ+v1fseyTzkZfxoTQF14LOGBnu\nxRxEJ/i4Njs+k7vWGubfmo8v4eJZZEgz4HhY0yQZ6bdY6YzeCILYnpZX1XZW\nQ13Wak2wgzuiEcwXTyxmugn9/W9KJeIO+l2u69jsZcCJ46bZLWqbW41bi9sb\napirQxuw2A2ZlR3+gxPM68zBr9BA45UMwnehtGwk6aagrMugq0RCqF9ZwesV\nasSyOqx5OMHuPTzMOPZ4XEDlLAoLZuxJ+OTRo/TUijJlP5LuE7Eh0MG6YdVy\nD3Nyw8R9jaPA2hCzhfRoFa8O0469qPYJW4Vt/WsrPC7awrjHxN+siU9wIFvB\nG7vN28nMTLklpm9JtmPCqirkhn0qyTTqbTaJnFZv+uIjGFqJaGA8jA/s8NOC\n1m1+8yzvnVMugl/9kRT73byBbJ52Zi/pE2dLesEoHoqdG0BlmJ2e96SNYZcL\nWCmsMSFW+cmpeCe8qk9fALTJuntyqgcVZwHGDTjq+sxDhL1K4nELV8DamtO9\nCwiD88/zilnwLz3lKsNTpBKLyFGYngoerJpVl/IQOeNEuOmxh88/M1+YwF8Y\nclkCLyhG+Cz0E7uY3zTDMtCdp0KTGpz27AUIv2xO24XGFF031Wtiv8SPoTKy\nwrIJ\r\n=IZI1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4R5vw+hgwSYpS1wCbkg6SsehWtBkq6HbWrYsqbMmEEAiEAsUopKYbdUaJgHpNdFwKKGNLscdQFMD6ZOREaWZbJr3g="}]},"maintainers":[{"name":"jonathantneal","email":"jonathantneal@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/postcss-extend-rule_2.0.0_1527739340265_0.24020858149439772"},"_hasShrinkwrap":false},"3.0.0":{"name":"postcss-extend-rule","version":"3.0.0","description":"Use the @extend at-rule and functional selectors in CSS","author":{"name":"Jonathan Neal","email":"jonathantneal@hotmail.com"},"license":"CC0-1.0","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-extend-rule.git"},"homepage":"https://github.com/csstools/postcss-extend-rule#readme","bugs":{"url":"https://github.com/csstools/postcss-extend-rule/issues"},"main":"index.js","module":"index.mjs","scripts":{"build":"rollup --config .rollup.js --silent","prepublishOnly":"npm test","pretest:tape":"npm run build","test":"npm run test:js && npm run test:tape","test:js":"eslint src/{*,**/*}.js --cache --ignore-path .gitignore --quiet","test:tape":"postcss-tape"},"engines":{"node":">=8.0.0"},"dependencies":{"postcss":"^7.0.17","postcss-nesting":"^7.0.1","postcss-tape":"^5.0.2"},"devDependencies":{"@babel/core":"^7.5.5","@babel/preset-env":"^7.5.5","babel-eslint":"^10.0.2","eslint":"^6.1.0","pre-commit":"^1.2.2","rollup":"^1.17.0","rollup-plugin-babel":"^4.3.3"},"eslintConfig":{"env":{"browser":true,"es6":true,"node":true},"extends":"eslint:recommended","parser":"babel-eslint","parserOptions":{"ecmaVersion":2018,"impliedStrict":true,"sourceType":"module"},"root":true},"keywords":["postcss","css","postcss-plugin","extend","matched","matches","match","selectors","subclassing","subclasses","subclass","styling","styles","style","placeholder","placehold","selectors","selector","chaining"],"gitHead":"2a77465106b4976c888ceeb1df740032f82d41f1","_id":"postcss-extend-rule@3.0.0","_nodeVersion":"12.6.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gMlRmW52Y86Lct+KTr+gMjxk0aUSuTyjtvelIH3a7UdaXONaKH6qSmj8KAXCW4+nhTlAsOw5JdkRjCdZ/Kjb3Q==","shasum":"d6ee2fb24ab2b3d9b50acce1d055c1c137ab5f44","tarball":"https://registry.npmjs.org/postcss-extend-rule/-/postcss-extend-rule-3.0.0.tgz","fileCount":8,"unpackedSize":42817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPvAeCRA9TVsSAnZWagAA9S4P+QAN0bVc2pUe6cn3YKSv\n2Zr4KlRzt6ww6ppU9yvT8dVlOuXWwJgtCmjCq521YB4LKsYWCf4TS7PvFiQ+\nz1dnDuensm08JRCb6MjM7H+XWG0NOO8IqV36gSP2zWWTIV7wfrbowNl+fZJE\nzTpbq3mZojlMwglh/rWYylUNXetW1IGxgwmOt80rQnwo1styjhXiVR6DkXB4\nSkApsjWlXP+z2GEOq1hR9o4IBrOEj8AtdLrkAWJR527fdX2LMXXm3qG5YvXp\n4pR1lFUvmGE7xM2d6LD4tzlHkLGMLPkSdpUF+1kOxr8BQI1/zwAdwXMVyb0v\niGLs9O5X/DE7ILzFueuNN31L9yE8h4dvjGXljt3R5eujh52AhBkMW8dQQGJx\nHWqWbY2qkq+NaVAm8zkqon5xtfihA/QWU8yboWAOIEnUJVS1yj3am12/9tyg\no37pOt2f4agJ7LZqRFucttYaRhsE62aLykidWkNJ4iJ0vxq3ZSCL7DD+2bOA\ngIAkNRf3FEgvODvAs2L1RtaUBzzz+in9ZN3pYedNQEV8v92batvqqVe7+eDZ\ntYohXWS50mUrJbTKHgs0ufU9qv+SepGm+74MhVV4toh8xpR1AaWImHwkFvij\n0Aw7qqEUjt7ktG/CWkrcFD50O2/RtFNvcB72QT717KcCvsDyvaNDH2i7I0iv\nbSQz\r\n=/hc3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsX7VIndJBevi2G+I82zwLWmpfKRqfb8BWFmj3YpORpgIgCz7PkFpEI7vpGgHZsKyKz32tIpuI7y6J+fWJhbehrnE="}]},"maintainers":[{"name":"jonathantneal","email":"jonathantneal@hotmail.com"}],"_npmUser":{"name":"jonathantneal","email":"jonathantneal@hotmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/postcss-extend-rule_3.0.0_1564405790175_0.8500785884657256"},"_hasShrinkwrap":false},"4.0.0":{"name":"postcss-extend-rule","version":"4.0.0","description":"Use the @extend at-rule and functional selectors in CSS","author":{"name":"Jonathan Neal","email":"jonathantneal@hotmail.com"},"license":"CC0-1.0","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-extend-rule.git"},"homepage":"https://github.com/csstools/postcss-extend-rule#readme","bugs":{"url":"https://github.com/csstools/postcss-extend-rule/issues"},"main":"dist/index.cjs","module":"dist/index.mjs","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"scripts":{"build":"rollup --config .rollup.js --silent","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"","prepublishOnly":"npm run clean && npm run build && npm run test","test":"npm run lint && npm run test:tape","lint":"eslint src/{*,**/*}.js --cache --ignore-path .gitignore --quiet","test:tape":"postcss-tape"},"engines":{"node":"^12 || ^14 || >=16"},"dependencies":{"postcss-nesting":"^10.1.2"},"devDependencies":{"@babel/core":"^7.17.2","@babel/eslint-parser":"^7.17.0","@babel/preset-env":"^7.16.11","eslint":"^8.8.0","postcss":"^8.4.6","postcss-tape":"^6.0.1","rollup":"^2.67.2","rollup-plugin-babel":"^4.4.0"},"peerDependencies":{"postcss":"^8.4.6"},"postcssConfig":{"config":".tape.js"},"eslintConfig":{"env":{"es6":true,"node":true},"extends":"eslint:recommended","rules":{"quotes":["error","single"],"comma-dangle":["error","always-multiline"],"semi":["error","always"],"curly":"error","brace-style":"error","indent":["error","tab",{"SwitchCase":1}],"radix":"error"},"parserOptions":{"ecmaVersion":2020,"sourceType":"module"},"root":true},"keywords":["postcss","css","postcss-plugin","extend","matched","matches","match","selectors","subclassing","subclasses","subclass","styling","styles","style","placeholder","placehold","selectors","selector","chaining"],"gitHead":"7ffb641c025d75fb0e2fed7ca015d481eb5130e7","_id":"postcss-extend-rule@4.0.0","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"integrity":"sha512-3gjPWUDNYjkRjtcpoN8ppZRXG8vyAk4mYdkYOETacCkCLVguW5IpCXCO31cDk8SW2/rx0RogWcXm1Zu/EayDVg==","shasum":"4a6a4c7d099c3acc9d896df05367866d13f3984b","tarball":"https://registry.npmjs.org/postcss-extend-rule/-/postcss-extend-rule-4.0.0.tgz","fileCount":6,"unpackedSize":25305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBTk4CRA9TVsSAnZWagAAxRgP/3iZ2V5UMyFz3ygVwOwo\nstqIAFsllvy+iOAE4ic4xgYlcpkAFpS0zeguT9wSiQ5Caaj8k69ScsxHuYrI\nv/x3wT1wNK6WBqszYJJ1PhWj3tBX1vaSohd1eLK/9sUCP0A/zM1nVSaEbQTz\n5FrxvhZg0G+UmnOdMCg2plyyXwAGvlGEbxWvqPEWIB5ijqVhoIpXRO+yBYD4\nLLPkTaMVrAcqO08EO2POHn4sNV6tJzhKsgD97cy79kzSS6f8A4BFoO7D3LqZ\nnY0RePBql6ZoT+1Rm+Xhz6O7EtEm5xKnyXG79Uht5idnEs9cBYzyPvwAjzIp\n2tjPkrogeBTMDYoI/jO7lQa1FRxs/fGBEny89m6Ri+ZAsTt5dWU18d5QV4iF\nWbxyqHzdZh27JtFgYjDAUPop4zo5NA7sU8PCoaaI/dP8yWCNraA7YAw5kG/f\nF6zaGosE3Ptl4ZNvHRQl1wrtfOrGI8nAkdRw15UWxCmjGp2C5pW1IbiLC7c4\n4y3XTPgup+pFvaoawd9hf1A/c+PnZx5CAq2SgDYN37dJfaI3Z3El+fm4aHC/\natOEsje3n0hDLRW4YZ/aIDkQyCmHPnKUxkHMcJV62S2cMEgNVizBvvJJTC5R\nPRqcY9aRSKSJhqIo7sQ7zhmdZ0SBOs1sxmLv5IGmDem3BGw+Z6OsMMnwqGzf\n+Vuu\r\n=840a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHj7viXBFM5rUhkYlxPVMHc0b5OGWpBm+2rERAk+bddzAiAxMx2a39UeOL5mIo4ALNDgHAfqCUKtl81x4cj4m/rTjA=="}]},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":"sombragriselros@gmail.com"},{"name":"jonathantneal","email":"jonathantneal@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/postcss-extend-rule_4.0.0_1644509496471_0.7783574413836996"},"_hasShrinkwrap":false}},"readme":"# PostCSS Extend Rule [<img src=\"https://postcss.github.io/postcss/logo.svg\" alt=\"PostCSS\" width=\"90\" height=\"90\" align=\"right\">][postcss]\n\n[![NPM Version][npm-img]][npm-url]\n[![test](https://github.com/csstools/postcss-extend-rule/actions/workflows/test.yml/badge.svg)](https://github.com/csstools/postcss-extend-rule/actions/workflows/test.yml)\n[<img alt=\"Discord\" src=\"https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white\">][discord]\n\n[PostCSS Extend Rule] lets you use the `@extend` at-rule and\n[Functional Selectors] in CSS, following the speculative\n[CSS Extend Rules Specification].\n\n```pcss\n%thick-border {\n  border: thick dotted red;\n}\n\n.serious-modal {\n  font-style: normal;\n  font-weight: bold;\n\n  @media (max-width: 240px) {\n    @extend .modal:hover;\n  }\n}\n\n.modal {\n  @extend %thick-border;\n\n  color: red;\n}\n\n.modal:hover:not(:focus) {\n  outline: none;\n}\n\n/* becomes */\n\n.serious-modal {\n  font-style: normal;\n  font-weight: bold;\n}\n\n@media (max-width: 240px) {\n  .serious-modal:not(:focus) {\n    outline: none;\n  }\n}\n\n.modal {\n  border: thick dotted red;\n  color: red;\n}\n\n.modal:hover:not(:focus) {\n  outline: none;\n}\n```\n\n## Usage\n\nAdd [PostCSS Extend Rule] to your project:\n\n```bash\nnpm install postcss postcss-extend-rule --save-dev\n```\n\nUse **PostCSS Extend Rule** to process your CSS:\n\n```js\nconst postcssExtendRule = require('postcss-extend-rule');\n\npostcssExtendRule.process(YOUR_CSS /*, processOptions, pluginOptions */);\n```\n\nOr use it as a [PostCSS] plugin:\n\n```js\nconst postcss = require('postcss');\nconst postcssExtendRule = require('postcss-extend-rule');\n\npostcss([\n  postcssExtendRule(/* pluginOptions */)\n]).process(YOUR_CSS /*, processOptions */);\n```\n\n**PostCSS Extend Rule** runs in all Node environments, with special instructions for:\n\n| [Node](INSTALL.md#node) | [PostCSS CLI](INSTALL.md#postcss-cli) | [Webpack](INSTALL.md#webpack) | [Create React App](INSTALL.md#create-react-app) | [Gulp](INSTALL.md#gulp) | [Grunt](INSTALL.md#grunt) |\n| --- | --- | --- | --- | --- | --- |\n\n## Options\n\n### name\n\nThe `name` option determines the at-rule name being used to extend selectors.\nBy default, this name is `extend`, meaning `@extend` rules are parsed.\n\n```js\npostcssExtend({ name: 'postcss-extend' })\n```\n\nIf the `name` option were changed to, say, `postcss-extend`, then only\n`@postcss-extend` at-rules would be parsed.\n\n```pcss\nmain {\n  @postcss-extend .some-rule;\n}\n```\n\n### onFunctionalSelector\n\nThe `onFunctionalSelector` option determines how functional selectors should be\nhandled. Its options are:\n\n- `remove` (default) removes any functional selector\n- `ignore` ignores any functional selector and moves on\n- `warn` warns the user whenever it encounters a functional selector\n- `throw` throws an error if ever it encounters a functional selector\n\n```js\npostcssExtend({ onFunctionalSelector: 'remove' /* default */ })\n```\n\n```pcss\n%this-will-be-removed {}\n```\n\n### onRecursiveExtend\n\nThe `onRecursiveExtend` option determines how recursive extend at-rules should\nbe handled. Its options are:\n\n- `remove` (default) removes any recursive extend at-rules\n- `ignore` ignores any recursive extend at-rules and moves on\n- `warn` warns the user whenever it encounters a recursive extend at-rules\n- `throw` throws an error if ever it encounters a recursive extend at-rules\n\n```js\npostcssExtend({ onRecursiveExtend: 'remove' /* default */ })\n```\n\n```pcss\n.this-will-not-extend-itself {\n  @extend .this-will-not-extend-itself;\n}\n```\n\n### onUnusedExtend\n\nThe `onUnusedExtend` option determines how an unused extend at-rule should be\nhandled. Its options are:\n\n- `remove` (default) removes any unused extend at-rule\n- `ignore` ignores any unused extend at-rule and moves on\n- `warn` warns the user whenever it encounters an unused extend at-rule\n- `throw` throws an error if ever it encounters an unused extend at-rule\n\n```js\npostcssExtend({ onUnusedExtend: 'remove' /* default */ })\n```\n\n```pcss\nmain {\n  @extend .this-selector-does-not-exist-and-will-be-removed;\n}\n```\n\n[git-img]: https://img.shields.io/badge/support-chat-blue.svg\n[discord]: https://discord.gg/bUadyRwkJS\n[npm-img]: https://img.shields.io/npm/v/postcss-extend-rule.svg\n[npm-url]: https://www.npmjs.com/package/postcss-extend-rule\n\n[CSS Extend Rules Specification]: https://jonathantneal.github.io/specs/css-extend-rule/\n[Functional Selectors]: https://jonathantneal.github.io/specs/css-extend-rule/#functional-selector\n[PostCSS]: https://github.com/postcss/postcss\n[PostCSS Extend Rule]: https://github.com/csstools/postcss-extend-rule\n","maintainers":[{"email":"romainmenke@gmail.com","name":"romainmenke"},{"email":"sombragriselros@gmail.com","name":"alaguna"},{"email":"jonathantneal@hotmail.com","name":"jonathantneal"}],"time":{"modified":"2023-07-24T15:03:41.484Z","created":"2017-09-19T15:14:20.085Z","1.1.0":"2017-09-19T15:14:20.085Z","2.0.0":"2018-05-31T04:02:20.360Z","3.0.0":"2019-07-29T13:09:50.483Z","4.0.0":"2022-02-10T16:11:36.611Z"},"homepage":"https://github.com/csstools/postcss-extend-rule#readme","keywords":["postcss","css","postcss-plugin","extend","matched","matches","match","selectors","subclassing","subclasses","subclass","styling","styles","style","placeholder","placehold","selectors","selector","chaining"],"repository":{"type":"git","url":"git+https://github.com/csstools/postcss-extend-rule.git"},"author":{"name":"Jonathan Neal","email":"jonathantneal@hotmail.com"},"bugs":{"url":"https://github.com/csstools/postcss-extend-rule/issues"},"license":"CC0-1.0","readmeFilename":"README.md"}