Commit a3b826d3 by Adeel

Code: Parses arguments manually.

Issue URL: #769.
PR URL: #770.
parent d72463da
......@@ -3,12 +3,30 @@
*/
var eol = require('os').EOL,
flags = require('meow')({ pkg: '../package.json' }).flags,
flags = {},
fs = require('fs'),
package = require('../package.json'),
path = require('path');
/**
* Collect Arguments
*
* @param {Array} args
* @api private
*/
function collectArguments(args) {
for (var i = 0; i < args.length; i += 2) {
if (args[i].lastIndexOf('--', 0) !== 0) {
--i;
continue;
}
flags[args[i]] = args[i + 1];
}
}
/**
* Get Runtime Info
*
* @api private
......@@ -42,8 +60,8 @@ function getRuntimeInfo() {
function getBinaryName() {
var binaryName;
if (flags.binaryName) {
binaryName = flags.binaryName;
if (flags['--sass-binary-name']) {
binaryName = flags['--sass-binary-name'];
} else if (package.nodeSassConfig && package.nodeSassConfig.binaryName) {
binaryName = package.nodeSassConfig.binaryName;
} else if (process.env.SASS_BINARY_NAME) {
......@@ -68,7 +86,7 @@ function getBinaryName() {
*/
function getBinaryUrl() {
return flags.binaryUrl ||
return flags['--sass-binary-url'] ||
package.nodeSassConfig ? package.nodeSassConfig.binaryUrl : null ||
process.env.SASS_BINARY_URL ||
['https://github.com/sass/node-sass/releases/download//v',
......@@ -88,6 +106,8 @@ function getVersionInfo() {
].join(eol);
}
collectArguments(process.argv.slice(2));
var sass = process.sass = {};
sass.binaryName = getBinaryName();
......@@ -112,8 +132,8 @@ sass.versionInfo = getVersionInfo();
sass.getBinaryPath = function(throwIfNotExists) {
var binaryPath;
if (flags.binaryPath) {
binaryPath = flags.binaryPath;
if (flags['--sass-binary-path']) {
binaryPath = flags['--sass-binary-path'];
} else if (package.nodeSassConfig && package.nodeSassConfig.binaryPath) {
binaryPath = package.nodeSassConfig.binaryPath;
} else if (process.env.SASS_BINARY_PATH) {
......
......@@ -762,7 +762,7 @@ describe('api', function() {
delete require.cache[extensionsPath];
process.argv = argv.concat(['--binary-name', 'foo', '--binary-path', 'bar']);
process.argv = argv.concat(['--sass-binary-name', 'foo', '--sass-binary-path', 'bar']);
require(extensionsPath);
......
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