@atlaskit/link-picker 1.7.0 → 1.7.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 +6 -0
- package/dist/cjs/analytics.codegen.js +28 -0
- package/dist/cjs/common/constants.js +10 -0
- package/dist/cjs/ui/index.js +4 -4
- package/dist/cjs/ui/link-picker/index.js +12 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics.codegen.js +20 -0
- package/dist/es2019/common/constants.js +2 -0
- package/dist/es2019/ui/index.js +1 -2
- package/dist/es2019/ui/link-picker/index.js +9 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics.codegen.js +20 -0
- package/dist/esm/common/constants.js +2 -0
- package/dist/esm/ui/index.js +1 -2
- package/dist/esm/ui/link-picker/index.js +9 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics.codegen.d.ts +20 -0
- package/dist/types/common/constants.d.ts +2 -0
- package/package.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
10
|
+
*
|
|
11
|
+
* Generates analytics utilities from the package analytics spec yaml
|
|
12
|
+
*
|
|
13
|
+
* @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
|
|
14
|
+
* @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
|
|
15
|
+
*/
|
|
16
|
+
function createEventPayload(eventKey, attributes) {
|
|
17
|
+
var event = eventKey.split('.');
|
|
18
|
+
return {
|
|
19
|
+
eventType: 'ui',
|
|
20
|
+
actionSubject: event[0],
|
|
21
|
+
action: event[1],
|
|
22
|
+
actionSubjectId: event[2],
|
|
23
|
+
attributes: attributes
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var _default = createEventPayload;
|
|
28
|
+
exports.default = _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.COMPONENT_NAME = exports.ANALYTICS_CHANNEL = void 0;
|
|
7
|
+
var ANALYTICS_CHANNEL = 'media';
|
|
8
|
+
exports.ANALYTICS_CHANNEL = ANALYTICS_CHANNEL;
|
|
9
|
+
var COMPONENT_NAME = 'LinkPicker';
|
|
10
|
+
exports.COMPONENT_NAME = COMPONENT_NAME;
|
package/dist/cjs/ui/index.js
CHANGED
|
@@ -15,6 +15,8 @@ var _analyticsNext = require("@atlaskit/analytics-next");
|
|
|
15
15
|
|
|
16
16
|
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
17
17
|
|
|
18
|
+
var _constants = require("../common/constants");
|
|
19
|
+
|
|
18
20
|
var _version = require("../version.json");
|
|
19
21
|
|
|
20
22
|
var _errorBoundaryFallback = require("./error-boundary-fallback");
|
|
@@ -25,12 +27,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
27
|
|
|
26
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
29
|
|
|
28
|
-
var COMPONENT_NAME = 'LinkPicker';
|
|
29
|
-
var ANALYTICS_CHANNEL = 'media';
|
|
30
30
|
var PACKAGE_DATA = {
|
|
31
31
|
packageName: _version.name,
|
|
32
32
|
packageVersion: _version.version,
|
|
33
|
-
componentName: COMPONENT_NAME
|
|
33
|
+
componentName: _constants.COMPONENT_NAME
|
|
34
34
|
};
|
|
35
35
|
var LazyLinkPicker = (0, _reactLooselyLazy.lazyForPaint)(function () {
|
|
36
36
|
return Promise.resolve().then(function () {
|
|
@@ -39,7 +39,7 @@ var LazyLinkPicker = (0, _reactLooselyLazy.lazyForPaint)(function () {
|
|
|
39
39
|
});
|
|
40
40
|
var ComposedLinkPicker = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
41
41
|
return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsErrorBoundary, {
|
|
42
|
-
channel: ANALYTICS_CHANNEL,
|
|
42
|
+
channel: _constants.ANALYTICS_CHANNEL,
|
|
43
43
|
data: PACKAGE_DATA,
|
|
44
44
|
ErrorComponent: _errorBoundaryFallback.ErrorBoundaryFallback
|
|
45
45
|
}, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
@@ -21,6 +21,8 @@ var _react2 = require("@emotion/react");
|
|
|
21
21
|
|
|
22
22
|
var _reactIntlNext = require("react-intl-next");
|
|
23
23
|
|
|
24
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
25
|
+
|
|
24
26
|
var _button = _interopRequireWildcard(require("@atlaskit/button"));
|
|
25
27
|
|
|
26
28
|
var _form = require("@atlaskit/form");
|
|
@@ -31,6 +33,10 @@ var _tabs = _interopRequireWildcard(require("@atlaskit/tabs"));
|
|
|
31
33
|
|
|
32
34
|
var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"));
|
|
33
35
|
|
|
36
|
+
var _analytics = _interopRequireDefault(require("../../analytics.codegen"));
|
|
37
|
+
|
|
38
|
+
var _constants = require("../../common/constants");
|
|
39
|
+
|
|
34
40
|
var _usePlugins2 = require("../../services/use-plugins");
|
|
35
41
|
|
|
36
42
|
var _useSearchQuery = require("../../services/use-search-query");
|
|
@@ -116,6 +122,9 @@ function LinkPicker(_ref) {
|
|
|
116
122
|
initUrl = _ref.url,
|
|
117
123
|
initDisplayText = _ref.displayText;
|
|
118
124
|
|
|
125
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
126
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
127
|
+
|
|
119
128
|
var _useReducer = (0, _react.useReducer)(reducer, _objectSpread(_objectSpread({}, initState), {}, {
|
|
120
129
|
url: (0, _url2.normalizeUrl)(initUrl) || '',
|
|
121
130
|
displayText: initDisplayText || ''
|
|
@@ -217,6 +226,8 @@ function LinkPicker(_ref) {
|
|
|
217
226
|
}
|
|
218
227
|
}, [activeIndex, items]);
|
|
219
228
|
var handleInsert = (0, _react.useCallback)(function (url, title, inputType) {
|
|
229
|
+
var event = createAnalyticsEvent((0, _analytics.default)('form.submitted.linkPicker', {}));
|
|
230
|
+
event.fire(_constants.ANALYTICS_CHANNEL);
|
|
220
231
|
onSubmit(_objectSpread({
|
|
221
232
|
url: url,
|
|
222
233
|
displayText: displayText || null,
|
|
@@ -227,7 +238,7 @@ function LinkPicker(_ref) {
|
|
|
227
238
|
}, inputType === 'manual' ? {
|
|
228
239
|
rawUrl: state.url
|
|
229
240
|
} : {}));
|
|
230
|
-
}, [displayText, onSubmit, state.url]);
|
|
241
|
+
}, [displayText, onSubmit, state.url, createAnalyticsEvent]);
|
|
231
242
|
var handleSelected = (0, _react.useCallback)(function (objectId) {
|
|
232
243
|
var selectedItem = items === null || items === void 0 ? void 0 : items.find(function (item) {
|
|
233
244
|
return item.objectId === objectId;
|
package/dist/cjs/version.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
+
*
|
|
4
|
+
* Generates analytics utilities from the package analytics spec yaml
|
|
5
|
+
*
|
|
6
|
+
* @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
|
|
7
|
+
* @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
|
|
8
|
+
*/
|
|
9
|
+
function createEventPayload(eventKey, attributes) {
|
|
10
|
+
const event = eventKey.split('.');
|
|
11
|
+
return {
|
|
12
|
+
eventType: 'ui',
|
|
13
|
+
actionSubject: event[0],
|
|
14
|
+
action: event[1],
|
|
15
|
+
actionSubjectId: event[2],
|
|
16
|
+
attributes: attributes
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default createEventPayload;
|
package/dist/es2019/ui/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { AnalyticsErrorBoundary } from '@atlaskit/analytics-next';
|
|
3
3
|
import { LazySuspense, lazyForPaint } from 'react-loosely-lazy';
|
|
4
|
+
import { COMPONENT_NAME, ANALYTICS_CHANNEL } from '../common/constants';
|
|
4
5
|
import { name as packageName, version as packageVersion } from '../version.json';
|
|
5
6
|
import { ErrorBoundaryFallback } from './error-boundary-fallback';
|
|
6
7
|
import { LoaderFallback } from './loader-fallback';
|
|
7
|
-
const COMPONENT_NAME = 'LinkPicker';
|
|
8
|
-
const ANALYTICS_CHANNEL = 'media';
|
|
9
8
|
const PACKAGE_DATA = {
|
|
10
9
|
packageName,
|
|
11
10
|
packageVersion,
|
|
@@ -4,11 +4,14 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
4
4
|
import { Fragment, useCallback, useLayoutEffect, useReducer } from 'react';
|
|
5
5
|
import { jsx } from '@emotion/react';
|
|
6
6
|
import { useIntl, FormattedMessage } from 'react-intl-next';
|
|
7
|
+
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
7
8
|
import Button, { ButtonGroup } from '@atlaskit/button';
|
|
8
9
|
import { FormFooter } from '@atlaskit/form';
|
|
9
10
|
import EditorSearchIcon from '@atlaskit/icon/glyph/editor/search';
|
|
10
11
|
import Tabs, { Tab, TabList } from '@atlaskit/tabs';
|
|
11
12
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
13
|
+
import createEventPayload from '../../analytics.codegen';
|
|
14
|
+
import { ANALYTICS_CHANNEL } from '../../common/constants';
|
|
12
15
|
import { usePlugins } from '../../services/use-plugins';
|
|
13
16
|
import { useSearchQuery } from '../../services/use-search-query';
|
|
14
17
|
import { messages } from './messages';
|
|
@@ -74,6 +77,9 @@ function LinkPicker({
|
|
|
74
77
|
}) {
|
|
75
78
|
var _queryState$query, _items$length, _errorFallback;
|
|
76
79
|
|
|
80
|
+
const {
|
|
81
|
+
createAnalyticsEvent
|
|
82
|
+
} = useAnalyticsEvents();
|
|
77
83
|
const [state, dispatch] = useReducer(reducer, { ...initState,
|
|
78
84
|
url: normalizeUrl(initUrl) || '',
|
|
79
85
|
displayText: initDisplayText || ''
|
|
@@ -172,6 +178,8 @@ function LinkPicker({
|
|
|
172
178
|
}
|
|
173
179
|
}, [activeIndex, items]);
|
|
174
180
|
const handleInsert = useCallback((url, title, inputType) => {
|
|
181
|
+
const event = createAnalyticsEvent(createEventPayload('form.submitted.linkPicker', {}));
|
|
182
|
+
event.fire(ANALYTICS_CHANNEL);
|
|
175
183
|
onSubmit({
|
|
176
184
|
url,
|
|
177
185
|
displayText: displayText || null,
|
|
@@ -183,7 +191,7 @@ function LinkPicker({
|
|
|
183
191
|
rawUrl: state.url
|
|
184
192
|
} : {})
|
|
185
193
|
});
|
|
186
|
-
}, [displayText, onSubmit, state.url]);
|
|
194
|
+
}, [displayText, onSubmit, state.url, createAnalyticsEvent]);
|
|
187
195
|
const handleSelected = useCallback(objectId => {
|
|
188
196
|
const selectedItem = items === null || items === void 0 ? void 0 : items.find(item => item.objectId === objectId);
|
|
189
197
|
|
package/dist/es2019/version.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
+
*
|
|
4
|
+
* Generates analytics utilities from the package analytics spec yaml
|
|
5
|
+
*
|
|
6
|
+
* @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
|
|
7
|
+
* @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
|
|
8
|
+
*/
|
|
9
|
+
function createEventPayload(eventKey, attributes) {
|
|
10
|
+
var event = eventKey.split('.');
|
|
11
|
+
return {
|
|
12
|
+
eventType: 'ui',
|
|
13
|
+
actionSubject: event[0],
|
|
14
|
+
action: event[1],
|
|
15
|
+
actionSubjectId: event[2],
|
|
16
|
+
attributes: attributes
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default createEventPayload;
|
package/dist/esm/ui/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { AnalyticsErrorBoundary } from '@atlaskit/analytics-next';
|
|
3
3
|
import { LazySuspense, lazyForPaint } from 'react-loosely-lazy';
|
|
4
|
+
import { COMPONENT_NAME, ANALYTICS_CHANNEL } from '../common/constants';
|
|
4
5
|
import { name as packageName, version as packageVersion } from '../version.json';
|
|
5
6
|
import { ErrorBoundaryFallback } from './error-boundary-fallback';
|
|
6
7
|
import { LoaderFallback } from './loader-fallback';
|
|
7
|
-
var COMPONENT_NAME = 'LinkPicker';
|
|
8
|
-
var ANALYTICS_CHANNEL = 'media';
|
|
9
8
|
var PACKAGE_DATA = {
|
|
10
9
|
packageName: packageName,
|
|
11
10
|
packageVersion: packageVersion,
|
|
@@ -10,11 +10,14 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
10
10
|
import { Fragment, useCallback, useLayoutEffect, useReducer } from 'react';
|
|
11
11
|
import { jsx } from '@emotion/react';
|
|
12
12
|
import { useIntl, FormattedMessage } from 'react-intl-next';
|
|
13
|
+
import { useAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
13
14
|
import Button, { ButtonGroup } from '@atlaskit/button';
|
|
14
15
|
import { FormFooter } from '@atlaskit/form';
|
|
15
16
|
import EditorSearchIcon from '@atlaskit/icon/glyph/editor/search';
|
|
16
17
|
import Tabs, { Tab, TabList } from '@atlaskit/tabs';
|
|
17
18
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
19
|
+
import createEventPayload from '../../analytics.codegen';
|
|
20
|
+
import { ANALYTICS_CHANNEL } from '../../common/constants';
|
|
18
21
|
import { usePlugins } from '../../services/use-plugins';
|
|
19
22
|
import { useSearchQuery } from '../../services/use-search-query';
|
|
20
23
|
import { messages } from './messages';
|
|
@@ -77,6 +80,9 @@ function LinkPicker(_ref) {
|
|
|
77
80
|
initUrl = _ref.url,
|
|
78
81
|
initDisplayText = _ref.displayText;
|
|
79
82
|
|
|
83
|
+
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
84
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
85
|
+
|
|
80
86
|
var _useReducer = useReducer(reducer, _objectSpread(_objectSpread({}, initState), {}, {
|
|
81
87
|
url: normalizeUrl(initUrl) || '',
|
|
82
88
|
displayText: initDisplayText || ''
|
|
@@ -178,6 +184,8 @@ function LinkPicker(_ref) {
|
|
|
178
184
|
}
|
|
179
185
|
}, [activeIndex, items]);
|
|
180
186
|
var handleInsert = useCallback(function (url, title, inputType) {
|
|
187
|
+
var event = createAnalyticsEvent(createEventPayload('form.submitted.linkPicker', {}));
|
|
188
|
+
event.fire(ANALYTICS_CHANNEL);
|
|
181
189
|
onSubmit(_objectSpread({
|
|
182
190
|
url: url,
|
|
183
191
|
displayText: displayText || null,
|
|
@@ -188,7 +196,7 @@ function LinkPicker(_ref) {
|
|
|
188
196
|
}, inputType === 'manual' ? {
|
|
189
197
|
rawUrl: state.url
|
|
190
198
|
} : {}));
|
|
191
|
-
}, [displayText, onSubmit, state.url]);
|
|
199
|
+
}, [displayText, onSubmit, state.url, createAnalyticsEvent]);
|
|
192
200
|
var handleSelected = useCallback(function (objectId) {
|
|
193
201
|
var selectedItem = items === null || items === void 0 ? void 0 : items.find(function (item) {
|
|
194
202
|
return item.objectId === objectId;
|
package/dist/esm/version.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THIS FILE WAS CREATED VIA CODEGEN DO NOT MODIFY {@see http://go/af-codegen}
|
|
3
|
+
*
|
|
4
|
+
* Generates analytics utilities from the package analytics spec yaml
|
|
5
|
+
*
|
|
6
|
+
* @codegen <<SignedSource::0cc1b4d9c22b31491ded3e581114ab2c>>
|
|
7
|
+
* @codegenCommand yarn workspace @atlaskit/link-picker run codegen-analytics
|
|
8
|
+
*/
|
|
9
|
+
declare type FormSubmittedLinkPickerAttributesType = {};
|
|
10
|
+
declare type AnalyticsEventAttributes = {
|
|
11
|
+
'form.submitted.linkPicker': FormSubmittedLinkPickerAttributesType;
|
|
12
|
+
};
|
|
13
|
+
declare function createEventPayload<K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]): {
|
|
14
|
+
eventType: string;
|
|
15
|
+
actionSubject: string;
|
|
16
|
+
action: string;
|
|
17
|
+
actionSubjectId: string;
|
|
18
|
+
attributes: AnalyticsEventAttributes[K];
|
|
19
|
+
};
|
|
20
|
+
export default createEventPayload;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-picker",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Standalone link picker",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"publishConfig": {
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
".": "./src/index.ts"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
|
-
"ak-postbuild": "ls -d dist/* | grep -v dist/types | xargs -n 1 copyfiles -u 1 -V src/**/*.svg"
|
|
29
|
+
"ak-postbuild": "ls -d dist/* | grep -v dist/types | xargs -n 1 copyfiles -u 1 -V src/**/*.svg",
|
|
30
|
+
"codegen-analytics": "ts-node --project ../../../tsconfig.node.json ./scripts/build/codegen-analytics"
|
|
30
31
|
},
|
|
31
32
|
"dependencies": {
|
|
32
33
|
"@atlaskit/analytics-next": "^8.3.1",
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
53
54
|
},
|
|
54
55
|
"devDependencies": {
|
|
56
|
+
"@af/codegen": "*",
|
|
55
57
|
"@atlaskit/activity-provider": "^2.3.2",
|
|
56
58
|
"@atlaskit/docs": "*",
|
|
57
59
|
"@atlaskit/link-test-helpers": "^1.4.0",
|
|
@@ -63,15 +65,19 @@
|
|
|
63
65
|
"@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
|
|
64
66
|
"@atlassian/link-picker-atlassian-plugin": "^17.0.0",
|
|
65
67
|
"@atlassian/link-picker-plugins": "^4.0.0",
|
|
68
|
+
"@atlassian/recent-work-client": "^1.5.0",
|
|
66
69
|
"@atlassian/search-provider": "^2.3.0",
|
|
67
70
|
"@testing-library/dom": "^7.7.3",
|
|
68
71
|
"@testing-library/jest-dom": "^4.1.0",
|
|
69
72
|
"@testing-library/react": "^8.0.1",
|
|
70
73
|
"@testing-library/react-hooks": "^1.0.4",
|
|
71
74
|
"@testing-library/user-event": "10.4.0",
|
|
75
|
+
"@types/js-yaml": "^3.12.5",
|
|
72
76
|
"enzyme": "^3.10.0",
|
|
73
77
|
"fetch-mock": "^8.0.0",
|
|
78
|
+
"js-yaml": "^3.13.1",
|
|
74
79
|
"mockdate": "^3.0.2",
|
|
80
|
+
"prettier": "^2.1.1",
|
|
75
81
|
"react-dom": "^16.8.0",
|
|
76
82
|
"sinon": "^2.2.0",
|
|
77
83
|
"typescript": "4.2.4"
|