Initial commit (from f5274cbdce4ae7c9e4b937dcdf95ac70ae436d5f)
This commit is contained in:
commit
28ccc3db2d
13974 changed files with 2618436 additions and 0 deletions
38
node_modules/jest-changed-files/node_modules/execa/lib/command.js
generated
vendored
Normal file
38
node_modules/jest-changed-files/node_modules/execa/lib/command.js
generated
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
'use strict';
|
||||
const SPACES_REGEXP = / +/g;
|
||||
|
||||
const joinCommand = (file, args = []) => {
|
||||
if (!Array.isArray(args)) {
|
||||
return file;
|
||||
}
|
||||
|
||||
return [file, ...args].join(' ');
|
||||
};
|
||||
|
||||
// Allow spaces to be escaped by a backslash if not meant as a delimiter
|
||||
const handleEscaping = (tokens, token, index) => {
|
||||
if (index === 0) {
|
||||
return [token];
|
||||
}
|
||||
|
||||
const previousToken = tokens[tokens.length - 1];
|
||||
|
||||
if (previousToken.endsWith('\\')) {
|
||||
return [...tokens.slice(0, -1), `${previousToken.slice(0, -1)} ${token}`];
|
||||
}
|
||||
|
||||
return [...tokens, token];
|
||||
};
|
||||
|
||||
// Handle `execa.command()`
|
||||
const parseCommand = command => {
|
||||
return command
|
||||
.trim()
|
||||
.split(SPACES_REGEXP)
|
||||
.reduce(handleEscaping, []);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
joinCommand,
|
||||
parseCommand
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue