Commit c9e3eaad by Adeel Mujahid

Merge pull request #625 from am11/master

CLI: Simplifies path resolution for dest
parents fda34bad 6ef18f81
......@@ -126,20 +126,10 @@ function getEmitter() {
*/
function getOptions(args, options) {
var dir = options.output || process.cwd();
var dir = options.output ? path.resolve(process.cwd(), options.output) : process.cwd();
options.src = args[0];
options.dest = null;
if (args[1]) { // destination is available
// now first check if the destination is absolute path
// see http://stackoverflow.com/a/24225816/863980 for Marc Diethelm's comment
if (path.resolve(args[1]) === path.normalize(args[1]).replace(/(.+)([\/|\\])$/, '$1')) {
options.dest = args[1];
} else { // since dest path is relative, resolve it w.r.t input
options.dest = path.join(dir, args[1]);
}
}
options.dest = args[1] ? path.resolve(dir, args[1]) : undefined;
if (!options.dest && !options.stdout) {
var ext = path.extname(options.src);
......@@ -204,7 +194,7 @@ function run(options, emitter) {
}
if (options.sourceMap) {
if (options.sourceMap === true) {
if (options.sourceMap === 'true') {
options.sourceMap = options.dest + '.map';
} else {
options.sourceMap = path.resolve(process.cwd(), options.sourceMap);
......
......@@ -95,6 +95,21 @@ describe('cli', function() {
});
});
it('should compile a scss file to custom destination', function(done) {
process.chdir(fixture('simple'));
var src = fixture('simple/index.scss');
var dest = fixture('simple/index-custom.css');
var bin = spawn(cli, [src, dest]);
bin.on('close', function() {
assert(fs.existsSync(dest));
fs.unlinkSync(dest);
process.chdir(__dirname);
done();
});
});
it('should compile with the --include-path option', function(done) {
var includePaths = [
'--include-path', fixture('include-path/functions'),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment