@salesforce/plugin-telemetry 2.3.8 → 2.3.9-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/telemetry.js CHANGED
@@ -1,25 +1,43 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const child_process_1 = require("child_process");
10
- const crypto_1 = require("crypto");
11
- const fs = require("fs");
12
- const os_1 = require("os");
13
- const path_1 = require("path");
14
- const kit_1 = require("@salesforce/kit");
15
- const ts_types_1 = require("@salesforce/ts-types");
16
- const debugger_1 = require("./debugger");
7
+ import cp from 'node:child_process';
8
+ import { randomBytes } from 'node:crypto';
9
+ import fs from 'node:fs';
10
+ import { dirname } from 'node:path';
11
+ import { fileURLToPath } from 'node:url';
12
+ import { EOL, tmpdir } from 'node:os';
13
+ import { join } from 'node:path';
14
+ import { AsyncCreatable, env } from '@salesforce/kit';
15
+ import { isBoolean, isNumber, isString } from '@salesforce/ts-types';
16
+ import { debug } from './debugger.js';
17
17
  const CLI_ID_FILE_NAME = 'CLIID.txt';
18
18
  const USAGE_ACKNOWLEDGEMENT_FILE_NAME = 'acknowledgedUsageCollection.json';
19
- class Telemetry extends kit_1.AsyncCreatable {
19
+ export default class Telemetry extends AsyncCreatable {
20
+ /**
21
+ * The name of event telemetry type.
22
+ */
23
+ static EVENT = 'EVENT';
24
+ /**
25
+ * The name of exception telemetry type.
26
+ */
27
+ static EXCEPTION = 'EXCEPTION';
28
+ /**
29
+ * The temporary directory where telemetry log files are stored.
30
+ */
31
+ static tmpDir = env.getString('SF_TELEMETRY_PATH', join(tmpdir(), 'sf-telemetry'));
32
+ static cacheDir;
33
+ static executable = 'sfdx';
34
+ static telemetryTmpFile = join(Telemetry.tmpDir, `telemetry-${Telemetry.generateRandomId()}.log`);
35
+ static acknowledged = false;
36
+ firstRun = false;
37
+ fileDescriptor;
38
+ cliId;
20
39
  constructor(options) {
21
40
  super(options);
22
- this.firstRun = false;
23
41
  if (options.cacheDir && !Telemetry.cacheDir) {
24
42
  Telemetry.cacheDir = options.cacheDir;
25
43
  }
@@ -40,28 +58,28 @@ class Telemetry extends kit_1.AsyncCreatable {
40
58
  return;
41
59
  }
42
60
  if (!Telemetry.cacheDir) {
43
- (0, debugger_1.debug)('Unable to check acknowledgment path because Telemetry.cacheDir is not set yet');
61
+ debug('Unable to check acknowledgment path because Telemetry.cacheDir is not set yet');
44
62
  return;
45
63
  }
46
- const acknowledgementFilePath = (0, path_1.join)(Telemetry.cacheDir, USAGE_ACKNOWLEDGEMENT_FILE_NAME);
64
+ const acknowledgementFilePath = join(Telemetry.cacheDir, USAGE_ACKNOWLEDGEMENT_FILE_NAME);
47
65
  try {
48
66
  await fs.promises.access(acknowledgementFilePath, fs.constants.R_OK);
49
- (0, debugger_1.debug)('Usage acknowledgement file already exists');
67
+ debug('Usage acknowledgement file already exists');
50
68
  }
51
69
  catch (error) {
52
70
  const err = error;
53
71
  if (err.code === 'ENOENT') {
54
- if (!kit_1.env.getBoolean('SF_TELEMETRY_DISABLE_ACKNOWLEDGEMENT', false)) {
72
+ if (!env.getBoolean('SF_TELEMETRY_DISABLE_ACKNOWLEDGEMENT', false)) {
55
73
  // eslint-disable-next-line no-console
56
- console.warn(`You acknowledge and agree that the CLI tool may collect usage information, user environment, and crash reports for the purposes of providing services or functions that are relevant to use of the CLI tool and product improvements.${os_1.EOL}`);
74
+ console.warn(`You acknowledge and agree that the CLI tool may collect usage information, user environment, and crash reports for the purposes of providing services or functions that are relevant to use of the CLI tool and product improvements.${EOL}`);
57
75
  }
58
76
  Telemetry.acknowledged = true;
59
77
  await fs.promises.mkdir(Telemetry.cacheDir, { recursive: true });
60
78
  await fs.promises.writeFile(acknowledgementFilePath, JSON.stringify({ acknowledged: true }));
61
- (0, debugger_1.debug)('Wrote usage acknowledgement file', acknowledgementFilePath);
79
+ debug('Wrote usage acknowledgement file', acknowledgementFilePath);
62
80
  }
63
81
  else {
64
- (0, debugger_1.debug)('Could not access', acknowledgementFilePath, 'DUE TO:', err.code, err.message);
82
+ debug('Could not access', acknowledgementFilePath, 'DUE TO:', err.code, err.message);
65
83
  }
66
84
  }
67
85
  }
@@ -136,7 +154,7 @@ class Telemetry extends kit_1.AsyncCreatable {
136
154
  }
137
155
  }
138
156
  static generateRandomId() {
139
- return (0, crypto_1.randomBytes)(20).toString('hex');
157
+ return randomBytes(20).toString('hex');
140
158
  }
141
159
  // eslint-disable-next-line class-methods-use-this
142
160
  getTelemetryFilePath() {
@@ -145,12 +163,12 @@ class Telemetry extends kit_1.AsyncCreatable {
145
163
  getCLIId() {
146
164
  if (this.cliId)
147
165
  return this.cliId;
148
- const cliIdPath = (0, path_1.join)(Telemetry.cacheDir, CLI_ID_FILE_NAME);
166
+ const cliIdPath = join(Telemetry.cacheDir, CLI_ID_FILE_NAME);
149
167
  try {
150
168
  this.cliId = fs.readFileSync(cliIdPath, 'utf8');
151
169
  }
152
170
  catch (err) {
153
- (0, debugger_1.debug)('Unique CLI ID not found, generating and writing new ID to ', cliIdPath);
171
+ debug('Unique CLI ID not found, generating and writing new ID to ', cliIdPath);
154
172
  this.cliId = Telemetry.generateRandomId();
155
173
  fs.writeFileSync(cliIdPath, this.cliId, 'utf8');
156
174
  // If there is not a unique ID for this CLI, consider it a first run.
@@ -167,7 +185,7 @@ class Telemetry extends kit_1.AsyncCreatable {
167
185
  const dataToRecord = Object.keys(data).reduce((map, key) => {
168
186
  const value = data[key];
169
187
  const isException = data.type === Telemetry.EXCEPTION && key === 'error';
170
- const validType = (0, ts_types_1.isString)(value) || (0, ts_types_1.isBoolean)(value) || (0, ts_types_1.isNumber)(value);
188
+ const validType = isString(value) || isBoolean(value) || isNumber(value);
171
189
  if (isException || validType) {
172
190
  map[key] = value;
173
191
  }
@@ -188,18 +206,18 @@ class Telemetry extends kit_1.AsyncCreatable {
188
206
  // Replace HOME for GDPR.
189
207
  dataToRecord.requestorLocation = locations[1].replace(process.env.HOME ?? '', '');
190
208
  }
191
- (0, debugger_1.debug)('Missing event name!');
209
+ debug('Missing event name!');
192
210
  }
193
211
  // Unique to this CLI installation
194
212
  dataToRecord.cliId = this.getCLIId();
195
213
  dataToRecord.ci = Telemetry.guessCISystem();
196
214
  dataToRecord.executable = Telemetry.executable;
197
215
  try {
198
- fs.writeSync(this.fileDescriptor, JSON.stringify(dataToRecord) + os_1.EOL);
216
+ fs.writeSync(this.fileDescriptor, JSON.stringify(dataToRecord) + EOL);
199
217
  }
200
218
  catch (err) {
201
219
  const error = err;
202
- (0, debugger_1.debug)(`Error saving telemetry line to file: ${error.message}`);
220
+ debug(`Error saving telemetry line to file: ${error.message}`);
203
221
  }
204
222
  }
205
223
  recordError(error, data) {
@@ -215,40 +233,40 @@ class Telemetry extends kit_1.AsyncCreatable {
215
233
  this.record(data);
216
234
  }
217
235
  async clear() {
218
- (0, debugger_1.debug)('Deleting the log file', this.getTelemetryFilePath());
236
+ debug('Deleting the log file', this.getTelemetryFilePath());
219
237
  await fs.promises.unlink(this.getTelemetryFilePath());
220
238
  }
221
239
  async read() {
222
240
  try {
223
- (0, debugger_1.debug)(`Reading ${this.getTelemetryFilePath()}`);
241
+ debug(`Reading ${this.getTelemetryFilePath()}`);
224
242
  const data = await fs.promises.readFile(this.getTelemetryFilePath(), 'utf8');
225
243
  return data
226
- .split(os_1.EOL)
244
+ .split(EOL)
227
245
  .filter((line) => !!line)
228
246
  .map((line) => JSON.parse(line));
229
247
  }
230
248
  catch (error) {
231
249
  const err = error;
232
- (0, debugger_1.debug)(`Error reading: ${err.message}`);
250
+ debug(`Error reading: ${err.message}`);
233
251
  // If anything goes wrong, it just means a couple of lost telemetry events.
234
252
  return [];
235
253
  }
236
254
  }
237
255
  upload() {
238
256
  // Completely disconnect from this process so it doesn't wait for telemetry to upload
239
- const processPath = (0, path_1.join)(__dirname, '..', 'processes', 'upload');
240
- const telemetryDebug = kit_1.env.getBoolean('SF_TELEMETRY_DEBUG', false);
257
+ const processPath = join(dirname(fileURLToPath(import.meta.url)), '..', 'processes', 'upload.js');
258
+ const telemetryDebug = env.getBoolean('SF_TELEMETRY_DEBUG', false);
241
259
  const nodePath = process.argv[0];
242
260
  // Don't spawn if we are in telemetry debug. This allows us to run the process manually with --inspect-brk.
243
261
  if (!telemetryDebug) {
244
- (0, debugger_1.debug)(`Spawning "${nodePath} ${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}"`);
245
- (0, child_process_1.spawn)(nodePath, [processPath, Telemetry.cacheDir, this.getTelemetryFilePath()], {
262
+ debug(`Spawning "${nodePath} ${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}"`);
263
+ cp.spawn(nodePath, [processPath, Telemetry.cacheDir, this.getTelemetryFilePath()], {
246
264
  detached: true,
247
265
  stdio: 'ignore',
248
266
  }).unref();
249
267
  }
250
268
  else {
251
- (0, debugger_1.debug)(`DEBUG MODE. Run the uploader manually with the following command:${os_1.EOL}${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}`);
269
+ debug(`DEBUG MODE. Run the uploader manually with the following command:${EOL}${processPath} ${Telemetry.cacheDir} ${this.getTelemetryFilePath()}`);
252
270
  }
253
271
  }
254
272
  async init() {
@@ -261,29 +279,13 @@ class Telemetry extends kit_1.AsyncCreatable {
261
279
  catch (error) {
262
280
  const err = error;
263
281
  if (err.code === 'ENOENT') {
264
- (0, debugger_1.debug)('Telemetry temp dir does not exist, creating...');
282
+ debug('Telemetry temp dir does not exist, creating...');
265
283
  await fs.promises.mkdir(Telemetry.tmpDir, { recursive: true });
266
284
  }
267
285
  }
268
286
  // Create a file descriptor to be used
269
287
  this.fileDescriptor = fs.openSync(this.getTelemetryFilePath(), 'a');
270
- (0, debugger_1.debug)(`Using telemetry logging file ${this.getTelemetryFilePath()}`);
288
+ debug(`Using telemetry logging file ${this.getTelemetryFilePath()}`);
271
289
  }
272
290
  }
273
- exports.default = Telemetry;
274
- /**
275
- * The name of event telemetry type.
276
- */
277
- Telemetry.EVENT = 'EVENT';
278
- /**
279
- * The name of exception telemetry type.
280
- */
281
- Telemetry.EXCEPTION = 'EXCEPTION';
282
- /**
283
- * The temporary directory where telemetry log files are stored.
284
- */
285
- Telemetry.tmpDir = kit_1.env.getString('SF_TELEMETRY_PATH', (0, path_1.join)((0, os_1.tmpdir)(), 'sf-telemetry'));
286
- Telemetry.executable = 'sfdx';
287
- Telemetry.telemetryTmpFile = (0, path_1.join)(Telemetry.tmpDir, `telemetry-${Telemetry.generateRandomId()}.log`);
288
- Telemetry.acknowledged = false;
289
291
  //# sourceMappingURL=telemetry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="mocha" />
2
- import Telemetry from './telemetry';
2
+ import Telemetry from './telemetry.js';
3
3
  export interface TelemetryGlobal extends NodeJS.Global {
4
4
  cliTelemetry?: Telemetry;
5
5
  }
@@ -1,9 +1,8 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
7
+ export {};
9
8
  //# sourceMappingURL=telemetryGlobal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetryGlobal.js","sourceRoot":"","sources":["../src/telemetryGlobal.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"telemetryGlobal.js","sourceRoot":"","sources":["../src/telemetryGlobal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/lib/uploader.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export declare class Uploader {
2
2
  private telemetry;
3
+ private version;
3
4
  private constructor();
4
5
  /**
5
6
  * Sends events from telemetry.
6
7
  */
7
- static upload(cacheDir: string, telemetryFilePath: string): Promise<void>;
8
+ static upload(cacheDir: string, telemetryFilePath: string, version: string): Promise<void>;
8
9
  /**
9
10
  * Reads the telemetry events from file and sends them to the telemetry service.
10
11
  */
package/lib/uploader.js CHANGED
@@ -1,27 +1,27 @@
1
- "use strict";
2
1
  /*
3
2
  * Copyright (c) 2020, salesforce.com, inc.
4
3
  * All rights reserved.
5
4
  * Licensed under the BSD 3-Clause license.
6
5
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
6
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Uploader = void 0;
10
- const ts_types_1 = require("@salesforce/ts-types");
11
- const telemetry_1 = require("./telemetry");
12
- const debugger_1 = require("./debugger");
7
+ import { asString } from '@salesforce/ts-types';
8
+ import Telemetry from './telemetry.js';
9
+ import { debug } from './debugger.js';
13
10
  const PROJECT = 'salesforce-cli';
14
11
  const APP_INSIGHTS_KEY = '2ca64abb-6123-4c7b-bd9e-4fe73e71fe9c';
15
- class Uploader {
16
- constructor(telemetry) {
12
+ export class Uploader {
13
+ telemetry;
14
+ version;
15
+ constructor(telemetry, version) {
17
16
  this.telemetry = telemetry;
17
+ this.version = version;
18
18
  }
19
19
  /**
20
20
  * Sends events from telemetry.
21
21
  */
22
- static async upload(cacheDir, telemetryFilePath) {
23
- const telemetry = (global.cliTelemetry = await telemetry_1.default.create({ cacheDir, telemetryFilePath }));
24
- const uploader = new Uploader(telemetry);
22
+ static async upload(cacheDir, telemetryFilePath, version) {
23
+ const telemetry = (global.cliTelemetry = await Telemetry.create({ cacheDir, telemetryFilePath }));
24
+ const uploader = new Uploader(telemetry, version);
25
25
  await uploader.sendToTelemetry();
26
26
  }
27
27
  /**
@@ -40,7 +40,7 @@ class Uploader {
40
40
  }
41
41
  catch (err) {
42
42
  const error = err;
43
- (0, debugger_1.debug)(`Error creating reporter: ${error.message}`);
43
+ debug(`Error creating reporter: ${error.message}`);
44
44
  // We can't do much without a reporter, so clear the telemetry file and move on.
45
45
  await this.telemetry.clear();
46
46
  return;
@@ -48,30 +48,30 @@ class Uploader {
48
48
  try {
49
49
  const events = await this.telemetry.read();
50
50
  for (const event of events) {
51
- event.telemetryVersion = debugger_1.version;
52
- const eventType = (0, ts_types_1.asString)(event.type) ?? telemetry_1.default.EVENT;
53
- const eventName = (0, ts_types_1.asString)(event.eventName) ?? 'UNKNOWN';
51
+ event.telemetryVersion = this.version;
52
+ const eventType = asString(event.type) ?? Telemetry.EVENT;
53
+ const eventName = asString(event.eventName) ?? 'UNKNOWN';
54
54
  delete event.type;
55
55
  delete event.eventName;
56
- if (eventType === telemetry_1.default.EVENT) {
56
+ if (eventType === Telemetry.EVENT) {
57
57
  reporter.sendTelemetryEvent(eventName, event);
58
58
  }
59
- else if (eventType === telemetry_1.default.EXCEPTION) {
59
+ else if (eventType === Telemetry.EXCEPTION) {
60
60
  const error = new Error();
61
61
  // We know this is an object because it is logged as such
62
62
  const errorObject = event.error;
63
63
  delete event.error;
64
64
  Object.assign(error, errorObject);
65
- error.name = (0, ts_types_1.asString)(errorObject.name) ?? 'Unknown';
66
- error.message = (0, ts_types_1.asString)(errorObject.message) ?? 'Unknown';
67
- error.stack = (0, ts_types_1.asString)(errorObject.stack) ?? 'Unknown';
65
+ error.name = asString(errorObject.name) ?? 'Unknown';
66
+ error.message = asString(errorObject.message) ?? 'Unknown';
67
+ error.stack = asString(errorObject.stack) ?? 'Unknown';
68
68
  reporter.sendTelemetryException(error, event);
69
69
  }
70
70
  }
71
71
  }
72
72
  catch (err) {
73
73
  const error = err;
74
- (0, debugger_1.debug)(`Error reading or sending telemetry events: ${error.message}`);
74
+ debug(`Error reading or sending telemetry events: ${error.message}`);
75
75
  }
76
76
  finally {
77
77
  try {
@@ -80,7 +80,7 @@ class Uploader {
80
80
  }
81
81
  catch (err) {
82
82
  const error = err;
83
- (0, debugger_1.debug)(`Error stopping telemetry reporter: ${error.message}`);
83
+ debug(`Error stopping telemetry reporter: ${error.message}`);
84
84
  }
85
85
  finally {
86
86
  // We always want to clear the file.
@@ -89,5 +89,4 @@ class Uploader {
89
89
  }
90
90
  }
91
91
  }
92
- exports.Uploader = Uploader;
93
92
  //# sourceMappingURL=uploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}