|
1 | 1 | var globby = require("globby"); |
2 | 2 | var resolve = require("resolve"); |
3 | 3 | var argv = require("yargs") |
4 | | - .usage('Usage: $0 -use plugin [--config|-c config.json] [--output|-o output.css] [input.css]') |
| 4 | + .usage('Usage: $0 [--use|-u] plugin [--config|-c config.json] [--output|-o output.css] [input.css]') |
5 | 5 | .example('postcss --use autoprefixer -c options.json -o screen.css screen.css', |
6 | 6 | 'Use autoprefixer as a postcss plugin') |
7 | 7 | .example('postcss --use autoprefixer --autoprefixer.browsers "> 5%" -o screen.css screen.css', |
@@ -128,10 +128,12 @@ if (mapOptions === 'file') { |
128 | 128 |
|
129 | 129 | var async = require('neo-async'); |
130 | 130 | var fs = require('fs'); |
| 131 | +var path = require('path'); |
131 | 132 | var readFile = require('read-file-stdin'); |
132 | 133 | var path = require('path'); |
133 | 134 | var postcss = require('postcss'); |
134 | 135 | var processor = postcss(plugins); |
| 136 | +var mkdirp = require('mkdirp'); |
135 | 137 |
|
136 | 138 | // hook for dynamically updating the list of watched files |
137 | 139 | global.watchCSS = function() {}; |
@@ -247,5 +249,12 @@ function writeFile(name, content, fn) { |
247 | 249 | process.stdout.write(content); |
248 | 250 | return fn(); |
249 | 251 | } |
250 | | - fs.writeFile(name, content, fn); |
| 252 | + |
| 253 | + mkdirp(path.dirname(name), function (err) { |
| 254 | + if (err) { |
| 255 | + fn(err); |
| 256 | + } else { |
| 257 | + fs.writeFile(name, content, fn); |
| 258 | + } |
| 259 | + }); |
251 | 260 | } |
0 commit comments