pleeease 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +23 -0
  6. data/Rakefile +1 -0
  7. data/lib/pleeease.rb +9 -0
  8. data/lib/pleeease/processor.rb +13 -0
  9. data/lib/pleeease/railtie.rb +10 -0
  10. data/lib/pleeease/runner.rb +70 -0
  11. data/lib/pleeease/version.rb +3 -0
  12. data/node_modules/.bin/pleeease +13 -0
  13. data/node_modules/.bin/pleeease-compile +20 -0
  14. data/node_modules/.bin/pleeease-watch +20 -0
  15. data/node_modules/pleeease/.jshintignore +1 -0
  16. data/node_modules/pleeease/.jshintrc +28 -0
  17. data/node_modules/pleeease/.npmignore +2 -0
  18. data/node_modules/pleeease/README.md +288 -0
  19. data/node_modules/pleeease/app.min.css.map +1 -0
  20. data/node_modules/pleeease/bin/pleeease +13 -0
  21. data/node_modules/pleeease/bin/pleeease-compile +20 -0
  22. data/node_modules/pleeease/bin/pleeease-watch +20 -0
  23. data/node_modules/pleeease/jshint.sh +2 -0
  24. data/node_modules/pleeease/lib/cli.js +136 -0
  25. data/node_modules/pleeease/lib/index.js +97 -0
  26. data/node_modules/pleeease/lib/options.js +38 -0
  27. data/node_modules/pleeease/lib/processors/import.js +123 -0
  28. data/node_modules/pleeease/lib/processors/pseudoElements.js +24 -0
  29. data/node_modules/pleeease/node_modules/.bin/autoprefixer +13 -0
  30. data/node_modules/pleeease/node_modules/.bin/csswring +3 -0
  31. data/node_modules/pleeease/node_modules/.bin/mkdirp +33 -0
  32. data/node_modules/pleeease/node_modules/autoprefixer/ChangeLog.md +354 -0
  33. data/node_modules/pleeease/node_modules/autoprefixer/LICENSE +20 -0
  34. data/node_modules/pleeease/node_modules/autoprefixer/README.md +565 -0
  35. data/node_modules/pleeease/node_modules/autoprefixer/bin/autoprefixer +13 -0
  36. data/node_modules/pleeease/node_modules/autoprefixer/data/browsers.js +53 -0
  37. data/node_modules/pleeease/node_modules/autoprefixer/data/prefixes.js +323 -0
  38. data/node_modules/pleeease/node_modules/autoprefixer/lib/autoprefixer.js +109 -0
  39. data/node_modules/pleeease/node_modules/autoprefixer/lib/binary.js +344 -0
  40. data/node_modules/pleeease/node_modules/autoprefixer/lib/browsers.js +197 -0
  41. data/node_modules/pleeease/node_modules/autoprefixer/lib/declaration.js +152 -0
  42. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-content.js +57 -0
  43. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-items.js +57 -0
  44. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/align-self.js +55 -0
  45. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-image.js +28 -0
  46. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/border-radius.js +56 -0
  47. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/break-inside.js +54 -0
  48. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/display-flex.js +67 -0
  49. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fill-available.js +41 -0
  50. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/filter.js +29 -0
  51. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-basis.js +47 -0
  52. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-direction.js +71 -0
  53. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-flow.js +35 -0
  54. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-grow.js +41 -0
  55. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-shrink.js +47 -0
  56. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-spec.js +11 -0
  57. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex-wrap.js +33 -0
  58. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/flex.js +56 -0
  59. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/fullscreen.js +33 -0
  60. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/gradient.js +217 -0
  61. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/justify-content.js +62 -0
  62. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/order.js +52 -0
  63. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/placeholder.js +39 -0
  64. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-decl.js +59 -0
  65. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transform-value.js +31 -0
  66. data/node_modules/pleeease/node_modules/autoprefixer/lib/hacks/transition.js +37 -0
  67. data/node_modules/pleeease/node_modules/autoprefixer/lib/info.js +114 -0
  68. data/node_modules/pleeease/node_modules/autoprefixer/lib/keyframes.js +40 -0
  69. data/node_modules/pleeease/node_modules/autoprefixer/lib/old-selector.js +68 -0
  70. data/node_modules/pleeease/node_modules/autoprefixer/lib/old-value.js +29 -0
  71. data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixer.js +88 -0
  72. data/node_modules/pleeease/node_modules/autoprefixer/lib/prefixes.js +334 -0
  73. data/node_modules/pleeease/node_modules/autoprefixer/lib/processor.js +105 -0
  74. data/node_modules/pleeease/node_modules/autoprefixer/lib/selector.js +117 -0
  75. data/node_modules/pleeease/node_modules/autoprefixer/lib/updater.js +234 -0
  76. data/node_modules/pleeease/node_modules/autoprefixer/lib/utils.js +41 -0
  77. data/node_modules/pleeease/node_modules/autoprefixer/lib/value.js +99 -0
  78. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/.npmignore +2 -0
  79. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/CHANGELOG.md +126 -0
  80. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/LICENSE +15 -0
  81. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/README.md +371 -0
  82. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/copy.js +79 -0
  83. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/create.js +55 -0
  84. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/ensure.js +4 -0
  85. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/index.js +137 -0
  86. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/json.js +30 -0
  87. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/mkdir.js +8 -0
  88. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/move.js +108 -0
  89. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/output.js +37 -0
  90. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/lib/remove.js +19 -0
  91. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/mkdirp +33 -0
  92. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/ncp +48 -0
  93. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/.bin/rimraf +33 -0
  94. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/.npmignore +2 -0
  95. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/CHANGELOG.md +20 -0
  96. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/LICENSE +15 -0
  97. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/README.md +121 -0
  98. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/lib/jsonfile.js +47 -0
  99. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/jsonfile/package.json +44 -0
  100. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.npmignore +2 -0
  101. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/.travis.yml +5 -0
  102. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/LICENSE +21 -0
  103. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/cmd.js +33 -0
  104. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/bin/usage.txt +12 -0
  105. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/examples/pow.js +6 -0
  106. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/index.js +97 -0
  107. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  108. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  109. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  110. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  111. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
  112. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  113. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
  114. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
  115. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
  116. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
  117. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
  118. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
  119. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
  120. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
  121. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/package.json +43 -0
  122. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/readme.markdown +100 -0
  123. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/chmod.js +38 -0
  124. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/clobber.js +37 -0
  125. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/mkdirp.js +26 -0
  126. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs.js +27 -0
  127. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/opts_fs_sync.js +25 -0
  128. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm.js +30 -0
  129. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/perm_sync.js +34 -0
  130. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/race.js +40 -0
  131. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/rel.js +30 -0
  132. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return.js +25 -0
  133. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/return_sync.js +24 -0
  134. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/root.js +18 -0
  135. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/sync.js +30 -0
  136. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask.js +26 -0
  137. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/mkdirp/test/umask_sync.js +30 -0
  138. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.npmignore +4 -0
  139. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/.travis.yml +6 -0
  140. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/LICENSE.md +21 -0
  141. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/README.md +58 -0
  142. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/bin/ncp +48 -0
  143. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/lib/ncp.js +230 -0
  144. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/package.json +43 -0
  145. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/a +1 -0
  146. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/b +1 -0
  147. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/c +0 -0
  148. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/d +0 -0
  149. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/e +0 -0
  150. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/f +0 -0
  151. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/a +1 -0
  152. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/fixtures/src/sub/b +0 -0
  153. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/ncp/test/ncp.js +86 -0
  154. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/AUTHORS +6 -0
  155. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/LICENSE +23 -0
  156. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/README.md +30 -0
  157. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/bin.js +33 -0
  158. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/package.json +58 -0
  159. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/rimraf.js +248 -0
  160. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/run.sh +16 -0
  161. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/setup.sh +47 -0
  162. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-async.js +5 -0
  163. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/node_modules/rimraf/test/test-sync.js +3 -0
  164. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/fs-extra/package.json +68 -0
  165. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/ChangeLog.md +46 -0
  166. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/LICENSE +20 -0
  167. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/README.md +784 -0
  168. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/at-rule.js +94 -0
  169. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/comment.js +38 -0
  170. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/container.js +315 -0
  171. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/declaration.js +69 -0
  172. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/lazy.js +18 -0
  173. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/list.js +64 -0
  174. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/map-generator.js +242 -0
  175. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/node.js +189 -0
  176. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/parse.js +496 -0
  177. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/postcss.js +78 -0
  178. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/raw.js +32 -0
  179. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/result.js +26 -0
  180. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/root.js +57 -0
  181. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/rule.js +59 -0
  182. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/syntax-error.js +27 -0
  183. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/lib/vendor.js +27 -0
  184. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
  185. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
  186. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/README.md +31 -0
  187. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
  188. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
  189. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/package.json +47 -0
  190. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
  191. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
  192. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
  193. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
  194. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
  195. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
  196. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
  197. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/README.md +446 -0
  198. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
  199. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
  200. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  201. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
  202. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
  203. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  204. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
  205. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
  206. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
  207. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
  208. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
  209. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  210. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
  211. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  212. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  213. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  214. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
  215. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
  216. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  217. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  218. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  219. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  220. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +39 -0
  221. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/package.json +132 -0
  222. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
  223. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
  224. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  225. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  226. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
  227. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  228. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  229. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
  230. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
  231. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
  232. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
  233. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
  234. data/node_modules/pleeease/node_modules/autoprefixer/node_modules/postcss/package.json +46 -0
  235. data/node_modules/pleeease/node_modules/autoprefixer/package.json +49 -0
  236. data/node_modules/pleeease/node_modules/autoprefixer/updaters/browsers.js +65 -0
  237. data/node_modules/pleeease/node_modules/autoprefixer/updaters/prefixes.js +273 -0
  238. data/node_modules/pleeease/node_modules/chokidar/.npmignore +35 -0
  239. data/node_modules/pleeease/node_modules/chokidar/CHANGELOG.md +95 -0
  240. data/node_modules/pleeease/node_modules/chokidar/README.md +121 -0
  241. data/node_modules/pleeease/node_modules/chokidar/example.js +3 -0
  242. data/node_modules/pleeease/node_modules/chokidar/index.js +425 -0
  243. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/README.md +22 -0
  244. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/index.js +45 -0
  245. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/package.json +39 -0
  246. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/recursive-raddir-test.js +17 -0
  247. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/a +0 -0
  248. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/a/beans +0 -0
  249. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/123 +0 -0
  250. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/b/b/hurp-durp +0 -0
  251. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/c.txt +0 -0
  252. data/node_modules/pleeease/node_modules/chokidar/node_modules/recursive-readdir/test/testdir/d.txt +0 -0
  253. data/node_modules/pleeease/node_modules/chokidar/package.json +55 -0
  254. data/node_modules/pleeease/node_modules/chokidar/test.js +296 -0
  255. data/node_modules/pleeease/node_modules/colors/MIT-LICENSE.txt +22 -0
  256. data/node_modules/pleeease/node_modules/colors/ReadMe.md +77 -0
  257. data/node_modules/pleeease/node_modules/colors/colors.js +342 -0
  258. data/node_modules/pleeease/node_modules/colors/example.html +76 -0
  259. data/node_modules/pleeease/node_modules/colors/example.js +77 -0
  260. data/node_modules/pleeease/node_modules/colors/package.json +29 -0
  261. data/node_modules/pleeease/node_modules/colors/test.js +70 -0
  262. data/node_modules/pleeease/node_modules/colors/themes/winston-dark.js +12 -0
  263. data/node_modules/pleeease/node_modules/colors/themes/winston-light.js +12 -0
  264. data/node_modules/pleeease/node_modules/commander/Readme.md +208 -0
  265. data/node_modules/pleeease/node_modules/commander/index.js +852 -0
  266. data/node_modules/pleeease/node_modules/commander/package.json +43 -0
  267. data/node_modules/pleeease/node_modules/css-mqpacker/.npmignore +3 -0
  268. data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/maps-input.scssc +0 -0
  269. data/node_modules/pleeease/node_modules/css-mqpacker/.sass-cache/ca3e061f00144e273a11e95ed4eb3170f1f7a328/sourcemap-expected.scssc +0 -0
  270. data/node_modules/pleeease/node_modules/css-mqpacker/README.md +141 -0
  271. data/node_modules/pleeease/node_modules/css-mqpacker/index.js +1 -0
  272. data/node_modules/pleeease/node_modules/css-mqpacker/lib/css-mqpacker.js +43 -0
  273. data/node_modules/pleeease/node_modules/css-mqpacker/package.json +43 -0
  274. data/node_modules/pleeease/node_modules/css-mqpacker/test/css-mqpacker_test.js +64 -0
  275. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/multi.css +31 -0
  276. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/query-order.css +17 -0
  277. data/node_modules/pleeease/node_modules/css-mqpacker/test/expected/simple.css +37 -0
  278. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/multi.css +37 -0
  279. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/query-order.css +19 -0
  280. data/node_modules/pleeease/node_modules/css-mqpacker/test/fixtures/simple.css +41 -0
  281. data/node_modules/pleeease/node_modules/csswring/.npmignore +3 -0
  282. data/node_modules/pleeease/node_modules/csswring/README.md +55 -0
  283. data/node_modules/pleeease/node_modules/csswring/bin/csswring +3 -0
  284. data/node_modules/pleeease/node_modules/csswring/index.js +1 -0
  285. data/node_modules/pleeease/node_modules/csswring/lib/cli.js +93 -0
  286. data/node_modules/pleeease/node_modules/csswring/lib/csswring.js +110 -0
  287. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/.travis.yml +4 -0
  288. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/LICENSE +18 -0
  289. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/example/parse.js +2 -0
  290. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/index.js +187 -0
  291. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/package.json +52 -0
  292. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/readme.markdown +73 -0
  293. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dash.js +24 -0
  294. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/default_bool.js +20 -0
  295. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/dotted.js +16 -0
  296. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/long.js +31 -0
  297. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse.js +318 -0
  298. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/parse_modified.js +9 -0
  299. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/short.js +67 -0
  300. data/node_modules/pleeease/node_modules/csswring/node_modules/minimist/test/whitespace.js +8 -0
  301. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.gitmodules +3 -0
  302. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/.npmignore +2 -0
  303. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/LICENSE +24 -0
  304. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/Makefile +45 -0
  305. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/README.md +313 -0
  306. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/bin/build.js +29 -0
  307. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/component.json +11 -0
  308. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.css +58 -0
  309. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/demo.js +35 -0
  310. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/demo/index.html +54 -0
  311. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color-namedColors.js +150 -0
  312. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color.js +231 -0
  313. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/CMYK.js +31 -0
  314. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSL.js +30 -0
  315. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/HSV.js +94 -0
  316. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/LAB.js +33 -0
  317. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/XYZ.js +65 -0
  318. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_all.js +25 -0
  319. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/_base.js +6 -0
  320. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/clearer.js +3 -0
  321. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/darken.js +5 -0
  322. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/desaturate.js +5 -0
  323. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/greyscale.js +9 -0
  324. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/lighten.js +5 -0
  325. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/mix.js +17 -0
  326. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/negate.js +4 -0
  327. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/opaquer.js +3 -0
  328. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/rotate.js +3 -0
  329. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/saturate.js +5 -0
  330. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/color/plugins/toAlpha.js +46 -0
  331. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/ender.js +5 -0
  332. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/lib/es5-shim.js +97 -0
  333. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all-debug.js +754 -0
  334. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-all.js +1 -0
  335. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-debug.js +359 -0
  336. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color-ieshim.js +1 -0
  337. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/one-color.js +1 -0
  338. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/package.json +66 -0
  339. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/README.markdown +5 -0
  340. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/boilerplate.html +55 -0
  341. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/classList.js +116 -0
  342. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/img/rainbow-wood.jpg +0 -0
  343. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/index.html +234 -0
  344. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/license.txt +21 -0
  345. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.png +0 -0
  346. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/logo.svg +52 -0
  347. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-controls.js +40 -0
  348. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-edit.js +132 -0
  349. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/css-snippets.js +89 -0
  350. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/plugins/incrementable.js +94 -0
  351. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.css +288 -0
  352. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/slideshow.js +471 -0
  353. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/talk.css +41 -0
  354. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/3rdparty/CSSS/theme.css +214 -0
  355. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/colorcat.css +36 -0
  356. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/css/demo.css +677 -0
  357. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/images/transparent.gif +0 -0
  358. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/colorcat.js +135 -0
  359. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/colorcat/js/one-color-debug.js +1137 -0
  360. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/1024px-HSV_color_solid_cylinder_alpha_lowgamma.png +0 -0
  361. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/ExtJS.png +0 -0
  362. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSL.png +0 -0
  363. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/HSV.png +0 -0
  364. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Hsl-hsv_models_b.svg +450 -0
  365. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Pixels.jpg +0 -0
  366. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/PullingHair.png +0 -0
  367. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB.png +0 -0
  368. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/RGB_HSL_HSV_comparison.png +0 -0
  369. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/Space_Rainbow_desktop_background_pictures.jpg +0 -0
  370. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/blog.png +0 -0
  371. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/calendar.png +0 -0
  372. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/images/colorSpace.jpg +0 -0
  373. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/index.html +562 -0
  374. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/talk.css +137 -0
  375. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/slides/CPHJS-Oct2011/theme.css +247 -0
  376. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/color-test.js +178 -0
  377. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/conversion-test.js +46 -0
  378. data/node_modules/pleeease/node_modules/csswring/node_modules/onecolor/test/samples.js +147 -0
  379. data/node_modules/pleeease/node_modules/csswring/package.json +51 -0
  380. data/node_modules/pleeease/node_modules/csswring/test/csswring_test.js +67 -0
  381. data/node_modules/pleeease/node_modules/csswring/test/expected/empty-declarations.css +1 -0
  382. data/node_modules/pleeease/node_modules/csswring/test/expected/extra-semicolons.css +1 -0
  383. data/node_modules/pleeease/node_modules/csswring/test/expected/issue3.css +1 -0
  384. data/node_modules/pleeease/node_modules/csswring/test/expected/simple.css +3 -0
  385. data/node_modules/pleeease/node_modules/csswring/test/expected/single-charset.css +1 -0
  386. data/node_modules/pleeease/node_modules/csswring/test/expected/value.css +1 -0
  387. data/node_modules/pleeease/node_modules/csswring/test/fixtures/empty-declarations.css +12 -0
  388. data/node_modules/pleeease/node_modules/csswring/test/fixtures/extra-semicolons.css +4 -0
  389. data/node_modules/pleeease/node_modules/csswring/test/fixtures/issue3.css +3 -0
  390. data/node_modules/pleeease/node_modules/csswring/test/fixtures/simple.css +31 -0
  391. data/node_modules/pleeease/node_modules/csswring/test/fixtures/single-charset.css +13 -0
  392. data/node_modules/pleeease/node_modules/csswring/test/fixtures/value.css +14 -0
  393. data/node_modules/pleeease/node_modules/deep-extend/.npmignore +1 -0
  394. data/node_modules/pleeease/node_modules/deep-extend/LICENSE +20 -0
  395. data/node_modules/pleeease/node_modules/deep-extend/README.md +52 -0
  396. data/node_modules/pleeease/node_modules/deep-extend/index.js +87 -0
  397. data/node_modules/pleeease/node_modules/deep-extend/package.json +45 -0
  398. data/node_modules/pleeease/node_modules/deep-extend/test/index.spec.js +44 -0
  399. data/node_modules/pleeease/node_modules/deep-extend/test/mocha.opts +1 -0
  400. data/node_modules/pleeease/node_modules/mkdirp/.npmignore +2 -0
  401. data/node_modules/pleeease/node_modules/mkdirp/.travis.yml +5 -0
  402. data/node_modules/pleeease/node_modules/mkdirp/LICENSE +21 -0
  403. data/node_modules/pleeease/node_modules/mkdirp/bin/cmd.js +33 -0
  404. data/node_modules/pleeease/node_modules/mkdirp/bin/usage.txt +12 -0
  405. data/node_modules/pleeease/node_modules/mkdirp/examples/pow.js +6 -0
  406. data/node_modules/pleeease/node_modules/mkdirp/index.js +80 -0
  407. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/.travis.yml +4 -0
  408. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/LICENSE +18 -0
  409. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/example/parse.js +2 -0
  410. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/index.js +187 -0
  411. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/package.json +52 -0
  412. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/readme.markdown +73 -0
  413. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dash.js +24 -0
  414. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/default_bool.js +20 -0
  415. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/dotted.js +16 -0
  416. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/long.js +31 -0
  417. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse.js +318 -0
  418. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js +9 -0
  419. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/short.js +67 -0
  420. data/node_modules/pleeease/node_modules/mkdirp/node_modules/minimist/test/whitespace.js +8 -0
  421. data/node_modules/pleeease/node_modules/mkdirp/package.json +42 -0
  422. data/node_modules/pleeease/node_modules/mkdirp/readme.markdown +90 -0
  423. data/node_modules/pleeease/node_modules/mkdirp/test/chmod.js +38 -0
  424. data/node_modules/pleeease/node_modules/mkdirp/test/clobber.js +37 -0
  425. data/node_modules/pleeease/node_modules/mkdirp/test/mkdirp.js +28 -0
  426. data/node_modules/pleeease/node_modules/mkdirp/test/perm.js +32 -0
  427. data/node_modules/pleeease/node_modules/mkdirp/test/perm_sync.js +39 -0
  428. data/node_modules/pleeease/node_modules/mkdirp/test/race.js +41 -0
  429. data/node_modules/pleeease/node_modules/mkdirp/test/rel.js +32 -0
  430. data/node_modules/pleeease/node_modules/mkdirp/test/return.js +25 -0
  431. data/node_modules/pleeease/node_modules/mkdirp/test/return_sync.js +24 -0
  432. data/node_modules/pleeease/node_modules/mkdirp/test/root.js +18 -0
  433. data/node_modules/pleeease/node_modules/mkdirp/test/sync.js +32 -0
  434. data/node_modules/pleeease/node_modules/mkdirp/test/umask.js +28 -0
  435. data/node_modules/pleeease/node_modules/mkdirp/test/umask_sync.js +32 -0
  436. data/node_modules/pleeease/node_modules/multi-glob/.npmignore +2 -0
  437. data/node_modules/pleeease/node_modules/multi-glob/.travis.yml +3 -0
  438. data/node_modules/pleeease/node_modules/multi-glob/AUTHORS +2 -0
  439. data/node_modules/pleeease/node_modules/multi-glob/LICENSE +27 -0
  440. data/node_modules/pleeease/node_modules/multi-glob/Readme.rst +42 -0
  441. data/node_modules/pleeease/node_modules/multi-glob/autolint.js +20 -0
  442. data/node_modules/pleeease/node_modules/multi-glob/buster.js +6 -0
  443. data/node_modules/pleeease/node_modules/multi-glob/lib/multi-glob.js +39 -0
  444. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/.travis.yml +3 -0
  445. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/LICENSE +19 -0
  446. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/README.md +1646 -0
  447. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/component.json +11 -0
  448. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/lib/async.js +1123 -0
  449. data/node_modules/pleeease/node_modules/multi-glob/node_modules/async/package.json +45 -0
  450. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.npmignore +2 -0
  451. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/.travis.yml +4 -0
  452. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/LICENSE +27 -0
  453. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/README.md +250 -0
  454. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/g.js +9 -0
  455. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/examples/usr-local.js +9 -0
  456. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/glob.js +738 -0
  457. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  458. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/README.md +42 -0
  459. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  460. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  461. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/package.json +33 -0
  462. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/inherits/test.js +25 -0
  463. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  464. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  465. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/README.md +218 -0
  466. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/minimatch.js +1061 -0
  467. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/.npmignore +1 -0
  468. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  469. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  470. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  471. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  472. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  473. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  474. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  475. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  476. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  477. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  478. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  479. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  480. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  481. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  482. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/package.json +42 -0
  483. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  484. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/brace-expand.js +33 -0
  485. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/caching.js +14 -0
  486. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  487. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  488. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/LICENSE +27 -0
  489. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/README.md +51 -0
  490. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/once.js +20 -0
  491. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/package.json +42 -0
  492. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/node_modules/once/test/once.js +20 -0
  493. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/package.json +43 -0
  494. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/00-setup.js +176 -0
  495. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-comparison.js +63 -0
  496. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/bash-results.json +354 -0
  497. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/cwd-test.js +55 -0
  498. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/empty-set.js +20 -0
  499. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/error-callback.js +20 -0
  500. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/globstar-match.js +19 -0
  501. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/mark.js +118 -0
  502. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/new-glob-optional-options.js +10 -0
  503. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/nocase-nomagic.js +124 -0
  504. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/pause-resume.js +73 -0
  505. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/readme-issue.js +36 -0
  506. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root-nomount.js +39 -0
  507. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/root.js +46 -0
  508. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/stat.js +32 -0
  509. data/node_modules/pleeease/node_modules/multi-glob/node_modules/glob/test/zz-cleanup.js +11 -0
  510. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/LICENSE.txt +22 -0
  511. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/README.md +163 -0
  512. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.js +7157 -0
  513. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.compat.min.js +61 -0
  514. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.js +6785 -0
  515. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.min.js +56 -0
  516. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.js +4979 -0
  517. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/dist/lodash.underscore.min.js +39 -0
  518. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/lodash.js +7179 -0
  519. data/node_modules/pleeease/node_modules/multi-glob/node_modules/lodash/package.json +102 -0
  520. data/node_modules/pleeease/node_modules/multi-glob/package.json +46 -0
  521. data/node_modules/pleeease/node_modules/multi-glob/test/multi-glob-test.js +113 -0
  522. data/node_modules/pleeease/node_modules/pixrem/.editorconfig +13 -0
  523. data/node_modules/pleeease/node_modules/pixrem/.gitattributes +1 -0
  524. data/node_modules/pleeease/node_modules/pixrem/.gitignore +2 -0
  525. data/node_modules/pleeease/node_modules/pixrem/.jshintrc +22 -0
  526. data/node_modules/pleeease/node_modules/pixrem/.travis.yml +4 -0
  527. data/node_modules/pleeease/node_modules/pixrem/LICENSE +22 -0
  528. data/node_modules/pleeease/node_modules/pixrem/README.md +108 -0
  529. data/node_modules/pleeease/node_modules/pixrem/lib/pixrem.js +73 -0
  530. data/node_modules/pleeease/node_modules/pixrem/package.json +50 -0
  531. data/node_modules/pleeease/node_modules/pixrem/spec/pixrem-spec.js +78 -0
  532. data/node_modules/pleeease/node_modules/postcss-vars/README.md +84 -0
  533. data/node_modules/pleeease/node_modules/postcss-vars/lib/index.js +91 -0
  534. data/node_modules/pleeease/node_modules/postcss-vars/package.json +18 -0
  535. data/node_modules/pleeease/node_modules/postcss/ChangeLog.md +42 -0
  536. data/node_modules/pleeease/node_modules/postcss/LICENSE +20 -0
  537. data/node_modules/pleeease/node_modules/postcss/README.md +732 -0
  538. data/node_modules/pleeease/node_modules/postcss/lib/at-rule.js +94 -0
  539. data/node_modules/pleeease/node_modules/postcss/lib/comment.js +38 -0
  540. data/node_modules/pleeease/node_modules/postcss/lib/container.js +315 -0
  541. data/node_modules/pleeease/node_modules/postcss/lib/declaration.js +69 -0
  542. data/node_modules/pleeease/node_modules/postcss/lib/lazy.js +18 -0
  543. data/node_modules/pleeease/node_modules/postcss/lib/list.js +64 -0
  544. data/node_modules/pleeease/node_modules/postcss/lib/map-generator.js +242 -0
  545. data/node_modules/pleeease/node_modules/postcss/lib/node.js +189 -0
  546. data/node_modules/pleeease/node_modules/postcss/lib/parse.js +496 -0
  547. data/node_modules/pleeease/node_modules/postcss/lib/postcss.js +76 -0
  548. data/node_modules/pleeease/node_modules/postcss/lib/raw.js +32 -0
  549. data/node_modules/pleeease/node_modules/postcss/lib/result.js +22 -0
  550. data/node_modules/pleeease/node_modules/postcss/lib/root.js +57 -0
  551. data/node_modules/pleeease/node_modules/postcss/lib/rule.js +59 -0
  552. data/node_modules/pleeease/node_modules/postcss/lib/syntax-error.js +27 -0
  553. data/node_modules/pleeease/node_modules/postcss/lib/vendor.js +27 -0
  554. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/.travis.yml +5 -0
  555. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/LICENSE.MIT +21 -0
  556. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/README.md +31 -0
  557. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/bench/bench.js +19 -0
  558. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/lib/b64.js +120 -0
  559. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/package.json +47 -0
  560. data/node_modules/pleeease/node_modules/postcss/node_modules/base64-js/test/convert.js +51 -0
  561. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.npmignore +2 -0
  562. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.tern-port +1 -0
  563. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/.travis.yml +4 -0
  564. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/CHANGELOG.md +137 -0
  565. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/LICENSE +28 -0
  566. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/Makefile.dryice.js +166 -0
  567. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/README.md +446 -0
  568. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/assert-shim.js +56 -0
  569. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/mini-require.js +152 -0
  570. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  571. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/prefix-utils.jsm +18 -0
  572. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-browser.js +8 -0
  573. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  574. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/suffix-utils.jsm +21 -0
  575. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-prefix.js +8 -0
  576. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/build/test-suffix.js +3 -0
  577. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map.js +8 -0
  578. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/array-set.js +97 -0
  579. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  580. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/base64.js +42 -0
  581. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  582. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  583. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  584. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/source-node.js +400 -0
  585. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/lib/source-map/util.js +302 -0
  586. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  587. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  588. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  589. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  590. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/node_modules/amdefine/package.json +38 -0
  591. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/package.json +132 -0
  592. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/run-tests.js +62 -0
  593. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-api.js +26 -0
  594. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  595. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  596. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-base64.js +35 -0
  597. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  598. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  599. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-consumer.js +475 -0
  600. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-map-generator.js +549 -0
  601. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-source-node.js +487 -0
  602. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/test-util.js +127 -0
  603. data/node_modules/pleeease/node_modules/postcss/node_modules/source-map/test/source-map/util.js +161 -0
  604. data/node_modules/pleeease/node_modules/postcss/package.json +46 -0
  605. data/node_modules/pleeease/package.json +40 -0
  606. data/node_modules/pleeease/spec/pleeease-spec.js +112 -0
  607. data/node_modules/pleeease/spec/prefixes.css +1 -0
  608. data/node_modules/pleeease/test/.pleeeaserc +7 -0
  609. data/node_modules/pleeease/test/app.min.css +42 -0
  610. data/node_modules/pleeease/test/bar.css +11 -0
  611. data/node_modules/pleeease/test/foo.css +25 -0
  612. data/node_modules/pleeease/test/import/imported.css +3 -0
  613. data/package.json +11 -0
  614. data/pleeease.gemspec +23 -0
  615. metadata +685 -0
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "pixrem",
3
+ "description": "A CSS post-processor that generates pixel fallbacks for rem units.",
4
+ "version": "0.1.4",
5
+ "homepage": "https://github.com/robwierzbowski/node-pixrem",
6
+ "author": {
7
+ "name": "Rob Wierzbowski",
8
+ "email": "hello@robwierzbowski.com",
9
+ "url": "http://robwierzbowski.com"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git://github.com/robwierzbowski/node-pixrem.git"
14
+ },
15
+ "bugs": {
16
+ "url": "https://github.com/robwierzbowski/node-pixrem/issues"
17
+ },
18
+ "licenses": [
19
+ {
20
+ "type": "BSD-new"
21
+ }
22
+ ],
23
+ "main": "lib/pixrem.js",
24
+ "engines": {
25
+ "node": ">=0.10.0",
26
+ "npm": ">=1.2.10"
27
+ },
28
+ "scripts": {
29
+ "test": "jasmine-node spec"
30
+ },
31
+ "dependencies": {
32
+ "postcss": "~0.3.0"
33
+ },
34
+ "devDependencies": {
35
+ "jasmine-node": "~1.11.0"
36
+ },
37
+ "keywords": [
38
+ "css",
39
+ "parser",
40
+ "postproccessor",
41
+ "rem",
42
+ "responsive"
43
+ ],
44
+ "readme": "# Pixrem\n\n[![Build Status](https://travis-ci.org/robwierzbowski/node-pixrem.png?branch=master)](https://travis-ci.org/robwierzbowski/node-pixrem)\n\nA CSS post-processor that generates pixel fallbacks for rem units. \nWritten with [PostCSS](https://github.com/ai/postcss). \nAdd it to your build process with [grunt-pixrem](https://github.com/robwierzbowski/grunt-pixrem). \n\n## Installation\n\n`npm install --save pixrem`\n\n## Usage\n\nPixrem is a CSS post-processor that, given CSS and a root em value, returns CSS with pixel unit fallbacks or replacements. Check the [browser data](http://caniuse.com/rem): if you want to use rem units and support < IE9, Opera Mini, or older Opera Mobile, this post-processor is for you.\n\n### Example\n\n```js\n'use strict';\nvar fs = require('fs');\nvar pixrem = require('pixrem');\nvar css = fs.readFileSync('main.css', 'utf8');\nvar processedCss = pixrem.process(css, '200%');\n\nfs.writeFile('main.with-fallbacks.css', processedCss, function (err) {\n if (err) {\n throw err;\n }\n console.log('IE8, you\\'re welcome.');\n});\n```\n\nPixrem takes this:\n\n```css\n.sky {\n margin: 2.5rem 2px 3em 100%;\n color: blue;\n}\n\n@media screen and (min-width: 20rem) {\n .leaf {\n margin-bottom: 1.333rem;\n font-size: 1.5rem;\n }\n}\n```\n\nAnd returns this:\n\n```css\n.sky {\n margin: 80px 2px 3em 100%;\n margin: 2.5rem 2px 3em 100%;\n color: blue;\n}\n\n@media screen and (min-width: 20rem) {\n .leaf {\n margin-bottom: 42px;\n margin-bottom: 1.333rem;\n font-size: 48px;\n font-size: 1.5rem;\n }\n}\n```\n\n### Parameters\n\n#### css\n\nType: `String` \n\nSome CSS to process.\n\n#### rootvalue\n\nType: `String | Null` \nDefault: `16px` \n\nThe root element font size. Can be px, rem, em, percent, or unitless pixel value.\n\n#### options\n\nType: `Object | Null` \nDefault: `{ replace: false }` \n\n- `replace` replaces rules containing rems instead of adding fallbacks.\n\n## Contribute\n\nReport bugs and feature proposals in the [Github issue tracker](https://github.com/robwierzbowski/node-pixrem/issues). Run tests with jasmine-node. In lieu of a formal styleguide, take care to maintain the existing coding style. \n\n## Release History\n\n0.1.4, March 6, 2014: Code optimization from AI. \n0.1.3, Dec 14, 2013: Fix regex for < 0 values. \n0.1.1, 0.1.2, Dec 14, 2013: Documentation improvements. \n0.1.0, Dec 14, 2013: Initial release. \n\n## License\n\n[MIT](http://en.wikipedia.org/wiki/MIT_License)\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/robwierzbowski/node-pixrem/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n",
45
+ "readmeFilename": "README.md",
46
+ "_id": "pixrem@0.1.4",
47
+ "_shasum": "d5a5fd72dcfe86301711372a602994fce442dd5e",
48
+ "_from": "https://github.com/iamvdo/node-pixrem/tarball/master",
49
+ "_resolved": "https://github.com/iamvdo/node-pixrem/tarball/master"
50
+ }
@@ -0,0 +1,78 @@
1
+ // Jasmine unit tests
2
+ // To run tests, run these commands from the project root:
3
+ // 1. `npm install -g jasmine-node`
4
+ // 2. `jasmine-node spec`
5
+
6
+ 'use strict';
7
+ var fs = require('fs');
8
+ var pixrem = require('../lib/pixrem');
9
+ var css = '.rule { font-size: 2rem }';
10
+
11
+ console.log(pixrem);
12
+
13
+ describe('pixrem', function () {
14
+
15
+ it('should generate fallbacks using default settings', function () {
16
+ var expected = '.rule { font-size: 32px; font-size: 2rem }';
17
+ var processed = pixrem.process(css);
18
+
19
+ expect(processed).toBe(expected);
20
+ });
21
+
22
+ it('should generate fallbacks with a pixel root em value', function () {
23
+ var expected = '.rule { font-size: 40px; font-size: 2rem }';
24
+ var processed = pixrem.process(css, '20px');
25
+
26
+ expect(processed).toBe(expected);
27
+ });
28
+
29
+ it('should generate fallbacks with a em root em value', function () {
30
+ var expected = '.rule { font-size: 48px; font-size: 2rem }';
31
+ var processed = pixrem.process(css, '1.5em');
32
+
33
+ expect(processed).toBe(expected);
34
+ });
35
+
36
+ it('should generate fallbacks with a rem root em value', function () {
37
+ var expected = '.rule { font-size: 56px; font-size: 2rem }';
38
+ var processed = pixrem.process(css, '1.75rem');
39
+
40
+ expect(processed).toBe(expected);
41
+ });
42
+
43
+ it('should generate fallbacks with a percent root em value', function () {
44
+ var expected = '.rule { font-size: 48px; font-size: 2rem }';
45
+ var processed = pixrem.process(css, '150%');
46
+
47
+ expect(processed).toBe(expected);
48
+ });
49
+
50
+ it('should generate fallbacks with a unitless root em value', function () {
51
+ var expected = '.rule { font-size: 36px; font-size: 2rem }';
52
+ var processed = pixrem.process(css, '18');
53
+
54
+ expect(processed).toBe(expected);
55
+ });
56
+
57
+ it('should replace rules with fallbacks when option.replace is true', function () {
58
+ var expected = '.rule { font-size: 40px }';
59
+ var processed = pixrem.process(css, '20px', { replace: true });
60
+
61
+ expect(processed).toBe(expected);
62
+ });
63
+
64
+ it('should generate integer fallbacks, rounded down', function () {
65
+ var expected = '.rule { font-size: 49px; font-size: 2rem }';
66
+ var processed = pixrem.process(css, '155%');
67
+
68
+ expect(processed).toBe(expected);
69
+ });
70
+
71
+ it('should handle < 1 values and values without a leading 0', function () {
72
+ var css = '.rule { margin: 0.5rem .5rem 0rem -2rem }';
73
+ var expected = '.rule { margin: 8px 8px 0px -32px; margin: 0.5rem .5rem 0rem -2rem }';
74
+ var processed = pixrem.process(css);
75
+
76
+ expect(processed).toBe(expected);
77
+ });
78
+ });
@@ -0,0 +1,84 @@
1
+ postcss-vars
2
+ ============
3
+
4
+ Add a "not so bad" CSS custom properties support to your CSS, using [PostCSS](https://github.com/ai/postcss). **This is not a polyfill**. Native custom properties are way more powerful, due to cascade and inheritance.
5
+
6
+ Largely inspired by [rework-vars](https://github.com/reworkcss/rework-vars).
7
+
8
+ ##Install
9
+
10
+ ```js
11
+ npm install postcss-vars
12
+ ```
13
+
14
+ ##Use
15
+
16
+ Only variables defined in `:root` (and not in media-queries) will be used. Let's take this css:
17
+
18
+ ```css
19
+ :root {
20
+ --color-one: blue;
21
+ --color-two: green;
22
+ --color-three: var(--color-two);
23
+ }
24
+ .elem {
25
+ color: var(--color-one);
26
+ }
27
+ .item {
28
+ background: linear-gradient(var(--color-two), red);
29
+ }
30
+ @media (min-width: 50em) {
31
+ .elem {
32
+ color: var(--color-two);
33
+ }
34
+ }
35
+ ```
36
+
37
+ Fix variables, and you will get the following output:
38
+
39
+ ```css
40
+ :root {
41
+ --color-one: blue;
42
+ --color-two: green;
43
+ --color-three: var(--color-two);
44
+ }
45
+ .elem {
46
+ color: blue;
47
+ }
48
+ .item {
49
+ background: linear-gradient(green, red);
50
+ }
51
+ @media (min-width: 50em) {
52
+ .elem {
53
+ color: green;
54
+ }
55
+ }
56
+ ```
57
+
58
+ ##API
59
+
60
+ ###processor
61
+
62
+ This is the core function. Combine it with others PostCSS plugins, such as Autoprefixer:
63
+
64
+ ```js
65
+ var autoprefixer = require('autoprefixer'),
66
+ postcssVars = require('postcss-vars'),
67
+ postcss = require('postcss');
68
+ var fixed = postcss().
69
+ use(postcssVars.processor).
70
+ use(autoprefixer.postcss).
71
+ process(css).css;
72
+ ```
73
+
74
+ ###postcss
75
+
76
+ This is the full process function. Pass the `css` as the first argument and grab your fixed CSS.
77
+
78
+ ```js
79
+ var postcssVars = require('postcss-vars');
80
+ var fixed = postcssVars.postcss(css).css;
81
+ ```
82
+
83
+ ##License
84
+ MIT
@@ -0,0 +1,91 @@
1
+ var postcss = require('postcss');
2
+ var variables = [];
3
+ var varStartIdentifier = '--';
4
+ var refStartIdentifier = 'var(';
5
+
6
+ var _process = function (css) {
7
+
8
+ // for each rules
9
+ css.eachRule(function (rule) {
10
+
11
+ // if selector is :root
12
+ if (rule.selectors.length === 1 && rule.selectors[0] === ':root' && rule.parent.type === 'root') {
13
+
14
+ rule.each(function (decl) {
15
+ if (decl.type === 'decl' && decl.prop.indexOf(varStartIdentifier) === 0) {
16
+ // store all variables
17
+ variables[decl.prop] = decl.value;
18
+ }
19
+ });
20
+
21
+ // else, it's not :root
22
+ } else {
23
+
24
+ rule.each(function (decl) {
25
+ if (decl.type === 'decl' && decl.value.indexOf(refStartIdentifier) !== -1) {
26
+ decl.value = _replaceValue(decl.value);
27
+ }
28
+ });
29
+
30
+ }
31
+
32
+ });
33
+
34
+ return css;
35
+
36
+ };
37
+
38
+ var _replaceValue = function (value) {
39
+
40
+ // matches `var(name[, fallback])`, captures 'name' and 'fallback'
41
+ var regexpVar = /\bvar\(([\w-]+)(?:\s*,\s*)?(.*)?\)/;
42
+ // matches `var()`
43
+ var regexpEmptyVar = /\bvar\(\s*\)/;
44
+
45
+ var valueLen = value.length;
46
+ var beginSlice = value.indexOf(refStartIdentifier);
47
+ var endSlice = beginSlice + refStartIdentifier.length;
48
+ var depth = 1;
49
+ var currentChar;
50
+ var cssVariable;
51
+
52
+ // find the closing `)` of the CSS variable function,
53
+ // accounting for nested functions
54
+ while (endSlice < valueLen && depth > 0) {
55
+ currentChar = value.charAt(endSlice);
56
+ if (currentChar == '(') depth += 1;
57
+ if (currentChar == ')') depth -= 1;
58
+ endSlice += 1;
59
+ }
60
+
61
+ if (depth > 0) throw new Error('postcss-vars: missing closing ")" in the value "' + value + '"');
62
+
63
+ cssVariable = value.slice(beginSlice, endSlice);
64
+
65
+ if (regexpEmptyVar.test(cssVariable)) throw new Error('postcss-vars: var() must contain a non-whitespace string');
66
+
67
+ cssReplacement = cssVariable.replace(regexpVar, function(_, name, fallback){
68
+ var replacement = variables[name];
69
+ if (!replacement && !fallback) throw new Error('postcss-vars: variable "' + name + '" is undefined');
70
+ if (!replacement && fallback) return fallback;
71
+ return replacement;
72
+ });
73
+
74
+ // resolve the variable
75
+ value = value.split(cssVariable).join(cssReplacement);
76
+
77
+ // recursively resolve any remaining variables
78
+ if (/\bvar\(/.test(value)) {
79
+ value = _replaceValue(value);
80
+ }
81
+
82
+ return value;
83
+
84
+ };
85
+
86
+ var _postcss = function (css, opts) {
87
+ return postcss().use(this.processor).process(css, opts);
88
+ };
89
+
90
+ exports.processor = _process;
91
+ exports.postcss = _postcss;
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "postcss-vars",
3
+ "version": "0.1.0",
4
+ "author": {
5
+ "name": "Vincent De Oliveira"
6
+ },
7
+ "description": "\"Not so bad\" CSS custom properties' postprocessor",
8
+ "main": "./lib/index",
9
+ "dependencies": {
10
+ "postcss": "0.3.4"
11
+ },
12
+ "readme": "postcss-vars\r\n============\r\n\r\nAdd a \"not so bad\" CSS custom properties support to your CSS, using [PostCSS](https://github.com/ai/postcss). **This is not a polyfill**. Native custom properties are way more powerful, due to cascade and inheritance.\r\n\r\nLargely inspired by [rework-vars](https://github.com/reworkcss/rework-vars).\r\n\r\n##Install\r\n\r\n```js\r\nnpm install postcss-vars\r\n```\r\n\r\n##Use\r\n\r\nOnly variables defined in `:root` (and not in media-queries) will be used. Let's take this css:\r\n\r\n```css\r\n:root {\r\n\t--color-one: blue;\r\n\t--color-two: green;\r\n\t--color-three: var(--color-two);\r\n}\r\n.elem {\r\n\tcolor: var(--color-one);\r\n}\r\n.item {\r\n\tbackground: linear-gradient(var(--color-two), red);\r\n}\r\n@media (min-width: 50em) {\r\n\t.elem {\r\n\t\tcolor: var(--color-two);\r\n\t}\r\n}\r\n```\r\n\r\nFix variables, and you will get the following output:\r\n\r\n```css\r\n:root {\r\n\t--color-one: blue;\r\n\t--color-two: green;\r\n\t--color-three: var(--color-two);\r\n}\r\n.elem {\r\n\tcolor: blue;\r\n}\r\n.item {\r\n\tbackground: linear-gradient(green, red);\r\n}\r\n@media (min-width: 50em) {\r\n\t.elem {\r\n\t\tcolor: green;\r\n\t}\r\n}\r\n```\r\n\r\n##API\r\n\r\n###processor\r\n\r\nThis is the core function. Combine it with others PostCSS plugins, such as Autoprefixer:\r\n\r\n```js\r\nvar autoprefixer = require('autoprefixer'),\r\n\tpostcssVars = require('postcss-vars'),\r\n\tpostcss = require('postcss');\r\nvar fixed = postcss().\r\n\t\t\tuse(postcssVars.processor).\r\n\t\t\tuse(autoprefixer.postcss).\r\n\t\t\tprocess(css).css;\r\n```\r\n\r\n###postcss\r\n\r\nThis is the full process function. Pass the `css` as the first argument and grab your fixed CSS.\r\n\r\n```js\r\nvar postcssVars = require('postcss-vars');\r\nvar fixed = postcssVars.postcss(css).css;\r\n```\r\n\r\n##License\r\nMIT",
13
+ "readmeFilename": "README.md",
14
+ "_id": "postcss-vars@0.1.0",
15
+ "_shasum": "f2f8ae314a471c852f9a9a64235208bf5dca75fa",
16
+ "_from": "postcss-vars@~0.1.0",
17
+ "_resolved": "https://registry.npmjs.org/postcss-vars/-/postcss-vars-0.1.0.tgz"
18
+ }
@@ -0,0 +1,42 @@
1
+ ## 0.3.4
2
+ * Better space symbol detect to read UTF-8 BOM correctly.
3
+
4
+ ## 0.3.3
5
+ * Remove source map hacks by using new Mozilla’s `source-map` (by Simon Lydell).
6
+
7
+ ## 0.3.2
8
+ * Add URI encoding support for inline source maps.
9
+
10
+ ## 0.3.1
11
+ * Fix relative paths from previous source map.
12
+ * Safer space split in `Rule#selectors` (by Simon Lydell).
13
+
14
+ ## 0.3 “Prince Seere”
15
+ * Add `Comment` node for comments between declarations or rules.
16
+ * Add source map annotation comment to output CSS.
17
+ * Allow to inline source map to annotation comment by data:uri.
18
+ * Fix source maps on Windows.
19
+ * Fix source maps for styles in subdirectory (by @nDmitry and @lydell).
20
+ * Autodetect previous source map.
21
+ * Add `first` and `last` shortcuts to container nodes.
22
+ * Parse `!important` to separated property in `Declaration`.
23
+ * Allow to break iteration by returning `false`.
24
+ * Copy code style to new nodes.
25
+ * Add `eachInside` method to recursivelly iterate all nodes.
26
+ * Add `selectors` shortcut to get selectors array.
27
+ * Add `toResult` method to `Rule` to simplify work with several input files.
28
+ * Clean declaration’s `value`, rule’s `selector` and at-rule’s `params`
29
+ by storing spaces in `between` property.
30
+
31
+ ## 0.2 “Duke Dantalion”
32
+ * Add source map support.
33
+ * Add shortcuts to create nodes.
34
+ * Method `process()` now returns object with `css` and `map` keys.
35
+ * Origin CSS file option was renamed from `file` to `from`.
36
+ * Rename `Node#remove()` method to `removeSelf()` to fix name conflict.
37
+ * Node source was moved to `source` property with origin file
38
+ and node end position.
39
+ * You can set own stringify function.
40
+
41
+ ## 0.1 “Count Andromalius”
42
+ * Initial release.
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright 2013 Andrey Sitnik <andrey@sitnik.ru>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ 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, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,732 @@
1
+ # PostCSS
2
+
3
+ PostCSS is a framework for CSS postprocessors,
4
+ to modify CSS with JavaScript.
5
+
6
+ It takes care of most common CSS tool tasks:
7
+
8
+ 1. parses CSS;
9
+ 2. gives you usable JS API to edit CSS node tree;
10
+ 3. dumps modified node tree into CSS string;
11
+ 4. generates (or modifies existent) source map for your changes;
12
+
13
+ You can use this framework to write you own:
14
+
15
+ * CSS minifier or beautifizer.
16
+ * CSS polyfills.
17
+ * Grunt plugin to generate sprites, include `data-uri` images
18
+ or any other works.
19
+ * Text editor plugin to automate CSS routine.
20
+ * Command-line CSS tool.
21
+
22
+ Sponsored by [Evil Martians](http://evilmartians.com/).
23
+
24
+ ## Built with PostCSS
25
+
26
+ * [Autoprefixer] adds vendor prefixes by Can I Use data.
27
+ * [grunt-pixrem], `rem` unit polyfill.
28
+ * [CSS MQPacker] joins same media queries.
29
+
30
+ [Autoprefixer]: https://github.com/ai/autoprefixer
31
+ [grunt-pixrem]: https://github.com/robwierzbowski/grunt-pixrem
32
+ [CSS MQPacker]: https://github.com/hail2u/node-css-mqpacker
33
+
34
+ ## Quick Example
35
+
36
+ Let’s fix forgotten `content` property in `::before` and `::after`:
37
+
38
+ ```js
39
+ var postcss = require('postcss');
40
+
41
+ var contenter = postcss(function (css) {
42
+ css.eachRule(function (rule) {
43
+ if ( rule.selector.match(/::(before|after)/) ) {
44
+ // In every ::before/::after rule
45
+
46
+ // Did we forget content property?
47
+ var good = rule.some(function (i) { return i.prop == 'content'; });
48
+
49
+ if ( !good ) {
50
+ // Add content: "" if we forget it
51
+ rule.prepend({ prop: 'content', value: '""' });
52
+ }
53
+
54
+ }
55
+ });
56
+ });
57
+ ```
58
+
59
+ And then CSS with forgotten `content`:
60
+
61
+ ```css
62
+ a::before {
63
+ width: 10px;
64
+ height: 10px
65
+ }
66
+ ```
67
+
68
+ will be fixed by our new `contenter`:
69
+
70
+ ```js
71
+ var fixed = contenter.process(css).css;
72
+ ```
73
+
74
+ to:
75
+
76
+ ```css
77
+ a::before {
78
+ content: "";
79
+ width: 10px;
80
+ height: 10px
81
+ }
82
+ ```
83
+
84
+ ## Features
85
+
86
+ ### Source Map
87
+
88
+ PostCSS generates source map for its changes:
89
+
90
+ ```js
91
+ result = processor.process(css, { map: true, from: 'from.css', to: 'to.css' });
92
+ result.css // String with processed CSS
93
+ result.map // Source map
94
+ ```
95
+
96
+ And modifies source map from previous step (like Sass preprocessor):
97
+
98
+ ```js
99
+ var sassMap = fs.readFileSync('from.sass.css.map');
100
+ processor.process(css, { map: sassMap, from: 'from.sass.css', to: 'to.css' });
101
+ ```
102
+
103
+ ### Preserves code formatting and indentations
104
+
105
+ PostCSS will not change any byte of a rule if you don’t modify its node:
106
+
107
+ ```js
108
+ postcss(function (css) { }).process(css).css == css;
109
+ ```
110
+
111
+ And when you modify CSS nodes, PostCSS will try to copy coding style:
112
+
113
+ ```js
114
+ contenter.process("a::before{color:black}")
115
+ // a::before{content:'';color:black}
116
+
117
+ contenter.process("a::before {\n color: black;\n }")
118
+ // a::before {
119
+ // content: '';
120
+ // color: black;
121
+ // }
122
+ ```
123
+
124
+ ## Why PostCSS Better Than …
125
+
126
+ ### Preprocessors
127
+
128
+ Preprocessors (like Sass or Stylus) give us special language with variables,
129
+ mixins, statements and compile it to CSS. Compass, nib and other mixins
130
+ libraries use these languages to work with prefixes, sprites and inline images.
131
+
132
+ But Sass and Stylus languages were created to be syntax-sugar for CSS.
133
+ Writing really complicated programs using preporcessor languages
134
+ is very difficult. [Autoprefixer] is absolutely impossible to implement
135
+ on top of Sass.
136
+
137
+ PostCSS gives you comfort and power of JS or CoffeeScript to working with CSS.
138
+ You can do really magic things with wide range of [npm] libraries.
139
+
140
+ But postprocessors are not enemies for preprocessors. Sass and Stylus are still
141
+ the best way to improve readability and add some syntax sugar to CSS.
142
+ You can easily combine preprocessors and postprocessors
143
+ (and PostCSS will also update source map from Sass or Stylus).
144
+
145
+ [Autoprefixer]: https://github.com/ai/autoprefixer
146
+ [npm]: https://npmjs.org/
147
+
148
+ ### RegExp
149
+
150
+ Some Grunt plugins modify CSS with regular expressions but using a CSS parser
151
+ and a node tree is a much safer way to edit CSS. Also, regexps will break
152
+ source maps generated by preprocessors.
153
+
154
+ ### CSS Parsers
155
+
156
+ There are a lot of good CSS parsers, like [Gonzales]. But they help you only
157
+ with first step.
158
+
159
+ Unlike them PostCSS gives you full source map support and useful high level API
160
+ (for example, safe iterators).
161
+
162
+ [Gonzales]: https://github.com/css/gonzales
163
+
164
+ ### Rework
165
+
166
+ [Rework] and PostCSS are very similar, but they has different targets.
167
+
168
+ Rework was created to build new CSS sublanguage to replace Stylus (like [Myth]).
169
+ PostCSS was created for CSS tools, which works in chain with legacy CSS code
170
+ (like Autoprefixer).
171
+
172
+ Because of this background difference, PostCSS:
173
+
174
+ * better works with source map, because it should update map from previous step
175
+ (like Sass compiling)
176
+ * saves all your spaces and code style, because it can be worked in text editor
177
+ plugins
178
+ * has safer parser, because it can be used for legacy code
179
+ * has high level API to clean your processor from common tasks
180
+
181
+ [Myth]: http://www.myth.io/
182
+ [Rework]: https://github.com/visionmedia/rework
183
+
184
+ ## Usage
185
+
186
+ ### Processor
187
+
188
+ The function `postcss(fn)` creates a processor from your function:
189
+
190
+ ```js
191
+ var postcss = require('postcss');
192
+
193
+ var processor = postcss(function (css) {
194
+ // Code to modify CSS
195
+ });
196
+ ```
197
+
198
+ If you want to combine multiple processors (and parse CSS only once),
199
+ you can add several functions using the `use(fn)` method:
200
+
201
+ ```js
202
+ var all = postcss().
203
+ use(prefixer).
204
+ use(minifing);
205
+ ```
206
+
207
+ Processor function can change the current CSS node tree:
208
+
209
+ ```js
210
+ postcss(function (css) {
211
+ css.append( /* new rule */ )
212
+ });
213
+ ```
214
+
215
+ or create a completely new CSS root node and return it instead:
216
+
217
+ ```js
218
+ postcss(function (css) {
219
+ var newCSS = postcss.root()
220
+ // Add rules and declarations
221
+ return newCSS;
222
+ });
223
+ ```
224
+
225
+ This generated processor transforms some CSS using `process(css, opts)` method:
226
+
227
+ ```js
228
+ var doubler = postcss(function (css) {
229
+ // Clone each declaration
230
+ css.eachDecl(function (decl) {
231
+ decl.parent.prepend( decl.clone() );
232
+ });
233
+ });
234
+
235
+ var css = "a { color: black; }";
236
+ var result = doubler.process(css);
237
+
238
+ result.css //=> "a { color: black; color: black; }"
239
+ ```
240
+
241
+ You can set the original CSS filename via `from` option and make syntax error
242
+ messages much more helpful:
243
+
244
+ ```js
245
+ var wrong = "a {";
246
+ processor.process(wrong, { from: 'main.css' });
247
+ //=> Can't parse CSS: Unclosed block at line 1:1 in main.css
248
+ ```
249
+
250
+ ### Multiple Inputs
251
+
252
+ The function `postcss()` generates processor only for one input.
253
+ If you need to process several inputs (like in files concatenation) you can use
254
+ `postcss.parse()`.
255
+
256
+ Let’s join two CSS with source map support in 5 lines of code:
257
+
258
+ ```js
259
+ var file1 = postcss.parse(css1, { from: 'a.css' });
260
+ var file2 = postcss.parse(css2, { from: 'b.css' });
261
+
262
+ file1.rules = file1.rules.concat( file2.rules );
263
+
264
+ var result = file1.toResult({ to: 'app.css', map: true });
265
+ ```
266
+
267
+ ### Source Map
268
+
269
+ PostCSS will generate a source map, if you set `map` option to `true`
270
+ in the `process(css, opts)` method.
271
+
272
+ You must set input and output CSS files paths (using `from` and `to`
273
+ options respectively) to generate correct source map.
274
+
275
+ ```js
276
+ var result = processor.process(css, {
277
+ map: true,
278
+ from: 'main.css',
279
+ to: 'main.out.css'
280
+ });
281
+
282
+ result.map //=> '{"version":3,"file":"main.out.css","sources":["main.css"],"names":[],"mappings":"AAAA,KAAI"}'
283
+
284
+ fs.writeFileSync('main.out.css.map', result.map);
285
+ ```
286
+
287
+ PostCSS can also modify previous source map (for example, from Sass
288
+ compilation). So if you compile Sass to CSS and then minify this CSS
289
+ by postprocessor, final source map will contain mapping from Sass code
290
+ to minified CSS.
291
+
292
+ Just set `map` option with an original source map (a string or a JS object):
293
+
294
+ ```js
295
+ var result = minifier.process(css, {
296
+ map: fs.readFileSync('main.sass.css.map'),
297
+ from: 'main.sass.css',
298
+ to: 'main.min.css'
299
+ });
300
+
301
+ result.map //=> Source map from main.sass to main.min.css
302
+ ```
303
+
304
+ PostCSS try to autodetect previous map file. For example, if you process `a.css`
305
+ and `a.css.map` is placed in same dir, PostCSS will read previous map and
306
+ generate new one. You can disable autodetection by `map: false`.
307
+
308
+ PostCSS, by default, will add annotation comment with path to new source map
309
+ file:
310
+
311
+ ```css
312
+ a { }
313
+ /*# sourceMappingURL=main.out.css.map */
314
+ ```
315
+
316
+ If you want to remove annotation, set `mapAnnotation` option to `false`.
317
+
318
+ Inline maps are also supported. If input CSS will contain annotation
319
+ from previous step with map in `data:uri`, PostCSS will update source map
320
+ with yours changes and inine new map back to output CSS.
321
+
322
+ Option `inlineMap` will force PostCSS to inline new map to CSS:
323
+
324
+ ```js
325
+ var result = minifier.process(css, {
326
+ from: 'main.css',
327
+ to: 'main.min.css',
328
+ inlineMap: true
329
+ });
330
+
331
+ result.map //=> undefined, because map is in CSS
332
+ result.css //=> "a{}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlcyI6WyJtYWluLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFLIn0= */"
333
+ ```
334
+
335
+ ### Helpers
336
+
337
+ #### Vendor
338
+
339
+ PostCSS contains heigh optimized code to split vendor prefix:
340
+
341
+ ```js
342
+ var vendor = require('postcss/lib/vendor');
343
+
344
+ vendor.prefix('-moz-tab-size') //=> '-moz-'
345
+ vendor.unprefixed('-moz-tab-size') //=> 'tab-size'
346
+ ```
347
+
348
+ #### List
349
+
350
+ To safely split comma- or space-separated values (like in `background-image`
351
+ or `transform` ) with brackets and quotes support you can use `list` helper:
352
+
353
+ ```js
354
+ var list = require('postcss/lib/list');
355
+
356
+ list.space(image.value) //=> ['linear-gradient(white, black)', 'blue']
357
+ list.comma(transform.value) //=> ['color 200ms', 'background 200ms']
358
+ ```
359
+
360
+ ### Nodes
361
+
362
+ Processor function receives `Root` node with CSS node tree inside.
363
+
364
+ ```js
365
+ var processor = postcss(function (cssRoot) {
366
+ });
367
+ ```
368
+
369
+ There are 4 types of child nodes: `Comment`, `AtRule`, `Rule` and `Declaration`.
370
+ All nodes have `toString()` and `clone()` methods.
371
+
372
+ You can parse CSS and get a `Root` node by `postcss.parse(css, opts)` method:
373
+
374
+ ```js
375
+ var cssRoot = postcss.parse('a { }');
376
+ ```
377
+
378
+ All node‘s methods return current node, so you can build nice method chains:
379
+
380
+ ```js
381
+ root.append( rule1 ).append( rule2 ).toString();
382
+ ```
383
+
384
+ ### Node Source
385
+
386
+ Every node stores its origin file (if you set `from` option to `process`
387
+ or `parse` method) and position:
388
+
389
+ ```js
390
+ var root = postcss.parse(css, { from: 'main.css' });
391
+ var rule = root.rules[0];
392
+
393
+ rule.source.file //=> 'main.css'
394
+ rule.source.start //=> { line: 5, position: 1 }
395
+ rule.source.end //=> { line: 10, position: 5 }
396
+ ```
397
+
398
+ ### Whitespaces
399
+
400
+ All nodes (exclude `Root`) have `before` property with indentation
401
+ and all earlier spaces.
402
+
403
+ Nodes with children (`Root`, `AtRule` and `Rule`) contain also `after` property
404
+ with spaces after last child and before `}` or end of file.
405
+
406
+ Every `Declaration` has `between` property with colon, spaces and comments
407
+ between property name and value. `Rule` stores spaces and comments between
408
+ selector and `{` in `between` property. `AtRule` uses `between` also to store
409
+ spaces and comments before `{` or `;` for bodiless at-rule.
410
+
411
+ ```js
412
+ var root = postcss.parse("a {\n color: black;\n}\n");
413
+
414
+ root.rules[0].between //=> " " between selector and {
415
+ root.rules[0].decls[0].before //=> "\n " before color: black
416
+ root.rules[0].decls[0].between //=> ": " between property name and value
417
+ root.rules[0].after //=> "\n" before }
418
+ root.after //=> "\n" from end of file
419
+ ```
420
+
421
+ The simplest way to minify CSS is to set `before`, `between` and `after`
422
+ properties to an empty string:
423
+
424
+ ```js
425
+ var minifier = postcss(function (css) {
426
+ css.eachDecl(function (decl) {
427
+ decl.before = '';
428
+ decl.between = ':';
429
+ });
430
+ css.eachRule(function (rule) {
431
+ rule.before = '';
432
+ rule.between = '';
433
+ rule.after = '';
434
+ });
435
+ css.eachAtRule(function (atRule) {
436
+ atRule.before = '';
437
+ atRule.between = '';
438
+ atRule.after = '';
439
+ });
440
+ css.eachComment(function (comment) {
441
+ comment.removeSelf();
442
+ });
443
+ });
444
+
445
+ var css = "a {\n color:black\n}\n";
446
+ minifier.process(css).css //=> "a{color:black}"
447
+ ```
448
+
449
+ ### Raw Properties
450
+
451
+ Some CSS values (selectors, comment text, at-rule params and declaration values)
452
+ can contain comments. PostCSS will clean them from trailing spaces for you:
453
+
454
+ ```js
455
+ var root = postcss.parse("a /**/ b {}");
456
+ var rule = root.rules[0];
457
+
458
+ rule.selector //=> 'a b' trimmed and cleaned from comments
459
+ rule._selector.raw //=> 'a /**/ b' original raw value
460
+ ```
461
+
462
+ But PostCSS saves raw content to be able to stringify it to CSS, if you don’t
463
+ change origin value. As you can remember, PostCSS tries to save origin CSS
464
+ byte-to-byte, when it’s possible:
465
+
466
+ ```js
467
+ rule.toString() //=> 'a /**/ b {}' with comment
468
+
469
+ rule.selector = '.link b';
470
+ rule.toString() //=> '.link b {}' you change value and origin comment was gone
471
+ ```
472
+
473
+ ### Containers
474
+
475
+ `Root`, `AtRule` and `Rule` nodes can contain children in `rules` or `decls`
476
+ property.
477
+
478
+ There are common method to work with children:
479
+
480
+ * `append(newChild)` to add child at the end of children list.
481
+ * `prepend(newChild)` to add child at the beginning of children list.
482
+ * `insertBefore(existsChild, newChild)` to insert new child before some
483
+ existent child.
484
+ * `insertAfter(existsChild, newChild)` to insert new child after some
485
+ existent child.
486
+ * `remove(existsChild)` to remove child.
487
+ * `index(existsChild)` to return child index.
488
+ * `some(fn)` to return true if `fn` returns true on any child.
489
+ * `every(fn)` to return true if `fn` returns true on all children.
490
+
491
+ Methods `insertBefore`, `insertAfter` and `remove` can receive child node
492
+ or child index as an `existsChild` argument. Have in mind that child index works
493
+ much faster.
494
+
495
+ There are two shorcuts to get first and last child:
496
+
497
+ ```js
498
+ rule.first //=> First declaration in rule
499
+ rule.last //=> Last declaration in rule
500
+ ```
501
+
502
+ ### Children
503
+
504
+ `Comment`, `AtRule`, `Rule` and `Declaration` nodes should be wrapped
505
+ in other nodes.
506
+
507
+ All children contain `parent` property with parent node:
508
+
509
+ ```js
510
+ rule.decls[0].parent == rule;
511
+ ```
512
+
513
+ All children has `removeSelf()` method:
514
+
515
+ ```js
516
+ rule.decls[0].removeSelf();
517
+ ```
518
+
519
+ But `remove(index)` in parent with child index is much faster:
520
+
521
+ ```js
522
+ rule.each(function (decl, i) {
523
+ rule.remove(i);
524
+ });
525
+ ```
526
+
527
+ ### Iterators
528
+
529
+ All parent nodes have `each` method to iterate over children nodes:
530
+
531
+ ```js
532
+ root = postcss.parse('a { color: black; display: none }');
533
+
534
+ root.each(function (rule, i) {
535
+ if ( rule.type == 'rule' ) {
536
+ console.log(rule.selector, i); // Will log "a 0"
537
+ }
538
+ });
539
+
540
+ root.rules[0].each(function (decl, i) {
541
+ if ( rule.type != 'comment' ) {
542
+ console.log(decl.prop, i); // Will log "color 0" and "display 1"
543
+ }
544
+ });
545
+ ```
546
+
547
+ Unlike `for {}`-cycle construct or `Array#forEach()` this iterator is safe.
548
+ You can mutate children while iteration and it will fix current index:
549
+
550
+ ```js
551
+ rule.rules.forEach(function (decl, i) {
552
+ rule.prepend( decl.clone() );
553
+ // Will be infinity cycle, because on prepend current declaration become
554
+ // second and next index will go to current declaration again
555
+ });
556
+
557
+ rule.each(function (decl, i) {
558
+ rule.prepend( decl.clone() );
559
+ // Will work correct (once clone each declaration), because after prepend
560
+ // iterator index will be recalculated
561
+ });
562
+ ```
563
+
564
+ Because CSS have nested structure, PostCSS also contains recursive iterator
565
+ `eachInside`:
566
+
567
+ ```js
568
+ root.eachInside(function (node, i) {
569
+ console.log(node.type ' inside ' + parent.type);
570
+ });
571
+ ```
572
+
573
+ There are also shortcuts to recursive iterate all nodes of specific type:
574
+
575
+ ```js
576
+ root.eachDecl(function (decl, i) {
577
+ // Each declaration inside root
578
+ });
579
+
580
+ root.eachRule(function (rule, i) {
581
+ // Each rule inside root and any nested at-rules
582
+ });
583
+
584
+ root.eachAtRule(function (atRule, i) {
585
+ // Each at-rule inside root and any nested at-rules
586
+ });
587
+
588
+ root.eachComment(function (comment, i) {
589
+ // Each comment inside root
590
+ })
591
+ ```
592
+
593
+ ### Root Node
594
+
595
+ `Root` node contains entire CSS tree. Its children can be only `Comment`,
596
+ `AtRule` or `Rule` nodes in `rules` property.
597
+
598
+ You can create a new root using shortcut:
599
+
600
+ ```js
601
+ var root = postcss.root();
602
+ ```
603
+
604
+ Method `toString()` stringifies entire node tree to CSS string:
605
+
606
+ ```js
607
+ root = postcss.parse(css);
608
+ root.toString() == css;
609
+ ```
610
+
611
+ ### Comment Node
612
+
613
+ ```css
614
+ /* Block comment */
615
+ ```
616
+
617
+ PostCSS creates `Comment` nodes only for comments between rules or declarations.
618
+ Comments inside selectors, at-rules params, declaration values will be stored
619
+ in Raw property.
620
+
621
+ `Comment` has only one property: `text` with trimmed text inside comment.
622
+
623
+ ```js
624
+ comment.text //=> "Block comment"
625
+ ```
626
+
627
+ You can create a new comment using shortcut:
628
+
629
+ ```js
630
+ var comment = postcss.comment({ text: 'New comment' });
631
+ ```
632
+
633
+ ### AtRule Node
634
+
635
+ ```css
636
+ @charset 'utf-8';
637
+
638
+ @font-face {
639
+ font-family: 'Cool'
640
+ }
641
+
642
+ @media print {
643
+ img { display: none }
644
+ }
645
+ ```
646
+
647
+ `AtRule` has two own properties: `name` and `params`.
648
+
649
+ As you see, some at-rules don’t contain any children (like `@charset`
650
+ or `@import`), some of at-rules can contain only declarations
651
+ (like `@font-face` or `@page`), but most of them can contain rules
652
+ and nested at-rules (like `@media`, `@keyframes` and others).
653
+
654
+ Parser selects `AtRule` content type by its name. If you create `AtRule`
655
+ node manually, it will detect own content type with new child type on first
656
+ `append` or other add method call:
657
+
658
+ ```js
659
+ var atRule = postcss.atRule({ name: '-x-animations' });
660
+ atRule.rules //=> undefined
661
+ atRule.decls //=> undefined
662
+
663
+ atRule.append( postcss.rule({ selector: 'from' }) );
664
+ atRule.rules.length //=> 1
665
+ atRule.decls //=> undefined
666
+ ```
667
+
668
+ You can create a new at-rule using shortcut:
669
+
670
+ ```js
671
+ var atRule = postcss.atRule({ name: 'charset', params: 'utf-8' });
672
+ ```
673
+
674
+ ### Rule Node
675
+
676
+ ```css
677
+ a {
678
+ color: black;
679
+ }
680
+ ```
681
+
682
+ `Rule` node has `selector` property and contains `Declaration` and `Comment`
683
+ children in `decls` property.
684
+
685
+ There is `selectors` shortcut, which return array:
686
+
687
+ ```js
688
+ rule.selector //=> "a, b"
689
+ rule.selectors //=> ['a', 'b']
690
+ ```
691
+
692
+ You can miss `Declaration` constructor in `append` and other insert methods:
693
+
694
+ ```js
695
+ rule.append({ prop: 'color', value: 'black' });
696
+ ```
697
+
698
+ Property `semicolon` indicates if last declaration in rule has semicolon or not:
699
+
700
+ ```js
701
+ var root = postcss.parse('a { color: black }');
702
+ root.rules[0].semicolon //=> false
703
+
704
+ var root = postcss.parse('a { color: black; }');
705
+ root.rules[0].semicolon //=> true
706
+ ```
707
+
708
+ You can create a new rule using shortcut:
709
+
710
+ ```js
711
+ var rule = postcss.rule({ selector: 'a' });
712
+ ```
713
+
714
+ ### Declaration Node
715
+
716
+ ```css
717
+ color: black
718
+ ```
719
+
720
+ `Declaration` node has `prop`, `value` and `important` properties.
721
+
722
+ You can create a new declaration using this shortcut:
723
+
724
+ ```js
725
+ var decl = postcss.decl({ prop: 'color', value: 'black' });
726
+ ```
727
+
728
+ Or use short form in rule’s `append()` and other add methods:
729
+
730
+ ```js
731
+ rule.append({ prop: 'color', value: 'black' });
732
+ ```