Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 2aa5bb6

Browse files
committed
Merge pull request #770 from am11/master
Code: Parses arguments manually
2 parents 516e574 + a3b826d commit 2aa5bb6

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

lib/extensions.js

+26-6
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,29 @@
33
*/
44

55
var eol = require('os').EOL,
6-
flags = require('meow')({ pkg: '../package.json' }).flags,
6+
flags = {},
77
fs = require('fs'),
88
package = require('../package.json'),
99
path = require('path');
1010

11+
/**
12+
* Collect Arguments
13+
*
14+
* @param {Array} args
15+
* @api private
16+
*/
17+
18+
function collectArguments(args) {
19+
for (var i = 0; i < args.length; i += 2) {
20+
if (args[i].lastIndexOf('--', 0) !== 0) {
21+
--i;
22+
continue;
23+
}
24+
25+
flags[args[i]] = args[i + 1];
26+
}
27+
}
28+
1129
/**
1230
* Get Runtime Info
1331
*
@@ -42,8 +60,8 @@ function getRuntimeInfo() {
4260
function getBinaryName() {
4361
var binaryName;
4462

45-
if (flags.binaryName) {
46-
binaryName = flags.binaryName;
63+
if (flags['--sass-binary-name']) {
64+
binaryName = flags['--sass-binary-name'];
4765
} else if (package.nodeSassConfig && package.nodeSassConfig.binaryName) {
4866
binaryName = package.nodeSassConfig.binaryName;
4967
} else if (process.env.SASS_BINARY_NAME) {
@@ -68,7 +86,7 @@ function getBinaryName() {
6886
*/
6987

7088
function getBinaryUrl() {
71-
return flags.binaryUrl ||
89+
return flags['--sass-binary-url'] ||
7290
package.nodeSassConfig ? package.nodeSassConfig.binaryUrl : null ||
7391
process.env.SASS_BINARY_URL ||
7492
['https://github.com/sass/node-sass/releases/download//v',
@@ -88,6 +106,8 @@ function getVersionInfo() {
88106
].join(eol);
89107
}
90108

109+
collectArguments(process.argv.slice(2));
110+
91111
var sass = process.sass = {};
92112

93113
sass.binaryName = getBinaryName();
@@ -112,8 +132,8 @@ sass.versionInfo = getVersionInfo();
112132
sass.getBinaryPath = function(throwIfNotExists) {
113133
var binaryPath;
114134

115-
if (flags.binaryPath) {
116-
binaryPath = flags.binaryPath;
135+
if (flags['--sass-binary-path']) {
136+
binaryPath = flags['--sass-binary-path'];
117137
} else if (package.nodeSassConfig && package.nodeSassConfig.binaryPath) {
118138
binaryPath = package.nodeSassConfig.binaryPath;
119139
} else if (process.env.SASS_BINARY_PATH) {

test/api.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ describe('api', function() {
762762

763763
delete require.cache[extensionsPath];
764764

765-
process.argv = argv.concat(['--binary-name', 'foo', '--binary-path', 'bar']);
765+
process.argv = argv.concat(['--sass-binary-name', 'foo', '--sass-binary-path', 'bar']);
766766

767767
require(extensionsPath);
768768

0 commit comments

Comments
 (0)