@atlaskit/editor-plugin-base 1.11.0 → 1.11.1
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 +9 -0
- package/dist/cjs/pm-plugins/frozen-editor.js +7 -5
- package/dist/cjs/utils/getTimeSince.js +16 -0
- package/dist/cjs/utils/input-latency-tracking.js +4 -3
- package/dist/es2019/pm-plugins/frozen-editor.js +3 -1
- package/dist/es2019/utils/getTimeSince.js +8 -0
- package/dist/es2019/utils/input-latency-tracking.js +2 -1
- package/dist/esm/pm-plugins/frozen-editor.js +3 -1
- package/dist/esm/utils/getTimeSince.js +10 -0
- package/dist/esm/utils/input-latency-tracking.js +2 -1
- package/dist/types/utils/getTimeSince.d.ts +8 -0
- package/dist/types-ts4.5/utils/getTimeSince.d.ts +8 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-base
|
|
2
2
|
|
|
3
|
+
## 1.11.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#137736](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/137736)
|
|
8
|
+
[`2a88fdd213838`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2a88fdd213838) -
|
|
9
|
+
Introducing new smaller refined entry-points for editor-common to reduce bundle size.
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
3
12
|
## 1.11.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -7,9 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.frozenEditorPluginKey = exports.default = exports.NORMAL_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = exports.DEFAULT_TRACK_SEVERITY_THRESHOLD_NORMAL = exports.DEFAULT_TRACK_SEVERITY_THRESHOLD_DEGRADED = exports.DEFAULT_FREEZE_THRESHOLD = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
10
|
+
var _countNodes = require("@atlaskit/editor-common/count-nodes");
|
|
11
|
+
var _isPerformanceApiAvailable = require("@atlaskit/editor-common/is-performance-api-available");
|
|
10
12
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
11
13
|
var _ufo = require("@atlaskit/editor-common/ufo");
|
|
12
|
-
var
|
|
14
|
+
var _analytics2 = require("@atlaskit/editor-common/utils/analytics");
|
|
13
15
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
14
16
|
var _frozenEditor = require("../utils/frozen-editor");
|
|
15
17
|
var _inputLatencyTracking = _interopRequireDefault(require("../utils/input-latency-tracking"));
|
|
@@ -66,7 +68,7 @@ var _default = exports.default = function _default(contextIdentifierPlugin) {
|
|
|
66
68
|
if (state === prevNodeCountState) {
|
|
67
69
|
return prevNodeCount;
|
|
68
70
|
}
|
|
69
|
-
prevNodeCount = allowCountNodes ? (0,
|
|
71
|
+
prevNodeCount = allowCountNodes ? (0, _countNodes.countNodes)(state) : {};
|
|
70
72
|
prevNodeCountState = state;
|
|
71
73
|
return prevNodeCount;
|
|
72
74
|
};
|
|
@@ -120,7 +122,7 @@ var _default = exports.default = function _default(contextIdentifierPlugin) {
|
|
|
120
122
|
};
|
|
121
123
|
return new _safePlugin.SafePlugin({
|
|
122
124
|
key: frozenEditorPluginKey,
|
|
123
|
-
props: (0,
|
|
125
|
+
props: (0, _isPerformanceApiAvailable.isPerformanceAPIAvailable)() ? {
|
|
124
126
|
handleTextInput: function handleTextInput(view) {
|
|
125
127
|
if (browserFreezeTracking !== null && browserFreezeTracking !== void 0 && browserFreezeTracking.trackInteractionType) {
|
|
126
128
|
interactionType = _analytics.BROWSER_FREEZE_INTERACTION_TYPE.TYPING;
|
|
@@ -159,7 +161,7 @@ var _default = exports.default = function _default(contextIdentifierPlugin) {
|
|
|
159
161
|
} : undefined
|
|
160
162
|
} : undefined,
|
|
161
163
|
view: function view(_view) {
|
|
162
|
-
if (!(0,
|
|
164
|
+
if (!(0, _isPerformanceApiAvailable.isPerformanceObserverAvailable)()) {
|
|
163
165
|
return {};
|
|
164
166
|
}
|
|
165
167
|
var experienceStore = ufo ? _ufo.ExperienceStore.getInstance(_view) : undefined;
|
|
@@ -238,7 +240,7 @@ var _default = exports.default = function _default(contextIdentifierPlugin) {
|
|
|
238
240
|
for (var i = 0; i < perfEntries.length; i++) {
|
|
239
241
|
var duration = perfEntries[i].duration;
|
|
240
242
|
if (duration > freezeThreshold) {
|
|
241
|
-
dispatchLongTaskEvent(contextIdentifierPlugin)(dispatchAnalyticsEvent, _view, duration, getNodeCount, browserFreezeTracking !== null && browserFreezeTracking !== void 0 && browserFreezeTracking.trackInteractionType ? interactionType : undefined, browserFreezeTracking !== null && browserFreezeTracking !== void 0 && browserFreezeTracking.trackSeverity ? (0,
|
|
243
|
+
dispatchLongTaskEvent(contextIdentifierPlugin)(dispatchAnalyticsEvent, _view, duration, getNodeCount, browserFreezeTracking !== null && browserFreezeTracking !== void 0 && browserFreezeTracking.trackInteractionType ? interactionType : undefined, browserFreezeTracking !== null && browserFreezeTracking !== void 0 && browserFreezeTracking.trackSeverity ? (0, _analytics2.getAnalyticsEventSeverity)(duration, browserFreezeTracking.severityNormalThreshold || NORMAL_SEVERITY_THRESHOLD, browserFreezeTracking.severityDegradedThreshold || DEGRADED_SEVERITY_THRESHOLD) : undefined);
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
246
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTimeSince = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Calculate the difference between performance.now() and the given startTime.
|
|
9
|
+
* This allows for the timing to be overridable during tests.
|
|
10
|
+
*
|
|
11
|
+
* @param startTime DOMHighResTimeStamp
|
|
12
|
+
* @returns DOMHighResTimeStamp
|
|
13
|
+
*/
|
|
14
|
+
var getTimeSince = exports.getTimeSince = function getTimeSince(startTime) {
|
|
15
|
+
return performance.now() - startTime;
|
|
16
|
+
};
|
|
@@ -8,7 +8,8 @@ exports.default = void 0;
|
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var
|
|
11
|
+
var _analytics = require("@atlaskit/editor-common/utils/analytics");
|
|
12
|
+
var _getTimeSince = require("./getTimeSince");
|
|
12
13
|
var InputLatencyTracker = exports.default = /*#__PURE__*/function () {
|
|
13
14
|
function InputLatencyTracker(_ref) {
|
|
14
15
|
var samplingRate = _ref.samplingRate,
|
|
@@ -47,7 +48,7 @@ var InputLatencyTracker = exports.default = /*#__PURE__*/function () {
|
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
50
|
var isSlow = false;
|
|
50
|
-
var time = (0,
|
|
51
|
+
var time = (0, _getTimeSince.getTimeSince)(currentStart);
|
|
51
52
|
_this.push(time);
|
|
52
53
|
if (time > _this.slowThreshold) {
|
|
53
54
|
var _this$onSlowInput;
|
|
@@ -97,7 +98,7 @@ var InputLatencyTracker = exports.default = /*#__PURE__*/function () {
|
|
|
97
98
|
}, {
|
|
98
99
|
key: "severity",
|
|
99
100
|
value: function severity(time) {
|
|
100
|
-
return (0,
|
|
101
|
+
return (0, _analytics.getAnalyticsEventSeverity)(time, this.normalThreshold, this.degradedThreshold);
|
|
101
102
|
}
|
|
102
103
|
}, {
|
|
103
104
|
key: "getLast",
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ACTION, ACTION_SUBJECT, BROWSER_FREEZE_INTERACTION_TYPE, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
2
|
+
import { countNodes } from '@atlaskit/editor-common/count-nodes';
|
|
3
|
+
import { isPerformanceAPIAvailable, isPerformanceObserverAvailable } from '@atlaskit/editor-common/is-performance-api-available';
|
|
2
4
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
3
5
|
import { EditorExperience, ExperienceStore } from '@atlaskit/editor-common/ufo';
|
|
4
|
-
import {
|
|
6
|
+
import { getAnalyticsEventSeverity } from '@atlaskit/editor-common/utils/analytics';
|
|
5
7
|
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
6
8
|
import { setInteractionType } from '../utils/frozen-editor';
|
|
7
9
|
import InputLatencyTracker from '../utils/input-latency-tracking';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the difference between performance.now() and the given startTime.
|
|
3
|
+
* This allows for the timing to be overridable during tests.
|
|
4
|
+
*
|
|
5
|
+
* @param startTime DOMHighResTimeStamp
|
|
6
|
+
* @returns DOMHighResTimeStamp
|
|
7
|
+
*/
|
|
8
|
+
export const getTimeSince = startTime => performance.now() - startTime;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import { getAnalyticsEventSeverity
|
|
2
|
+
import { getAnalyticsEventSeverity } from '@atlaskit/editor-common/utils/analytics';
|
|
3
|
+
import { getTimeSince } from './getTimeSince';
|
|
3
4
|
export default class InputLatencyTracker {
|
|
4
5
|
constructor({
|
|
5
6
|
samplingRate,
|
|
@@ -2,9 +2,11 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
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; }
|
|
3
3
|
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; }
|
|
4
4
|
import { ACTION, ACTION_SUBJECT, BROWSER_FREEZE_INTERACTION_TYPE, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
5
|
+
import { countNodes } from '@atlaskit/editor-common/count-nodes';
|
|
6
|
+
import { isPerformanceAPIAvailable, isPerformanceObserverAvailable } from '@atlaskit/editor-common/is-performance-api-available';
|
|
5
7
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
6
8
|
import { EditorExperience, ExperienceStore } from '@atlaskit/editor-common/ufo';
|
|
7
|
-
import {
|
|
9
|
+
import { getAnalyticsEventSeverity } from '@atlaskit/editor-common/utils/analytics';
|
|
8
10
|
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
9
11
|
import { setInteractionType } from '../utils/frozen-editor';
|
|
10
12
|
import InputLatencyTracker from '../utils/input-latency-tracking';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the difference between performance.now() and the given startTime.
|
|
3
|
+
* This allows for the timing to be overridable during tests.
|
|
4
|
+
*
|
|
5
|
+
* @param startTime DOMHighResTimeStamp
|
|
6
|
+
* @returns DOMHighResTimeStamp
|
|
7
|
+
*/
|
|
8
|
+
export var getTimeSince = function getTimeSince(startTime) {
|
|
9
|
+
return performance.now() - startTime;
|
|
10
|
+
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
2
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
-
import { getAnalyticsEventSeverity
|
|
4
|
+
import { getAnalyticsEventSeverity } from '@atlaskit/editor-common/utils/analytics';
|
|
5
|
+
import { getTimeSince } from './getTimeSince';
|
|
5
6
|
var InputLatencyTracker = /*#__PURE__*/function () {
|
|
6
7
|
function InputLatencyTracker(_ref) {
|
|
7
8
|
var samplingRate = _ref.samplingRate,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the difference between performance.now() and the given startTime.
|
|
3
|
+
* This allows for the timing to be overridable during tests.
|
|
4
|
+
*
|
|
5
|
+
* @param startTime DOMHighResTimeStamp
|
|
6
|
+
* @returns DOMHighResTimeStamp
|
|
7
|
+
*/
|
|
8
|
+
export declare const getTimeSince: (startTime: DOMHighResTimeStamp) => DOMHighResTimeStamp;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculate the difference between performance.now() and the given startTime.
|
|
3
|
+
* This allows for the timing to be overridable during tests.
|
|
4
|
+
*
|
|
5
|
+
* @param startTime DOMHighResTimeStamp
|
|
6
|
+
* @returns DOMHighResTimeStamp
|
|
7
|
+
*/
|
|
8
|
+
export declare const getTimeSince: (startTime: DOMHighResTimeStamp) => DOMHighResTimeStamp;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-base",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"description": "Base plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@atlaskit/adf-schema": "^40.9.0",
|
|
35
|
-
"@atlaskit/editor-common": "^88.
|
|
35
|
+
"@atlaskit/editor-common": "^88.11.0",
|
|
36
36
|
"@atlaskit/editor-plugin-context-identifier": "^1.3.0",
|
|
37
37
|
"@atlaskit/editor-plugin-feature-flags": "^1.2.0",
|
|
38
38
|
"@atlaskit/editor-prosemirror": "5.0.1",
|