{"_id":"@csstools/selector-specificity","_rev":"261609","name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","dist-tags":{"latest":"2.2.0"},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"time":{"modified":"2023-03-27T17:30:27.000Z","created":"2022-04-26T15:58:27.466Z","2.2.0":"2023-03-21T09:07:57.372Z","2.1.1":"2023-01-28T07:26:06.984Z","2.1.0":"2023-01-19T19:04:18.031Z","2.0.2":"2022-07-08T14:54:43.935Z","2.0.1":"2022-06-10T07:40:50.986Z","2.0.0":"2022-06-04T07:08:53.244Z","1.0.0":"2022-04-26T15:58:27.466Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"versions":{"2.2.0":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.2.0","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^14 || ^16 || >=18"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"build":"rollup -c ../../rollup/default.mjs","lint":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run build && npm run test","stryker":"stryker run --logLevel error","test":"node ./test/index.mjs && node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"89e7c02b95e176bb1243d648d14be67d52b796e2","_id":"@csstools/selector-specificity@2.2.0","_nodeVersion":"18.13.0","_npmVersion":"9.4.1","dist":{"shasum":"2cbcf822bf3764c9658c4d2e568bd0c0cb748016","size":5481,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.2.0.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.2.0.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.2.0_1679389677228_0.9257955883830253"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-03-21T09:07:57.372Z","publish_time":1679389677372,"_cnpm_publish_time":1679389677372},"2.1.1":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.1.1","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^14 || ^16 || >=18"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.4","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"prebuild":"npm run clean","build":"rollup -c ../../rollup/default.mjs","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true }); fs.mkdirSync('./dist');\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs && node ./test/test-compare.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"0c28b1ae9376d6263f9c0daccc4fb3a3e5569dc0","_id":"@csstools/selector-specificity@2.1.1","_nodeVersion":"18.8.0","_npmVersion":"8.18.0","dist":{"shasum":"c9c61d9fe5ca5ac664e1153bb0aa0eba1c6d6308","size":5467,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.1.1.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.1.1.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.1.1_1674890766824_0.4844133176360277"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-28T07:26:06.984Z","publish_time":1674890766984,"_cnpm_publish_time":1674890766984},"2.1.0":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.1.0","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^14 || ^16 || >=18"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.4","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"prebuild":"npm run clean","build":"rollup -c ../../rollup/default.mjs","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true }); fs.mkdirSync('./dist');\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs && node ./test/test-compare.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"8ebb6d6c55c8f3adaf80ef2adc1ca952fa8d539c","_id":"@csstools/selector-specificity@2.1.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"923ebf8ba47e854863ae72510d9cbf7b44d525ea","size":5435,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.1.0.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.1.0.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.1.0_1674155057812_0.03272184167265624"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-01-19T19:04:18.031Z","publish_time":1674155058031,"_cnpm_publish_time":1674155058031},"2.0.2":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.0.2","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^12 || ^14 || >=16"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.2","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"build":"rollup -c ../../rollup/default.js","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs && node ./test/test-compare.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"9c762dff1caa67c992203452391570e9c6b52f4b","_id":"@csstools/selector-specificity@2.0.2","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"1bfafe4b7ed0f3e4105837e056e0a89b108ebe36","size":5598,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.0.2.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.0.2.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.0.2_1657292083763_0.6225869398661719"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-08T15:45:24.734Z","publish_time":1657292083935,"_cnpm_publish_time":1657292083935},"2.0.1":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.0.1","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^12 || ^14 || >=16"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.3","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"build":"rollup -c ../../rollup/default.js","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs && node ./test/test-compare.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"94675f2d0f74ef8e9980ed59db68979acf527c1a","_id":"@csstools/selector-specificity@2.0.1","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"b6b8d81780b9a9f6459f4bfe9226ac6aefaefe87","size":5552,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.0.1.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.0.1.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.0.1_1654846850651_0.44880374398721146"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-10T09:50:25.205Z","publish_time":1654846850986,"_cnpm_publish_time":1654846850986},"2.0.0":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"2.0.0","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^12 || ^14 || >=16"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.3","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"build":"rollup -c ../../rollup/default.js","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs && node ./test/test-compare.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"16a4ac080a0a7f4988887950ef4de18aa266edb7","_id":"@csstools/selector-specificity@2.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"65b12f12db55188422070e34687bf3af09870922","size":5516,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-2.0.0.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-2.0.0.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_2.0.0_1654326533076_0.017308726541886532"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-06T01:58:16.665Z","publish_time":1654326533244,"_cnpm_publish_time":1654326533244},"1.0.0":{"name":"@csstools/selector-specificity","description":"Determine selector specificity with postcss-selector-parser","version":"1.0.0","contributors":[{"name":"Antonio Laguna","email":"antonio@laguna.es","url":"https://antonio.laguna.es"},{"name":"Romain Menke","email":"romainmenke@gmail.com"}],"license":"CC0-1.0","funding":{"type":"opencollective","url":"https://opencollective.com/csstools"},"engines":{"node":"^12 || ^14 || >=16"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","default":"./dist/index.mjs"}},"peerDependencies":{"postcss":"^8.3","postcss-selector-parser":"^6.0.10"},"devDependencies":{"postcss-selector-parser":"^6.0.10"},"scripts":{"build":"rollup -c ../../rollup/default.js","clean":"node -e \"fs.rmSync('./dist', { recursive: true, force: true });\"","lint":"npm run lint:eslint && npm run lint:package-json","lint:eslint":"eslint ./src --ext .js --ext .ts --ext .mjs --no-error-on-unmatched-pattern","lint:package-json":"node ../../.github/bin/format-package-json.mjs","prepublishOnly":"npm run clean && npm run build && npm run test","stryker":"stryker run --logLevel error","test":"npm run test:exports && node ./test/example.mjs && node ./test/test.mjs && node ./test/tests-from-bramus-specificity.mjs && node ./test/tests-from-keeganstreet-specificity.mjs","test:exports":"node ./test/_import.mjs && node ./test/_require.cjs"},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","repository":{"type":"git","url":"git+https://github.com/csstools/postcss-plugins.git","directory":"packages/selector-specificity"},"bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"keywords":["css","postcss-selector-parser","specificity"],"volta":{"extends":"../../package.json"},"gitHead":"ce978d0ccf81ad8d44c0afb173f5ae998d1793c1","_id":"@csstools/selector-specificity@1.0.0","_nodeVersion":"16.13.1","_npmVersion":"8.1.2","dist":{"shasum":"91c560df2ed8d9700e4c7ed4ac21a3a322c9d975","size":5156,"noattachment":false,"key":"/@csstools/selector-specificity/-/@csstools/selector-specificity-1.0.0.tgz","tarball":"http://name.csiicloud.com:7001/@csstools/selector-specificity/download/@csstools/selector-specificity-1.0.0.tgz"},"_npmUser":{"name":"alaguna","email":"sombragriselros@gmail.com"},"directories":{},"maintainers":[{"name":"alaguna","email":""},{"name":"jonathantneal","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/selector-specificity_1.0.0_1650988707301_0.7184115489329403"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-26T16:03:49.955Z","publish_time":1650988707466,"_cnpm_publish_time":1650988707466}},"readme":"# Selector Specificity\n\n[<img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@csstools/selector-specificity.svg\" height=\"20\">][npm-url]\n[<img alt=\"Build Status\" src=\"https://github.com/csstools/postcss-plugins/workflows/test/badge.svg\" height=\"20\">][cli-url]\n[<img alt=\"Discord\" src=\"https://shields.io/badge/Discord-5865F2?logo=discord&logoColor=white\">][discord]\n\n## Usage\n\nAdd [Selector Specificity] to your project:\n\n```bash\nnpm install postcss @csstools/selector-specificity --save-dev\n```\n\n```js\nimport parser from 'postcss-selector-parser';\nimport { selectorSpecificity } from '@csstools/selector-specificity';\n\nconst selectorAST = parser().astSync('#foo:has(> .foo)');\nconst specificity = selectorSpecificity(selectorAST);\n\nconsole.log(specificity.a); // 1\nconsole.log(specificity.b); // 1\nconsole.log(specificity.c); // 0\n```\n\n_`selectorSpecificity` takes a single selector, not a list of selectors (not : `a, b, c`).\nTo compare or otherwise manipulate lists of selectors you need to call `selectorSpecificity` on each part._\n\n### Comparing\n\nThe package exports a utility function to compare two specificities.\n\n```js\nimport { selectorSpecificity, compare } from '@csstools/selector-specificity';\n\nconst s1 = selectorSpecificity(ast1);\nconst s2 = selectorSpecificity(ast2);\ncompare(s1, s2); // -1 | 0 | 1\n```\n\n- if `s1 < s2` then `compare(s1, s2)` returns a negative number (`< 0`)\n- if `s1 > s2` then `compare(s1, s2)` returns a positive number (`> 0`)\n- if `s1 === s2` then `compare(s1, s2)` returns zero (`=== 0`)\n\n## Prior Art\n\n- [keeganstreet/specificity](https://github.com/keeganstreet/specificity)\n- [bramus/specificity](https://github.com/bramus/specificity)\n\nFor CSSTools we always use `postcss-selector-parser` and want to calculate specificity from this AST.\n\n[cli-url]: https://github.com/csstools/postcss-plugins/actions/workflows/test.yml?query=workflow/test\n[discord]: https://discord.gg/bUadyRwkJS\n[npm-url]: https://www.npmjs.com/package/@csstools/selector-specificity\n\n[Selector Specificity]: https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity\n","_attachments":{},"homepage":"https://github.com/csstools/postcss-plugins/tree/main/packages/selector-specificity#readme","bugs":{"url":"https://github.com/csstools/postcss-plugins/issues"},"license":"CC0-1.0"}