update-browserslist-db
Advanced tools
Comparing version 1.0.8 to 1.0.9
12
index.js
@@ -7,3 +7,3 @@ let childProcess = require('child_process') | ||
const { detectIndent } = require('./utils') | ||
const { detectIndent, detectEOL } = require('./utils') | ||
@@ -166,7 +166,13 @@ function BrowserslistUpdateError(message) { | ||
let updatedLockFile | ||
if (lock.mode === 'yarn') { | ||
return updateYarnLockfile(lock, latest) | ||
updatedLockFile = updateYarnLockfile(lock, latest) | ||
} else { | ||
return updateNpmLockfile(lock, latest) | ||
updatedLockFile = updateNpmLockfile(lock, latest) | ||
} | ||
updatedLockFile.content = updatedLockFile.content.replace( | ||
/\n/g, | ||
detectEOL(lock.content) | ||
) | ||
return updatedLockFile | ||
} | ||
@@ -173,0 +179,0 @@ |
{ | ||
"name": "update-browserslist-db", | ||
"version": "1.0.8", | ||
"version": "1.0.9", | ||
"description": "CLI tool to update caniuse-lite to refresh target browsers from Browserslist config", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
23
utils.js
@@ -0,9 +1,22 @@ | ||
const { EOL } = require('os') | ||
const getFirstRegexpMatchOrDefault = (text, regexp, defaultValue) => { | ||
regexp.lastIndex = 0 // https://stackoverflow.com/a/11477448/4536543 | ||
let match = regexp.exec(text) | ||
if (match !== null) return match[1] | ||
return defaultValue | ||
} | ||
const DEFAULT_INDENT = ' ' | ||
const INDENT_REGEXP = /^([ \t]+)[^\s]/m | ||
module.exports.detectIndent = text => { | ||
let match = INDENT_REGEXP.exec(text) | ||
if (match !== null) return match[1] | ||
return DEFAULT_INDENT | ||
} | ||
module.exports.detectIndent = text => | ||
getFirstRegexpMatchOrDefault(text, INDENT_REGEXP, DEFAULT_INDENT) | ||
module.exports.DEFAULT_INDENT = DEFAULT_INDENT | ||
const DEFAULT_EOL = EOL | ||
const EOL_REGEXP = /(\r\n|\n|\r)/g | ||
module.exports.detectEOL = text => | ||
getFirstRegexpMatchOrDefault(text, EOL_REGEXP, DEFAULT_EOL) | ||
module.exports.DEFAULT_EOL = DEFAULT_EOL |
13445
350