Compare commits

...

7 Commits

Author SHA1 Message Date
32c33cad5b 2.0.14 2019-05-14 17:28:38 +02:00
0758e58fa4 fix(core): update 2019-05-14 17:28:38 +02:00
e981ca6bdd 2.0.13 2018-12-14 18:36:23 +01:00
2853a48708 fix(core): update 2018-12-14 18:36:23 +01:00
389f8f4a52 2.0.12 2018-12-14 18:35:31 +01:00
c1a537f052 fix(core): update 2018-12-14 18:35:31 +01:00
4701341c0c ensure WSL compatibility 2018-12-13 16:50:32 +01:00
5 changed files with 919 additions and 318 deletions

View File

@ -1,6 +1,7 @@
{
"npmci": {
"npmGlobalTools": [],
"npmAccessLevel": "public"
"npmAccessLevel": "public",
"npmRegistryUrl": "registry.npmjs.org"
}
}

1166
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
{
"name": "@pushrocks/smartshell",
"private": false,
"version": "2.0.11",
"version": "2.0.14",
"description": "shell actions designed as promises",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
@ -24,16 +24,16 @@
},
"homepage": "https://gitlab.com/pushrocks/smartshell#README",
"devDependencies": {
"@gitzone/tsbuild": "^2.0.22",
"@gitzone/tsrun": "^1.1.13",
"@gitzone/tstest": "^1.0.15",
"@pushrocks/tapbundle": "^3.0.7",
"@types/node": "^10.12.10",
"tslint": "^5.11.0",
"tslint-config-prettier": "^1.16.0"
"@gitzone/tsbuild": "^2.1.11",
"@gitzone/tsrun": "^1.2.6",
"@gitzone/tstest": "^1.0.20",
"@pushrocks/tapbundle": "^3.0.9",
"@types/node": "^12.0.1",
"tslint": "^5.16.0",
"tslint-config-prettier": "^1.18.0"
},
"dependencies": {
"@pushrocks/smartpromise": "^2.0.5",
"@pushrocks/smartpromise": "^3.0.2",
"@types/which": "^1.3.1",
"which": "^1.3.1"
}

View File

@ -33,11 +33,26 @@ export class ShellEnv {
*/
private _setPath(commandStringArg): string {
let commandResult = commandStringArg;
let commandPath = process.env.PATH;
let commandPaths: string[] = [];
commandPaths = commandPaths.concat(process.env.PATH.split(':'));
if (process.env.SMARTSHELL_PATH) {
commandPath = `${commandPath}:${process.env.SMARTSHELL_PATH}`;
commandPaths = commandPaths.concat(process.env.SMARTSHELL_PATH.split(':'));
}
commandResult = `PATH=${commandPath} && ${commandStringArg}`;
// lets filter for unwanted paths
// Windows WSL
commandPaths = commandPaths.filter(commandPathArg => {
const filterResult =
!commandPathArg.startsWith('/mnt/c/') &&
!commandPathArg.startsWith('Files/1E') &&
!commandPathArg.includes(' ');
if (!filterResult) {
// console.log(`${commandPathArg} will be filtered!`);
}
return filterResult;
});
commandResult = `PATH=${commandPaths.join(':')} && ${commandStringArg}`;
return commandResult;
}
@ -60,12 +75,21 @@ export class ShellEnv {
createEnvExecString(commandArg): string {
let commandResult = '';
if (this.executor === 'bash') {
let sourceString = '';
for (let sourceFilePath of this.sourceFileArray) {
sourceString = sourceString + `source ${sourceFilePath} && `;
}
commandResult = `bash -c '${sourceString} ${commandArg}'`;
let sourceString = '';
switch (this.executor) {
case 'bash':
for (let sourceFilePath of this.sourceFileArray) {
sourceString = sourceString + `source ${sourceFilePath} && `;
}
commandResult = `bash -c '${sourceString}${commandArg}'`;
break;
case 'sh':
for (let sourceFilePath of this.sourceFileArray) {
sourceString = sourceString + `source ${sourceFilePath} && `;
}
commandResult = `${sourceString}${commandArg}`;
break;
}
commandResult = this._setPath(commandResult);
return commandResult;

View File

@ -13,13 +13,7 @@ export class ShellLog {
*/
logToConsole(dataArg: string | Buffer): void {
// make sure we have the data as string
const dataString: string = (() => {
if (Buffer.isBuffer(dataArg)) {
return dataArg.toString();
}
return dataArg;
})();
process.stdout.write(dataString);
process.stdout.write(dataArg);
}
/**