├── .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 插件列表 [](https://www.npmjs.com/package/postcss-plugins) [](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 [](https://www.npmjs.com/package/postcss-plugins) [](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 |
--------------------------------------------------------------------------------