@microsoft/applicationinsights-properties-js 3.3.10-nightly3.2507-08 → 3.3.10-nightly3.2507-17

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.
Files changed (58) hide show
  1. package/browser/es5/{ai.props.3.3.10-nightly3.2507-08.js → ai.props.3.3.10-nightly3.2507-17.cjs.js} +122 -35
  2. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.cjs.js.map +1 -0
  3. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.cjs.min.js +6 -0
  4. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.cjs.min.js.map +1 -0
  5. package/browser/es5/{ai.props.3.3.10-nightly3.2507-08.gbl.js → ai.props.3.3.10-nightly3.2507-17.gbl.js} +124 -10
  6. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.gbl.js.map +1 -0
  7. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.gbl.min.js +6 -0
  8. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.gbl.min.js.map +1 -0
  9. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.integrity.json +66 -0
  10. package/browser/es5/{ai.props.3.3.10-nightly3.2507-08.cjs.js → ai.props.3.3.10-nightly3.2507-17.js} +149 -8
  11. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.js.map +1 -0
  12. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.min.js +6 -0
  13. package/browser/es5/ai.props.3.3.10-nightly3.2507-17.min.js.map +1 -0
  14. package/browser/es5/ai.props.3.cjs.js +121 -7
  15. package/browser/es5/ai.props.3.cjs.js.map +1 -1
  16. package/browser/es5/ai.props.3.cjs.min.js +2 -2
  17. package/browser/es5/ai.props.3.cjs.min.js.map +1 -1
  18. package/browser/es5/ai.props.3.gbl.js +123 -9
  19. package/browser/es5/ai.props.3.gbl.js.map +1 -1
  20. package/browser/es5/ai.props.3.gbl.min.js +2 -2
  21. package/browser/es5/ai.props.3.gbl.min.js.map +1 -1
  22. package/browser/es5/ai.props.3.integrity.json +25 -25
  23. package/browser/es5/ai.props.3.js +123 -9
  24. package/browser/es5/ai.props.3.js.map +1 -1
  25. package/browser/es5/ai.props.3.min.js +2 -2
  26. package/browser/es5/ai.props.3.min.js.map +1 -1
  27. package/dist/es5/applicationinsights-properties-js.js +121 -7
  28. package/dist/es5/applicationinsights-properties-js.js.map +1 -1
  29. package/dist/es5/applicationinsights-properties-js.min.js +2 -2
  30. package/dist/es5/applicationinsights-properties-js.min.js.map +1 -1
  31. package/dist-es5/Context/Application.js +1 -1
  32. package/dist-es5/Context/Device.js +1 -1
  33. package/dist-es5/Context/Internal.js +2 -2
  34. package/dist-es5/Context/Internal.js.map +1 -1
  35. package/dist-es5/Context/Location.js +1 -1
  36. package/dist-es5/Context/Session.js +1 -1
  37. package/dist-es5/Context/TelemetryTrace.js +6 -3
  38. package/dist-es5/Context/TelemetryTrace.js.map +1 -1
  39. package/dist-es5/Context/User.js +1 -1
  40. package/dist-es5/Interfaces/IPropTelemetryContext.js +1 -1
  41. package/dist-es5/Interfaces/IPropertiesConfig.js +1 -1
  42. package/dist-es5/PropertiesPlugin.js +1 -1
  43. package/dist-es5/TelemetryContext.js +1 -1
  44. package/dist-es5/__DynamicConstants.js +1 -1
  45. package/dist-es5/applicationinsights-properties-js.js +1 -1
  46. package/package.json +3 -3
  47. package/types/applicationinsights-properties-js.d.ts +2 -2
  48. package/types/applicationinsights-properties-js.namespaced.d.ts +15 -2
  49. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.cjs.js.map +0 -1
  50. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.cjs.min.js +0 -6
  51. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.cjs.min.js.map +0 -1
  52. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.gbl.js.map +0 -1
  53. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.gbl.min.js +0 -6
  54. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.gbl.min.js.map +0 -1
  55. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.integrity.json +0 -66
  56. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.js.map +0 -1
  57. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.min.js +0 -6
  58. package/browser/es5/ai.props.3.3.10-nightly3.2507-08.min.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Application Insights JavaScript SDK - Properties Plugin, 3.3.10-nightly3.2507-08
2
+ * Application Insights JavaScript SDK - Properties Plugin, 3.3.10-nightly3.2507-17
3
3
  * Copyright (c) Microsoft and contributors. All rights reserved.
4
4
  */
5
5
  (function (global, factory) {
@@ -1164,6 +1164,8 @@
1164
1164
  var _DYN_USER_AGENT = "userAgent";
1165
1165
  var _DYN_SPLIT = "split";
1166
1166
  var _DYN_REPLACE = "replace";
1167
+ var _DYN_SUBSTRING = "substring";
1168
+ var _DYN_INDEX_OF = "indexOf";
1167
1169
  var _DYN_IS_CHILD_EVT = "isChildEvt";
1168
1170
  var _DYN_GET_CTX = "getCtx";
1169
1171
  var _DYN_SET_CTX = "setCtx";
@@ -1195,6 +1197,8 @@
1195
1197
  var STR_DOMAIN = "domain";
1196
1198
  var STR_PATH = "path";
1197
1199
  var STR_NOT_DYNAMIC_ERROR = "Not dynamic - ";
1200
+ var STR_REDACTED = "REDACTED";
1201
+ var DEFAULT_SENSITIVE_PARAMS = ["sig", "Signature", "AWSAccessKeyId", "X-Goog-Signature"];
1198
1202
 
1199
1203
  var rCamelCase = /-([a-z])/g;
1200
1204
  var rNormalizeInvalid = /([^\w\d_$])/g;
@@ -1347,6 +1351,110 @@
1347
1351
  }
1348
1352
  return _isTrident;
1349
1353
  }
1354
+ function redactUserInfo(url) {
1355
+ return url.replace(/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^:@]{1,200}):([^@]{1,200})@(.*)$/, "$1REDACTED:REDACTED@$4");
1356
+ }
1357
+ function redactQueryParameters(url, config) {
1358
+ var sensitiveParams;
1359
+ var questionMarkIndex = strIndexOf(url, "?");
1360
+ if (questionMarkIndex === -1) {
1361
+ return url;
1362
+ }
1363
+ if (config && config.redactQueryParams) {
1364
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS.concat(config.redactQueryParams);
1365
+ }
1366
+ else {
1367
+ sensitiveParams = DEFAULT_SENSITIVE_PARAMS;
1368
+ }
1369
+ var baseUrl = strSubstring(url, 0, questionMarkIndex + 1);
1370
+ var queryString = strSubstring(url, questionMarkIndex + 1);
1371
+ var fragment = STR_EMPTY;
1372
+ var hashIndex = strIndexOf(queryString, "#");
1373
+ if (hashIndex !== -1) {
1374
+ fragment = strSubstring(queryString, hashIndex);
1375
+ queryString = strSubstring(queryString, 0, hashIndex);
1376
+ }
1377
+ var hasPotentialSensitiveParam = false;
1378
+ for (var i = 0; i < sensitiveParams[_DYN_LENGTH$1 ]; i++) {
1379
+ var paramCheck = sensitiveParams[i] + "=";
1380
+ if (strIndexOf(queryString, paramCheck) !== -1) {
1381
+ hasPotentialSensitiveParam = true;
1382
+ break;
1383
+ }
1384
+ }
1385
+ if (!hasPotentialSensitiveParam) {
1386
+ return url;
1387
+ }
1388
+ var resultParts = [];
1389
+ var anyParamRedacted = false;
1390
+ if (queryString && queryString[_DYN_LENGTH$1 ]) {
1391
+ var pairs = queryString[_DYN_SPLIT ]("&");
1392
+ for (var i = 0; i < pairs[_DYN_LENGTH$1 ]; i++) {
1393
+ var pair = pairs[i];
1394
+ if (!pair) {
1395
+ continue;
1396
+ }
1397
+ var equalsIndex = strIndexOf(pair, "=");
1398
+ if (equalsIndex === -1) {
1399
+ resultParts[_DYN_PUSH ](pair);
1400
+ }
1401
+ else {
1402
+ var paramName = pair[_DYN_SUBSTRING ](0, equalsIndex);
1403
+ var paramValue = pair[_DYN_SUBSTRING ](equalsIndex + 1);
1404
+ if (paramValue === STR_EMPTY) {
1405
+ resultParts[_DYN_PUSH ](pair);
1406
+ }
1407
+ else {
1408
+ var shouldRedact = false;
1409
+ for (var j = 0; j < sensitiveParams[_DYN_LENGTH$1 ]; j++) {
1410
+ if (paramName === sensitiveParams[j]) {
1411
+ shouldRedact = true;
1412
+ anyParamRedacted = true;
1413
+ break;
1414
+ }
1415
+ }
1416
+ if (shouldRedact) {
1417
+ resultParts[_DYN_PUSH ](paramName + "=" + STR_REDACTED);
1418
+ }
1419
+ else {
1420
+ resultParts[_DYN_PUSH ](pair);
1421
+ }
1422
+ }
1423
+ }
1424
+ }
1425
+ }
1426
+ if (!anyParamRedacted) {
1427
+ return url;
1428
+ }
1429
+ return baseUrl + resultParts.join("&") + fragment;
1430
+ }
1431
+ function fieldRedaction(input, config) {
1432
+ if (!input || input[_DYN_INDEX_OF ](" ") !== -1) {
1433
+ return input;
1434
+ }
1435
+ var isRedactionDisabled = config && config.redactUrls === false;
1436
+ if (isRedactionDisabled) {
1437
+ return input;
1438
+ }
1439
+ var hasCredentials = strIndexOf(input, "@") !== -1;
1440
+ var hasQueryParams = strIndexOf(input, "?") !== -1;
1441
+ if (!hasCredentials && !hasQueryParams) {
1442
+ return input;
1443
+ }
1444
+ try {
1445
+ var result = input;
1446
+ if (hasCredentials) {
1447
+ result = redactUserInfo(input);
1448
+ }
1449
+ if (hasQueryParams) {
1450
+ result = redactQueryParameters(result, config);
1451
+ }
1452
+ return result;
1453
+ }
1454
+ catch (e) {
1455
+ return input;
1456
+ }
1457
+ }
1350
1458
 
1351
1459
  var UInt32Mask = 0x100000000;
1352
1460
  var MaxUInt32 = 0xffffffff;
@@ -1418,7 +1526,7 @@
1418
1526
  return result;
1419
1527
  }
1420
1528
 
1421
- var version = '3.3.10-nightly3.2507-08';
1529
+ var version = '3.3.10-nightly3.2507-17';
1422
1530
  var instanceName = "." + newId(6);
1423
1531
  var _dataUid = 0;
1424
1532
  function _canAcceptData(target) {
@@ -3334,7 +3442,10 @@
3334
3442
  }
3335
3443
  return valueTrunc || value;
3336
3444
  }
3337
- function dataSanitizeUrl(logger, url) {
3445
+ function dataSanitizeUrl(logger, url, config) {
3446
+ if (isString(url)) {
3447
+ url = fieldRedaction(url, config);
3448
+ }
3338
3449
  return dataSanitizeInput(logger, url, 2048 , 66 );
3339
3450
  }
3340
3451
  function dataSanitizeProperties(logger, properties) {
@@ -3425,10 +3536,10 @@
3425
3536
  };
3426
3537
  }
3427
3538
 
3428
- var StorageType = createEnumStyle({
3539
+ var StorageType = ( /* @__PURE__ */createEnumStyle({
3429
3540
  LocalStorage: 0 ,
3430
3541
  SessionStorage: 1
3431
- });
3542
+ }));
3432
3543
 
3433
3544
  var _canUseLocalStorage = undefined;
3434
3545
  var _storagePrefix = "";
@@ -3662,7 +3773,7 @@
3662
3773
  return Device;
3663
3774
  }());
3664
3775
 
3665
- var Version = '3.3.10-nightly3.2507-08';
3776
+ var Version = '3.3.10-nightly3.2507-17';
3666
3777
  var Internal = /** @class */ (function () {
3667
3778
  function Internal(config, unloadHookContainer) {
3668
3779
  var _this = this;
@@ -3837,13 +3948,16 @@
3837
3948
  }());
3838
3949
 
3839
3950
  var TelemetryTrace = /** @class */ (function () {
3840
- function TelemetryTrace(id, parentId, name, logger) {
3951
+ function TelemetryTrace(id, parentId, name, logger, config) {
3841
3952
  var _self = this;
3842
3953
  _self.traceID = id || generateW3CId();
3843
3954
  _self.parentID = parentId;
3844
3955
  var location = getLocation();
3845
3956
  if (!name && location && location.pathname) {
3846
3957
  name = location.pathname;
3958
+ if (config) {
3959
+ name = fieldRedaction(name, config);
3960
+ }
3847
3961
  }
3848
3962
  _self.name = dataSanitizeString(logger, name);
3849
3963
  }