diff options
| author | Aya Morisawa <AyaMorisawa4869@gmail.com> | 2016-12-31 02:55:56 +0900 |
|---|---|---|
| committer | Aya Morisawa <AyaMorisawa4869@gmail.com> | 2016-12-31 02:55:56 +0900 |
| commit | 677f3b559efa8eaaf63ee8c094187a80e477231e (patch) | |
| tree | 2c01980bbd31288cf771e1d2ffba89d8398fa4e6 /src/utils/checkDependencies.ts | |
| parent | Use configLogger for logging (diff) | |
| download | misskey-677f3b559efa8eaaf63ee8c094187a80e477231e.tar.gz misskey-677f3b559efa8eaaf63ee8c094187a80e477231e.tar.bz2 misskey-677f3b559efa8eaaf63ee8c094187a80e477231e.zip | |
Use lowerCamelCase for file name
Diffstat (limited to 'src/utils/checkDependencies.ts')
| -rw-r--r-- | src/utils/checkDependencies.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/utils/checkDependencies.ts b/src/utils/checkDependencies.ts new file mode 100644 index 0000000000..af2b5fb6bf --- /dev/null +++ b/src/utils/checkDependencies.ts @@ -0,0 +1,29 @@ +import Logger from './logger'; +import { exec } from 'shelljs'; + +export default function(): void { + checkDependency('Node.js', 'node -v', x => x.match(/^v(.*)\r?\n$/)); + checkDependency('npm', 'npm -v', x => x.match(/^(.*)\r?\n$/)); + checkDependency('MongoDB', 'mongo --version', x => x.match(/^MongoDB shell version: (.*)\r?\n$/)); + checkDependency('Redis', 'redis-server --version', x => x.match(/v=([0-9\.]*)/)); +} + +function checkDependency(serviceName: string, command: string, transform: (x: string) => RegExpMatchArray): void { + const code = { + success: 0, + notFound: 127 + }; + let depsLogger = new Logger('Deps'); + const x = exec(command, { silent: true }) as any; + if (x.code === code.success) { + let ver = transform(x.stdout); + if (ver != null) { + depsLogger.info(`${serviceName} ${ver[1]} found`); + } else { + depsLogger.warn(`${serviceName} not found`); + depsLogger.warn(`Regexp used for version check of ${serviceName} is probably messed up`); + } + } else if (x.code === code.notFound) { + depsLogger.warn(`${serviceName} not found`); + } +} |