mirror of
https://github.com/vuejs/vue-cli.git
synced 2026-01-29 02:28:31 -06:00
28 lines
637 B
JavaScript
28 lines
637 B
JavaScript
/**
|
|
* @param {string} args
|
|
*/
|
|
exports.parseArgs = function (args) {
|
|
const parts = args.split(/\s+|=/)
|
|
const result = []
|
|
let arg
|
|
let index = 0
|
|
for (const part of parts) {
|
|
const l = part.length
|
|
if (!arg && part.charAt(0) === '"') {
|
|
arg = part.substr(1)
|
|
} else if (part.charAt(l - 1) === '"' && (
|
|
l === 1 || part.charAt(l - 2) !== '\\'
|
|
)) {
|
|
arg += args.charAt(index - 1) + part.substr(0, l - 1)
|
|
result.push(arg)
|
|
arg = null
|
|
} else if (arg) {
|
|
arg += args.charAt(index - 1) + part
|
|
} else {
|
|
result.push(part)
|
|
}
|
|
index += part.length + 1
|
|
}
|
|
return result
|
|
}
|