Skip to content

Commit edc5e77

Browse files
authored
feat(cli-repl): add Node.js version to build info (#1042)
This is not strictly a piece of *build* information, but in cases where we ask for the `--build-info` output, we most likely also want to know the Node.js version (in particular, if this is in “packaged” mode, i.e. homebrew or npm, then the exact Node.js version used can vary).
1 parent fa1dbe4 commit edc5e77

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

packages/cli-repl/src/build-info.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import os from 'os';
22

33
export type BuildInfo = {
44
version: string;
5+
nodeVersion: string;
56
distributionKind: 'unpackaged' | 'packaged' | 'compiled';
67
buildArch: string;
78
buildPlatform: string;
@@ -12,7 +13,7 @@ export type BuildInfo = {
1213

1314
export function buildInfo(): BuildInfo {
1415
try {
15-
const buildInfo = { ...require('./build-info.json') };
16+
const buildInfo = { ...require('./build-info.json'), nodeVersion: process.version };
1617
delete buildInfo.segmentApiKey;
1718
return buildInfo;
1819
} catch {
@@ -24,7 +25,8 @@ export function buildInfo(): BuildInfo {
2425
buildPlatform: os.platform(),
2526
buildTarget: 'unknown',
2627
buildTime: null,
27-
gitVersion: null
28+
gitVersion: null,
29+
nodeVersion: process.version
2830
};
2931
}
3032
}

packages/cli-repl/test/e2e.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ describe('e2e', function() {
3838
const data = JSON.parse(shell.output);
3939
expect(Object.keys(data)).to.deep.equal([
4040
'version', 'distributionKind', 'buildArch', 'buildPlatform',
41-
'buildTarget', 'buildTime', 'gitVersion'
41+
'buildTarget', 'buildTime', 'gitVersion', 'nodeVersion'
4242
]);
4343
expect(data.version).to.be.a('string');
44+
expect(data.nodeVersion).to.be.a('string');
4445
expect(data.distributionKind).to.be.a('string');
4546
expect(['unpackaged', 'packaged', 'compiled'].includes(data.distributionKind)).to.be.true;
4647
expect(data.buildArch).to.be.a('string');

0 commit comments

Comments
 (0)