Просмотр исходного кода

fix(slackbot-proxy): Use pkg up (#4384)

* add read-pkg-up

* read with read-pkg-up
Yuki Takei 4 лет назад
Родитель
Сommit
0ef26cb754

+ 4 - 1
packages/slackbot-proxy/package.json

@@ -20,7 +20,9 @@
     "lint": "eslint src --ext .ts",
     "lint:fix": "eslint src --ext .ts --fix"
   },
-  "// comments for dependencies": {},
+  "// comments for dependencies": {
+    "read-pkg-up": "v8 doesn't support CommonJS anymore. https://github.com/sindresorhus/read-pkg-up/issues/17"
+  },
   "dependencies": {
     "@godaddy/terminus": "^4.8.0",
     "@growi/slack": "^4.4.6-RC.0",
@@ -43,6 +45,7 @@
     "http-errors": "^1.8.0",
     "method-override": "^3.0.0",
     "mysql2": "^2.2.5",
+    "read-pkg-up": "^7.0.1",
     "typeorm": "^0.2.31",
     "universal-bunyan": "^0.9.2"
   },

+ 4 - 2
packages/slackbot-proxy/src/controllers/top.ts

@@ -2,6 +2,8 @@ import {
   Controller, Get, Inject, View,
 } from '@tsed/common';
 
+import readPkgUp from 'read-pkg-up';
+
 import { requiredScopes } from '@growi/slack';
 import { InstallerService } from '~/services/InstallerService';
 
@@ -22,8 +24,8 @@ export class TopCtrl {
     });
 
     // use await import in order to avoid typescript-eslint error
-    const fs = await import('fs');
-    const growiBotVersion = JSON.parse(fs.readFileSync('../../package.json', 'utf8')).version;
+    const readPkgUpResult = await readPkgUp();
+    const growiBotVersion = readPkgUpResult?.packageJson.version;
 
     return { url, isOfficialMode, growiBotVersion };
   }