3
3
*/
4
4
5
5
var eol = require ( 'os' ) . EOL ,
6
- flags = require ( 'meow' ) ( { pkg : '../package.json' } ) . flags ,
6
+ flags = { } ,
7
7
fs = require ( 'fs' ) ,
8
8
package = require ( '../package.json' ) ,
9
9
path = require ( 'path' ) ;
10
10
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
+
11
29
/**
12
30
* Get Runtime Info
13
31
*
@@ -42,8 +60,8 @@ function getRuntimeInfo() {
42
60
function getBinaryName ( ) {
43
61
var binaryName ;
44
62
45
- if ( flags . binaryName ) {
46
- binaryName = flags . binaryName ;
63
+ if ( flags [ '--sass-binary-name' ] ) {
64
+ binaryName = flags [ '--sass-binary-name' ] ;
47
65
} else if ( package . nodeSassConfig && package . nodeSassConfig . binaryName ) {
48
66
binaryName = package . nodeSassConfig . binaryName ;
49
67
} else if ( process . env . SASS_BINARY_NAME ) {
@@ -68,7 +86,7 @@ function getBinaryName() {
68
86
*/
69
87
70
88
function getBinaryUrl ( ) {
71
- return flags . binaryUrl ||
89
+ return flags [ '--sass-binary-url' ] ||
72
90
package . nodeSassConfig ? package . nodeSassConfig . binaryUrl : null ||
73
91
process . env . SASS_BINARY_URL ||
74
92
[ 'https://github.com/sass/node-sass/releases/download//v' ,
@@ -88,6 +106,8 @@ function getVersionInfo() {
88
106
] . join ( eol ) ;
89
107
}
90
108
109
+ collectArguments ( process . argv . slice ( 2 ) ) ;
110
+
91
111
var sass = process . sass = { } ;
92
112
93
113
sass . binaryName = getBinaryName ( ) ;
@@ -112,8 +132,8 @@ sass.versionInfo = getVersionInfo();
112
132
sass . getBinaryPath = function ( throwIfNotExists ) {
113
133
var binaryPath ;
114
134
115
- if ( flags . binaryPath ) {
116
- binaryPath = flags . binaryPath ;
135
+ if ( flags [ '--sass-binary-path' ] ) {
136
+ binaryPath = flags [ '--sass-binary-path' ] ;
117
137
} else if ( package . nodeSassConfig && package . nodeSassConfig . binaryPath ) {
118
138
binaryPath = package . nodeSassConfig . binaryPath ;
119
139
} else if ( process . env . SASS_BINARY_PATH ) {
0 commit comments