├── .babelrc ├── .eslintrc ├── .gitattributes ├── .gitignore ├── .npmignore ├── CHANGELOG.md ├── LICENSE ├── README-zh_CN.md ├── README.md ├── docs ├── authors.md └── tags.md ├── index.js ├── package.json ├── plugins.json ├── schema.json ├── scripts ├── add-new-plugin.js ├── data │ ├── banner.js │ ├── new-plugin-prompts.js │ └── tags.js ├── update-authors.js ├── update-stars.js └── utils │ ├── fetch-github-stars.js │ └── write-plugins.js ├── test ├── test.schema.js └── test.utils-write-plugins.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/plugin-syntax-object-rest-spread"] 3 | } 4 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "himynameisdave/configurations/node", 4 | "himynameisdave/rules/jest/off" 5 | ], 6 | "parser": "babel-eslint", 7 | "env": { 8 | "es6": true, 9 | "mocha": true 10 | }, 11 | "rules": { 12 | "no-console": "off", 13 | "unicorn/prevent-abbreviations": ["error", { 14 | "replacements": { 15 | "rej": { 16 | "reject": true 17 | } 18 | } 19 | }] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | /node_modules/ 3 | token.json 4 | npm-debug.log 5 | test/.tmp/** 6 | yarn-error.log 7 | test/.tmp/ 8 | # Since we use yarn.lock internally: 9 | package-lock.json 10 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | .eslintrc 2 | .babelrc 3 | schema.json 4 | test/ 5 | scripts/ 6 | docs/ 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### v1.15.10 2 | - Adds [`postcss-flex-value`](https://github.com/anc95/postcss-flex-value) 3 | - Adds [`@lehoczky/postcss-fluid`](https://github.com/Lehoczky/postcss-fluid) 4 | - Adds [`postcss-transform-css-var`](https://github.com/luckymore/postcss-transform-css-var) 5 | - Adds [`postcss-hocus-pocus`](https://github.com/cadomac/postcss-hocus-pocus) 6 | - Adds [`postcss-px-to-clamp`](https://github.com/wangguangyou/postcss-px-to-clamp) 7 | - Adds [`postcss-atomizer`](https://github.com/acss-io/atomizer/tree/main/packages/postcss-atomizer) 8 | 9 | ### v1.15.9 10 | - Adds [`postcss-plugin-border-1px`](https://github.com/JoeWrights/postcss-plugin-border-1px) 11 | - Adds [`postcss-at-rule-packer`](https://github.com/soluml/at-rule-packer) 12 | - Adds [`postcss-set-specificity`](https://github.com/wlib/postcss-set-specificity) 13 | - Adds [`postcss-opacity-percentage`](https://github.com/Dreamseer/postcss-opacity-percentage) 14 | 15 | ### v1.15.8 16 | - Adds [`postcss-vwh`](https://github.com/gVguy/postcss-vwh) 17 | - Dependabot fix ([#323](https://github.com/himynameisdave/postcss-plugins/pull/323)) 18 | 19 | ### v1.15.7 20 | - Adds [`postcss-aspect-ratio-property`](https://github.com/supermonkeyz/postcss-aspect-ratio-property) 21 | - Adds [`postcss-delete-duplicate-css`](https://github.com/duoWB/postcss-delete-duplicate-css) 22 | - Adds [`postcss-variable-compress`](https://github.com/navanshu/postcss-variable-compress) 23 | 24 | ### v1.15.6 25 | - Adds [`postcss-include-media`](https://github.com/jackmcpickle/postcss-include-media) 26 | 27 | ### v1.15.5 28 | - Adds [`postcss-multiple-tailwind`](https://github.com/robbevp/postcss-multiple-tailwind) 29 | - Adds [`postcss-easy-z`](https://github.com/CSSSR/postcss-easy-z) 30 | - Adds [`postcss-prefix-keyframe`](https://github.com/VitaliyR/postcss-prefix-keyframe) 31 | 32 | ## v1.15.4 33 | - Adds [`postcss-button-builder`](https://github.com/ezavile/postcss-plugins/tree/master/packages/button-builder) 34 | - Adds [`postcss-d-ts`](https://github.com/askirmas/postcss-d-ts) 35 | 36 | ## v1.15.3 37 | - Adds [`postcss-token-utility`](https://github.com/ezavile/postcss-plugins/tree/master/packages/token-utility) 38 | 39 | ## v1.15.2 40 | - Adds [`postcss-prefixwrap`](https://github.com/dbtedman/postcss-prefixwrap) 41 | 42 | ## v1.15.1 43 | - Adds [`postcss-deadcss`](https://github.com/DenyVeyten/postcss-deadcss) 44 | - Fix some URLs ([#304](https://github.com/himynameisdave/postcss-plugins/pull/304)) 45 | 46 | ## v1.15.0 47 | - Replace spaces in incoming author names via a `filter`. 48 | - Adds [`postcss-inline-class`](https://github.com/SectorLabs/postcss-inline-class) 49 | 50 | ### v1.14.5 51 | - Adds [`postcss-fluid`](https://github.com/notiv-nt/postcss-fluid) 52 | - Adds [`postcss-media-functions`](https://github.com/notiv-nt/postcss-media-functions) 53 | - Adds [`postcss-color-image`](https://github.com/valtlai/postcss-color-image) 54 | - Adds [`postcss-prefix-all-rules`](https://github.com/tillschander/postcss-prefix-all-rules) 55 | - Adds [`postcss-rem-to-px`](https://github.com/tillschander/postcss-rem-to-px) 56 | - Adds [`postcss-escape-generated-content-string`](https://github.com/niksy/postcss-escape-generated-content-string) 57 | 58 | ### v1.14.4 59 | - Adds [`postcss-clamp`](https://github.com/polemius/postcss-clamp) 60 | - Adds [`postcss-webp`](https://github.com/zhouchengi/postcss-webp) 61 | - Translates [README to simplified Chinese](https://github.com/himynameisdave/postcss-plugins/blob/master/README-zh_CN.md) (huge thanks to [@zhoucheng](https://github.com/zhouchengi)) 62 | 63 | ### v1.14.3 64 | - Adds [`postcss-hairlines`](https://github.com/zhouchengi/postcss-hairlines) 65 | - Adds [`postcss-selector-lint`](https://github.com/maykinmedia/postcss-selector-lint) 66 | 67 | ### v1.14.2 68 | - Adds [`postcss-sqrt`](https://github.com/limitlessloop/postcss-sqrt) 69 | - Adds [`postcss-pow`](https://github.com/limitlessloop/postcss-pow) 70 | - Adds [`postcss-border-align`](https://github.com/limitlessloop/postcss-border-align) 71 | - Adds [`postcss-negative-padding`](https://github.com/limitlessloop/postcss-negative-padding) 72 | - Adds [`postcss-proportional-spacing`](https://github.com/limitlessloop/postcss-proportional-spacing) 73 | - Adds [`postcss-exact-width`](https://github.com/limitlessloop/postcss-exact-width) 74 | - Add `package-lock.json` to `.gitignore` (cf3f901920635a99f798b53b0b56b5708e367202) 75 | - Fix link to a plugin which has moved (5d439cd3eee281ef43810256b3ff8e0f3ac87d32) 76 | 77 | ### v1.14.1 78 | - Adds [`postcss-supported-variables`](https://github.com/cooskun/postcss-supported-variables) 79 | - Clarify Add Plugin steps in the README (684f55ca09c2b9917266b8afc09145d30c034899) 80 | 81 | ## v1.14.0 82 | - Bump minimum Node version requirement to `>= 10` 83 | - Add an `.npmignore` file (#222) 84 | - Add `np` for better publishing (for when we start publishing on npm) (#67) 85 | - Add [`eslint-config-himynameisdave`](https://github.com/himynameisdave/eslint-config-himynameisdave) and lint based on that config 86 | - Adds [`postcss-viewport-height-correction`](https://github.com/Faisal-Manzer/postcss-viewport-height-correction) 87 | 88 | 89 | ### v1.13.2 90 | - Adds [`postcss-ts-classnames`](https://github.com/epeli/postcss-ts-classnames) 91 | - Adds [`postcss-sort-media-queries`](https://github.com/solversgroup/postcss-sort-media-queries) 92 | - Adds [`postcss-color-converter`](https://github.com/EdMSL/postcss-color-converter) 93 | - Adds [`postcss-svg-slimming`](https://github.com/benboba/postcss-svg-slimming) 94 | - Adds [`postcss-font-format-keywords`](https://github.com/valtlai/postcss-font-format-keywords) 95 | 96 | ### v1.13.1 97 | - Adds [`postcss-redundant-color-vars`](https://github.com/caseyjacobson/postcss-redundant-color-vars) 98 | - Adds [`postcss-selector-scope`](https://github.com/BBVAEngineering/postcss-selector-scope) 99 | - Adds [`postcss-theme-ui`](https://github.com/nelonoel/postcss-theme-ui) 100 | - Adds [`postcss-no-query`](https://github.com/aykut-rocks/postcss-no-query) 101 | - Adds [`webp-in-css`](https://github.com/ai/webp-in-css) 102 | - Adds [`postcss-dark-theme-class`](https://github.com/postcss/postcss-dark-theme-class) 103 | - Adds [`postcss-combine-media-query`](https://github.com/SassNinja/postcss-combine-media-query) 104 | - Security vulnerablity fixes 105 | 106 | ## v1.13.0 107 | - Adds [`postcss-transition`](https://github.com/notiv-nt/postcss-transition) 108 | - Fixes an issue around `token.json` not existing when trying to submit a new plugin (#261) (6c532279f3aa82d0fca3c5f738cd437cb29e8686) 109 | - Removes `package-lock.json` file, just use Yarn instead (c0d14a61adec46a24e5d140425b076f51b9ec345) 110 | - Bumps some packages. 111 | - Uses [`eslint-config-7geese`](https://www.npmjs.com/package/eslint-config-7geese) for lint configuration. 112 | 113 | 114 | ### v1.12.4 115 | - Adds [`postcss-register-custom-props`](https://github.com/vitaliy-bobrov/postcss-register-custom-props) 116 | - Adds [`postcss-scrollbar`](https://github.com/pascalduez/postcss-scrollbar) 117 | 118 | ### v1.12.3 119 | - Adds [`postcss-make-it-bright`](https://github.com/janczer/postcss-make-it-bright) 120 | - Adds [`postcss-mesh`](https://github.com/SlimMarten/postcss-mesh) 121 | - Adds [`postcss-class-name-shortener`](https://github.com/mbrandau/postcss-class-name-shortener) 122 | 123 | ### v1.12.2 124 | - Adds [`postcss-stack`](https://github.com/philipbordallo/postcss-stack) 125 | - Adds [`postcss-import-ext-glob`](https://github.com/dimitrinicolas/postcss-import-ext-glob) 126 | - Adds [`postcss-romanian-stylesheets`](https://github.com/DanielStoica85/postcss-romanian-stylesheets) 127 | 128 | ### v1.12.1 129 | - Adds [`postcss-normalize`](https://github.com/jonathantneal/postcss-normalize) 130 | - Adds [`postcss-csslock`](https://github.com/pepelxD/postcss-csslock) 131 | - Adds [`postcss-glitch`](https://github.com/crftd/postcss-glitch) 132 | - Adds [`postcss-insert`](https://github.com/JoeCianflone/postcss-insert) 133 | - Bumps vulnerable version of `octonode` dependency. 134 | 135 | ## v1.12.0 136 | - Adds [`postcss-pixel-to-viewport`](https://github.com/meltifa/postcss-pixel-to-viewport) 137 | - Adds [`postcss-fontsize`](https://github.com/richbachman/postcss-fontsize) 138 | - Adds [`postcss-selector-replace`](https://github.com/itaoyuta/postcss-selector-replace) 139 | - Adds [`postcss-neoGrid`](https://github.com/pepelxD/postcss-neoGrid) 140 | - Adds [`postcss-momentum-scrolling`](https://github.com/yunusga/postcss-momentum-scrolling) 141 | - Adds [`postcss-discard`](https://github.com/bezoerb/postcss-discard) 142 | - Fix some bug with `updateStars.js`. Only writes plugins.json once at the end. 143 | 144 | 145 | ### v1.11.2 146 | - Adds [`postcss-adaptive-size`](https://github.com/AlekseyPleshkov/postcss-adaptive-size) 147 | - Adds [`postcss-flex-short`](https://github.com/AlekseyPleshkov/postcss-flex-short) 148 | - Adds [`postcss-rpxtorem`](https://github.com/landn172/postcss-rpxtorem) 149 | 150 | ### v1.11.1 151 | - Adds [`postcss-map-get`](https://github.com/GitScrum/postcss-map-get) 152 | - Adds [`postcss-each-variables`](https://github.com/awcross/postcss-each-variables) 153 | - Adds [`postcss-skin`](https://github.com/xiaoshuangLi/postcss-skin) 154 | - Rename `short` to `postcss-short` (#240) 155 | 156 | ## v1.11.0 157 | - Removes broken test case which blocks users from commiting 158 | - Adds [`postcss-preset-env`](https://github.com/jonathantneal/postcss-preset-env) 159 | - Adds [`postcss-bem-to-js`](https://github.com/WebSeed/postcss-bem-to-js) 160 | - Adds [`postcss-file`](https://github.com/DongShelton/postcss-file) 161 | 162 | 163 | ### v1.10.3 164 | - Adds [`postcss-advanced-variables`](https://github.com/jonathantneal/postcss-advanced-variables) 165 | - Fixes a broken plugin URL 166 | 167 | ### v1.10.2 168 | - Adds [`postcss-cleaner`](https://github.com/tbekaert/postcss-cleaner) 169 | - Adds [`postcss-type-scale`](https://github.com/jameskolce/postcss-type-scale) 170 | - Adds [`postcss-icon`](https://github.com/retyui/postcss-icon) 171 | - Adds [`postcss-egyptian-stylesheets`](https://github.com/dyaa/postcss-egyptian-stylesheets) 172 | 173 | ### v1.10.1 174 | - Adds `husky` to ensure all commits conform to the schema (See https://github.com/himynameisdave/postcss-plugins/pull/219) 175 | - Tests that `plugins.json` matches our specified schema before committing 176 | - Adds [`postcss-hash`](https://github.com/dacodekid/postcss-hash) 177 | - Adds [`postcss-at-debug`](https://github.com/rezoh/postcss-at-debug) 178 | - Adds [`postcss-container-query`](https://github.com/ZeeCoder/container-query) 179 | - Adds [`postcss-dss`](https://github.com/benmcginnis/postcss-dss) 180 | - Adds [`postcss-jsmath`](https://github.com/naaspati/postcss-jsmath) 181 | - Adds [`postcss-colorfix`](https://github.com/archana-s/postcss-colorfix) 182 | - Adds [`postcss-light-text`](https://github.com/jdsteinbach/postcss-light-text) 183 | - Adds [`postcss-encode-background-svgs`](https://github.com/chrisboakes/postcss-encode-background-svgs) 184 | 185 | 186 | ### v1.9.14 187 | - Adds [`postcss-single-line`](https://github.com/aleray/postcss-single-line) 188 | - Adds [`postcss-letter-tracking`](https://github.com/letsjaam/postcss-letter-tracking) 189 | - Adds [`postcss-gap`](https://github.com/MattDiMu/postcss-gap) 190 | 191 | ### v1.9.13 192 | - Adds [`postcss-autocorrect`](https://github.com/DimitrisNL/postcss-autocorrect) 193 | - Adds [`postcss-ellipsis`](https://github.com/arpadHegedus/postcss-ellipsis) 194 | - Adds [`postcss-clear-fix`](https://github.com/arpadHegedus/postcss-clear-fix) 195 | - Adds [`postcss-extends`](https://github.com/arpadHegedus/postcss-extends) 196 | - Adds [`postcss-font`](https://github.com/arpadHegedus/postcss-font) 197 | - Adds [`postcss-morphicon`](https://github.com/arpadHegedus/postcss-morphicon) 198 | - Adds [`postcss-node-sass`](https://github.com/arpadHegedus/postcss-node-sass) 199 | - Adds [`postcss-rgb`](https://github.com/arpadHegedus/postcss-rgb) 200 | - Adds [`postcss-sides`](https://github.com/arpadHegedus/postcss-sides) 201 | 202 | ### v1.9.12 203 | - Fixes the [Authors table](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md), which was broken (#204) 204 | 205 | ### v1.9.11 206 | - Removes duplicate of `postcss-rgb-to-rgba` 207 | - Adds [`postcss-console`](https://github.com/ezavile/postcss-console) 208 | - Adds [`postcss-image-set-generator`](https://github.com/retyui/postcss-image-set-generator) 209 | 210 | ### v1.9.10 211 | - Fixes the badges in the README 212 | - Adds [`postcss-will-change-transition`](https://github.com/megatolya/postcss-will-change-transition) 213 | 214 | ### v1.9.9 215 | - Updates [`postcss-google-color`](https://github.com/arpadHegedus/postcss-google-color) url 216 | - Adds [`postcss-font-vsize`](https://github.com/arpadHegedus/postcss-font-vsize) 217 | - Adds [`postcss-timing-function`](https://github.com/arpadHegedus/postcss-timing-function) 218 | - Adds [`postcss-text-transform`](https://github.com/ezavile/postcss-text-transform) 219 | 220 | ### v1.9.8 221 | - Adds [`postcss-easing-gradients`](https://github.com/larsenwork/postcss-easing-gradients) 222 | - Adds [`postcss-state-selector`](https://github.com/binjospookie/postcss-state-selector) 223 | - Adds [`postcss-roman-numerals`](https://github.com/azat-io/postcss-roman-numerals) 224 | 225 | ### v1.9.7 226 | - Adds [`postcss-nested-import`](https://github.com/eriklharper/postcss-nested-import) 227 | - Adds [`postcss-typescript-css`](https://github.com/ezavile/postcss-typescript-css) 228 | 229 | ### v1.9.6 230 | - Adds [`postcss-ant`](https://github.com/corysimmons/postcss-ant) 231 | - Adds [`postcss-harmonize`](https://github.com/redaxmedia/postcss-harmonize) 232 | - Adds [`postcss-hamster`](https://github.com/h0tc0d3/postcss-hamster) 233 | 234 | ### v1.9.5 235 | - Adds [`postcss-caralho`](https://github.com/SaraVieira/postcss-caralho) 236 | - Adds [`postcss-portuguese-stylesheets`](https://github.com/SaraVieira/postcss-portuguese-stylesheets) 237 | - Adds [`postcss-korean-stylesheets`](https://github.com/JasonShin/postcss-korean-stylesheets) 238 | - Adds [`2rem`](https://github.com/lore-w/2rem) 239 | - Adds [`math-calc`](https://github.com/lore-w/math-calc) 240 | - Adds [`postcss-animations`](https://github.com/retyui/postcss-animations) 241 | - Adds `yarn` commands to the README (#186) 242 | 243 | ### v1.9.4 244 | - Adds [`postcss-alter-property-value`](https://github.com/kunukn/postcss-alter-property-value) 245 | - Adds [`postcss-prefix-url`](https://github.com/smitt04/postcss-prefix-url) 246 | - Adds [`postcss-rgb-to-rgba`](https://github.com/vital-software/postcss-rgb-to-rgba) 247 | - Adds [`postcss-nippon-color`](https://github.com/Knovour/postcss-nippon-color) 248 | 249 | ### v1.9.3 250 | - Adds [`postcss-google-color`](https://bitbucket.org/hegedusarpad/postcss-google-color) 251 | - Adds [`postcss-fixie`](https://github.com/tivac/fixie) 252 | - Adds [`postcss-lazysprite`](https://github.com/Jeff2Ma/postcss-lazysprite) 253 | - Adds [`postcss-image-set-polyfill`](https://github.com/SuperOl3g/postcss-image-set-polyfill) 254 | 255 | ### v1.9.2 256 | - Adds [`postcss-hocus`](https://github.com/kilian/postcss-hocus) 257 | - Adds [`postcss-flow-root`](https://github.com/fliptheweb/postcss-flow-root) 258 | - Adds [`postcss-font-family-system-ui`](https://github.com/JLHwung/postcss-font-family-system-ui) 259 | 260 | ### v1.9.1 261 | - Updates dependencies and fixes some linting stuff. Also removes year/license/dedication at the bottom 262 | - Adds [`postcss-rtl`](https://github.com/vkalinichev/postcss-rtl) 263 | - Adds [`postcss-content-entity`](https://github.com/komarnitskyi/postcss-content-entity) 264 | - Adds [`postcss-define-function`](https://github.com/titancat/postcss-define-function) 265 | - Adds [`postcss-subtle`](https://github.com/standardbeagle/postcss-subtle) 266 | 267 | ## v1.9.0 268 | - Removes a lot of cruft in the `/scripts` directory 269 | - `addNewPlugin` will now add a `"stars": 0` when adding a new plugin to make merges easier 270 | - `updateAuthors` is much more efficient, sorts by number of plugins then alphabetically by name (making merges easier) 271 | - Adds [`postcss-resemble-image`](https://github.com/ben-eb/postcss-resemble-image) 272 | - Adds [`postcss-grid-kiss`](https://github.com/sylvainpolletvillard/postcss-grid-kiss) 273 | 274 | 275 | ### v1.8.11 276 | - Adds [`postcss-process-comments`](https://github.com/zephraph/postcss-process-comments) 277 | - Adds [`postcss-baseline-grid-overlay`](https://github.com/andrasna/postcss-baseline-grid-overlay) 278 | - Adds [`postcss-responsive-font`](https://github.com/ccurtin/postcss-responsive-font) 279 | - Adds [`postcss-typography`](https://github.com/BarryThePenguin/postcss-typography) 280 | 281 | ### v1.8.10 282 | - Adds [`postcss-random`](https://github.com/git-slim/postcss-random) 283 | - Adds [`postcss-lazyimagecss`](https://github.com/Jeff2Ma/postcss-lazyimagecss) 284 | - Adds [`postcss-inherit`](https://github.com/GarthDB/postcss-inherit) 285 | 286 | ### v1.8.9 287 | - Adds [`postcss-indonesian-stylesheets`](https://github.com/ariona/postcss-indonesian-stylesheets) 288 | - Adds [`postcss-flexible`](https://github.com/crossjs/postcss-flexible) 289 | - Adds [`postcss-topdoc`](https://github.com/GarthDB/postcss-topdoc) 290 | - Adds [`postcss-rgrid`](https://github.com/frm-adiputra/postcss-rgrid) 291 | - Adds [`postcss-inrule`](https://github.com/salsita/postcss-inrule) 292 | 293 | ### v1.8.8 294 | - Adds [`postcss-click`](https://github.com/ismamz/postcss-click) 295 | - Adds [`postcss-colorstring`](https://github.com/keukenrolletje/postcss-colorstring) 296 | 297 | ### v1.8.7 298 | - Adds [`postcss-nested-ancestors`](https://github.com/toomuchdesign/postcss-nested-ancestors) 299 | - Adds [`postcss-debug`](https://github.com/andywer/postcss-debug) 300 | - Adds [`postcss-italian-stylesheets`](https://github.com/Pustur/postcss-italian-stylesheets) 301 | 302 | ### v1.8.6 303 | - Adds [`postcss-dialog-polyfill`](https://github.com/komachi/postcss-dialog-polyfill) 304 | - Adds [`postcss-critical-css`](https://github.com/zgreen/postcss-critical-css) 305 | 306 | ### v1.8.5 307 | - Adds [`postcss-shared-options`](https://github.com/lexich/postcss-shared-options) 308 | - Adds [`postcss-randomcolor`](https://github.com/alanev/postcss-randomcolor) 309 | - Adds [`postcss-grouper`](https://github.com/maraisr/postcss-grouper) 310 | - Adds [`postcss-responsive-properties`](https://github.com/alexandr-solovyov/postcss-responsive-properties) 311 | - Adds [`postcss-clip-path-polyfill`](https://github.com/komachi/postcss-clip-path-polyfill) 312 | - Adds [`postcss-responsify`](https://github.com/derek-duncan/postcss-responsify) 313 | - Removes double declaration of `css-declaration-sorter` 314 | 315 | ### v1.8.4 316 | - Adds [`postcss-dutch-stylesheets`](https://github.com/Kilian/postcss-dutch-stylesheets) 317 | - Adds [`postcss-important-shorthand`](https://github.com/soul-wish/postcss-important-shorthand) 318 | - Adds [`postcss-esplit`](https://github.com/VitaliyR/postcss-esplit) 319 | - Adds [`postcss-compact-mq`](https://github.com/rominmx/postcss-compact-mq) 320 | - Adds [`postcss-uncss`](https://github.com/RyanZim/postcss-uncss) 321 | - Adds [`postcss-secmodify`](https://github.com/travco/postcss-secmodify) 322 | 323 | ### v1.8.3 324 | > *(June 19th/2016)* 325 | - Adds [`postcss-merge-selectors`](https://github.com/georgeadamson/postcss-merge-selectors) 326 | - Adds [`postcss-pr`](https://github.com/kolcethompsonco/postcss-pr) 327 | - Adds [`postcss-class-patterns`](https://github.com/MattDiMu/postcss-class-patterns) 328 | - Adds [`postcss-nth-child-fix`](https://github.com/MattDiMu/postcss-nth-child-fix) 329 | 330 | ### v1.8.2 331 | > *(June 17th/2016)* 332 | - Adds [`postcss-lh`](https://github.com/kolcethompsonco/postcss-lh) 333 | - Adds [`postcss-extract-value`](https://github.com/lutien/postcss-extract-value) 334 | - Adds [`postcss-placehold`](https://github.com/awayken/postcss-placehold) 335 | - Adds [`postcss-combine-duplicated-selectors`](https://github.com/ChristianMurphy/postcss-combine-duplicated-selectors) 336 | 337 | ### v1.8.1 338 | > *(June 8th/2016)* 339 | - Adds [`postcss-env-replace`](https://github.com/stehefan/postcss-env-replace) 340 | - Adds [`postcss-border-shortcut`](https://github.com/michelemazzucco/postcss-border-shortcut) 341 | - Adds [`postcss-env-replace`](https://github.com/stehefan/postcss-env-replace) 342 | - Adds [`postcss-font-grabber`](https://github.com/AaronJan/postcss-font-grabber) 343 | - Adds [`postcss-unprefix`](https://github.com/gucong3000/postcss-unprefix) 344 | - Adds [`postcss-increase-text-sizes`](https://github.com/admdh/postcss-increase-text-sizes) 345 | - Adds [`postcss-inject`](https://github.com/admdh/postcss-inject) 346 | - Adds [`postcss-tipsy`](https://github.com/dangvanthanh/postcss-tipsy) 347 | - Adds [`postcss-longshadow-text`](https://github.com/dangvanthanh/postcss-longshadow-text) 348 | - Adds [`postcss-sort-style-rules`](https://github.com/Justineo/postcss-sort-style-rules) 349 | - Adds [`postcss-utilities`](https://github.com/ismamz/postcss-utilities) 350 | 351 | ## v1.8.0 352 | > *(May 22nd/2016)* 353 | - Adds new [`accessibility` tag](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/tags.md). 354 | - Adds [`es-css-modules`](https://github.com/jacobp100/es-css-modules) 355 | - Adds [`postcss-display-inline-block`](https://github.com/aemoe/postcss-display-inline-block) 356 | - Adds [`postcss-bgimage`](https://github.com/ahtohbi4/postcss-bgimage) 357 | - Adds [`postcss-inline-media`](https://github.com/dimitrinicolas/postcss-inline-media) 358 | - Adds [`postcss-high-contrast`](https://github.com/admdh/postcss-high-contrast) 359 | - Adds [`postcss-less`](https://github.com/Crunch/postcss-less) 360 | - Adds [`postcss-invert-keyframes`](https://github.com/jpgorman/postcss-invert-keyframes) 361 | - Adds [`postcss-responsive-values`](https://github.com/troch/postcss-responsive-values) 362 | - Adds [`postcss-fixes`](https://github.com/MattDiMu/postcss-fixes) 363 | - Adds [`postcss-pie`](https://github.com/gucong3000/postcss-pie) 364 | 365 | 366 | ### v1.7.11 367 | > *(Mar 23th/2016)* 368 | - Adds [`postcss-attribute-selector-prefix`](https://github.com/GitScrum/postcss-attribute-selector-prefix) 369 | 370 | ### v1.7.10 371 | > *(Mar 20th/2016)* 372 | - Adds [`postcss-choose-color`](https://github.com/hexpanic/postcss-choose-color) 373 | - Adds [`postcss-pure-grid`](https://github.com/axvm/postcss-pure-grid) 374 | - Adds [`postcss-emptymediaqueries`](https://github.com/ride-css/postcss-emptymediaqueries) 375 | - Adds [`postcss-csso`](https://github.com/lahmatiy/postcss-csso) 376 | 377 | ### v1.7.9 378 | > *(Feb 24th/2016)* 379 | - Adds [`postcss-rtlcss-combined`](https://github.com/rtsao/postcss-rtlcss-combined) 380 | - Adds [`postcss-if-media`](https://github.com/arccoza/postcss-if-media) 381 | - Adds [`postcss-aspect-ratio`](https://github.com/arccoza/postcss-aspect-ratio) 382 | - Adds [`postcss-vertical-rhythm-function`](https://github.com/F21/postcss-vertical-rhythm-function) 383 | - Adds [`postcss-gradient-transparency-fix`](https://github.com/gilmoreorless/postcss-gradient-transparency-fix) 384 | 385 | ### v1.7.8 386 | > *(Feb 8th/2016)* 387 | - Adds [`postcss-speech-bubble`](https://github.com/archana-s/postcss-speech-bubble) 388 | - Adds [`postcss-font-awesome`](https://github.com/dan-gamble/postcss-font-awesome) 389 | - Adds [`postcss-define-units`](https://github.com/LestaD/postcss-define-units) 390 | 391 | ### v1.7.7 392 | > *(Jan 22th/2016)* 393 | - Adds [`postcss-lang-optimizer`](https://github.com/linkedin/postcss-lang-optimizer) 394 | - Adds [`css-declaration-sorter`](https://github.com/Siilwyn/css-declaration-sorter) 395 | 396 | ### v1.7.6 397 | > *(Jan 20th/2016)* 398 | - Adds [`postcss-filter-stream`](https://github.com/tsm91/postcss-filter-stream) 399 | - Adds [`postcss-font-normalize`](https://github.com/iahu/postcss-font-normalize) 400 | 401 | ### v1.7.5 402 | > *(Jan 12th/2016)* 403 | - Adds [`postcss-polish-stylesheets`](https://github.com/emero/postcss-polish-stylesheets) 404 | - Adds [`postcss-calc-function`](https://github.com/colinmeinke/postcss-calc-function) 405 | - Adds [`postcss-custom-props`](https://github.com/colinmeinke/postcss-custom-props) 406 | 407 | ### v1.7.4 408 | > *(Jan 11th/2016)* 409 | - Adds [`postcss-mq-optimize`](https://github.com/panec/postcss-mq-optimize) 410 | 411 | ### v1.7.3 412 | > *(Jan 7th/2016)* 413 | - Adds [`postcss-flexbox`](https://github.com/archana-s/postcss-flexbox) 414 | 415 | ### v1.7.2 416 | > *(Jan 4th/2016)* 417 | - Adds [`cq-prolyfill`](https://github.com/ausi/cq-prolyfill) 418 | 419 | ### v1.7.1 420 | > *(Jan 2nd/2016)* 421 | - Adds [`postcss-pseudo-classes`](https://github.com/giuseppeg/postcss-pseudo-classes) 422 | - Adds [`postcss-current-selector`](https://github.com/komlev/postcss-current-selector) 423 | - Adds [`postcss-hash-classname`](https://github.com/ctxhou/postcss-hash-classname) 424 | - Adds [`postcss-pseudo-class-any-button`](https://github.com/andrepolischuk/postcss-pseudo-class-any-button) 425 | - Adds [`https://github.com/7rulnik/postcss-flexibility`](https://github.com/7rulnik/postcss-flexibility) 426 | - Adds [`postcss-filter-mq`](https://github.com/simeydotme/postcss-filter-mq) 427 | - Adds [`postcss-remove-root`](https://github.com/cbracco/postcss-remove-root) 428 | 429 | ## v1.7.0 430 | > *(Jan 2nd/2016)* 431 | - Code cleanup/ES6ify/promises etc. 432 | - Adds ability to add multiple plugins [#18](https://github.com/himynameisdave/postcss-plugins/issues/18) 433 | 434 | 435 | ### v1.6.1 436 | > *(Dec 23th/2015)* 437 | - Fixes the authors table 438 | 439 | 440 | ## v1.6.0 441 | > *(Dec 22th/2015)* 442 | - Adds GitHub MetaData: Stars 443 | 444 | ### v1.5.29 445 | > *(Dec 20th/2015)* 446 | - Adds [`postcss-cyspriter`](https://github.com/Code-Y/postcss-cyspriter) 447 | 448 | ### v1.5.28 449 | > *(Dec 17th/2015)* 450 | - Adds [`postcss-inline-svg`](https://github.com/TrySound/postcss-inline-svg) 451 | - Adds [`postcss-at-rules-variables`](https://github.com/GitScrum/postcss-at-rules-variables.git) 452 | - Adds [`postcss-border-radius`](https://github.com/jakelazaroff/postcss-border-radius) 453 | - Adds [`postcss-base64`](https://github.com/jelmerdemaat/postcss-base64) 454 | - Adds [`postcss-czech-stylesheets`](https://github.com/HoBi/postcss-czech-stylesheets) 455 | - Adds [`postcss-trolling`](https://github.com/juanfran/postcss-trolling) 456 | - Adds [`postcss-namespace`](https://github.com/totora0155/postcss-namespace) 457 | - Adds [`postcss-sorting`](https://github.com/hudochenkov/postcss-sorting) 458 | - Adds [`postcss-easysprites`](https://github.com/glebmachine/postcss-easysprites) 459 | - Adds [`postcss-selector-prefixer`](https://github.com/ronnyamarante/postcss-selector-prefixer) 460 | 461 | ### v1.5.27 462 | > *(Nov 28th/2015)* 463 | - Adds [`postcss-chinese-stylesheets`](https://github.com/zhouwenbin/postcss-chinese-stylesheets) 464 | - Adds [`postcss-animation`](https://github.com/zhouwenbin/postcss-animation) 465 | - Adds [`postcss-modules`](https://github.com/outpunk/postcss-modules) 466 | 467 | ### v1.5.26 468 | > *(Nov 23rd/2015)* 469 | - Adds [`css-property-sorter`](https://github.com/Siilwyn/css-property-sorter) 470 | - Adds [`postcss-cachebuster`](https://github.com/glebmachine/postcss-cachebuster) 471 | - Adds [`postcss-hidden`](https://github.com/lukelarsen/postcss-hidden) 472 | 473 | ### v1.5.25 474 | > *(Nov 17th/2015)* 475 | - Adds [`postcss-apply`](https://github.com/pascalduez/postcss-apply) 476 | 477 | ### v1.5.24 478 | > *(Nov 16th/2015)* 479 | - Adds [`postcss-short-data`](https://github.com/jonathantneal/postcss-short-data) 480 | - Adds [`postcss-space-start-attrs`](https://github.com/jonathantneal/postcss-space-start-attrs) 481 | 482 | ### v1.5.23 483 | > *(Nov 14th/2015)* 484 | - Adds [`postcss-filter-gradient`](https://github.com/yuezk/postcss-filter-gradient) 485 | 486 | ### v1.5.22 487 | > *(Nov 7th/2015)* 488 | - Adds [`level4`](https://github.com/stephenway/level4) 489 | - Adds [`postcss-svg-fragments`](https://github.com/jonathantneal/postcss-svg-fragments) 490 | - Adds [`postcss-ifrared-filter`](https://github.com/jonathantneal/postcss-infrared-filter) 491 | - Adds [`postcss-raw`](https://github.com/MadLittleMods/postcss-raw) 492 | - Adds [`postcss-reference`](https://github.com/dehuszar/postcss-reference) 493 | - Adds [`postcss-logical-properties`](https://github.com/ahmadalfy/postcss-logical-properties) 494 | 495 | ### v1.5.21 496 | > *(Nov 3rd/2015)* 497 | - Adds [`mdcss`](https://github.com/jonathantneal/mdcss) 498 | 499 | ### v1.5.20 500 | > *(Nov 1st/2015)* 501 | - Adds [`postcss-import-url`](https://github.com/unlight/postcss-import-url) 502 | 503 | ### v1.5.19 504 | > *(Oct 29th/2015)* 505 | - Adds [`postcss-shades-of-gray`](https://github.com/laureanoarcanio/postcss-shades-of-gray) 506 | 507 | ### v1.5.18 508 | > *(Oct 29th/2015)* 509 | - Adds [`postcss-andalusian-stylesheets`](https://github.com/bameda/postcss-andalusian-stylesheets) 510 | 511 | ### v1.5.17 512 | > *(Oct 28th/2015)* 513 | - Adds [`postcss-time-machine`](https://github.com/jonathantneal/postcss-time-machine) 514 | 515 | ### v1.5.16 516 | > *(Oct 27th/2015)* 517 | - Adds [`postcss-rgba-hex`](https://github.com/XOP/postcss-rgba-hex) 518 | - Adds [`postcss-spanish-stylesheets`](https://github.com/ismamz/postcss-spanish-stylesheets) 519 | 520 | ### v1.5.15 521 | > *(Oct 26th/2015)* 522 | - Adds [`postcss-layout`](https://github.com/arccoza/postcss-layout) 523 | 524 | ### v1.5.14 525 | > *(Oct 22nd/2015)* 526 | - Adds [`postcss-regexp-detect`](https://github.com/devex-web-frontend/postcss-regexp-detect) 527 | - Adds [`postcss-assets-rebase`](https://github.com/devex-web-frontend/postcss-assets-rebase) 528 | 529 | ### v1.5.13 530 | > *(Oct 22nd/2015)* 531 | - Adds [`postcss-select`](https://github.com/johnotander/postcss-select) 532 | 533 | ### v1.5.12 534 | > *(Oct 21st/2015)* 535 | - Adds [`postcss-contrast`](https://github.com/stephenway/postcss-contrast) 536 | 537 | ### v1.5.11 538 | > *(Oct 20th/2015)* 539 | - Adds [`Postcss-position-alt`](https://github.com/sylvainbaronnet/postcss-position-alt) 540 | 541 | ### v1.5.10 542 | > *(Oct 13th/2015)* 543 | - Adds [`postcss-logical-props`](https://github.com/bmds/postcss-logical-props) 544 | - Adds [`postcss-line-height-px-to-unitless`](https://github.com/makotot/postcss-line-height-px-to-unitless) 545 | - Adds [`postcss-input-range`](https://github.com/jonathantneal/postcss-input-range) 546 | 547 | ### v1.5.9 548 | > *(Oct 7th/2015)* 549 | - Adds [`postcss-copy`](https://github.com/geut/postcss-copy) 550 | 551 | ### v1.5.8 552 | > *(Oct 6th/2015)* 553 | - Adds [`postcss-shorthand-expand`](https://github.com/johnotander/postcss-shorthand-expand) 554 | 555 | ### v1.5.7 556 | > *(Oct 4th/2015)* 557 | - Adds [`oldie`](https://github.com/jonathantneal/oldie) 558 | - Adds [`postcss-unopacity`](https://github.com/jonathantneal/postcss-unopacity) 559 | - Adds [`postcss-unnot`](https://github.com/jonathantneal/postcss-unnot) 560 | - Adds [`postcss-unroot`](https://github.com/jonathantneal/postcss-unroot) 561 | - Adds [`postcss-unnth`](https://github.com/jonathantneal/postcss-unnth) 562 | 563 | ### v1.5.6 564 | > *(Oct 1st/2015)* 565 | - Adds [`postcss-short-border`](https://github.com/jonathantneal/postcss-short-border) 566 | - Adds [`postcss-prefix-selector`](https://github.com/jonathanong/postcss-prefix-selector) 567 | 568 | ### v1.5.5 569 | > *(Sep 29th/2015)* 570 | - Adds [`postcss-nesting`](https://github.com/jonathantneal/postcss-nesting) 571 | 572 | ### v1.5.4 573 | > *(Sep 29th/2015)* 574 | - Adds [`postcss-short-color`](https://github.com/jonathantneal/postcss-short-color) 575 | - Adds [`postcss-short-font-size`](https://github.com/jonathantneal/postcss-short-font-size) 576 | - Adds [`postcss-short-position`](https://github.com/jonathantneal/postcss-short-position) 577 | - Adds [`postcss-short-size`](https://github.com/jonathantneal/postcss-short-size) 578 | - Adds [`postcss-short-spacing`](https://github.com/jonathantneal/postcss-short-spacing) 579 | - Adds [`postcss-short-text`](https://github.com/jonathantneal/postcss-short-text) 580 | 581 | ### v1.5.3 582 | > *(Sep 27th/2015)* 583 | - Adds [`postcss-reverse-media`](https://github.com/MadLittleMods/postcss-reverse-media) 584 | 585 | ### v1.5.2 586 | > *(Sep 26th/2015)* 587 | - Adds [`postcss-color-yiq`](https://github.com/ben-eb/postcss-color-yiq) 588 | 589 | ### v1.5.1 590 | > *(Sep 26th/2015)* 591 | - Adds [`postcss-for-variables`](https://github.com/GitScrum/postcss-for-variables) 592 | 593 | ## v1.5.0 594 | > *(Sep 25th/2015)* 595 | - Adds "packs" property to the plugins.json 596 | - Adds [`postcss-colormin`](https://github.com/ben-eb/postcss-colormin) 597 | - Adds [`postcss-convert-values`](https://github.com/ben-eb/postcss-convert-values) 598 | - Adds [`postcss-discard-comments`](https://github.com/ben-eb/postcss-discard-comments) 599 | - Adds [`postcss-discard-duplicates`](https://github.com/ben-eb/postcss-discard-duplicates) 600 | - Adds [`postcss-discard-empty`](https://github.com/ben-eb/postcss-discard-empty) 601 | - Adds [`postcss-discard-unused`](https://github.com/ben-eb/postcss-discard-unused) 602 | - Adds [`postcss-filter-plugins`](https://github.com/postcss/postcss-filter-plugins) 603 | - Adds [`postcss-merge-idents`](https://github.com/ben-eb/postcss-merge-idents) 604 | - Adds [`postcss-merge-longhand`](https://github.com/ben-eb/postcss-merge-longhand) 605 | - Adds [`postcss-merge-rules`](https://github.com/ben-eb/postcss-merge-rules) 606 | - Adds [`postcss-minify-font-values`](https://github.com/TrySound/postcss-minify-font-values) 607 | - Adds [`postcss-minify-selectors`](https://github.com/ben-eb/postcss-minify-selectors) 608 | - Adds [`postcss-normalize-charset`](https://github.com/TrySound/postcss-normalize-charset) 609 | - Adds [`postcss-normalize-url`](https://github.com/ben-eb/postcss-normalize-url) 610 | - Adds [`postcss-ordered-values`](https://github.com/ben-eb/postcss-ordered-values) 611 | - Adds [`postcss-reduce-idents`](https://github.com/ben-eb/postcss-reduce-idents) 612 | - Adds [`postcss-unique-selectors`](https://github.com/ben-eb/postcss-unique-selectors) 613 | 614 | 615 | ### v1.4.4 616 | > *(Sep 24th/2015)* 617 | - Adds [`colorguard`](https://github.com/SlexAxton/css-colorguard) 618 | 619 | ### v1.4.3 620 | > *(Sep 21st/2015)* 621 | - Adds [`postcss-atroot`](https://github.com/OEvgeny/postcss-atroot) 622 | - Adds [`postcss-instagram`](https://github.com/azat-io/postcss-instagram) 623 | - Adds [`postcss-responsive-images`](https://github.com/azat-io/postcss-responsive-images) 624 | - Adds [`postcss-tatar-stylesheets`](https://github.com/azat-io/postcss-tatar-stylesheets) 625 | 626 | ### v1.4.2 627 | > *(Sep 19th/2015)* 628 | - Adds [`postcss-axis`](https://github.com/kinday/postcss-axis) 629 | 630 | ### v1.4.1 631 | > *(Sep 18th/2015)* 632 | - Adds [`postcss-image-inliner`](https://github.com/bezoerb/postcss-image-inliner) 633 | 634 | ## v1.4.0 635 | > *(Sep 18th/2015)* 636 | - Updates all the scripts so that users can easily add a plugin without hassle 637 | 638 | 639 | ### v1.3.9 640 | > *(Sept 17th/2015)* 641 | - Authors script and list are ordered by most plugins written 642 | 643 | ### v1.3.8 644 | > *(Sept 16th/2015)* 645 | - Updates the `updates-authors` script & authors table 646 | 647 | ### v1.3.7 648 | > *(Sept 16th/2015)* 649 | - Adds [`postcss-nested-vars`](https://github.com/jedmao/postcss-nested-vars) 650 | 651 | ### v1.3.6 652 | > *(Sept 15th/2015)* 653 | - Adds [`postcss-partial-import`](https://github.com/jonathantneal/postcss-partial-import) 654 | - Adds [`postcss-copy-assets`](https://github.com/shutterstock/postcss-copy-assets) 655 | - Adds [`postcss-write-svg`](https://github.com/jonathantneal/postcss-write-svg) 656 | - Adds [`postcss-alias-atrules`](https://github.com/maximkoretskiy/postcss-alias-atrules) 657 | - Adds [`postcss-russian-stylesheets`](https://github.com/Semigradsky/postcss-russian-stylesheets) 658 | 659 | ### v1.3.5 660 | > *(Sept 10th/2015)* 661 | - Adds [`postcss-pseudo-content-insert`](https://github.com/liquidlight/postcss-pseudo-content-insert) 662 | 663 | ### v1.3.4 664 | > *(Sept 8th/2015)* 665 | - Adds [`postcss-selector-matches`](https://github.com/postcss/postcss-selector-matches) 666 | 667 | ### v1.3.3 668 | > *(Sept 5th/2015)* 669 | - Adds [`postcss-unmq`](https://github.com/jonathantneal/postcss-unmq) 670 | 671 | ### v1.3.2 672 | > *(Sept 4th/2015)* 673 | - Adds [`postcss-lolcat-stylesheets`](https://github.com/sandralundgren/postcss-lolcat-stylesheets) 674 | 675 | ### v1.3.1 676 | > *(Sept 3rd/2015)* 677 | - Adds [`postcss-flexbugs-fixes`](https://github.com/luisrudge/postcss-flexbugs-fixes) 678 | - Adds [`postcss-round-subpixels`](https://github.com/himynameisdave/postcss-round-subpixels) 679 | 680 | ## v1.3.0 681 | > *(Sept 3rd/2015)* 682 | - Adds Authors, 683 | - Adds docs folder, 684 | - Adds scripts; 685 | 686 | 687 | ### v1.2.3 688 | > *(Sept 2nd/2015)* 689 | - Adds [`postcss-swedish-stylesheets`](https://github.com/johnie/postcss-swedish-stylesheets) 690 | 691 | ### v1.2.2 692 | > *(Sept 1st/2015)* 693 | - Adds [`postcss-mqwidth-to-class`](https://github.com/notacouch/postcss-mqwidth-to-class) 694 | 695 | ### v1.2.1 696 | > *(Aug 30th/2015)* 697 | - Adds `postcss-inline-comment` 698 | 699 | ## v1.2.0 700 | > *(Aug 29th/2015)* 701 | - Adds tags to each plugin; 702 | 703 | 704 | ### v1.1.5 705 | - Adds `postcss-autoreset` 706 | 707 | ### v1.1.4 708 | - Adds `postcss-colors-only` 709 | - Adds `postcss-simple-grid` 710 | 711 | ### v1.1.3 712 | - Changes name of "`postcss-all-property`" to "`postcss-initial`"; 713 | 714 | ### v1.1.2 715 | - Adds `postcss-currency` 716 | 717 | ### v1.1.1 718 | - Removes duplicate of `postcss-urlrev` 719 | 720 | ## v1.1.0 721 | - Moves the entire dataset off to it's own JSON file; updates readme; 722 | 723 | ## v1.0.0 724 | - Very simple version 1, just includes the name, description, and link to the plugin. tags to come later; 725 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Dave Lunny 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | o use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README-zh_CN.md: -------------------------------------------------------------------------------- 1 | ## PostCSS 插件列表 [![npm version](https://img.shields.io/npm/v/postcss-plugins.svg)](https://www.npmjs.com/package/postcss-plugins) [![contributors](https://img.shields.io/github/contributors/himynameisdave/postcss-plugins.svg)](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) 2 | 3 | 4 | 开箱即用型"官方和非官方"综合[PostCSS](https://github.com/postcss/postcss) 插件 5 | 6 | 9 | 10 | ### 目的 11 | 12 | 这里有 [超过数百人的优秀开发者](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) 正在构建令人惊叹的 PostCSS 插件。插件运行列表增长速度非常块,而且已经在很多地方投入使用了。通过 [**@mxstbr**](https://github.com/mxstbr) 构建的 [postcss.parts](http://postcss.parts) 可以搜索到。另一个是 [**@chrisopedia**](https://github.com/chrisopedia) 创建的 [PostCSS Alfred Workflow](https://github.com/chrisopedia/alfred-postcss-workflow)。对于开发者来说,这些是非常的好的资源用来查找和使用,而且这个列表会持续更新。 13 | 14 | 目的尽可能简洁明了但仍然会向开发者提供一些插件相关的数据 15 | 16 | **简而言之** 这是一个包含大量 PostCSS 插件的源数据列表 17 | 18 | ### 安装 19 | 20 | **使用 yarn** 21 | 22 | ``` 23 | yarn add postcss-plugins 24 | ``` 25 | 26 | **使用 npm** 27 | 28 | ``` 29 | npm i postcss-plugins 30 | ``` 31 | 32 | ### 使用 33 | 34 | ```javascript 35 | 36 | const plugins = require('postcss-plugins'); 37 | 38 | // 基本用法: 获取数据集里面的每个插件名 39 | const namesOfEveryPlugin = plugins.map(plugin => plugin.name); 40 | 41 | // 基本用法: 获取star数最多的插件 42 | const mostStarredPlugin = plugins.reduce((a, p) => a.stars && p.stars > a.stars ? p : a, { stars: 0 }); 43 | 44 | // 基本用法: 看看 himynameisdave 已经写了多少个插件 45 | const himynameisdavesPlugins = plugins.reduce((a, p) => p.author === 'himynameisdave' ? ++a : a, 0) 46 | 47 | ``` 48 | 49 | ### 提交一个新的插件 50 | 51 | 欢迎所有插件,只要符合 [PostCSS Plugin Guidelines](https://github.com/postcss/postcss/blob/master/docs/guidelines/plugin.md) 的插件指南。 52 | 这些脚本可以让添加插件变得像回答一些关于它的问题一样简单。 53 | 54 | **步骤**: 55 | 56 | 1. [Fork 这个仓库](https://github.com/himynameisdave/postcss-plugins#fork-destination-box). 57 | 1. 运行 `yarn install` / `npm install` 快速安装 [脚本](https://github.com/himynameisdave/postcss-plugins/tree/master/scripts) 所依赖的依赖项。 58 | 1. 运行 `yarn run add` / `npm run add`。 然后系统会提示你输入有关插件的信息,按照提示操作即可。 59 | 1. 然后将你的插件添加到 [`plugins.json`](https://github.com/himynameisdave/postcss-plugins/blob/master/plugins.json) 和 你的插件名 到 [`authors.md`](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) 列表中。 60 | 1. 提交并推送变更,然后提交 pull request. 61 | 1. [别着急](http://i.imgur.com/dZzkNc7.gif) 62 | 63 | **请注意** `plugins.json` 和 `authors.md` **都不要直接编辑**。 反而,请按照上面的步骤确保你的拉取请求能够及时合并。 同时, 不用操心 Github start 数量,因为这是维护人员定期完成的。 64 | 65 | ### 更新日志 66 | 67 | 有关发布、更改和更新的列表,请参见[更新日志](https://github.com/himynameisdave/postcss-plugins/blob/master/CHANGELOG.md)。 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## PostCSS Plugin List [![npm version](https://img.shields.io/npm/v/postcss-plugins.svg)](https://www.npmjs.com/package/postcss-plugins) [![contributors](https://img.shields.io/github/contributors/himynameisdave/postcss-plugins.svg)](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) 2 | 3 | 4 | 5 | The "officially unofficial" consolidated list of [PostCSS](https://github.com/postcss/postcss) plugins in a ready-to-use package. 6 | 7 | 10 | 11 | [简体中文](./README-zh_CN.md) 12 | 13 | ### Purpose 14 | 15 | There are [over a hundred wonderful developers](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) building amazing PostCSS plugins. The running list of plugins grows quickly, and is used in many places. One such place is on the searchable [postcss.parts](http://postcss.parts) built by [**@mxstbr**](https://github.com/mxstbr). Another is in the [PostCSS Alfred Workflow](https://github.com/chrisopedia/alfred-postcss-workflow) created by [**@chrisopedia**](https://github.com/chrisopedia). These are great resources for developers to find and use plugins, and this list helps keep them all up to date. 16 | 17 | The goal is to be as concise and clear as possible while still offering a lot of data about each plugin to developers. 18 | 19 | **TLDR;** this is a large JSON file containing metadata about as many postcss-plugins as possible. 20 | 21 | ### Install 22 | 23 | **With yarn** 24 | 25 | ``` 26 | yarn add postcss-plugins 27 | ``` 28 | 29 | **With npm** 30 | 31 | ``` 32 | npm i postcss-plugins 33 | ``` 34 | 35 | ### Usage 36 | 37 | ```javascript 38 | 39 | const plugins = require('postcss-plugins'); 40 | 41 | // Sample usage: get the name of every plugin in the dataset 42 | const namesOfEveryPlugin = plugins.map(plugin => plugin.name); 43 | 44 | // Sample usage: get plugin with the most stars 45 | const mostStarredPlugin = plugins.reduce((a, p) => a.stars && p.stars > a.stars ? p : a, { stars: 0 }); 46 | 47 | // Sample usage: see how many plugins himynameisdave has written 48 | const himynameisdavesPlugins = plugins.reduce((a, p) => p.author === 'himynameisdave' ? ++a : a, 0) 49 | 50 | ``` 51 | 52 | ### Submitting A New Plugin 53 | 54 | All plugins are welcome, so long as they meet the [PostCSS Plugin Guidelines](https://github.com/postcss/postcss/blob/master/docs/guidelines/plugin.md). There are scripts in place to make adding your plugin as easy as answering a few questions about it. 55 | 56 | **Steps**: 57 | 58 | 1. [Fork this repo](https://github.com/himynameisdave/postcss-plugins#fork-destination-box). 59 | 1. Run `yarn install`/`npm install` to quickly install the dependencies that the [scripts](https://github.com/himynameisdave/postcss-plugins/tree/master/scripts) rely on. 60 | 1. Run `yarn run add`/`npm run add`. You will then be prompted for info about your plugin. Follow the prompts. 61 | 1. This will add your plugin to [`plugins.json`](https://github.com/himynameisdave/postcss-plugins/blob/master/plugins.json) and your name/plugin to the [`authors.md`](https://github.com/himynameisdave/postcss-plugins/blob/master/docs/authors.md) list. 62 | 1. Commit & push your changes, then submit your pull request. 63 | 1. [Chill out](http://i.imgur.com/dZzkNc7.gif). 64 | 65 | **Please note** that both `plugins.json` and `authors.md` **are not meant to be edited directly**. Instead, please follow the steps above to ensure your pull request can be merged in a timely manner. Also, do not worry about updating the GitHub star counts for the plugins, as this is done periodically by the maintainers. 66 | 67 | ### Changes 68 | 69 | See the [changelog](https://github.com/himynameisdave/postcss-plugins/blob/master/CHANGELOG.md) for a list of releases, changes & updates. 70 | -------------------------------------------------------------------------------- /docs/authors.md: -------------------------------------------------------------------------------- 1 | ### Authors 2 | 3 | Below is a list of all the wonderful people who make PostCSS plugins. 4 | 5 | |**Author** | **Plugin(s)** | **Stars**| 6 | |---|---|---| 7 | |[jonathantneal](https://github.com/jonathantneal) | [`precss`](https://github.com/jonathantneal/precss) | 1612| 8 | | | [`postcss-conic-gradient`](https://github.com/jonathantneal/postcss-conic-gradient) | 60| 9 | | | [`postcss-pseudo-class-any-link`](https://github.com/jonathantneal/postcss-pseudo-class-any-link) | 24| 10 | | | [`postcss-pseudo-class-enter`](https://github.com/jonathantneal/postcss-pseudo-class-enter) | 28| 11 | | | [`postcss-short`](https://github.com/jonathantneal/postcss-short) | 183| 12 | | | [`postcss-transform-shortcut`](https://github.com/jonathantneal/postcss-transform-shortcut) | 48| 13 | | | [`postcss-font-magician`](https://github.com/jonathantneal/postcss-font-magician) | 980| 14 | | | [`postcss-unmq`](https://github.com/jonathantneal/postcss-unmq) | 36| 15 | | | [`postcss-partial-import`](https://github.com/jonathantneal/postcss-partial-import) | 72| 16 | | | [`postcss-write-svg`](https://github.com/jonathantneal/postcss-write-svg) | 757| 17 | | | [`postcss-short-spacing`](https://github.com/jonathantneal/postcss-short-spacing) | 9| 18 | | | [`postcss-short-size`](https://github.com/jonathantneal/postcss-short-size) | 20| 19 | | | [`postcss-short-text`](https://github.com/jonathantneal/postcss-short-text) | 2| 20 | | | [`postcss-short-position`](https://github.com/jonathantneal/postcss-short-position) | 5| 21 | | | [`postcss-short-font-size`](https://github.com/jonathantneal/postcss-short-font-size) | 3| 22 | | | [`postcss-short-color`](https://github.com/jonathantneal/postcss-short-color) | 4| 23 | | | [`postcss-nesting`](https://github.com/jonathantneal/postcss-nesting) | 452| 24 | | | [`postcss-short-border`](https://github.com/jonathantneal/postcss-short-border) | 4| 25 | | | [`postcss-unroot`](https://github.com/jonathantneal/postcss-unroot) | 1| 26 | | | [`postcss-unnot`](https://github.com/jonathantneal/postcss-unnot) | 1| 27 | | | [`postcss-unopacity`](https://github.com/jonathantneal/postcss-unopacity) | 1| 28 | | | [`postcss-unnth`](https://github.com/jonathantneal/postcss-unnth) | 1| 29 | | | [`oldie`](https://github.com/jonathantneal/oldie) | 166| 30 | | | [`postcss-input-range`](https://github.com/jonathantneal/postcss-input-range) | 40| 31 | | | [`postcss-time-machine`](https://github.com/jonathantneal/postcss-time-machine) | 155| 32 | | | [`mdcss`](https://github.com/jonathantneal/mdcss) | 679| 33 | | | [`postcss-svg-fragments`](https://github.com/jonathantneal/postcss-svg-fragments) | 0| 34 | | | [`postcss-ifrared-filter`](https://github.com/jonathantneal/postcss-infrared-filter) | 4| 35 | | | [`postcss-short-data`](https://github.com/jonathantneal/postcss-short-data) | 6| 36 | | | [`postcss-space-start-attrs`](https://github.com/jonathantneal/postcss-space-start-attrs) | 1| 37 | | | [`postcss-advanced-variables`](https://github.com/jonathantneal/postcss-advanced-variables) | 109| 38 | | | [`postcss-preset-env`](https://github.com/jonathantneal/postcss-preset-env) | 2212| 39 | | | [`postcss-normalize`](https://github.com/jonathantneal/postcss-normalize) | 770| 40 | |[postcss](https://github.com/postcss) | [`postcss-color-function`](https://github.com/postcss/postcss-color-function) | 312| 41 | | | [`postcss-color-gray`](https://github.com/postcss/postcss-color-gray) | 25| 42 | | | [`postcss-color-hex-alpha`](https://github.com/postcss/postcss-color-hex-alpha) | 28| 43 | | | [`postcss-color-hwb`](https://github.com/postcss/postcss-color-hwb) | 20| 44 | | | [`postcss-color-rebeccapurple`](https://github.com/postcss/postcss-color-rebeccapurple) | 63| 45 | | | [`postcss-custom-media`](https://github.com/postcss/postcss-custom-media) | 434| 46 | | | [`postcss-custom-properties`](https://github.com/postcss/postcss-custom-properties) | 602| 47 | | | [`postcss-custom-selectors`](https://github.com/postcss/postcss-custom-selectors) | 129| 48 | | | [`postcss-font-variant`](https://github.com/postcss/postcss-font-variant) | 23| 49 | | | [`postcss-media-minmax`](https://github.com/postcss/postcss-media-minmax) | 246| 50 | | | [`postcss-selector-not`](https://github.com/postcss/postcss-selector-not) | 48| 51 | | | [`postcss-color-rgba-fallback`](https://github.com/postcss/postcss-color-rgba-fallback) | 49| 52 | | | [`postcss-will-change`](https://github.com/postcss/postcss-will-change) | 50| 53 | | | [`autoprefixer`](https://github.com/postcss/autoprefixer) | 20562| 54 | | | [`postcss-mixins`](https://github.com/postcss/postcss-mixins) | 423| 55 | | | [`postcss-nested`](https://github.com/postcss/postcss-nested) | 1001| 56 | | | [`postcss-simple-vars`](https://github.com/postcss/postcss-simple-vars) | 388| 57 | | | [`postcss-brand-colors`](https://github.com/postcss/postcss-brand-colors) | 54| 58 | | | [`postcss-url`](https://github.com/postcss/postcss-url) | 353| 59 | | | [`postcss-calc`](https://github.com/postcss/postcss-calc) | 199| 60 | | | [`postcss-import`](https://github.com/postcss/postcss-import) | 1236| 61 | | | [`postcss-easings`](https://github.com/postcss/postcss-easings) | 127| 62 | | | [`postcss-focus`](https://github.com/postcss/postcss-focus) | 111| 63 | | | [`postcss-size`](https://github.com/postcss/postcss-size) | 51| 64 | | | [`bem-linter`](https://github.com/postcss/postcss-bem-linter) | 538| 65 | | | [`postcss-browser-reporter`](https://github.com/postcss/postcss-browser-reporter) | 74| 66 | | | [`postcss-reporter`](https://github.com/postcss/postcss-reporter) | 154| 67 | | | [`postcss-selector-matches`](https://github.com/postcss/postcss-selector-matches) | 43| 68 | | | [`postcss-filter-plugins`](https://github.com/postcss/postcss-filter-plugins) | 21| 69 | |[ben-eb](https://github.com/ben-eb) | [`cssnano`](https://github.com/ben-eb/cssnano) | 4231| 70 | | | [`postcss-svgo`](https://github.com/ben-eb/postcss-svgo) | 0| 71 | | | [`postcss-zindex`](https://github.com/ben-eb/postcss-zindex) | 0| 72 | | | [`stylehacks`](https://github.com/ben-eb/stylehacks) | 0| 73 | | | [`perfectionist`](https://github.com/ben-eb/perfectionist) | 230| 74 | | | [`postcss-unique-selectors`](https://github.com/ben-eb/postcss-unique-selectors) | 0| 75 | | | [`postcss-reduce-idents`](https://github.com/ben-eb/postcss-reduce-idents) | 0| 76 | | | [`postcss-ordered-values`](https://github.com/ben-eb/postcss-ordered-values) | 0| 77 | | | [`postcss-normalize-url`](https://github.com/ben-eb/postcss-normalize-url) | 0| 78 | | | [`postcss-minify-selectors`](https://github.com/ben-eb/postcss-minify-selectors) | 0| 79 | | | [`postcss-merge-rules`](https://github.com/ben-eb/postcss-merge-rules) | 0| 80 | | | [`postcss-merge-longhand`](https://github.com/ben-eb/postcss-merge-longhand) | 0| 81 | | | [`postcss-merge-idents`](https://github.com/ben-eb/postcss-merge-idents) | 0| 82 | | | [`postcss-discard-unused`](https://github.com/ben-eb/postcss-discard-unused) | 0| 83 | | | [`postcss-discard-empty`](https://github.com/ben-eb/postcss-discard-empty) | 0| 84 | | | [`postcss-discard-duplicates`](https://github.com/ben-eb/postcss-discard-duplicates) | 0| 85 | | | [`postcss-discard-comments`](https://github.com/ben-eb/postcss-discard-comments) | 0| 86 | | | [`postcss-convert-values`](https://github.com/ben-eb/postcss-convert-values) | 0| 87 | | | [`postcss-colormin`](https://github.com/ben-eb/postcss-colormin) | 0| 88 | | | [`postcss-color-yiq`](https://github.com/ben-eb/postcss-color-yiq) | 14| 89 | | | [`postcss-resemble-image`](https://github.com/ben-eb/postcss-resemble-image) | 432| 90 | |[arpadHegedus](https://github.com/arpadHegedus) | [`postcss-google-color`](https://github.com/arpadHegedus/postcss-google-color) | 10| 91 | | | [`postcss-font-vsize`](https://github.com/arpadHegedus/postcss-font-vsize) | 1| 92 | | | [`postcss-timing-function`](https://github.com/arpadHegedus/postcss-timing-function) | 5| 93 | | | [`postcss-ellipsis`](https://github.com/arpadHegedus/postcss-ellipsis) | 2| 94 | | | [`postcss-clear-fix`](https://github.com/arpadHegedus/postcss-clear-fix) | 1| 95 | | | [`postcss-extends`](https://github.com/arpadHegedus/postcss-extends) | 3| 96 | | | [`postcss-font`](https://github.com/arpadHegedus/postcss-font) | 3| 97 | | | [`postcss-morphicon`](https://github.com/arpadHegedus/postcss-morphicon) | 1| 98 | | | [`postcss-node-sass`](https://github.com/arpadHegedus/postcss-node-sass) | 23| 99 | | | [`postcss-rgb`](https://github.com/arpadHegedus/postcss-rgb) | 3| 100 | | | [`postcss-sides`](https://github.com/arpadHegedus/postcss-sides) | 2| 101 | |[jedmao](https://github.com/jedmao) | [`postcss-nested-props`](https://github.com/jedmao/postcss-nested-props) | 59| 102 | | | [`postcss-font-pack`](https://github.com/jedmao/postcss-font-pack) | 18| 103 | | | [`postcss-all-link-colors`](https://github.com/jedmao/postcss-all-link-colors) | 17| 104 | | | [`postcss-center`](https://github.com/jedmao/postcss-center) | 45| 105 | | | [`postcss-circle`](https://github.com/jedmao/postcss-circle) | 14| 106 | | | [`postcss-triangle`](https://github.com/jedmao/postcss-triangle) | 60| 107 | | | [`postcss-nested-vars`](https://github.com/jedmao/postcss-nested-vars) | 14| 108 | |[seaneking](https://github.com/seaneking) | [`postcss-hexrgba`](https://github.com/seaneking/postcss-hexrgba) | 63| 109 | | | [`postcss-fontpath`](https://github.com/seaneking/postcss-fontpath) | 55| 110 | | | [`postcss-alias`](https://github.com/seaneking/postcss-alias) | 46| 111 | | | [`postcss-clearfix`](https://github.com/seaneking/postcss-clearfix) | 47| 112 | | | [`postcss-input-style`](https://github.com/seaneking/postcss-input-style) | 16| 113 | | | [`postcss-position`](https://github.com/seaneking/postcss-position) | 26| 114 | | | [`postcss-responsive-type`](https://github.com/seaneking/postcss-responsive-type) | 373| 115 | |[limitlessloop](https://github.com/limitlessloop) | [`postcss-sqrt`](https://github.com/limitlessloop/postcss-sqrt) | 5| 116 | | | [`postcss-pow`](https://github.com/limitlessloop/postcss-pow) | 3| 117 | | | [`postcss-border-align`](https://github.com/limitlessloop/postcss-border-align) | 3| 118 | | | [`postcss-negative-padding`](https://github.com/limitlessloop/postcss-negative-padding) | 4| 119 | | | [`postcss-proportional-spacing`](https://github.com/limitlessloop/postcss-proportional-spacing) | 1| 120 | | | [`postcss-exact-width`](https://github.com/limitlessloop/postcss-exact-width) | 1| 121 | |[ezavile](https://github.com/ezavile) | [`postcss-typescript-css`](https://github.com/ezavile/postcss-typescript-css) | 10| 122 | | | [`postcss-text-transform`](https://github.com/ezavile/postcss-plugins/tree/master/packages/text-transform) | 0| 123 | | | [`postcss-console`](https://github.com/ezavile/postcss-plugins/tree/master/packages/console) | 0| 124 | | | [`postcss-token-utility`](https://github.com/ezavile/postcss-plugins/tree/master/packages/token-utility) | 0| 125 | | | [`postcss-button-builder`](https://github.com/ezavile/postcss-plugins/tree/master/packages/button-builder) | 0| 126 | |[admdh](https://github.com/admdh) | [`postcss-simple-grid`](https://github.com/admdh/postcss-simple-grid) | 18| 127 | | | [`postcss-high-contrast`](https://github.com/admdh/postcss-high-contrast) | 112| 128 | | | [`postcss-increase-text-sizes`](https://github.com/admdh/postcss-increase-text-sizes) | 16| 129 | | | [`postcss-inject`](https://github.com/admdh/postcss-inject) | 13| 130 | |[andyjansson](https://github.com/andyjansson) | [`postcss-conditionals`](https://github.com/andyjansson/postcss-conditionals) | 48| 131 | | | [`postcss-functions`](https://github.com/andyjansson/postcss-functions) | 205| 132 | | | [`postcss-sassy-mixins`](https://github.com/andyjansson/postcss-sassy-mixins) | 36| 133 | | | [`postcss-grid`](https://github.com/andyjansson/postcss-grid) | 71| 134 | |[azat-io](https://github.com/azat-io) | [`postcss-instagram`](https://github.com/azat-io/postcss-instagram) | 118| 135 | | | [`postcss-responsive-images`](https://github.com/azat-io/postcss-responsive-images) | 0| 136 | | | [`postcss-tatar-stylesheets`](https://github.com/azat-io/postcss-tatar-stylesheets) | 40| 137 | | | [`postcss-roman-numerals`](https://github.com/azat-io/postcss-roman-numerals) | 3| 138 | |[GitScrum](https://github.com/GitScrum) | [`postcss-for-variables`](https://github.com/GitScrum/postcss-for-variables) | 1| 139 | | | [`postcss-at-rules-variables`](https://github.com/GitScrum/postcss-at-rules-variables) | 59| 140 | | | [`postcss-attribute-selector-prefix`](https://github.com/GitScrum/postcss-attribute-selector-prefix) | 3| 141 | | | [`postcss-map-get`](https://github.com/GitScrum/postcss-map-get) | 5| 142 | |[ismamz](https://github.com/ismamz) | [`postcss-spanish-stylesheets`](https://github.com/ismamz/postcss-spanish-stylesheets) | 14| 143 | | | [`postcss-get-color`](https://github.com/ismamz/postcss-get-color) | 42| 144 | | | [`postcss-utilities`](https://github.com/ismamz/postcss-utilities) | 310| 145 | | | [`postcss-click`](https://github.com/ismamz/postcss-click) | 20| 146 | |[johnotander](https://github.com/johnotander) | [`postcss-remove-prefixes`](https://github.com/johnotander/postcss-remove-prefixes) | 19| 147 | | | [`immutable-css`](https://github.com/johnotander/immutable-css) | 0| 148 | | | [`postcss-shorthand-expand`](https://github.com/johnotander/postcss-shorthand-expand) | 14| 149 | | | [`postcss-select`](https://github.com/johnotander/postcss-select) | 4| 150 | |[MadLittleMods](https://github.com/MadLittleMods) | [`postcss-css-variables`](https://github.com/MadLittleMods/postcss-css-variables) | 501| 151 | | | [`postcss-increase-specificity`](https://github.com/MadLittleMods/postcss-increase-specificity) | 46| 152 | | | [`postcss-reverse-media`](https://github.com/MadLittleMods/postcss-reverse-media) | 4| 153 | | | [`postcss-raw`](https://github.com/MadLittleMods/postcss-raw) | 3| 154 | |[MattDiMu](https://github.com/MattDiMu) | [`postcss-fixes`](https://github.com/MattDiMu/postcss-fixes) | 55| 155 | | | [`postcss-class-patterns`](https://github.com/MattDiMu/postcss-class-patterns) | 13| 156 | | | [`postcss-nth-child-fix`](https://github.com/MattDiMu/postcss-nth-child-fix) | 9| 157 | | | [`postcss-gap`](https://github.com/MattDiMu/postcss-gap) | 3| 158 | |[pascalduez](https://github.com/pascalduez) | [`postcss-map`](https://github.com/pascalduez/postcss-map) | 115| 159 | | | [`postcss-quantity-queries`](https://github.com/pascalduez/postcss-quantity-queries) | 115| 160 | | | [`postcss-apply`](https://github.com/pascalduez/postcss-apply) | 157| 161 | | | [`postcss-scrollbar`](https://github.com/pascalduez/postcss-scrollbar) | 65| 162 | |[alanev](https://github.com/alanev) | [`postcss-filter`](https://github.com/alanev/postcss-filter) | 4| 163 | | | [`postcss-property-shorthand`](https://github.com/alanev/postcss-property-shorthand) | 1| 164 | | | [`postcss-randomcolor`](https://github.com/alanev/postcss-randomcolor) | 7| 165 | |[andrepolischuk](https://github.com/andrepolischuk) | [`postcss-color-short`](https://github.com/andrepolischuk/postcss-color-short) | 13| 166 | | | [`postcss-border`](https://github.com/andrepolischuk/postcss-border) | 9| 167 | | | [`postcss-pseudo-class-any-button`](https://github.com/andrepolischuk/postcss-pseudo-class-any-button) | 6| 168 | |[arccoza](https://github.com/arccoza) | [`postcss-layout`](https://github.com/arccoza/postcss-layout) | 9| 169 | | | [`postcss-if-media`](https://github.com/arccoza/postcss-if-media) | 35| 170 | | | [`postcss-aspect-ratio`](https://github.com/arccoza/postcss-aspect-ratio) | 37| 171 | |[archana-s](https://github.com/archana-s) | [`postcss-flexbox`](https://github.com/archana-s/postcss-flexbox) | 82| 172 | | | [`postcss-speech-bubble`](https://github.com/archana-s/postcss-speech-bubble) | 14| 173 | | | [`postcss-colorfix`](https://github.com/archana-s/postcss-colorfix) | 8| 174 | |[komachi](https://github.com/komachi) | [`usedcss`](https://github.com/komachi/usedcss) | 52| 175 | | | [`postcss-clip-path-polyfill`](https://github.com/komachi/postcss-clip-path-polyfill) | 24| 176 | | | [`postcss-dialog-polyfill`](https://github.com/komachi/postcss-dialog-polyfill) | 3| 177 | |[maximkoretskiy](https://github.com/maximkoretskiy) | [`postcss-initial`](https://github.com/maximkoretskiy/postcss-initial) | 186| 178 | | | [`postcss-autoreset`](https://github.com/maximkoretskiy/postcss-autoreset) | 246| 179 | | | [`postcss-alias-atrules`](https://github.com/maximkoretskiy/postcss-alias-atrules) | 5| 180 | |[morishitter](https://github.com/morishitter) | [`atcss`](https://github.com/morishitter/atcss) | 63| 181 | | | [`postcss-style-guide`](https://github.com/morishitter/postcss-style-guide) | 528| 182 | | | [`cssfmt`](https://github.com/morishitter/cssfmt) | 2109| 183 | |[niksy](https://github.com/niksy) | [`postcss-em-media-query`](https://github.com/niksy/postcss-em-media-query) | 25| 184 | | | [`postcss-media-query-gap`](https://github.com/niksy/postcss-media-query-gap) | 2| 185 | | | [`postcss-escape-generated-content-string`](https://github.com/niksy/postcss-escape-generated-content-string) | 1| 186 | |[notiv-nt](https://github.com/notiv-nt) | [`postcss-transition`](https://github.com/notiv-nt/postcss-transition) | 1| 187 | | | [`postcss-fluid`](https://github.com/notiv-nt/postcss-fluid) | 5| 188 | | | [`postcss-media-functions`](https://github.com/notiv-nt/postcss-media-functions) | 1| 189 | |[philipbordallo](https://github.com/philipbordallo) | [`postcss-stack`](https://github.com/philipbordallo/postcss-stack) | 11| 190 | | | [`postcss-color-emoji`](https://github.com/philipbordallo/postcss-color-emoji) | 5| 191 | | | [`postcss-system-monospace`](https://github.com/philipbordallo/postcss-system-monospace) | 3| 192 | |[retyui](https://github.com/retyui) | [`postcss-animations`](https://github.com/retyui/postcss-animations) | 40| 193 | | | [`postcss-image-set-generator`](https://github.com/retyui/postcss-image-set-generator) | 4| 194 | | | [`postcss-icon`](https://github.com/retyui/postcss-icon) | 22| 195 | |[simonsmith](https://github.com/simonsmith) | [`postcss-at2x`](https://github.com/simonsmith/postcss-at2x) | 45| 196 | | | [`postcss-generate-preset`](https://github.com/simonsmith/postcss-generate-preset) | 10| 197 | | | [`postcss-property-lookup`](https://github.com/simonsmith/postcss-property-lookup) | 65| 198 | |[TrySound](https://github.com/TrySound) | [`postcss-normalize-charset`](https://github.com/TrySound/postcss-normalize-charset) | 0| 199 | | | [`postcss-minify-font-values`](https://github.com/TrySound/postcss-minify-font-values) | 0| 200 | | | [`postcss-inline-svg`](https://github.com/TrySound/postcss-inline-svg) | 445| 201 | |[ai](https://github.com/ai) | [`webp-in-css`](https://github.com/ai/webp-in-css) | 335| 202 | | | [`postcss-dark-theme-class`](https://github.com/postcss/postcss-dark-theme-class) | 110| 203 | |[AlekseyPleshkov](https://github.com/AlekseyPleshkov) | [`postcss-adaptive-size`](https://github.com/AlekseyPleshkov/postcss-adaptive-size) | 2| 204 | | | [`postcss-flex-short`](https://github.com/AlekseyPleshkov/postcss-flex-short) | 10| 205 | |[andywer](https://github.com/andywer) | [`postcss-theme`](https://github.com/andywer/postcss-theme) | 86| 206 | | | [`postcss-debug`](https://github.com/andywer/postcss-debug) | 92| 207 | |[antyakushev](https://github.com/antyakushev) | [`postcss-for`](https://github.com/antyakushev/postcss-for) | 85| 208 | | | [`postcss-default-unit`](https://github.com/antyakushev/postcss-default-unit) | 8| 209 | |[bezoerb](https://github.com/bezoerb) | [`postcss-image-inliner`](https://github.com/bezoerb/postcss-image-inliner) | 12| 210 | | | [`postcss-discard`](https://github.com/bezoerb/postcss-discard) | 12| 211 | |[colinmeinke](https://github.com/colinmeinke) | [`postcss-calc-function`](https://github.com/colinmeinke/postcss-calc-function) | 1| 212 | | | [`postcss-custom-props`](https://github.com/colinmeinke/postcss-custom-props) | 0| 213 | |[corysimmons](https://github.com/corysimmons) | [`lost`](https://github.com/peterramsing/lost) | 4508| 214 | | | [`postcss-ant`](https://github.com/corysimmons/postcss-ant) | 142| 215 | |[dangvanthanh](https://github.com/dangvanthanh) | [`postcss-tipsy`](https://github.com/dangvanthanh/postcss-tipsy) | 2| 216 | | | [`postcss-longshadow-text`](https://github.com/dangvanthanh/postcss-longshadow-text) | 8| 217 | |[davidtheclark](https://github.com/davidtheclark) | [`postcss-simple-extend`](https://github.com/davidtheclark/postcss-simple-extend) | 34| 218 | | | [`list-selectors`](https://github.com/davidtheclark/list-selectors) | 91| 219 | |[devex-web-frontend](https://github.com/devex-web-frontend) | [`postcss-assets-rebase`](https://github.com/devex-web-frontend/postcss-assets-rebase) | 21| 220 | | | [`postcss-regexp-detect`](https://github.com/devex-web-frontend/postcss-regexp-detect) | 6| 221 | |[dimitrinicolas](https://github.com/dimitrinicolas) | [`postcss-inline-media`](https://github.com/dimitrinicolas/postcss-inline-media) | 47| 222 | | | [`postcss-import-ext-glob`](https://github.com/dimitrinicolas/postcss-import-ext-glob) | 21| 223 | |[garthdb](https://github.com/garthdb) | [`postcss-topdoc`](https://github.com/GarthDB/postcss-topdoc) | 1| 224 | | | [`postcss-inherit`](https://github.com/GarthDB/postcss-inherit) | 15| 225 | |[glebmachine](https://github.com/glebmachine) | [`postcss-cachebuster`](https://github.com/glebmachine/postcss-cachebuster) | 22| 226 | | | [`postcss-easysprites`](https://github.com/glebmachine/postcss-easysprites) | 59| 227 | |[gucong3000](https://github.com/gucong3000) | [`postcss-pie`](https://github.com/gucong3000/postcss-pie) | 5| 228 | | | [`postcss-unprefix`](https://github.com/gucong3000/postcss-unprefix) | 33| 229 | |[hail2u](https://github.com/hail2u) | [`postcss-single-charset`](https://github.com/hail2u/postcss-single-charset) | 8| 230 | | | [`css-mqpacker`](https://github.com/hail2u/node-css-mqpacker) | 668| 231 | |[hallvors](https://github.com/hallvors) | [`postcss-flexboxfixer`](https://github.com/hallvors/postcss-flexboxfixer) | 40| 232 | | | [`postcss-gradientfixer`](https://github.com/hallvors/postcss-gradientfixer) | 15| 233 | |[himynameisdave](https://github.com/himynameisdave) | [`postcss-rgb-plz`](https://github.com/himynameisdave/postcss-rgb-plz) | 2| 234 | | | [`postcss-round-subpixels`](https://github.com/himynameisdave/postcss-round-subpixels) | 13| 235 | |[iamvdo](https://github.com/iamvdo) | [`postcss-opacity`](https://github.com/iamvdo/postcss-opacity) | 29| 236 | | | [`postcss-vmin`](https://github.com/iamvdo/postcss-vmin) | 13| 237 | |[jacobp100](https://github.com/jacobp100) | [`postcss-remove-classes`](https://github.com/jacobp100/postcss-remove-classes) | 12| 238 | | | [`es-css-modules`](https://github.com/jacobp100/es-css-modules) | 169| 239 | |[Jeff2Ma](https://github.com/Jeff2Ma) | [`postcss-lazyimagecss`](https://github.com/Jeff2Ma/postcss-lazyimagecss) | 38| 240 | | | [`postcss-lazysprite`](https://github.com/Jeff2Ma/postcss-lazysprite) | 30| 241 | |[johnie](https://github.com/johnie) | [`postcss-crip`](https://github.com/johnie/postcss-crip) | 20| 242 | | | [`postcss-swedish-stylesheets`](https://github.com/johnie/postcss-swedish-stylesheets) | 24| 243 | |[Justineo](https://github.com/Justineo) | [`postcss-discard-overridden`](https://github.com/Justineo/postcss-discard-overridden) | 16| 244 | | | [`postcss-sort-style-rules`](https://github.com/Justineo/postcss-sort-style-rules) | 12| 245 | |[kilian](https://github.com/kilian) | [`postcss-dutch-stylesheets`](https://github.com/Kilian/postcss-dutch-stylesheets) | 12| 246 | | | [`postcss-hocus`](https://github.com/kilian/postcss-hocus) | 22| 247 | |[kolcethompsonco](https://github.com/kolcethompsonco) | [`postcss-lh`](https://github.com/kolcethompsonco/postcss-lh) | 44| 248 | | | [`postcss-pr`](https://github.com/kolcethompsonco/postcss-pr) | 20| 249 | |[kristoferjoseph](https://github.com/kristoferjoseph) | [`postcss-modular-scale`](https://github.com/kristoferjoseph/postcss-modular-scale) | 53| 250 | | | [`postcss-color-scale`](https://github.com/kristoferjoseph/postcss-color-scale) | 14| 251 | |[lexich](https://github.com/lexich) | [`webpcss`](https://github.com/lexich/webpcss) | 52| 252 | | | [`postcss-shared-options`](https://github.com/lexich/postcss-shared-options) | 2| 253 | |[lore-w](https://github.com/lore-w) | [`2rem`](https://github.com/lore-w/2rem) | 2| 254 | | | [`math-calc`](https://github.com/lore-w/math-calc) | 3| 255 | |[markgoodyear](https://github.com/markgoodyear) | [`postcss-vertical-rhythm`](https://github.com/markgoodyear/postcss-vertical-rhythm) | 76| 256 | | | [`postcss-pointer`](https://github.com/markgoodyear/postcss-pointer) | 15| 257 | |[outpunk](https://github.com/outpunk) | [`postcss-each`](https://github.com/outpunk/postcss-each) | 95| 258 | | | [`postcss-modules`](https://github.com/outpunk/postcss-modules) | 1458| 259 | |[pepelxD](https://github.com/pepelxD) | [`postcss-neogrid`](https://github.com/pepelxD/postcss-neoGrid) | 3| 260 | | | [`postcss-csslock`](https://github.com/pepelxD/postcss-csslock) | 4| 261 | |[rtsao](https://github.com/rtsao) | [`postcss-match`](https://github.com/rtsao/postcss-match) | 13| 262 | | | [`postcss-rtlcss-combined`](https://github.com/rtsao/postcss-rtlcss-combined) | 13| 263 | |[SaraVieira](https://github.com/SaraVieira) | [`postcss-caralho`](https://github.com/SaraVieira/postcss-caralho) | 243| 264 | | | [`postcss-portuguese-stylesheets`](https://github.com/SaraVieira/postcss-portuguese-stylesheets) | 4| 265 | |[Semigradsky](https://github.com/Semigradsky) | [`postcss-russian-units`](https://github.com/Semigradsky/postcss-russian-units) | 62| 266 | | | [`postcss-russian-stylesheets`](https://github.com/Semigradsky/postcss-russian-stylesheets) | 64| 267 | |[stephenway](https://github.com/stephenway) | [`postcss-contrast`](https://github.com/stephenway/postcss-contrast) | 25| 268 | | | [`level4`](https://github.com/stephenway/level4) | 29| 269 | |[tillschander](https://github.com/tillschander) | [`@tillschander/postcss-prefix-all-rules`](https://github.com/tillschander/postcss-prefix-all-rules) | 1| 270 | | | [`@tillschander/postcss-rem-to-px`](https://github.com/tillschander/postcss-rem-to-px) | 2| 271 | |[travco](https://github.com/travco) | [`postcss-extend`](https://github.com/travco/postcss-extend) | 112| 272 | | | [`postcss-secmodify`](https://github.com/travco/postcss-secmodify) | 1| 273 | |[valtlai](https://github.com/valtlai) | [`postcss-font-format-keywords`](https://github.com/valtlai/postcss-font-format-keywords) | 6| 274 | | | [`postcss-color-image`](https://github.com/valtlai/postcss-color-image) | 3| 275 | |[VitaliyR](https://github.com/VitaliyR) | [`postcss-esplit`](https://github.com/VitaliyR/postcss-esplit) | 8| 276 | | | [`postcss-prefix-keyframe`](https://github.com/VitaliyR/postcss-prefix-keyframe) | 1| 277 | |[yuezk](https://github.com/yuezk) | [`postcss-urlrev`](https://github.com/yuezk/postcss-urlrev) | 19| 278 | | | [`postcss-filter-gradient`](https://github.com/yuezk/postcss-filter-gradient) | 16| 279 | |[yunusga](https://github.com/yunusga) | [`postcss-momentum-scrolling`](https://github.com/yunusga/postcss-momentum-scrolling) | 68| 280 | | | [`postcss-sort-media-queries`](https://github.com/solversgroup/postcss-sort-media-queries) | 118| 281 | |[zhoucheng](https://github.com/zhoucheng) | [`postcss-hairlines`](https://github.com/zhouchengi/postcss-hairlines) | 3| 282 | | | [`postcss-webp`](https://github.com/zhouchengi/postcss-webp) | 3| 283 | |[zhouwenbin](https://github.com/zhouwenbin) | [`postcss-animation`](https://github.com/zhouwenbin/postcss-animation) | 80| 284 | | | [`postcss-chinese-stylesheets`](https://github.com/zhouwenbin/postcss-chinese-stylesheets) | 19| 285 | |[1j01](https://github.com/1j01) | [`postcss-gtk`](https://github.com/1j01/postcss-gtk) | 23| 286 | |[2createStudio](https://github.com/2createStudio) | [`postcss-sprites`](https://github.com/2createStudio/postcss-sprites) | 406| 287 | |[7rulnik](https://github.com/7rulnik) | [`postcss-flexibility`](https://github.com/7rulnik/postcss-flexibility) | 302| 288 | |[a-axton](https://github.com/a-axton) | [`postcss-selector-source`](https://github.com/a-axton/postcss-selector-source) | 4| 289 | |[AaronJan](https://github.com/AaronJan) | [`postcss-font-grabber`](https://github.com/AaronJan/postcss-font-grabber) | 26| 290 | |[aemoe](https://github.com/aemoe) | [`postcss-display-inline-blcok`](https://github.com/aemoe/postcss-display-inline-block) | 6| 291 | |[ahmadalfy](https://github.com/ahmadalfy) | [`postcss-logical-properties`](https://github.com/ahmadalfy/postcss-logical-properties) | 10| 292 | |[ahtohbi4](https://github.com/ahtohbi4) | [`postcss-bgimage`](https://github.com/ahtohbi4/postcss-bgimage) | 12| 293 | |[aleray](https://github.com/aleray) | [`postcss-single-line`](https://github.com/aleray/postcss-single-line) | 3| 294 | |[alex499](https://github.com/alex499) | [`postcss-image-set`](https://github.com/alex499/postcss-image-set) | 20| 295 | |[alexandr-solovyov](https://github.com/alexandr-solovyov) | [`postcss-responsive-properties`](https://github.com/alexandr-solovyov/postcss-responsive-properties) | 14| 296 | |[anandthakker](https://github.com/anandthakker) | [`doiuse`](https://github.com/anandthakker/doiuse) | 1058| 297 | |[anc95](https://github.com/anc95) | [`postcss-flex-value`](https://github.com/anc95/postcss-flex-value) | 0| 298 | |[andrasna](https://github.com/andrasna) | [`postcss-baseline-grid-overlay`](https://github.com/andrasna/postcss-baseline-grid-overlay) | 5| 299 | |[andylbrummer](https://github.com/andylbrummer) | [`postcss-subtle`](https://github.com/standardbeagle/postcss-subtle) | 1| 300 | |[AoDev](https://github.com/AoDev) | [`css-byebye`](https://github.com/AoDev/css-byebye) | 60| 301 | |[ariona](https://github.com/ariona) | [`postcss-indonesian-stylesheets`](https://github.com/ariona/postcss-indonesian-stylesheets) | 8| 302 | |[askirmas](https://github.com/askirmas) | [`postcss-d-ts`](https://github.com/askirmas/postcss-d-ts) | 29| 303 | |[ausi](https://github.com/ausi) | [`cq-prolyfill`](https://github.com/ausi/cq-prolyfill) | 563| 304 | |[avanes](https://github.com/avanes) | [`postcss-color-alpha`](https://github.com/avanes/postcss-color-alpha) | 18| 305 | |[awayken](https://github.com/awayken) | [`postcss-placehold`](https://github.com/awayken/postcss-placehold) | 4| 306 | |[awcross](https://github.com/awcross) | [`postcss-each-variables`](https://github.com/awcross/postcss-each-variables) | 12| 307 | |[axa-ch](https://github.com/axa-ch) | [`postcss-pseudoelements`](https://github.com/axa-ch/postcss-pseudoelements) | 20| 308 | |[axvm](https://github.com/axvm) | [`postcss-pure-grid`](https://github.com/axvm/postcss-pure-grid) | 3| 309 | |[aykut-rocks](https://github.com/aykut-rocks) | [`postcss-no-query`](https://github.com/aykut-rocks/postcss-no-query) | 5| 310 | |[bameda](https://github.com/bameda) | [`postcss-andalusian-stylesheets`](https://github.com/bameda/postcss-andalusian-stylesheets) | 266| 311 | |[BarryThePenguin](https://github.com/BarryThePenguin) | [`postcss-typography`](https://github.com/BarryThePenguin/postcss-typography) | 56| 312 | |[BBVAEngineering](https://github.com/BBVAEngineering) | [`postcss-selector-scope`](https://github.com/BBVAEngineering/postcss-selector-scope) | 1| 313 | |[benboba](https://github.com/benboba) | [`postcss-svg-slimming`](https://github.com/benboba/postcss-svg-slimming) | 5| 314 | |[benmcginnis](https://github.com/benmcginnis) | [`postcss-dss`](https://github.com/benmcginnis/postcss-dss) | 1| 315 | |[binjospookie](https://github.com/binjospookie) | [`postcss-state-selector`](https://github.com/binjospookie/postcss-state-selector) | 0| 316 | |[bmds](https://github.com/bmds) | [`postcss-logical-props`](https://github.com/bmds/postcss-logical-props) | 7| 317 | |[borodean](https://github.com/borodean) | [`postcss-assets`](https://github.com/borodean/postcss-assets) | 540| 318 | |[btholt](https://github.com/btholt) | [`postcss-colorblind`](https://github.com/btholt/postcss-colorblind) | 336| 319 | |[cadomac](https://github.com/cadomac) | [`postcss-hocus-pocus`](https://github.com/cadomac/postcss-hocus-pocus) | 0| 320 | |[casey6](https://github.com/casey6) | [`postcss-redundant-color-vars`](https://github.com/caseyjacobson/postcss-redundant-color-vars) | 11| 321 | |[cbas](https://github.com/cbas) | [`postcss-imperial`](https://github.com/cbas/postcss-imperial) | 32| 322 | |[cbracco](https://github.com/cbracco) | [`postcss-remove-root`](https://github.com/cbracco/postcss-remove-root) | 9| 323 | |[ccurtin](https://github.com/ccurtin) | [`postcss-responsive-font`](https://github.com/ccurtin/postcss-responsive-font) | 28| 324 | |[chancancode](https://github.com/chancancode) | [`postcss-canadian-stylesheets`](https://github.com/chancancode/postcss-canadian-stylesheets) | 72| 325 | |[Chapabu](https://github.com/Chapabu) | [`postcss-flexbox-unboxer`](https://github.com/Chapabu/postcss-flexbox-unboxer) | 2| 326 | |[chrisboakes](https://github.com/chrisboakes) | [`postcss-encode-background-svgs`](https://github.com/chrisboakes/postcss-encode-background-svgs) | 9| 327 | |[chriseppstein](https://github.com/chriseppstein) | [`postcss-lang-optimizer`](https://github.com/linkedin/postcss-lang-optimizer) | 21| 328 | |[ChristianMurphy](https://github.com/ChristianMurphy) | [`postcss-combine-duplicated-selectors`](https://github.com/ChristianMurphy/postcss-combine-duplicated-selectors) | 73| 329 | |[Code-Y](https://github.com/Code-Y) | [`postcss-cyspriter`](https://github.com/Code-Y/postcss-cyspriter) | 4| 330 | |[cooskun](https://github.com/cooskun) | [`postcss-supported-variables`](https://github.com/cooskun/postcss-supported-variables) | 1| 331 | |[crftd](https://github.com/crftd) | [`postcss-glitch`](https://github.com/crftd/postcss-glitch) | 27| 332 | |[crossjs](https://github.com/crossjs) | [`postcss-flexible`](https://github.com/crossjs/postcss-flexible) | 19| 333 | |[Crunch](https://github.com/Crunch) | [`postcss-less-engine`](https://github.com/Crunch/postcss-less) | 35| 334 | |[cssdream](https://github.com/cssdream) | [`cssgrace`](https://github.com/cssdream/cssgrace) | 599| 335 | |[cssnext](https://github.com/cssnext) | [`postcss-cssnext`](https://github.com/MoOx/postcss-cssnext) | 5359| 336 | |[cssstats](https://github.com/cssstats) | [`postcss-cssstats`](https://github.com/cssstats/postcss-cssstats) | 50| 337 | |[ctxhou](https://github.com/ctxhou) | [`postcss-hash-classname`](https://github.com/ctxhou/postcss-hash-classname) | 61| 338 | |[cuth](https://github.com/cuth) | [`postcss-pxtorem`](https://github.com/cuth/postcss-pxtorem) | 1771| 339 | |[dacodekid](https://github.com/dacodekid) | [`postcss-hash`](https://github.com/dacodekid/postcss-hash) | 24| 340 | |[daleeidd](https://github.com/daleeidd) | [`postcss-define-property`](https://github.com/daleeidd/postcss-define-property) | 47| 341 | |[dan-gamble](https://github.com/dan-gamble) | [`postcss-font-awesome`](https://github.com/dan-gamble/postcss-font-awesome) | 34| 342 | |[DanielStoica85](https://github.com/DanielStoica85) | [`postcss-romanian-stylesheets`](https://github.com/DanielStoica85/postcss-romanian-stylesheets) | 5| 343 | |[davidhemphill](https://github.com/davidhemphill) | [`postcss-verthorz`](https://github.com/davidhemphill/postcss-verthorz) | 18| 344 | |[dbtedman](https://github.com/dbtedman) | [`postcss-prefixwrap`](https://github.com/dbtedman/postcss-prefixwrap) | 52| 345 | |[dehuszar](https://github.com/dehuszar) | [`postcss-reference`](https://github.com/dehuszar/postcss-reference) | 30| 346 | |[DenyVeyten](https://github.com/DenyVeyten) | [`postcss-deadcss`](https://github.com/DenyVeyten/postcss-deadcss) | 29| 347 | |[derek-duncan](https://github.com/derek-duncan) | [`postcss-responsify`](https://github.com/derek-duncan/postcss-responsify) | 8| 348 | |[devgru](https://github.com/devgru) | [`postcss-color-hcl`](https://github.com/devgru/postcss-color-hcl) | 10| 349 | |[dfernandez79](https://github.com/dfernandez79) | [`postcss-ase-colors`](https://github.com/dfernandez79/postcss-ase-colors) | 10| 350 | |[DimitrisNL](https://github.com/DimitrisNL) | [`postcss-autocorrect`](https://github.com/DimitrisNL/postcss-autocorrect) | 13| 351 | |[DongShelton](https://github.com/DongShelton) | [`postcss-file`](https://github.com/DongShelton/postcss-file) | 3| 352 | |[dp-lewis](https://github.com/dp-lewis) | [`postcss-australian-stylesheets`](https://github.com/dp-lewis/postcss-australian-stylesheets) | 83| 353 | |[Dreamseer](https://github.com/Dreamseer) | [`postcss-opacity-percentage`](https://github.com/Dreamseer/postcss-opacity-percentage) | 11| 354 | |[duoWB](https://github.com/duoWB) | [`postcss-delete-duplicate-css`](https://github.com/duoWB/postcss-delete-duplicate-css) | 1| 355 | |[dyaa](https://github.com/dyaa) | [`PostCSS Egyptian Stylesheets`](https://github.com/dyaa/postcss-egyptian-stylesheets) | 17| 356 | |[EdMSL](https://github.com/EdMSL) | [`postcss-color-converter`](https://github.com/EdMSL/postcss-color-converter) | 4| 357 | |[emero](https://github.com/emero) | [`postcss-polish-stylesheets`](https://github.com/emero/postcss-polish-stylesheets) | 51| 358 | |[epeli](https://github.com/epeli) | [`postcss-ts-classnames`](https://github.com/epeli/postcss-ts-classnames) | 49| 359 | |[eriklharper](https://github.com/eriklharper) | [`postcss-nested-import`](https://github.com/eriklharper/postcss-nested-import) | 15| 360 | |[F21](https://github.com/F21) | [`postcss-vertical-rhythm-function`](https://github.com/F21/postcss-vertical-rhythm-function) | 8| 361 | |[Faisal-Manzer](https://github.com/Faisal-Manzer) | [`postcss-viewport-height-correction`](https://github.com/Faisal-Manzer/postcss-viewport-height-correction) | 209| 362 | |[fielding](https://github.com/fielding) | [`postcss-env-replace`](https://github.com/fielding/postcss-env-replace) | 2| 363 | |[fliptheweb](https://github.com/fliptheweb) | [`postcss-flow-root`](https://github.com/fliptheweb/postcss-flow-root) | 13| 364 | |[frm-adiputra](https://github.com/frm-adiputra) | [`RGrid`](https://github.com/frm-adiputra/postcss-rgrid) | 2| 365 | |[geddski](https://github.com/geddski) | [`csstyle`](https://github.com/geddski/csstyle) | 870| 366 | |[georgeadamson](https://github.com/georgeadamson) | [`postcss-merge-selectors`](https://github.com/georgeadamson/postcss-merge-selectors) | 20| 367 | |[geut](https://github.com/geut) | [`postcss-copy`](https://github.com/geut/postcss-copy) | 38| 368 | |[gilmoreorless](https://github.com/gilmoreorless) | [`postcss-gradient-transparency-fix`](https://github.com/gilmoreorless/postcss-gradient-transparency-fix) | 24| 369 | |[git-slim](https://github.com/git-slim) | [`postcss-random`](https://github.com/git-slim/postcss-random) | 5| 370 | |[giuseppeg](https://github.com/giuseppeg) | [`postcss-pseudo-classes`](https://github.com/giuseppeg/postcss-pseudo-classes) | 27| 371 | |[gVguy](https://github.com/gVguy) | [`postcss-vwh`](https://github.com/gVguy/postcss-vwh) | 1| 372 | |[h0tc0d3](https://github.com/h0tc0d3) | [`postcss-hamster`](https://github.com/h0tc0d3/postcss-hamster) | 46| 373 | |[HashanP](https://github.com/HashanP) | [`postcss-spiffing`](https://github.com/HashanP/postcss-spiffing) | 224| 374 | |[HoBi](https://github.com/HoBi) | [`postcss-czech-stylesheets`](https://github.com/HoBi/postcss-czech-stylesheets) | 47| 375 | |[hudochenkov](https://github.com/hudochenkov) | [`postcss-sorting`](https://github.com/hudochenkov/postcss-sorting) | 478| 376 | |[iahu](https://github.com/iahu) | [`postcss-font-normalize`](https://github.com/iahu/postcss-font-normalize) | 6| 377 | |[iamstarkov](https://github.com/iamstarkov) | [`postcss-color-mix`](https://github.com/iamstarkov/postcss-color-mix) | 16| 378 | |[itaoyuta](https://github.com/itaoyuta) | [`postcss-selector-replace`](https://github.com/itaoyuta/postcss-selector-replace) | 6| 379 | |[jackmcpickle](https://github.com/jackmcpickle) | [`postcss-include-media`](https://github.com/jackmcpickle/postcss-include-media) | 5| 380 | |[jakelazaroff](https://github.com/jakelazaroff) | [`postcss-border-radius`](https://github.com/jakelazaroff/postcss-border-radius) | 2| 381 | |[jameskolce](https://github.com/jameskolce) | [`postcss-type-scale`](https://github.com/jameskolce/postcss-type-scale) | 1| 382 | |[janczer](https://github.com/janczer) | [`postcss-make-it-bright`](https://github.com/janczer/postcss-make-it-bright) | 2| 383 | |[JasonShin](https://github.com/JasonShin) | [`postcss-korean-stylesheets`](https://github.com/JasonShin/postcss-korean-stylesheets) | 4| 384 | |[jdsteinbach](https://github.com/jdsteinbach) | [`postcss-light-text`](https://github.com/jdsteinbach/postcss-light-text) | 5| 385 | |[jelmerdemaat](https://github.com/jelmerdemaat) | [`postcss-base64`](https://github.com/jelmerdemaat/postcss-base64) | 15| 386 | |[JLHwung](https://github.com/JLHwung) | [`postcss-font-family-system-ui`](https://github.com/JLHwung/postcss-font-family-system-ui) | 91| 387 | |[jo-asakura](https://github.com/jo-asakura) | [`postcss-neat`](https://github.com/jo-asakura/postcss-neat) | 89| 388 | |[JoeCianflone](https://github.com/JoeCianflone) | [`postcss-insert`](https://github.com/JoeCianflone/postcss-insert) | 9| 389 | |[JoeWrights](https://github.com/JoeWrights) | [`postcss-plugin-border-1px`](https://github.com/JoeWrights/postcss-plugin-border-1px) | 5| 390 | |[jonathanong](https://github.com/jonathanong) | [`postcss-prefix-selector`](https://github.com/jonathanong/postcss-prefix-selector) | 122| 391 | |[jpgorman](https://github.com/jpgorman) | [`postcss-invert-keyframes`](https://github.com/jpgorman/postcss-invert-keyframes) | 3| 392 | |[juanfran](https://github.com/juanfran) | [`postcss-trolling`](https://github.com/juanfran/postcss-trolling) | 146| 393 | |[juln](https://github.com/juln) | [`postcss-peeling`](https://github.com/z-juln/postcss-peeling) | 2| 394 | |[justim](https://github.com/justim) | [`postcss-svg-fallback`](https://github.com/justim/postcss-svg-fallback) | 40| 395 | |[keukenrolletje](https://github.com/keukenrolletje) | [`postcss-colorstring`](https://github.com/keukenrolletje/postcss-colorstring) | 2| 396 | |[kezzbracey](https://github.com/kezzbracey) | [`postcss-bem`](https://github.com/kezzbracey/postcss-bem) | 89| 397 | |[kinday](https://github.com/kinday) | [`postcss-axis`](https://github.com/kinday/postcss-axis) | 16| 398 | |[Knovour](https://github.com/Knovour) | [`postcss-nippon-color`](https://github.com/Knovour/postcss-nippon-color) | 6| 399 | |[komarnitskyi](https://github.com/komarnitskyi) | [`postcss-content-entity`](https://github.com/komarnitskyi/postcss-content-entity) | 18| 400 | |[komlev](https://github.com/komlev) | [`postcss-current-selector`](https://github.com/komlev/postcss-current-selector) | 14| 401 | |[kunukn](https://github.com/kunukn) | [`postcss-alter-property-value`](https://github.com/kunukn/postcss-alter-property-value) | 8| 402 | |[lahmatiy](https://github.com/lahmatiy) | [`postcss-csso`](https://github.com/lahmatiy/postcss-csso) | 111| 403 | |[landn172](https://github.com/landn172) | [`postcss-rpxtorem`](https://github.com/landn172/postcss-rpxtorem) | 9| 404 | |[larsenwork](https://github.com/larsenwork) | [`postcss-easing-gradients`](https://github.com/larsenwork/postcss-easing-gradients) | 812| 405 | |[laureanoarcanio](https://github.com/laureanoarcanio) | [`postcss-shades-of-gray`](https://github.com/laureanoarcanio/postcss-shades-of-gray) | 16| 406 | |[Lehoczky](https://github.com/Lehoczky) | [`@lehoczky/postcss-fluid`](https://github.com/Lehoczky/postcss-fluid) | 2| 407 | |[leodido](https://github.com/leodido) | [`postcss-clean`](https://github.com/leodido/postcss-clean) | 41| 408 | |[LestaD](https://github.com/LestaD) | [`postcss-define-units`](https://github.com/LestaD/postcss-define-units) | 6| 409 | |[letsjaam](https://github.com/letsjaam) | [`postcss-letter-tracking`](https://github.com/letsjaam/postcss-letter-tracking) | 2| 410 | |[liquidlight](https://github.com/liquidlight) | [`postcss-pseudo-content-insert`](https://github.com/liquidlight/postcss-pseudo-content-insert) | 14| 411 | |[longdog](https://github.com/longdog) | [`postcss-color-pantone`](https://github.com/longdog/postcss-color-pantone) | 15| 412 | |[lordgiotto](https://github.com/lordgiotto) | [`postcss-oldschool-grid`](https://github.com/lordgiotto/postcss-oldschool-grid) | 3| 413 | |[luckymore](https://github.com/luckymore) | [`postcss-transform-css-var`](https://github.com/luckymore/postcss-transform-css-var) | 8| 414 | |[luisrudge](https://github.com/luisrudge) | [`postcss-flexbugs-fixes`](https://github.com/luisrudge/postcss-flexbugs-fixes) | 751| 415 | |[lukelarsen](https://github.com/lukelarsen) | [`postcss-hidden`](https://github.com/lukelarsen/postcss-hidden) | 12| 416 | |[lutien](https://github.com/lutien) | [`postcss-extract-value`](https://github.com/lutien/postcss-extract-value) | 45| 417 | |[macropodhq](https://github.com/macropodhq) | [`postcss-constants`](https://github.com/macropodhq/postcss-constants) | 73| 418 | |[makotot](https://github.com/makotot) | [`postcss-line-height-px-to-unitless`](https://github.com/makotot/postcss-line-height-px-to-unitless) | 5| 419 | |[maraisr](https://github.com/maraisr) | [`postcss-grouper`](https://github.com/maraisr/postcss-grouper) | 0| 420 | |[maykinmedia](https://github.com/maykinmedia) | [`postcss-selector-lint`](https://github.com/maykinmedia/postcss-selector-lint) | 3| 421 | |[mbrandau](https://github.com/mbrandau) | [`postcss-class-name-shortener`](https://github.com/mbrandau/postcss-class-name-shortener) | 18| 422 | |[megatolya](https://github.com/megatolya) | [`postcss-will-change-transition`](https://github.com/megatolya/postcss-will-change-transition) | 15| 423 | |[meltifa](https://github.com/meltifa) | [`postcss-pixel-to-viewport`](https://github.com/meltifa/postcss-pixel-to-viewport) | 10| 424 | |[michelemazzucco](https://github.com/michelemazzucco) | [`postcss-border-shortcut`](https://github.com/michelemazzucco/postcss-border-shortcut) | 9| 425 | |[moczolaszlo](https://github.com/moczolaszlo) | [`postcss-inline-comment`](https://github.com/moczolaszlo/postcss-inline-comment) | 25| 426 | |[MohammadYounes](https://github.com/MohammadYounes) | [`rtlcss`](https://github.com/MohammadYounes/rtlcss) | 1533| 427 | |[mystrdat](https://github.com/mystrdat) | [`postcss-inrule`](https://github.com/salsita/postcss-inrule) | 7| 428 | |[naaspati](https://github.com/naaspati) | [`jsmath`](https://github.com/naaspati/postcss-jsmath) | 4| 429 | |[navanshu](https://github.com/navanshu) | [`postcss-variable-compress`](https://github.com/navanshu/postcss-variable-compress) | 18| 430 | |[nekitk](https://github.com/nekitk) | [`postcss-easy-z`](https://github.com/CSSSR/postcss-easy-z) | 40| 431 | |[nicksheffield](https://github.com/nicksheffield) | [`postcss-color-hexa`](https://github.com/nicksheffield/postcss-color-hexa) | 6| 432 | |[notacouch](https://github.com/notacouch) | [`postcss-mqwidth-to-class`](https://github.com/notacouch/postcss-mqwidth-to-class) | 6| 433 | |[nucliweb](https://github.com/nucliweb) | [`postcss-magic-animations`](https://github.com/nucliweb/postcss-magic-animations) | 41| 434 | |[OctoD](https://github.com/OctoD) | [`postcss-emptymediaqueries`](https://github.com/ride-css/postcss-emptymediaqueries) | 7| 435 | |[OEvgeny](https://github.com/OEvgeny) | [`postcss-atroot`](https://github.com/OEvgeny/postcss-atroot) | 12| 436 | |[omgovich](https://github.com/omgovich) | [`postcss-pseudo-elements-content`](https://github.com/omgovich/postcss-pseudo-elements-content) | 10| 437 | |[panec](https://github.com/panec) | [`postcss-mq-optimize`](https://github.com/panec/postcss-mq-optimize) | 1| 438 | |[pathsofdesign](https://github.com/pathsofdesign) | [`postcss-fakeid`](https://github.com/pathsofdesign/postcss-fakeid) | 15| 439 | |[pazams](https://github.com/pazams) | [`postcss-scopify`](https://github.com/pazams/postcss-scopify) | 41| 440 | |[polemius](https://github.com/polemius) | [`postcss-clamp`](https://github.com/polemius/postcss-clamp) | 28| 441 | |[Pustur](https://github.com/Pustur) | [`postcss-italian-stylesheets`](https://github.com/Pustur/postcss-italian-stylesheets) | 5| 442 | |[redaxmedia](https://github.com/redaxmedia) | [`postcss-harmonize`](https://github.com/redaxmedia/postcss-harmonize) | 0| 443 | |[redonkulus](https://github.com/redonkulus) | [`postcss-atomizer`](https://github.com/acss-io/atomizer/tree/main/packages/postcss-atomizer) | 0| 444 | |[rezoh](https://github.com/rezoh) | [`postcss-at-debug`](https://github.com/rezoh/postcss-at-debug) | 3| 445 | |[richbachman](https://github.com/richbachman) | [`postcss-fontsize`](https://github.com/richbachman/postcss-fontsize) | 3| 446 | |[robbevp](https://github.com/robbevp) | [`postcss-multiple-tailwind`](https://github.com/robbevp/postcss-multiple-tailwind) | 27| 447 | |[robwierzbowski](https://github.com/robwierzbowski) | [`pixrem`](https://github.com/robwierzbowski/node-pixrem) | 198| 448 | |[rominmx](https://github.com/rominmx) | [`postcss-compact-mq`](https://github.com/rominmx/postcss-compact-mq) | 10| 449 | |[ronnyamarante](https://github.com/ronnyamarante) | [`postcss-selector-prefixer`](https://github.com/ronnyamarante/postcss-selector-prefixer) | 4| 450 | |[rsanchez](https://github.com/rsanchez) | [`postcss-colors-only`](https://github.com/rsanchez/postcss-colors-only) | 15| 451 | |[RyanZim](https://github.com/RyanZim) | [`postcss-uncss`](https://github.com/RyanZim/postcss-uncss) | 114| 452 | |[Rycochet](https://github.com/Rycochet) | [`postcss-epub`](https://github.com/Rycochet/postcss-epub) | 31| 453 | |[sandralundgren](https://github.com/sandralundgren) | [`postcss-lolcat-stylesheets`](https://github.com/sandralundgren/postcss-lolcat-stylesheets) | 17| 454 | |[SassNinja](https://github.com/SassNinja) | [`postcss-combine-media-query`](https://github.com/SassNinja/postcss-combine-media-query) | 94| 455 | |[SectorLabs](https://github.com/SectorLabs) | [`postcss-inline-class`](https://github.com/SectorLabs/postcss-inline-class) | 8| 456 | |[Ser-Gen](https://github.com/Ser-Gen) | [`postcss-data-packer`](https://github.com/Ser-Gen/postcss-data-packer) | 19| 457 | |[shff](https://github.com/shff) | [`postcss-remove-unused-css`](https://github.com/shff/postcss-remove-unused-css) | 10| 458 | |[shutterstock](https://github.com/shutterstock) | [`postcss-copy-assets`](https://github.com/shutterstock/postcss-copy-assets) | 18| 459 | |[Siilwyn](https://github.com/Siilwyn) | [`css-declaration-sorter`](https://github.com/Siilwyn/css-declaration-sorter) | 232| 460 | |[simeydotme](https://github.com/simeydotme) | [`postcss-filter-mq`](https://github.com/simeydotme/postcss-filter-mq) | 12| 461 | |[simplaio](https://github.com/simplaio) | [`rucksack`](https://github.com/simplaio/rucksack) | 1858| 462 | |[SlexAxton](https://github.com/SlexAxton) | [`colorguard`](https://github.com/SlexAxton/css-colorguard) | 2438| 463 | |[SlimMarten](https://github.com/SlimMarten) | [`postcss-mesh`](https://github.com/SlimMarten/postcss-mesh) | 7| 464 | |[smitt04](https://github.com/smitt04) | [`postcss-prefix-url`](https://github.com/smitt04/postcss-prefix-url) | 5| 465 | |[soluml](https://github.com/soluml) | [`at-rule-packer`](https://github.com/soluml/at-rule-packer) | 8| 466 | |[soul-wish](https://github.com/soul-wish) | [`important-shorthand`](https://github.com/soul-wish/postcss-important-shorthand) | 7| 467 | |[stylelint](https://github.com/stylelint) | [`stylelint`](https://github.com/stylelint/stylelint) | 9860| 468 | |[supermonkeyz](https://github.com/supermonkeyz) | [`postcss-aspect-ratio-property`](https://github.com/supermonkeyz/postcss-aspect-ratio-property) | 4| 469 | |[SuperOl3g](https://github.com/SuperOl3g) | [`postcss-image-set-polyfill`](https://github.com/SuperOl3g/postcss-image-set-polyfill) | 44| 470 | |[sylvainbaronnet](https://github.com/sylvainbaronnet) | [`postcss-position-alt`](https://github.com/sylvainbaronnet/postcss-position-alt) | 5| 471 | |[sylvainpolletvillard](https://github.com/sylvainpolletvillard) | [`grid-kiss`](https://github.com/sylvainpolletvillard/postcss-grid-kiss) | 1305| 472 | |[talgautb](https://github.com/talgautb) | [`postcss-currency`](https://github.com/talgautb/postcss-currency) | 18| 473 | |[tbekaert](https://github.com/tbekaert) | [`postcss-cleaner`](https://github.com/tbekaert/postcss-cleaner) | 4| 474 | |[TCotton](https://github.com/TCotton) | [`postcss-mq-keyframes`](https://github.com/TCotton/postcss-mq-keyframes) | 4| 475 | |[thompsongl](https://github.com/thompsongl) | [`postcss-class-prefix`](https://github.com/thompsongl/postcss-class-prefix) | 84| 476 | |[timche](https://github.com/timche) | [`postcss-german-stylesheets`](https://github.com/timche/postcss-german-stylesheets) | 51| 477 | |[titancat](https://github.com/titancat) | [`postcss-define-function`](https://github.com/titancat/postcss-define-function) | 25| 478 | |[tivac](https://github.com/tivac) | [`postcss-fixie`](https://github.com/tivac/fixie) | 44| 479 | |[toomuchdesign](https://github.com/toomuchdesign) | [`postcss-nested-ancestors`](https://github.com/toomuchdesign/postcss-nested-ancestors) | 90| 480 | |[totora0155](https://github.com/totora0155) | [`postcss-namespace`](https://github.com/totora0155/postcss-namespace) | 16| 481 | |[troch](https://github.com/troch) | [`postcss-responsive-values`](https://github.com/troch/postcss-responsive-values) | 4| 482 | |[tsm91](https://github.com/tsm91) | [`postcss-filter-stream`](https://github.com/tsm91/postcss-filter-stream) | 0| 483 | |[twbs](https://github.com/twbs) | [`mq4-hover-shim`](https://github.com/twbs/mq4-hover-shim) | 97| 484 | |[unlight](https://github.com/unlight) | [`postcss-import-url`](https://github.com/unlight/postcss-import-url) | 41| 485 | |[vital-software](https://github.com/vital-software) | [`postcss-rgb-to-rgba`](https://github.com/vital-software/postcss-rgb-to-rgba) | 0| 486 | |[vitaliy-bobrov](https://github.com/vitaliy-bobrov) | [`postcss-register-custom-props`](https://github.com/vitaliy-bobrov/postcss-register-custom-props) | 20| 487 | |[vitkarpov](https://github.com/vitkarpov) | [`postcss-host`](https://github.com/vitkarpov/postcss-host) | 6| 488 | |[vkalinichev](https://github.com/vkalinichev) | [`postcss-rtl`](https://github.com/vkalinichev/postcss-rtl) | 152| 489 | |[vovanbo](https://github.com/vovanbo) | [`css2modernizr`](https://github.com/vovanbo/css2modernizr) | 72| 490 | |[wangguangyou](https://github.com/wangguangyou) | [`postcss-px-to-clamp`](https://github.com/wangguangyou/postcss-px-to-clamp) | 2| 491 | |[WebSeed](https://github.com/WebSeed) | [`postcss-bem-to-js`](https://github.com/WebSeed/postcss-bem-to-js) | 3| 492 | |[whitneyit](https://github.com/whitneyit) | [`postcss-strip-units`](https://github.com/whitneyit/postcss-strip-units) | 7| 493 | |[wlib](https://github.com/wlib) | [`postcss-set-specificity`](https://github.com/wlib/postcss-set-specificity) | 0| 494 | |[WolfgangKluge](https://github.com/WolfgangKluge) | [`postcss-media-variables`](https://github.com/WolfgangKluge/postcss-media-variables) | 34| 495 | |[XiaoshuangLi](https://github.com/XiaoshuangLi) | [`postcss-skin`](https://github.com/xiaoshuangLi/postcss-skin) | 4| 496 | |[XOP](https://github.com/XOP) | [`postcss-rgba-hex`](https://github.com/XOP/postcss-rgba-hex) | 3| 497 | |[yanhaijing](https://github.com/yanhaijing) | [`postcss-custom-unit`](https://github.com/yanhaijing/postcss-custom-unit) | 13| 498 | |[zaim](https://github.com/zaim) | [`postcss-color-palette`](https://github.com/zaim/postcss-color-palette) | 24| 499 | |[ZeeCoder](https://github.com/ZeeCoder) | [`@zeecoder/postcss-container-query`](https://github.com/ZeeCoder/container-query) | 138| 500 | |[zephraph](https://github.com/zephraph) | [`postcss-process-comments`](https://github.com/zephraph/postcss-process-comments) | 2| 501 | |[zgreen](https://github.com/zgreen) | [`postcss-critical-css`](https://github.com/zgreen/postcss-critical-css) | 84| 502 | -------------------------------------------------------------------------------- /docs/tags.md: -------------------------------------------------------------------------------- 1 | ### Tags List 2 | 3 | I am maintaining a list of tags so that things remain sane: 4 | 5 | **Tag Name** | **Tag Description** 6 | -------------------|---------------------- 7 | **`accessibility`** | does something with a11y support 8 | **`analysis`** | does something to analyze your code 9 | **`color`** | does something with colors 10 | **`debug`** | does something like linting/validating/debugging 11 | **`extensions`** | does something that extends the language 12 | **`fallbacks`** | does something about adding fallbacks for older browsers 13 | **`fonts`** | does something involving fonts 14 | **`future`** | does something to make CSS more future-ready 15 | **`fun`** | does something fun 16 | **`grids`** | does something involving grids 17 | **`images`** | does something involving images 18 | **`media-queries`** | does something with media queries 19 | **`optimizations`** | does something to optimize your CSS code 20 | **`other`** | does some other thing 21 | **`pack`** | does a series of somethings, like rucksack 22 | **`sass`** | does something sassy 23 | **`shortcuts`** | does something to make life easier 24 | **`svg`** | does something involving SVG 25 | 26 | #### Some notes: 27 | 28 | - No need for hash symbols (eg: `#color`) 29 | - No need for **`postcss-*`** as a tag 30 | - No need for adding every single tag if they don't actually apply to your plugin, try to keep it under 5 31 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PostCSS Plugin List 3 | * 4 | * A consolidated list of PostCSS Plugins 5 | * for the community to share/export/use 6 | * 7 | * Feel free to add and make changes! 8 | * 9 | * Schema: { 10 | * name : "name-of-plugin", 11 | * url : "http://cool-plugin-link.com", 12 | * description : "It gives your CSS superpowers", 13 | * tags : [ 'colors', 'grids', 'lions', tigers', 'bears' ] 14 | * } 15 | * 16 | */ 17 | 18 | module.exports = require('./plugins.json'); 19 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-plugins", 3 | "version": "1.15.10", 4 | "description": "A consolidated list of PostCSS plugins in an ready-to-use format.", 5 | "main": "index.js", 6 | "repository": { 7 | "type": "git", 8 | "url": "git+https://github.com/himynameisdave/postcss-plugins.git" 9 | }, 10 | "engines": { 11 | "node": ">= 10" 12 | }, 13 | "scripts": { 14 | "add": "node scripts/add-new-plugin.js && node scripts/update-authors.js", 15 | "add-new-plugin": "node scripts/add-new-plugin.js", 16 | "update-authors": "node scripts/update-authors.js", 17 | "update-stars": "node scripts/update-stars.js && node scripts/update-authors.js", 18 | "lint": "eslint ./scripts/ ./test/ --quiet", 19 | "lint:fix": "eslint ./scripts/ ./test/ --fix", 20 | "test:unit": "mocha test", 21 | "test": "npm run lint && npm run test", 22 | "release": "np --no-yarn" 23 | }, 24 | "husky": { 25 | "hooks": { 26 | "pre-commit": "node scripts/update-authors.js && npm run lint && npm run test:unit" 27 | } 28 | }, 29 | "dependencies": { 30 | "chalk": "^2.1.0", 31 | "inquirer": "^3.3.0", 32 | "octonode": "^0.9.3" 33 | }, 34 | "devDependencies": { 35 | "@babel/core": "^7.3.3", 36 | "@babel/plugin-syntax-object-rest-spread": "^7.2.0", 37 | "babel-eslint": "^10.1.0", 38 | "chai": "^4.1.2", 39 | "chai-json-schema": "^1.5.0", 40 | "eslint": "^6.8.0", 41 | "eslint-config-himynameisdave": "^1.0.1", 42 | "eslint-plugin-filenames": "^1.3.2", 43 | "eslint-plugin-import": "^2.20.1", 44 | "eslint-plugin-jest": "^23.8.1", 45 | "eslint-plugin-jsx-a11y": "^6.2.3", 46 | "eslint-plugin-promise": "^4.2.1", 47 | "eslint-plugin-unicorn": "^16.1.1", 48 | "fs-extra": "^7.0.1", 49 | "husky": "^3.0.9", 50 | "mocha": "^4.0.1", 51 | "np": "^6.2.0" 52 | }, 53 | "keywords": [ 54 | "postcss", 55 | "postcss-plugin", 56 | "css", 57 | "list", 58 | "library", 59 | "plugins" 60 | ], 61 | "homepage": "https://github.com/himynameisdave/postcss-plugins#readme", 62 | "bugs": { 63 | "url": "https://github.com/himynameisdave/postcss-plugins/issues" 64 | }, 65 | "author": "himynameisdave", 66 | "license": "MIT" 67 | } 68 | -------------------------------------------------------------------------------- /schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "definitions": {}, 4 | "type": "array", 5 | "additionalItems": false, 6 | "items": { 7 | "type": "object", 8 | "additionalProperties": false, 9 | "properties": { 10 | "name": { 11 | "type": "string" 12 | }, 13 | "description": { 14 | "type": "string" 15 | }, 16 | "author": { 17 | "type": "string" 18 | }, 19 | "url": { 20 | "type": "string" 21 | }, 22 | "tags": { 23 | "type": "array", 24 | "items": { 25 | "type": "string" 26 | } 27 | }, 28 | "packs": { 29 | "type": "array", 30 | "items": { 31 | "type": "string" 32 | } 33 | }, 34 | "stars":{ 35 | "type": "number" 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /scripts/add-new-plugin.js: -------------------------------------------------------------------------------- 1 | const inquirer = require('inquirer'); 2 | const prompts = require('./data/new-plugin-prompts.js'); 3 | const writePlugins = require('./utils/write-plugins.js'); 4 | const plugins = require('../plugins.json'); 5 | 6 | // Copy of plugins so as to keep original list immutable 7 | const updatedPlugins = plugins; 8 | 9 | 10 | // Step One: Show the banner 11 | console.log(require('./data/banner')); 12 | 13 | // Step Two: Do Prompts 14 | (function addNewPlugin() { 15 | // doPluginPrompts() 16 | inquirer.prompt(prompts) 17 | .then((answers) => { 18 | // Add the new plugin to the list of updated plugins 19 | const { 20 | name, description, author, url, tags, 21 | } = answers; 22 | updatedPlugins.push({ 23 | name, 24 | description, 25 | author, 26 | url, 27 | tags, 28 | stars: 0, 29 | }); 30 | // Let the user know we are adding the plugin to the list for them 31 | console.log(`Adding the following plugin to the list:\n - ${name}`); 32 | 33 | // Step 3: Add another plugin if we need to 34 | if (answers.addAnother === true) { 35 | return addNewPlugin(); 36 | } 37 | // If we don't need to add a plugin, write the list of updated plugins 38 | return writePlugins(updatedPlugins, 'plugins.json'); 39 | }) 40 | .then(console.log) 41 | .catch(console.warn); 42 | }()); 43 | -------------------------------------------------------------------------------- /scripts/data/banner.js: -------------------------------------------------------------------------------- 1 | const { 2 | red, blue, 3 | } = require('chalk'); 4 | 5 | 6 | const banner = red('\n\n\n _____________ \n' 7 | + ' / / \\ \\ \n' 8 | + ' / / \\ \\ \n' 9 | + ' / / ___ \\ \\ \n' 10 | + ' | /|/ \\|\\ | \n' 11 | + ' \\ / | | \\ / \n' 12 | + ' \\ /__|\\___/|__\\ / \n' 13 | + ' \\_____________/ \n' 14 | + ' P O S T C S S \n' 15 | + ' P L U G I N S \n\n') + blue('Answer a few quick questions about your plugin(s) to add it to the list:'); 16 | 17 | module.exports = banner; 18 | -------------------------------------------------------------------------------- /scripts/data/new-plugin-prompts.js: -------------------------------------------------------------------------------- 1 | const { red } = require('chalk'); 2 | const tags = require('./tags.js'); 3 | const plugins = require('../../plugins.json'); 4 | 5 | 6 | module.exports = [{ 7 | type: 'input', 8 | name: 'name', 9 | message: 'What is the name of your postcss plugin?', 10 | validate: (providedName) => { 11 | if (providedName.length === 0) { 12 | return 'Please provide an actual name for your plugin.'; 13 | } 14 | if (plugins.includes((plug) => plug.name === providedName)) { 15 | return 'This plugin has already been added to the list.'; 16 | } 17 | // Warn users that postcss-plugins usually start with 'postcss' 18 | if (!providedName.startsWith('postcss-')) { 19 | console.log(red('\nFYI: Plugin names usually start with \'postcss-\' so they can easily be found on NPM.')); 20 | } 21 | return true; 22 | }, 23 | }, { 24 | type: 'input', 25 | name: 'description', 26 | message: 'Describe your plugin by finishing this sentence:\nPostCSS plugin...', 27 | 'default': 'eg: \'...that transforms your CSS.\'', 28 | }, { 29 | type: 'input', 30 | name: 'url', 31 | message: 'What is the GitHub URL for your plugin?', 32 | validate: (givenUrl) => givenUrl.includes('https://github.com/') ? true : 'Please provide a valid GitHub URL', 33 | }, { 34 | type: 'input', 35 | name: 'author', 36 | message: 'What is the GitHub username for the author of this plugin?', 37 | // Note: can't use String.replaceAll as it is not implemented in Node 10, the min version for this project. 38 | filter: (value) => value.replace(/ /g, ''), // eslint-disable-line unicorn/prefer-replace-all 39 | }, { 40 | type: 'checkbox', 41 | name: 'tags', 42 | message: 'Choose at least one tag that describes your plugin.\nFor descriptions of the tags, please see the list in full:\nhttps://github.com/himynameisdave/postcss-plugins/blob/master/docs/tags.md', 43 | choices: tags.getTags(), 44 | validate: (answer) => answer.length === 0 ? 'You must choose at least one tag.' : true, 45 | }, { 46 | type: 'confirm', 47 | name: 'addAnother', 48 | message: 'Would you like to add another plugin?', 49 | 'default': false, 50 | }]; 51 | -------------------------------------------------------------------------------- /scripts/data/tags.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Holds/exports the list of tags, 3 | * along with some utilities 4 | */ 5 | module.exports = { 6 | rawList: [ 7 | { 8 | tag: 'accessibility', 9 | description: 'does something with a11y support', 10 | }, { 11 | tag: 'analysis', 12 | description: 'does something to analyze your code', 13 | }, { 14 | tag: 'color', 15 | description: 'does something with colors', 16 | }, { 17 | tag: 'debug', 18 | description: 'does something like linting/validating/debugging', 19 | }, { 20 | tag: 'extensions', 21 | description: 'does something that extends the language', 22 | }, { 23 | tag: 'fallbacks', 24 | description: 'does something about adding fallbacks for older browsers', 25 | }, { 26 | tag: 'fonts', 27 | description: 'does something involving fonts', 28 | }, { 29 | tag: 'future', 30 | description: 'does something to make CSS more future-ready', 31 | }, { 32 | tag: 'fun', 33 | description: 'does something fun', 34 | }, { 35 | tag: 'grids', 36 | description: 'does something involving grids', 37 | }, { 38 | tag: 'images', 39 | description: 'does something involving images', 40 | }, { 41 | tag: 'media-queries', 42 | description: 'does something with media queries', 43 | }, { 44 | tag: 'optimizations', 45 | description: 'does something to optimize your CSS code', 46 | }, { 47 | tag: 'other', 48 | description: 'does some other thing', 49 | }, { 50 | tag: 'pack', 51 | description: 'does a series of somethings, like rucksack', 52 | }, { 53 | tag: 'sass', 54 | description: 'does something sassy', 55 | }, { 56 | tag: 'shortcuts', 57 | description: 'does something to make life easier', 58 | }, { 59 | tag: 'svg', 60 | description: 'does something involving SVG', 61 | }, 62 | ], 63 | getTags() { 64 | return this.rawList.map((tag) => tag.tag); 65 | }, 66 | getDescriptions() { 67 | return this.rawList.map((tag) => tag.description); 68 | }, 69 | }; 70 | -------------------------------------------------------------------------------- /scripts/update-authors.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const plugins = require('../plugins.json'); 4 | 5 | 6 | const timeLogLabel = '\nAuthors list sucessfully updated in only'; 7 | const textBlock = '### Authors\n\n' 8 | + 'Below is a list of all the wonderful people who make PostCSS plugins.\n\n' 9 | + '|**Author** | **Plugin(s)** | **Stars**|\n' 10 | + '|---|---|---|\n'; 11 | 12 | const sortFunction = (a, b) => { 13 | if (a.plugins.length < b.plugins.length) { 14 | return 1; 15 | } else if (a.plugins.length > b.plugins.length) { 16 | return -1; 17 | } else if (a.plugins.length === b.plugins.length) { 18 | if (a.author.toLowerCase() > b.author.toLowerCase()) { 19 | return 1; 20 | } else if (a.author.toLowerCase() < b.author.toLowerCase()) { 21 | return -1; 22 | } 23 | return 0; 24 | } 25 | return 0; 26 | }; 27 | 28 | console.time(timeLogLabel); 29 | const authors = plugins.reduce((accumulator, i) => { 30 | const newPlugin = ` | [\`${i.name}\`](${i.url}) | ${i.stars || 0}|\n`; 31 | const currentAuthor = accumulator.filter((a) => a.author === i.author); 32 | if (currentAuthor.length === 0) { 33 | accumulator.push({ 34 | author: i.author, 35 | plugins: [newPlugin], 36 | }); 37 | } else { 38 | currentAuthor[0].plugins.push(`|${newPlugin}`); 39 | } 40 | return accumulator; 41 | }, []) 42 | .sort(sortFunction) 43 | .reduce((accumulator, i) => `${accumulator}|[${i.author}](https://github.com/${i.author})${i.plugins.join('')}`, textBlock); 44 | 45 | // Actually write the authors.md file 46 | fs.writeFile(path.join(process.cwd(), 'docs/authors.md'), authors, (oops) => { 47 | if (oops) throw oops; 48 | console.timeEnd(timeLogLabel); 49 | }); 50 | -------------------------------------------------------------------------------- /scripts/update-stars.js: -------------------------------------------------------------------------------- 1 | 2 | const writePlugins = require('./utils/write-plugins.js'); 3 | const fetchGithubStars = require('./utils/fetch-github-stars.js'); 4 | const plugins = require('../plugins.json'); 5 | 6 | 7 | const starsPromises = plugins.map((plug) => { 8 | // Fix for people that host on places like bitbucket 9 | if (!plug.url.includes('github.com')) { 10 | return Promise.resolve(0); 11 | } 12 | return fetchGithubStars(plug.url).catch((error) => { 13 | console.log(`\nERROR: Failed to find the following repo:\n${error}`); 14 | }); 15 | }); 16 | 17 | Promise.all(starsPromises) 18 | .then((stars) => { 19 | const updatedPlugins = plugins.map((plug, i) => ({ 20 | ...plug, 21 | stars: stars[i] || 0, 22 | })); 23 | return writePlugins(updatedPlugins, 'plugins.json'); 24 | }) 25 | .catch((error) => { 26 | console.log(`\nERROR: Something went horribly wrong and the doggos are all dead:\n${error}`); 27 | }); 28 | -------------------------------------------------------------------------------- /scripts/utils/fetch-github-stars.js: -------------------------------------------------------------------------------- 1 | const gh = require('octonode'); 2 | // Generate your own token here: https://github.com/settings/tokens 3 | const { token } = require('../../token.json'); // eslint-disable-line import/no-unresolved 4 | 5 | 6 | const client = gh.client(token); // Regsiter the client token w/Octonode 7 | 8 | /** 9 | * fetchGithubStars - Handles the actual fetching of the GitHub stars 10 | * 11 | * @param {String} url - The Github URL of the plugin's repo 12 | * 13 | * @returns {Promise} - returns a promise that resolves with the github repo's `stargazers_count` 14 | * and rejects with an error if it couldn't be found 15 | */ 16 | // eslint-disable-next-line promise/avoid-new 17 | const fetchGithubStars = (url) => new Promise((resolve, reject) => { 18 | // Grab all but the last two parts of the url, parts being the parts between '/' 19 | const apiUrl = url.split('/').filter((c, i, a) => !(i < a.length - 2)).join('/'); 20 | client.get(`repos/${apiUrl}`, {}, (error, status, body) => { 21 | return error 22 | ? reject(`repos/${apiUrl}`) 23 | : resolve(body.stargazers_count); 24 | }); 25 | }); 26 | 27 | module.exports = fetchGithubStars; 28 | -------------------------------------------------------------------------------- /scripts/utils/write-plugins.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | 3 | /** 4 | * writePlugins - Responsible for writing 'plugins.json' 5 | * 6 | * @param {Array} plugins The updated array of plugins 7 | * 8 | * @returns {Promise} Promise that will reject if there is an error writing the plugins 9 | */ 10 | const writePlugins = (plugins, path) => new Promise((resolve, reject) => { // eslint-disable-line promise/avoid-new 11 | fs.writeFile(path, JSON.stringify(plugins, null, 2), (error) => { 12 | return error 13 | ? reject(error) 14 | : resolve('Updated the plugins.json file.'); 15 | }); 16 | }); 17 | module.exports = writePlugins; 18 | -------------------------------------------------------------------------------- /test/test.schema.js: -------------------------------------------------------------------------------- 1 | const chai = require('chai'); 2 | const chaiSchema = require('chai-json-schema'); 3 | 4 | // Tell Chai about our JSON schema 5 | chai.use(chaiSchema); 6 | 7 | describe('plugins.json', () => { 8 | it('matches the specified JSON Schema', () => { 9 | chai.expect(require('../plugins.json')).to.be.jsonSchema(require('../schema.json')); // eslint-disable-line global-require 10 | }); 11 | }); 12 | -------------------------------------------------------------------------------- /test/test.utils-write-plugins.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable global-require,import/no-dynamic-require */ 2 | const path = require('path'); 3 | const fs = require('fs-extra'); 4 | const chai = require('chai'); 5 | const writePlugins = require('../scripts/utils/write-plugins.js'); 6 | 7 | 8 | describe('utils/writePlugins', () => { 9 | const TEMP_DIR = path.resolve(__dirname, '.tmp/'); 10 | const PATHS = { 11 | test1: '.tmp/test_writePlugins-1.json', 12 | test2: '.tmp/test_writePlugins-2.json', 13 | }; 14 | before(() => { 15 | fs.ensureDirSync(TEMP_DIR); 16 | }); 17 | it('writes a simple object to json', () => { 18 | const expected = { 19 | test: 'tested', 20 | number: 123, 21 | }; 22 | writePlugins(expected, `test/${PATHS.test1}`) 23 | .then(() => { 24 | const actual = require(`./${PATHS.test1}`); 25 | return chai.assert.deepEqual(expected, actual); 26 | }) 27 | .catch(console.warn); 28 | }); 29 | it('writes a copy of plugins.json to another json file', () => { 30 | const expected = require('../plugins.json'); 31 | writePlugins(expected, `test/${PATHS.test2}`) 32 | .then(() => { 33 | const actual = require(`./${PATHS.test2}`); 34 | return chai.assert.deepEqual(expected, actual); 35 | }) 36 | .catch(console.warn); 37 | }); 38 | }); 39 | --------------------------------------------------------------------------------