(file)
| 149 | } |
| 150 | |
| 151 | function parsePackage(file) { |
| 152 | var text = fs |
| 153 | .readFileSync(file) |
| 154 | .toString() |
| 155 | .replace(/^\uFEFF/m, '') |
| 156 | var list |
| 157 | if (text.indexOf('"browserslist"') >= 0) { |
| 158 | list = JSON.parse(text).browserslist |
| 159 | } else if (text.indexOf('"browserlist"') >= 0) { |
| 160 | var config = JSON.parse(text) |
| 161 | if (config.browserlist && !config.browserslist) { |
| 162 | throw new BrowserslistError( |
| 163 | '`browserlist` key instead of `browserslist` in ' + file |
| 164 | ) |
| 165 | } |
| 166 | } |
| 167 | if (Array.isArray(list) || typeof list === 'string') { |
| 168 | list = { defaults: list } |
| 169 | } |
| 170 | for (var i in list) { |
| 171 | check(list[i]) |
| 172 | } |
| 173 | |
| 174 | return list |
| 175 | } |
| 176 | |
| 177 | function parsePackageOrReadConfig(file) { |
| 178 | if (file in parseConfigCache) { |
no test coverage detected
searching dependent graphs…