Initial commit
This commit is contained in:
22
node_modules/execa/lib/methods/script.js
generated
vendored
Normal file
22
node_modules/execa/lib/methods/script.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
// Sets `$.sync` and `$.s`
|
||||
export const setScriptSync = (boundExeca, createNested, boundOptions) => {
|
||||
boundExeca.sync = createNested(mapScriptSync, boundOptions);
|
||||
boundExeca.s = boundExeca.sync;
|
||||
};
|
||||
|
||||
// Main logic for `$`
|
||||
export const mapScriptAsync = ({options}) => getScriptOptions(options);
|
||||
|
||||
// Main logic for `$.sync`
|
||||
const mapScriptSync = ({options}) => ({...getScriptOptions(options), isSync: true});
|
||||
|
||||
// `$` is like `execa` but with script-friendly options: `{stdin: 'inherit', preferLocal: true}`
|
||||
const getScriptOptions = options => ({options: {...getScriptStdinOption(options), ...options}});
|
||||
|
||||
const getScriptStdinOption = ({input, inputFile, stdio}) => input === undefined && inputFile === undefined && stdio === undefined
|
||||
? {stdin: 'inherit'}
|
||||
: {};
|
||||
|
||||
// When using $(...).pipe(...), most script-friendly options should apply to both commands.
|
||||
// However, some options (like `stdin: 'inherit'`) would create issues with piping, i.e. cannot be deep.
|
||||
export const deepScriptOptions = {preferLocal: true};
|
||||
Reference in New Issue
Block a user