diff --git a/src/utils/__tests__/packageMetadata.node.js b/src/utils/__tests__/packageMetadata.node.js index 205b52e8c..ea62fac44 100644 --- a/src/utils/__tests__/packageMetadata.node.js +++ b/src/utils/__tests__/packageMetadata.node.js @@ -5,7 +5,7 @@ * @format */ -import {readCurrentRevision} from '../packageMetadata.js'; +import {readCurrentRevision} from '../packageMetadata.tsx'; test('readCurrentRevision does not return something meaningful in dev mode', async () => { const ret = await readCurrentRevision(); diff --git a/src/utils/exportData.tsx b/src/utils/exportData.tsx index 432e0115e..27aea7643 100644 --- a/src/utils/exportData.tsx +++ b/src/utils/exportData.tsx @@ -20,7 +20,7 @@ import fs from 'fs'; import uuid from 'uuid'; import {remote} from 'electron'; import {serialize, deserialize} from './serialization'; -import {readCurrentRevision} from './packageMetadata.js'; +import {readCurrentRevision} from './packageMetadata'; import {tryCatchReportPlatformFailures} from './metrics'; import {promisify} from 'util'; import promiseTimeout from './promiseTimeout'; diff --git a/src/utils/packageMetadata.js b/src/utils/packageMetadata.tsx similarity index 53% rename from src/utils/packageMetadata.js rename to src/utils/packageMetadata.tsx index eaf69ac26..fa29bdd67 100644 --- a/src/utils/packageMetadata.js +++ b/src/utils/packageMetadata.tsx @@ -7,7 +7,7 @@ import electron from 'electron'; import lodash from 'lodash'; -import isProduction from './isProduction.tsx'; +import isProduction from './isProduction'; import path from 'path'; import fs from 'fs'; import {promisify} from 'util'; @@ -17,17 +17,20 @@ const getPackageJSON = async () => { isProduction() && electron.remote ? electron.remote.app.getAppPath() : process.cwd(); - const content = await promisify(fs.readFile)(path.join(base, 'package.json')); + const content = await promisify(fs.readFile)( + path.join(base, 'package.json'), + 'utf-8', + ); return JSON.parse(content); }; -export const readCurrentRevision: () => Promise = lodash.memoize( - async () => { - // This is provided as part of the bundling process for headless. - if (global.__REVISION__) { - return global.__REVISION__; - } - const json = await getPackageJSON(); - return json.revision; - }, -); +export const readCurrentRevision: () => Promise< + string | undefined +> = lodash.memoize(async () => { + // This is provided as part of the bundling process for headless. + if (global.__REVISION__) { + return global.__REVISION__; + } + const json = await getPackageJSON(); + return json.revision; +}); diff --git a/types/nodejs.tsx b/types/nodejs.tsx index dd85c12c0..5a165885d 100644 --- a/types/nodejs.tsx +++ b/types/nodejs.tsx @@ -7,6 +7,7 @@ declare module NodeJS { interface Global { + __REVISION__: string | undefined; electronRequire: (name: string) => void; window: Window | undefined; }