Merge pull request #75 from armchair-philosophy/drop_shelljs

[utils] dependencyInfo: use child_process instead of shelljs
This commit is contained in:
syuilo⭐️ 2017-01-25 22:38:45 +09:00 committed by GitHub
commit c52fbef0ef
2 changed files with 5 additions and 11 deletions

View file

@ -58,7 +58,6 @@
"@types/request": "0.0.39", "@types/request": "0.0.39",
"@types/rimraf": "0.0.28", "@types/rimraf": "0.0.28",
"@types/serve-favicon": "2.2.28", "@types/serve-favicon": "2.2.28",
"@types/shelljs": "0.3.33",
"@types/twitter": "0.0.28", "@types/twitter": "0.0.28",
"@types/uuid": "2.0.29", "@types/uuid": "2.0.29",
"@types/vinyl-buffer": "0.0.28", "@types/vinyl-buffer": "0.0.28",
@ -139,7 +138,6 @@
"rndstr": "1.0.0", "rndstr": "1.0.0",
"s-age": "1.1.0", "s-age": "1.1.0",
"serve-favicon": "2.3.2", "serve-favicon": "2.3.2",
"shelljs": "0.7.6",
"subdomain": "1.2.0", "subdomain": "1.2.0",
"summaly": "1.3.0", "summaly": "1.3.0",
"swagger-jsdoc": "1.9.0", "swagger-jsdoc": "1.9.0",

View file

@ -1,5 +1,5 @@
import Logger from './logger'; import Logger from './logger';
import { exec } from 'shelljs'; import { execSync } from 'child_process';
export default class { export default class {
logger: Logger; logger: Logger;
@ -15,20 +15,16 @@ export default class {
} }
show(serviceName: string, command: string, transform: (x: string) => RegExpMatchArray): void { show(serviceName: string, command: string, transform: (x: string) => RegExpMatchArray): void {
const code = { try {
success: 0, const x = execSync(command, { stdio: ['pipe', 'pipe', 'ignore'] });
notFound: 127 const ver = transform(x.toString());
};
const x = exec(command, { silent: true }) as any;
if (x.code === code.success) {
let ver = transform(x.stdout);
if (ver != null) { if (ver != null) {
this.logger.info(`${serviceName} ${ver[1]} found`); this.logger.info(`${serviceName} ${ver[1]} found`);
} else { } else {
this.logger.warn(`${serviceName} not found`); this.logger.warn(`${serviceName} not found`);
this.logger.warn(`Regexp used for version check of ${serviceName} is probably messed up`); this.logger.warn(`Regexp used for version check of ${serviceName} is probably messed up`);
} }
} else if (x.code === code.notFound) { } catch (e) {
this.logger.warn(`${serviceName} not found`); this.logger.warn(`${serviceName} not found`);
} }
} }