@@ -10,6 +10,7 @@ import { randomUUID } from 'crypto';
1010import * as https from 'https' ;
1111import * as os from 'os' ;
1212import * as querystring from 'querystring' ;
13+ import * as semver from 'semver' ;
1314import type { CommandContext } from '../command-builder/command-module' ;
1415import { ngDebug } from '../utilities/environment-options' ;
1516import { assertIsError } from '../utilities/error' ;
@@ -52,8 +53,7 @@ export class AnalyticsCollector {
5253
5354 this . requestParameterStringified = querystring . stringify ( requestParameters ) ;
5455
55- // Remove the `v` at the beginning.
56- const nodeVersion = process . version . substring ( 1 ) ;
56+ const parsedVersion = semver . parse ( process . version ) ;
5757 const packageManagerVersion = context . packageManager . version ;
5858
5959 this . userParameters = {
@@ -62,8 +62,10 @@ export class AnalyticsCollector {
6262 [ UserCustomDimension . OsArchitecture ] : os . arch ( ) ,
6363 // While User ID is being collected by GA, this is not visible in reports/for filtering.
6464 [ UserCustomDimension . UserId ] : userId ,
65- [ UserCustomDimension . NodeVersion ] : nodeVersion ,
66- [ UserCustomDimension . NodeMajorVersion ] : + nodeVersion . split ( '.' , 1 ) [ 0 ] ,
65+ [ UserCustomDimension . NodeVersion ] : parsedVersion
66+ ? `${ parsedVersion . major } .${ parsedVersion . minor } .${ parsedVersion . patch } `
67+ : 'other' ,
68+ [ UserCustomDimension . NodeMajorVersion ] : parsedVersion ?. major ,
6769 [ UserCustomDimension . PackageManager ] : context . packageManager . name ,
6870 [ UserCustomDimension . PackageManagerVersion ] : packageManagerVersion ,
6971 [ UserCustomDimension . PackageManagerMajorVersion ] : packageManagerVersion
0 commit comments