@atlaskit/react-ufo 3.4.3 → 3.4.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.4.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#130268](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/130268)
8
+ [`597d9e0c5582d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/597d9e0c5582d) -
9
+ use requestIdleCallback for payload creation if its available
10
+
11
+ ## 3.4.4
12
+
13
+ ### Patch Changes
14
+
15
+ - [#127813](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/127813)
16
+ [`8b9582e990f11`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8b9582e990f11) -
17
+ Adding additional check to ensure that process variable is defined
18
+
3
19
  ## 3.4.3
4
20
 
5
21
  ### Patch Changes
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.init = void 0;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _scheduler = require("scheduler");
11
10
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
11
  var _additionalPayload = require("../additional-payload");
13
12
  var _config = require("../config");
@@ -15,12 +14,13 @@ var _createExperimentalInteractionMetricsPayload = require("../create-experiment
15
14
  var _hiddenTiming = require("../hidden-timing");
16
15
  var _interactionMetrics = require("../interaction-metrics");
17
16
  var _vc = require("../vc");
17
+ var _scheduleIdleCallback = _interopRequireDefault(require("./schedule-idle-callback"));
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
20
  var initialized = false;
21
21
  function sinkInteraction(instance, payloadPackage) {
22
22
  (0, _interactionMetrics.sinkInteractionHandler)(function (interactionId, interaction) {
23
- (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_IdlePriority, function () {
23
+ (0, _scheduleIdleCallback.default)(function () {
24
24
  payloadPackage.createPayloads(interactionId, interaction).then(function (payloads) {
25
25
  // NOTE: This API is used by the UFO DevTool Chrome Extension and Criterion
26
26
  var devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
@@ -38,7 +38,7 @@ function sinkInteraction(instance, payloadPackage) {
38
38
  }
39
39
  function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
40
40
  (0, _createExperimentalInteractionMetricsPayload.sinkExperimentalHandler)(function (interactionId, interaction) {
41
- (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_IdlePriority, function () {
41
+ (0, _scheduleIdleCallback.default)(function () {
42
42
  var payloadPromise = payloadPackage.createExperimentalMetricsPayload(interactionId, interaction);
43
43
  payloadPromise.then(function (payload) {
44
44
  if (payload) {
@@ -57,7 +57,7 @@ function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
57
57
  }
58
58
  function sinkPostInteractionLog(instance, createPostInteractionLogPayload) {
59
59
  (0, _interactionMetrics.sinkPostInteractionLogHandler)(function (logOutput) {
60
- (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_IdlePriority, function () {
60
+ (0, _scheduleIdleCallback.default)(function () {
61
61
  var payload = createPostInteractionLogPayload(logOutput);
62
62
  if (payload) {
63
63
  // NOTE: This API is used by the UFO DevTool Chrome Extension and also by Criterion
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = scheduleIdleCallback;
7
+ var _scheduler = require("scheduler");
8
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
+ function scheduleIdleCallback(work) {
10
+ if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function' && (0, _platformFeatureFlags.fg)('ufo_payload_use_idle_callback')) {
11
+ window.requestIdleCallback(work);
12
+ } else {
13
+ (0, _scheduler.unstable_scheduleCallback)(_scheduler.unstable_IdlePriority, work);
14
+ }
15
+ }
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getVCObserver = void 0;
8
+ exports.isEnvironmentSupported = isEnvironmentSupported;
8
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -16,6 +17,7 @@ var _config = require("../config");
16
17
  var _noOpVcObserver = require("./no-op-vc-observer");
17
18
  var _vcObserver = require("./vc-observer");
18
19
  var _vcObserverNew = _interopRequireDefault(require("./vc-observer-new"));
20
+ var _process;
19
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
20
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
21
23
  var VCObserverWrapper = /*#__PURE__*/function () {
@@ -113,9 +115,10 @@ var VCObserverWrapper = /*#__PURE__*/function () {
113
115
  (_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 || _this$oldVCObserver7.setReactRootRenderStop(stopTime || performance.now());
114
116
  }
115
117
  }]);
116
- }();
117
- var isReactSSR = Boolean(process.env.REACT_SSR);
118
+ }(); // Some products set this variable to indicate it is running in SSR
118
119
  var isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
120
+ // Other products set this other variable to indicate it is running in SSR
121
+ var isReactSSR = typeof process !== 'undefined' && Boolean(((_process = process) === null || _process === void 0 || (_process = _process.env) === null || _process === void 0 ? void 0 : _process.REACT_SSR) || false);
119
122
  function isEnvironmentSupported() {
120
123
  // SSR environment aren't supported
121
124
  if (isReactSSR || isServer) {
@@ -1,4 +1,3 @@
1
- import { unstable_IdlePriority as idlePriority, unstable_scheduleCallback as scheduleCallback } from 'scheduler';
2
1
  import { fg } from '@atlaskit/platform-feature-flags';
3
2
  import { startLighthouseObserver } from '../additional-payload';
4
3
  import { setUFOConfig } from '../config';
@@ -6,10 +5,11 @@ import { experimentalVC, sinkExperimentalHandler } from '../create-experimental-
6
5
  import { setupHiddenTimingCapture } from '../hidden-timing';
7
6
  import { postInteractionLog, sinkInteractionHandler, sinkPostInteractionLogHandler } from '../interaction-metrics';
8
7
  import { getVCObserver } from '../vc';
8
+ import scheduleIdleCallback from './schedule-idle-callback';
9
9
  let initialized = false;
10
10
  function sinkInteraction(instance, payloadPackage) {
11
11
  sinkInteractionHandler((interactionId, interaction) => {
12
- scheduleCallback(idlePriority, () => {
12
+ scheduleIdleCallback(() => {
13
13
  payloadPackage.createPayloads(interactionId, interaction).then(payloads => {
14
14
  // NOTE: This API is used by the UFO DevTool Chrome Extension and Criterion
15
15
  const devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
@@ -27,7 +27,7 @@ function sinkInteraction(instance, payloadPackage) {
27
27
  }
28
28
  function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
29
29
  sinkExperimentalHandler((interactionId, interaction) => {
30
- scheduleCallback(idlePriority, () => {
30
+ scheduleIdleCallback(() => {
31
31
  const payloadPromise = payloadPackage.createExperimentalMetricsPayload(interactionId, interaction);
32
32
  payloadPromise.then(payload => {
33
33
  if (payload) {
@@ -46,7 +46,7 @@ function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
46
46
  }
47
47
  function sinkPostInteractionLog(instance, createPostInteractionLogPayload) {
48
48
  sinkPostInteractionLogHandler(logOutput => {
49
- scheduleCallback(idlePriority, () => {
49
+ scheduleIdleCallback(() => {
50
50
  const payload = createPostInteractionLogPayload(logOutput);
51
51
  if (payload) {
52
52
  // NOTE: This API is used by the UFO DevTool Chrome Extension and also by Criterion
@@ -0,0 +1,9 @@
1
+ import { unstable_IdlePriority as idlePriority, unstable_scheduleCallback as scheduleCallback } from 'scheduler';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ export default function scheduleIdleCallback(work) {
4
+ if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function' && fg('ufo_payload_use_idle_callback')) {
5
+ window.requestIdleCallback(work);
6
+ } else {
7
+ scheduleCallback(idlePriority, work);
8
+ }
9
+ }
@@ -1,3 +1,4 @@
1
+ var _process, _process$env;
1
2
  import { fg } from '@atlaskit/platform-feature-flags';
2
3
  import { getConfig } from '../config';
3
4
  import { VCObserverNOOP } from './no-op-vc-observer';
@@ -59,9 +60,12 @@ class VCObserverWrapper {
59
60
  (_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 ? void 0 : _this$oldVCObserver7.setReactRootRenderStop(stopTime || performance.now());
60
61
  }
61
62
  }
62
- const isReactSSR = Boolean(process.env.REACT_SSR);
63
- const isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
64
- function isEnvironmentSupported() {
63
+
64
+ // Some products set this variable to indicate it is running in SSR
65
+ let isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
66
+ // Other products set this other variable to indicate it is running in SSR
67
+ let isReactSSR = typeof process !== 'undefined' && Boolean(((_process = process) === null || _process === void 0 ? void 0 : (_process$env = _process.env) === null || _process$env === void 0 ? void 0 : _process$env.REACT_SSR) || false);
68
+ export function isEnvironmentSupported() {
65
69
  // SSR environment aren't supported
66
70
  if (isReactSSR || isServer) {
67
71
  return false;
@@ -1,5 +1,4 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import { unstable_IdlePriority as idlePriority, unstable_scheduleCallback as scheduleCallback } from 'scheduler';
3
2
  import { fg } from '@atlaskit/platform-feature-flags';
4
3
  import { startLighthouseObserver } from '../additional-payload';
5
4
  import { setUFOConfig } from '../config';
@@ -7,10 +6,11 @@ import { experimentalVC, sinkExperimentalHandler } from '../create-experimental-
7
6
  import { setupHiddenTimingCapture } from '../hidden-timing';
8
7
  import { postInteractionLog, sinkInteractionHandler, sinkPostInteractionLogHandler } from '../interaction-metrics';
9
8
  import { getVCObserver } from '../vc';
9
+ import scheduleIdleCallback from './schedule-idle-callback';
10
10
  var initialized = false;
11
11
  function sinkInteraction(instance, payloadPackage) {
12
12
  sinkInteractionHandler(function (interactionId, interaction) {
13
- scheduleCallback(idlePriority, function () {
13
+ scheduleIdleCallback(function () {
14
14
  payloadPackage.createPayloads(interactionId, interaction).then(function (payloads) {
15
15
  // NOTE: This API is used by the UFO DevTool Chrome Extension and Criterion
16
16
  var devToolObserver = globalThis.__ufo_devtool_onUfoPayload;
@@ -28,7 +28,7 @@ function sinkInteraction(instance, payloadPackage) {
28
28
  }
29
29
  function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
30
30
  sinkExperimentalHandler(function (interactionId, interaction) {
31
- scheduleCallback(idlePriority, function () {
31
+ scheduleIdleCallback(function () {
32
32
  var payloadPromise = payloadPackage.createExperimentalMetricsPayload(interactionId, interaction);
33
33
  payloadPromise.then(function (payload) {
34
34
  if (payload) {
@@ -47,7 +47,7 @@ function sinkExperimentalInteractionMetrics(instance, payloadPackage) {
47
47
  }
48
48
  function sinkPostInteractionLog(instance, createPostInteractionLogPayload) {
49
49
  sinkPostInteractionLogHandler(function (logOutput) {
50
- scheduleCallback(idlePriority, function () {
50
+ scheduleIdleCallback(function () {
51
51
  var payload = createPostInteractionLogPayload(logOutput);
52
52
  if (payload) {
53
53
  // NOTE: This API is used by the UFO DevTool Chrome Extension and also by Criterion
@@ -0,0 +1,9 @@
1
+ import { unstable_IdlePriority as idlePriority, unstable_scheduleCallback as scheduleCallback } from 'scheduler';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ export default function scheduleIdleCallback(work) {
4
+ if (typeof window !== 'undefined' && typeof window.requestIdleCallback === 'function' && fg('ufo_payload_use_idle_callback')) {
5
+ window.requestIdleCallback(work);
6
+ } else {
7
+ scheduleCallback(idlePriority, work);
8
+ }
9
+ }
@@ -3,6 +3,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
4
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
5
  import _createClass from "@babel/runtime/helpers/createClass";
6
+ var _process;
6
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
8
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
9
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -106,10 +107,11 @@ var VCObserverWrapper = /*#__PURE__*/function () {
106
107
  (_this$oldVCObserver7 = this.oldVCObserver) === null || _this$oldVCObserver7 === void 0 || _this$oldVCObserver7.setReactRootRenderStop(stopTime || performance.now());
107
108
  }
108
109
  }]);
109
- }();
110
- var isReactSSR = Boolean(process.env.REACT_SSR);
110
+ }(); // Some products set this variable to indicate it is running in SSR
111
111
  var isServer = Boolean(globalThis === null || globalThis === void 0 ? void 0 : globalThis.__SERVER__);
112
- function isEnvironmentSupported() {
112
+ // Other products set this other variable to indicate it is running in SSR
113
+ var isReactSSR = typeof process !== 'undefined' && Boolean(((_process = process) === null || _process === void 0 || (_process = _process.env) === null || _process === void 0 ? void 0 : _process.REACT_SSR) || false);
114
+ export function isEnvironmentSupported() {
113
115
  // SSR environment aren't supported
114
116
  if (isReactSSR || isServer) {
115
117
  return false;
@@ -0,0 +1 @@
1
+ export default function scheduleIdleCallback(work: () => void): void;
@@ -2,4 +2,5 @@ import type { VCObserverInterface, VCObserverOptions } from './types';
2
2
  declare global {
3
3
  var __vcObserver: VCObserverInterface;
4
4
  }
5
+ export declare function isEnvironmentSupported(): boolean;
5
6
  export declare const getVCObserver: (opts?: VCObserverOptions) => VCObserverInterface;
@@ -0,0 +1 @@
1
+ export default function scheduleIdleCallback(work: () => void): void;
@@ -2,4 +2,5 @@ import type { VCObserverInterface, VCObserverOptions } from './types';
2
2
  declare global {
3
3
  var __vcObserver: VCObserverInterface;
4
4
  }
5
+ export declare function isEnvironmentSupported(): boolean;
5
6
  export declare const getVCObserver: (opts?: VCObserverOptions) => VCObserverInterface;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.4.3",
3
+ "version": "3.4.5",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -183,6 +183,9 @@
183
183
  },
184
184
  "ufo_lcp": {
185
185
  "type": "boolean"
186
+ },
187
+ "ufo_payload_use_idle_callback": {
188
+ "type": "boolean"
186
189
  }
187
190
  }
188
191
  }