@atlaskit/analytics-next 11.2.0 → 11.2.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 +14 -0
- package/afm-cc/tsconfig.json +0 -1
- package/afm-products/tsconfig.json +0 -1
- package/dist/cjs/events/UIAnalyticsEvent.js +11 -1
- package/dist/es2019/events/UIAnalyticsEvent.js +13 -1
- package/dist/esm/events/UIAnalyticsEvent.js +11 -1
- package/docs/0-intro.tsx +68 -37
- package/docs/10-concepts.tsx +138 -112
- package/docs/20-usage-with-presentational-components.tsx +177 -198
- package/docs/30-usage-for-container-components.tsx +69 -53
- package/docs/40-listeners.tsx +17 -14
- package/docs/50-error-boundary.tsx +28 -22
- package/docs/60-events.tsx +27 -19
- package/docs/70-advanced-usage.tsx +182 -179
- package/docs/80-upgrade-guide.tsx +182 -100
- package/docs/DocBlocks.tsx +106 -0
- package/package.json +2 -2
- package/afm-jira/tsconfig.json +0 -30
|
@@ -1,113 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable @atlaskit/design-system/use-primitives-text, @atlaskit/design-system/use-heading, @atlaskit/design-system/no-html-anchor -- Legacy analytics-next docs intentionally use plain HTML prose and links instead of ADS docs primitives. */
|
|
2
|
+
import React from 'react';
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
## v5 to v6
|
|
4
|
+
import { CodeBlock } from './DocBlocks';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Analytics-next is now completely written in TypeScript
|
|
9
|
-
|
|
10
|
-
### 🧠 HOC Type inference
|
|
11
|
-
|
|
12
|
-
In v5, the main problem areas for \`analytics-next\`, with regards to TypeScript, was \`withAnalyticsEvents\` and \`withAnalyticsContext\`.
|
|
13
|
-
These two HOCs never quite worked as expected, often relying on consumers to cast the return value of the
|
|
14
|
-
function back into the component they wish to export. Recently this was partially mitigated by accepting prop types as generics, returning TS type safety
|
|
15
|
-
with one downside, props must be passed into every usage of our HOCs.
|
|
16
|
-
|
|
17
|
-
Now in v6, support for [type inference](https://www.typescriptlang.org/docs/handbook/type-inference.html) is built-in so you
|
|
18
|
-
no longer have to explicitly pass props as generic types.
|
|
19
|
-
|
|
20
|
-
### 📝 Renaming types and interfaces
|
|
21
|
-
|
|
22
|
-
\`analytics-next\` previously provided typings via a module declaration file (index.d.ts), which was actually slightly misaligned
|
|
23
|
-
with the source code. Some interfaces were used to describe classes, and some classes of the same name were also being exported to avoid name clashes.
|
|
24
|
-
v6 removes those discrepancies by renaming and removing misaligned type definitions. See breaking changes for more information.
|
|
25
|
-
|
|
26
|
-
### 💥 Breaking Changes:
|
|
27
|
-
|
|
28
|
-
- flow types have been removed
|
|
29
|
-
- \`withAnalyticsEvents\` now infers proptypes automatically, consumers no longer need to provide props as a generic type.
|
|
30
|
-
- \`withAnalyticsContext\` now infers proptypes automatically, consumers no longer need to provide props as a generic type.
|
|
31
|
-
- Type \`WithAnalyticsEventProps\` has been renamed to \`WithAnalyticsEventsProps\` to match source code
|
|
32
|
-
- Type \`CreateUIAnalyticsEventSignature\` has been renamed to \`CreateUIAnalyticsEvent\` to match source code
|
|
33
|
-
- Type \`UIAnalyticsEventHandlerSignature\` has been renamed to \`UIAnalyticsEventHandler\` to match source code
|
|
34
|
-
- Type \`AnalyticsEventsPayload\` has been renamed to \`AnalyticsEventPayload\`
|
|
35
|
-
- Type \`ObjectType\` has been removed, please use \`Record<string, any>\` or \`[key: string]: any\`
|
|
36
|
-
- Type \`UIAnalyticsEventInterface\` has been removed, please use \`UIAnalyticsEvent\`
|
|
37
|
-
- Type \`AnalyticsEventInterface\` has been removed, please use \`AnalyticsEvent\`
|
|
38
|
-
- Type \`CreateAndFireEventFunction\` removed and should now be inferred by TypeScript
|
|
39
|
-
- Type \`AnalyticsEventUpdater\` removed and should now be inferred by TypeScript
|
|
40
|
-
|
|
41
|
-
<br/>
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
### ⬆️ Upgrade guide
|
|
46
|
-
_Applicable to TypeScript users only_
|
|
47
|
-
|
|
48
|
-
#### Renaming types and interfaces
|
|
49
|
-
|
|
50
|
-
Most of the breaking changes above can be avoided with a 'find-and-replace' of the following types/interfaces:
|
|
51
|
-
|
|
52
|
-
- \`WithAnalyticsEventProps\` => \`WithAnalyticsEventsProps\`
|
|
53
|
-
- \`CreateUIAnalyticsEventSignature\` => \`CreateUIAnalyticsEvent\`
|
|
54
|
-
- \`UIAnalyticsEventHandlerSignature\` => \`UIAnalyticsEventHandler\`
|
|
55
|
-
- \`AnalyticsEventsPayload\` => \`AnalyticsEventPayload\`
|
|
56
|
-
|
|
57
|
-
Some interfaces were used to describe a class instance. This is no longer needed since a class in TypeScript can be used as a type.
|
|
58
|
-
These interfaces should be replaced by their class equivalents:
|
|
59
|
-
|
|
60
|
-
- \`UIAnalyticsEventInterface\` => \`UIAnalyticsEvent\`
|
|
61
|
-
- \`AnalyticsEventInterface\` => \`AnalyticsEvent\`
|
|
62
|
-
|
|
63
|
-
The following types have been removed from the library and can either be safely replaced with an alternate type or
|
|
64
|
-
removed entirely in favour of type inference:
|
|
65
|
-
|
|
66
|
-
- \`ObjectType\` => \`Record<string, any>\` or \`[key: string]: any\`
|
|
67
|
-
- \`CreateAndFireEventFunction\` now inferred by TypeScript
|
|
68
|
-
- \`AnalyticsEventUpdater\` now inferred by TypeScript
|
|
69
|
-
|
|
70
|
-
#### Using \`withAnalyticsEvents\` and \`withAnalyticsContext\` with type-safety
|
|
71
|
-
|
|
72
|
-
After upgrading to v6, you might now be greeted with TypeScript errors relating
|
|
73
|
-
to \`withAnalyticsEvents\` and \`withAnalyticsContext\`. As described above, there
|
|
74
|
-
have been a lot of changes to the way types are applied to these HOCs.
|
|
75
|
-
|
|
76
|
-
Previously, props needed to be explicitly defined and passed in as [generic type arguments](https://www.typescriptlang.org/docs/handbook/generics.html).
|
|
77
|
-
Now, you should be able to remove the generic types and let TypeScript do the heavy lifting.
|
|
78
|
-
|
|
79
|
-
For example:
|
|
80
|
-
|
|
81
|
-
**Before…**
|
|
82
|
-
|
|
83
|
-
${code`
|
|
6
|
+
const beforeCode = `
|
|
84
7
|
withAnalyticsContext<ButtonProps>({})(Button);
|
|
85
8
|
withAnalyticsEvents<ButtonProps>({})(Button);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
**After…**
|
|
9
|
+
`;
|
|
89
10
|
|
|
90
|
-
|
|
11
|
+
const afterCode = `
|
|
91
12
|
withAnalyticsContext({})(Button);
|
|
92
13
|
withAnalyticsEvents({})(Button);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
This does however require you to extend your component's props with \`WithAnalyticsEventProps\`.
|
|
96
|
-
A common pattern you’ll find with other HOC implementations, used to ensure you’re passing the correct super type to the HOC.
|
|
14
|
+
`;
|
|
97
15
|
|
|
98
|
-
|
|
16
|
+
const propsCode = `
|
|
99
17
|
import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
|
|
100
18
|
|
|
101
19
|
interface ButtonProps extends WithAnalyticsEventsProps {
|
|
102
20
|
appearance: string,
|
|
103
21
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
To provide additional flexibility, you can now opt-out of type inference if needed. It might be necessary in edge-cases
|
|
107
|
-
where TypeScript is not able to infer the prop types of the component you have supplied.
|
|
108
|
-
If that's the case, try passing in the generic type arguments to \`withAnalyticsEvents\`.
|
|
22
|
+
`;
|
|
109
23
|
|
|
110
|
-
|
|
24
|
+
const optOutCode = `
|
|
111
25
|
export default withAnalyticsContext({})(
|
|
112
26
|
withAnalyticsEvents({})
|
|
113
27
|
<
|
|
@@ -115,8 +29,176 @@ export default withAnalyticsContext({})(
|
|
|
115
29
|
React.ComponentType<ButtonProps>
|
|
116
30
|
>(Button),
|
|
117
31
|
);
|
|
118
|
-
`}
|
|
119
|
-
|
|
120
|
-
|
|
121
32
|
`;
|
|
122
|
-
|
|
33
|
+
|
|
34
|
+
export default function UpgradeGuide(): React.JSX.Element {
|
|
35
|
+
return (
|
|
36
|
+
<div>
|
|
37
|
+
<h2>v5 to v6</h2>
|
|
38
|
+
<h3>✨ TypeScript support</h3>
|
|
39
|
+
<p>Analytics-next is now completely written in TypeScript</p>
|
|
40
|
+
<h3>🧠 HOC Type inference</h3>
|
|
41
|
+
<p>
|
|
42
|
+
In v5, the main problem areas for <code>analytics-next</code>, with regards to TypeScript,
|
|
43
|
+
was <code>withAnalyticsEvents</code> and <code>withAnalyticsContext</code>. These two HOCs
|
|
44
|
+
never quite worked as expected, often relying on consumers to cast the return value of the
|
|
45
|
+
function back into the component they wish to export. Recently this was partially mitigated
|
|
46
|
+
by accepting prop types as generics, returning TS type safety with one downside, props must
|
|
47
|
+
be passed into every usage of our HOCs.
|
|
48
|
+
</p>
|
|
49
|
+
<p>
|
|
50
|
+
Now in v6, support for{' '}
|
|
51
|
+
<a href="https://www.typescriptlang.org/docs/handbook/type-inference.html">
|
|
52
|
+
type inference
|
|
53
|
+
</a>{' '}
|
|
54
|
+
is built-in so you no longer have to explicitly pass props as generic types.
|
|
55
|
+
</p>
|
|
56
|
+
<h3>📝 Renaming types and interfaces</h3>
|
|
57
|
+
<p>
|
|
58
|
+
<code>analytics-next</code> previously provided typings via a module declaration file
|
|
59
|
+
(index.d.ts), which was actually slightly misaligned with the source code. Some interfaces
|
|
60
|
+
were used to describe classes, and some classes of the same name were also being exported to
|
|
61
|
+
avoid name clashes. v6 removes those discrepancies by renaming and removing misaligned type
|
|
62
|
+
definitions. See breaking changes for more information.
|
|
63
|
+
</p>
|
|
64
|
+
<h3>💥 Breaking Changes:</h3>
|
|
65
|
+
<ul>
|
|
66
|
+
<li>flow types have been removed</li>
|
|
67
|
+
<li>
|
|
68
|
+
<code>withAnalyticsEvents</code> now infers proptypes automatically, consumers no longer
|
|
69
|
+
need to provide props as a generic type.
|
|
70
|
+
</li>
|
|
71
|
+
<li>
|
|
72
|
+
<code>withAnalyticsContext</code> now infers proptypes automatically, consumers no longer
|
|
73
|
+
need to provide props as a generic type.
|
|
74
|
+
</li>
|
|
75
|
+
<li>
|
|
76
|
+
Type <code>WithAnalyticsEventProps</code> has been renamed to{' '}
|
|
77
|
+
<code>WithAnalyticsEventsProps</code> to match source code
|
|
78
|
+
</li>
|
|
79
|
+
<li>
|
|
80
|
+
Type <code>CreateUIAnalyticsEventSignature</code> has been renamed to{' '}
|
|
81
|
+
<code>CreateUIAnalyticsEvent</code> to match source code
|
|
82
|
+
</li>
|
|
83
|
+
<li>
|
|
84
|
+
Type <code>UIAnalyticsEventHandlerSignature</code> has been renamed to{' '}
|
|
85
|
+
<code>UIAnalyticsEventHandler</code> to match source code
|
|
86
|
+
</li>
|
|
87
|
+
<li>
|
|
88
|
+
Type <code>AnalyticsEventsPayload</code> has been renamed to{' '}
|
|
89
|
+
<code>AnalyticsEventPayload</code>
|
|
90
|
+
</li>
|
|
91
|
+
<li>
|
|
92
|
+
Type <code>ObjectType</code> has been removed, please use{' '}
|
|
93
|
+
<code>Record<string, any></code> or <code>[key: string]: any</code>
|
|
94
|
+
</li>
|
|
95
|
+
<li>
|
|
96
|
+
Type <code>UIAnalyticsEventInterface</code> has been removed, please use{' '}
|
|
97
|
+
<code>UIAnalyticsEvent</code>
|
|
98
|
+
</li>
|
|
99
|
+
<li>
|
|
100
|
+
Type <code>AnalyticsEventInterface</code> has been removed, please use{' '}
|
|
101
|
+
<code>AnalyticsEvent</code>
|
|
102
|
+
</li>
|
|
103
|
+
<li>
|
|
104
|
+
Type <code>CreateAndFireEventFunction</code> removed and should now be inferred by
|
|
105
|
+
TypeScript
|
|
106
|
+
</li>
|
|
107
|
+
<li>
|
|
108
|
+
Type <code>AnalyticsEventUpdater</code> removed and should now be inferred by TypeScript
|
|
109
|
+
</li>
|
|
110
|
+
</ul>
|
|
111
|
+
<hr role="presentation" />
|
|
112
|
+
<h3>⬆️ Upgrade guide</h3>
|
|
113
|
+
<p>
|
|
114
|
+
<em>Applicable to TypeScript users only</em>
|
|
115
|
+
</p>
|
|
116
|
+
<h4>Renaming types and interfaces</h4>
|
|
117
|
+
<p>
|
|
118
|
+
Most of the breaking changes above can be avoided with a 'find-and-replace' of the
|
|
119
|
+
following types/interfaces:
|
|
120
|
+
</p>
|
|
121
|
+
<ul>
|
|
122
|
+
<li>
|
|
123
|
+
<code>WithAnalyticsEventProps</code> => <code>WithAnalyticsEventsProps</code>
|
|
124
|
+
</li>
|
|
125
|
+
<li>
|
|
126
|
+
<code>CreateUIAnalyticsEventSignature</code> => <code>CreateUIAnalyticsEvent</code>
|
|
127
|
+
</li>
|
|
128
|
+
<li>
|
|
129
|
+
<code>UIAnalyticsEventHandlerSignature</code> => <code>UIAnalyticsEventHandler</code>
|
|
130
|
+
</li>
|
|
131
|
+
<li>
|
|
132
|
+
<code>AnalyticsEventsPayload</code> => <code>AnalyticsEventPayload</code>
|
|
133
|
+
</li>
|
|
134
|
+
</ul>
|
|
135
|
+
<p>
|
|
136
|
+
Some interfaces were used to describe a class instance. This is no longer needed since a
|
|
137
|
+
class in TypeScript can be used as a type. These interfaces should be replaced by their
|
|
138
|
+
class equivalents:
|
|
139
|
+
</p>
|
|
140
|
+
<ul>
|
|
141
|
+
<li>
|
|
142
|
+
<code>UIAnalyticsEventInterface</code> => <code>UIAnalyticsEvent</code>
|
|
143
|
+
</li>
|
|
144
|
+
<li>
|
|
145
|
+
<code>AnalyticsEventInterface</code> => <code>AnalyticsEvent</code>
|
|
146
|
+
</li>
|
|
147
|
+
</ul>
|
|
148
|
+
<p>
|
|
149
|
+
The following types have been removed from the library and can either be safely replaced
|
|
150
|
+
with an alternate type or removed entirely in favour of type inference:
|
|
151
|
+
</p>
|
|
152
|
+
<ul>
|
|
153
|
+
<li>
|
|
154
|
+
<code>ObjectType</code> => <code>Record<string, any></code> or{' '}
|
|
155
|
+
<code>[key: string]: any</code>
|
|
156
|
+
</li>
|
|
157
|
+
<li>
|
|
158
|
+
<code>CreateAndFireEventFunction</code> now inferred by TypeScript
|
|
159
|
+
</li>
|
|
160
|
+
<li>
|
|
161
|
+
<code>AnalyticsEventUpdater</code> now inferred by TypeScript
|
|
162
|
+
</li>
|
|
163
|
+
</ul>
|
|
164
|
+
<h4>
|
|
165
|
+
Using <code>withAnalyticsEvents</code> and <code>withAnalyticsContext</code> with
|
|
166
|
+
type-safety
|
|
167
|
+
</h4>
|
|
168
|
+
<p>
|
|
169
|
+
After upgrading to v6, you might now be greeted with TypeScript errors relating to{' '}
|
|
170
|
+
<code>withAnalyticsEvents</code> and <code>withAnalyticsContext</code>. As described above,
|
|
171
|
+
there have been a lot of changes to the way types are applied to these HOCs.
|
|
172
|
+
</p>
|
|
173
|
+
<p>
|
|
174
|
+
Previously, props needed to be explicitly defined and passed in as{' '}
|
|
175
|
+
<a href="https://www.typescriptlang.org/docs/handbook/generics.html">
|
|
176
|
+
generic type arguments
|
|
177
|
+
</a>
|
|
178
|
+
. Now, you should be able to remove the generic types and let TypeScript do the heavy
|
|
179
|
+
lifting.
|
|
180
|
+
</p>
|
|
181
|
+
<p>
|
|
182
|
+
<strong>Before…</strong>
|
|
183
|
+
</p>
|
|
184
|
+
<CodeBlock code={beforeCode} />
|
|
185
|
+
<p>
|
|
186
|
+
<strong>After…</strong>
|
|
187
|
+
</p>
|
|
188
|
+
<CodeBlock code={afterCode} />
|
|
189
|
+
<p>
|
|
190
|
+
This does however require you to extend your component's props with{' '}
|
|
191
|
+
<code>WithAnalyticsEventProps</code>. A common pattern you’ll find with other HOC
|
|
192
|
+
implementations, used to ensure you’re passing the correct super type to the HOC.
|
|
193
|
+
</p>
|
|
194
|
+
<CodeBlock code={propsCode} />
|
|
195
|
+
<p>
|
|
196
|
+
To provide additional flexibility, you can now opt-out of type inference if needed. It might
|
|
197
|
+
be necessary in edge-cases where TypeScript is not able to infer the prop types of the
|
|
198
|
+
component you have supplied. If that's the case, try passing in the generic type
|
|
199
|
+
arguments to <code>withAnalyticsEvents</code>.
|
|
200
|
+
</p>
|
|
201
|
+
<CodeBlock code={optOutCode} />
|
|
202
|
+
</div>
|
|
203
|
+
);
|
|
204
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/* eslint-disable @atlaskit/design-system/ensure-design-token-usage, @atlaskit/ui-styling-standard/enforce-style-prop, @atlaskit/design-system/use-heading, @atlaskit/design-system/use-tokens-typography -- Legacy analytics-next docs intentionally use lightweight local HTML doc blocks instead of ADS docs helpers. */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
type ExampleBlockProps = {
|
|
5
|
+
Component: React.ComponentType;
|
|
6
|
+
source?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
type PropsBlockProps = {
|
|
11
|
+
heading?: string;
|
|
12
|
+
props: unknown;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const codeBlockStyles: React.CSSProperties = {
|
|
16
|
+
backgroundColor: '#f4f5f7',
|
|
17
|
+
borderRadius: 3,
|
|
18
|
+
overflowX: 'auto',
|
|
19
|
+
padding: 16,
|
|
20
|
+
whiteSpace: 'pre-wrap',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const cardStyles: React.CSSProperties = {
|
|
24
|
+
border: '1px solid #dfe1e6',
|
|
25
|
+
borderRadius: 3,
|
|
26
|
+
marginBlock: 16,
|
|
27
|
+
padding: 16,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const summaryStyles: React.CSSProperties = {
|
|
31
|
+
cursor: 'pointer',
|
|
32
|
+
fontWeight: 600,
|
|
33
|
+
marginBottom: 12,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export function CodeBlock({ code }: { code: string }): React.JSX.Element {
|
|
37
|
+
return (
|
|
38
|
+
<pre style={codeBlockStyles}>
|
|
39
|
+
<code>{code}</code>
|
|
40
|
+
</pre>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function ExampleBlock({ Component, title, source }: ExampleBlockProps): React.JSX.Element {
|
|
45
|
+
return (
|
|
46
|
+
<section style={cardStyles}>
|
|
47
|
+
{title ? <h4>{title}</h4> : null}
|
|
48
|
+
<div style={{ marginBlock: 16 }}>
|
|
49
|
+
<Component />
|
|
50
|
+
</div>
|
|
51
|
+
{source ? (
|
|
52
|
+
<details>
|
|
53
|
+
<summary style={summaryStyles}>View source</summary>
|
|
54
|
+
<CodeBlock code={source} />
|
|
55
|
+
</details>
|
|
56
|
+
) : null}
|
|
57
|
+
</section>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const serializeValue = (value: unknown): string => {
|
|
62
|
+
const seen = new WeakSet<object>();
|
|
63
|
+
|
|
64
|
+
try {
|
|
65
|
+
return (
|
|
66
|
+
JSON.stringify(
|
|
67
|
+
value,
|
|
68
|
+
(_key, currentValue) => {
|
|
69
|
+
if (typeof currentValue === 'function') {
|
|
70
|
+
return `[Function ${currentValue.name || 'anonymous'}]`;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (typeof currentValue === 'symbol') {
|
|
74
|
+
return currentValue.toString();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (typeof currentValue === 'undefined') {
|
|
78
|
+
return '[undefined]';
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (currentValue && typeof currentValue === 'object') {
|
|
82
|
+
if (seen.has(currentValue)) {
|
|
83
|
+
return '[Circular]';
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
seen.add(currentValue);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return currentValue;
|
|
90
|
+
},
|
|
91
|
+
2,
|
|
92
|
+
) ?? ''
|
|
93
|
+
);
|
|
94
|
+
} catch {
|
|
95
|
+
return String(value);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export function PropsBlock({ heading = 'Props', props }: PropsBlockProps): React.JSX.Element {
|
|
100
|
+
return (
|
|
101
|
+
<section style={cardStyles}>
|
|
102
|
+
<h4>{heading}</h4>
|
|
103
|
+
<CodeBlock code={serializeValue(props)} />
|
|
104
|
+
</section>
|
|
105
|
+
);
|
|
106
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/analytics-next",
|
|
3
|
-
"version": "11.2.
|
|
3
|
+
"version": "11.2.1",
|
|
4
4
|
"description": "React components, HOCs and hooks to assist with tracking user activity with React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-dom": "^18.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@atlassian/feature-flags-test-utils": "^1.
|
|
44
|
+
"@atlassian/feature-flags-test-utils": "^1.1.0",
|
|
45
45
|
"@atlassian/ssr-tests": "workspace:^",
|
|
46
46
|
"@testing-library/react": "^16.3.0",
|
|
47
47
|
"storybook-addon-performance": "^0.17.3"
|
package/afm-jira/tsconfig.json
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../../../tsconfig.local-consumption.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"target": "es5",
|
|
5
|
-
"outDir": "../../../../../jira/tsDist/@atlaskit__analytics-next/app",
|
|
6
|
-
"rootDir": "../",
|
|
7
|
-
"composite": true,
|
|
8
|
-
"noCheck": true,
|
|
9
|
-
"isolatedDeclarations": true
|
|
10
|
-
},
|
|
11
|
-
"include": ["../src/**/*.ts", "../src/**/*.tsx"],
|
|
12
|
-
"exclude": [
|
|
13
|
-
"../src/**/__tests__/*",
|
|
14
|
-
"../src/**/*.test.*",
|
|
15
|
-
"../src/**/test.*",
|
|
16
|
-
"../src/performance/examples.tsx",
|
|
17
|
-
"../docs/*",
|
|
18
|
-
"../src/**/examples.*",
|
|
19
|
-
"../src/**/examples/*",
|
|
20
|
-
"../src/**/examples/**/*",
|
|
21
|
-
"../src/**/*.stories.*",
|
|
22
|
-
"../src/**/stories/*",
|
|
23
|
-
"../src/**/stories/**/*"
|
|
24
|
-
],
|
|
25
|
-
"references": [
|
|
26
|
-
{
|
|
27
|
-
"path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|