@highlight-run/rrweb 1.2.1 → 2.0.0-lambda.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.
Files changed (114) hide show
  1. package/CHANGELOG.md +359 -19
  2. package/README.md +147 -34
  3. package/dist/assets/image-bitmap-data-url-worker-DwtK8A0z.js.map +1 -0
  4. package/dist/rrweb.cjs +17806 -0
  5. package/dist/rrweb.cjs.map +1 -0
  6. package/dist/rrweb.d.cts +509 -0
  7. package/dist/rrweb.d.ts +509 -0
  8. package/dist/rrweb.js +17807 -0
  9. package/dist/rrweb.js.map +1 -0
  10. package/dist/rrweb.umd.cjs +17810 -0
  11. package/dist/rrweb.umd.cjs.map +7 -0
  12. package/dist/rrweb.umd.min.cjs +90 -0
  13. package/dist/rrweb.umd.min.cjs.map +7 -0
  14. package/dist/{index.css → style.css} +23 -14
  15. package/dist/style.min.css +2 -0
  16. package/dist/style.min.css.map +7 -0
  17. package/package.json +67 -61
  18. package/rrweb-record/package.json +4 -0
  19. package/rrweb-replay/package.json +4 -0
  20. package/README.zh_CN.md +0 -122
  21. package/dist/entries/all.d.ts +0 -4
  22. package/dist/entries/record-pack.d.ts +0 -2
  23. package/dist/entries/replay-unpack.d.ts +0 -2
  24. package/dist/index.css.map +0 -1
  25. package/dist/index.d.ts +0 -9
  26. package/dist/index.js +0 -3
  27. package/dist/index.js.LICENSE.txt +0 -14
  28. package/dist/index.js.map +0 -1
  29. package/dist/packer/base.d.ts +0 -7
  30. package/dist/packer/index.d.ts +0 -2
  31. package/dist/packer/pack.d.ts +0 -2
  32. package/dist/packer/unpack.d.ts +0 -2
  33. package/dist/plugins/console/record/error-stack-parser.d.ts +0 -37
  34. package/dist/plugins/console/record/index.d.ts +0 -41
  35. package/dist/plugins/console/record/stringify.d.ts +0 -2
  36. package/dist/plugins/console/replay/index.d.ts +0 -9
  37. package/dist/plugins/console-record.min.js +0 -16
  38. package/dist/plugins/console-record.min.js.map +0 -1
  39. package/dist/plugins/entries/all.d.ts +0 -4
  40. package/dist/plugins/entries/record-pack.d.ts +0 -2
  41. package/dist/plugins/entries/replay-unpack.d.ts +0 -2
  42. package/dist/plugins/index.d.ts +0 -9
  43. package/dist/plugins/packer/base.d.ts +0 -7
  44. package/dist/plugins/packer/index.d.ts +0 -2
  45. package/dist/plugins/packer/pack.d.ts +0 -2
  46. package/dist/plugins/packer/unpack.d.ts +0 -2
  47. package/dist/plugins/plugins/console/record/error-stack-parser.d.ts +0 -37
  48. package/dist/plugins/plugins/console/record/index.d.ts +0 -41
  49. package/dist/plugins/plugins/console/record/stringify.d.ts +0 -2
  50. package/dist/plugins/plugins/console/replay/index.d.ts +0 -9
  51. package/dist/plugins/plugins/sequential-id/record/index.d.ts +0 -6
  52. package/dist/plugins/plugins/sequential-id/replay/index.d.ts +0 -7
  53. package/dist/plugins/record/iframe-manager.d.ts +0 -13
  54. package/dist/plugins/record/index.d.ts +0 -9
  55. package/dist/plugins/record/mutation.d.ts +0 -45
  56. package/dist/plugins/record/observer.d.ts +0 -11
  57. package/dist/plugins/record/observers/canvas/2d.d.ts +0 -2
  58. package/dist/plugins/record/observers/canvas/canvas-manager.d.ts +0 -32
  59. package/dist/plugins/record/observers/canvas/canvas.d.ts +0 -2
  60. package/dist/plugins/record/observers/canvas/serialize-args.d.ts +0 -6
  61. package/dist/plugins/record/observers/canvas/webgl.d.ts +0 -2
  62. package/dist/plugins/record/shadow-dom-manager.d.ts +0 -34
  63. package/dist/plugins/replay/canvas/2d.d.ts +0 -9
  64. package/dist/plugins/replay/canvas/index.d.ts +0 -9
  65. package/dist/plugins/replay/canvas/webgl.d.ts +0 -11
  66. package/dist/plugins/replay/index.d.ts +0 -82
  67. package/dist/plugins/replay/machine.d.ts +0 -85
  68. package/dist/plugins/replay/smoothscroll.d.ts +0 -1
  69. package/dist/plugins/replay/styles/inject-style.d.ts +0 -2
  70. package/dist/plugins/replay/timer.d.ts +0 -19
  71. package/dist/plugins/replay/virtual-styles.d.ts +0 -43
  72. package/dist/plugins/rrdom/index.d.ts +0 -1
  73. package/dist/plugins/rrdom/tree-node.d.ts +0 -20
  74. package/dist/plugins/sequential-id/record/index.d.ts +0 -6
  75. package/dist/plugins/sequential-id/replay/index.d.ts +0 -7
  76. package/dist/plugins/snapshot/css.d.ts +0 -92
  77. package/dist/plugins/snapshot/index.d.ts +0 -5
  78. package/dist/plugins/snapshot/rebuild.d.ts +0 -19
  79. package/dist/plugins/snapshot/snapshot.d.ts +0 -49
  80. package/dist/plugins/snapshot/types.d.ts +0 -99
  81. package/dist/plugins/snapshot/utils.d.ts +0 -11
  82. package/dist/plugins/types.d.ts +0 -509
  83. package/dist/plugins/utils.d.ts +0 -71
  84. package/dist/record/iframe-manager.d.ts +0 -13
  85. package/dist/record/index.d.ts +0 -9
  86. package/dist/record/mutation.d.ts +0 -45
  87. package/dist/record/observer.d.ts +0 -11
  88. package/dist/record/observers/canvas/2d.d.ts +0 -2
  89. package/dist/record/observers/canvas/canvas-manager.d.ts +0 -32
  90. package/dist/record/observers/canvas/canvas.d.ts +0 -2
  91. package/dist/record/observers/canvas/serialize-args.d.ts +0 -6
  92. package/dist/record/observers/canvas/webgl.d.ts +0 -2
  93. package/dist/record/shadow-dom-manager.d.ts +0 -34
  94. package/dist/replay/canvas/2d.d.ts +0 -9
  95. package/dist/replay/canvas/index.d.ts +0 -9
  96. package/dist/replay/canvas/webgl.d.ts +0 -11
  97. package/dist/replay/index.d.ts +0 -82
  98. package/dist/replay/machine.d.ts +0 -85
  99. package/dist/replay/smoothscroll.d.ts +0 -1
  100. package/dist/replay/styles/inject-style.d.ts +0 -2
  101. package/dist/replay/timer.d.ts +0 -19
  102. package/dist/replay/virtual-styles.d.ts +0 -43
  103. package/dist/rrdom/index.d.ts +0 -1
  104. package/dist/rrdom/tree-node.d.ts +0 -20
  105. package/dist/rrweb.min.js +0 -30
  106. package/dist/rrweb.min.js.map +0 -1
  107. package/dist/snapshot/css.d.ts +0 -92
  108. package/dist/snapshot/index.d.ts +0 -5
  109. package/dist/snapshot/rebuild.d.ts +0 -19
  110. package/dist/snapshot/snapshot.d.ts +0 -49
  111. package/dist/snapshot/types.d.ts +0 -99
  112. package/dist/snapshot/utils.d.ts +0 -11
  113. package/dist/types.d.ts +0 -509
  114. package/dist/utils.d.ts +0 -71
@@ -1,92 +0,0 @@
1
- export interface ParserOptions {
2
- silent?: boolean;
3
- source?: string;
4
- }
5
- export interface ParserError {
6
- message?: string;
7
- reason?: string;
8
- filename?: string;
9
- line?: number;
10
- column?: number;
11
- source?: string;
12
- }
13
- export interface Loc {
14
- line?: number;
15
- column?: number;
16
- }
17
- export interface Node {
18
- type?: string;
19
- parent?: Node;
20
- position?: {
21
- start?: Loc;
22
- end?: Loc;
23
- source?: string;
24
- content?: string;
25
- };
26
- }
27
- export interface Rule extends Node {
28
- selectors?: string[];
29
- declarations?: Array<Declaration | Comment>;
30
- }
31
- export interface Declaration extends Node {
32
- property?: string;
33
- value?: string;
34
- }
35
- export interface Comment extends Node {
36
- comment?: string;
37
- }
38
- export interface Charset extends Node {
39
- charset?: string;
40
- }
41
- export interface CustomMedia extends Node {
42
- name?: string;
43
- media?: string;
44
- }
45
- export interface Document extends Node {
46
- document?: string;
47
- vendor?: string;
48
- rules?: Array<Rule | Comment | AtRule>;
49
- }
50
- export interface FontFace extends Node {
51
- declarations?: Array<Declaration | Comment>;
52
- }
53
- export interface Host extends Node {
54
- rules?: Array<Rule | Comment | AtRule>;
55
- }
56
- export interface Import extends Node {
57
- import?: string;
58
- }
59
- export interface KeyFrames extends Node {
60
- name?: string;
61
- vendor?: string;
62
- keyframes?: Array<KeyFrame | Comment>;
63
- }
64
- export interface KeyFrame extends Node {
65
- values?: string[];
66
- declarations?: Array<Declaration | Comment>;
67
- }
68
- export interface Media extends Node {
69
- media?: string;
70
- rules?: Array<Rule | Comment | AtRule>;
71
- }
72
- export interface Namespace extends Node {
73
- namespace?: string;
74
- }
75
- export interface Page extends Node {
76
- selectors?: string[];
77
- declarations?: Array<Declaration | Comment>;
78
- }
79
- export interface Supports extends Node {
80
- supports?: string;
81
- rules?: Array<Rule | Comment | AtRule>;
82
- }
83
- export declare type AtRule = Charset | CustomMedia | Document | FontFace | Host | Import | KeyFrames | Media | Namespace | Page | Supports;
84
- export interface StyleRules {
85
- source?: string;
86
- rules: Array<Rule | Comment | AtRule>;
87
- parsingErrors?: ParserError[];
88
- }
89
- export interface Stylesheet extends Node {
90
- stylesheet?: StyleRules;
91
- }
92
- export declare function parse(css: string, options?: ParserOptions): Stylesheet;
@@ -1,5 +0,0 @@
1
- import snapshot, { serializeNodeWithId, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE } from './snapshot';
2
- import rebuild, { buildNodeWithSN, addHoverClass, createCache } from './rebuild';
3
- export * from './types';
4
- export * from './utils';
5
- export { snapshot, serializeNodeWithId, rebuild, buildNodeWithSN, addHoverClass, createCache, transformAttribute, visitSnapshot, cleanupSnapshot, needMaskingText, IGNORED_NODE, };
@@ -1,19 +0,0 @@
1
- import { serializedNodeWithId, idNodeMap, INode, BuildCache } from './types';
2
- export declare function addHoverClass(cssText: string, cache: BuildCache): string;
3
- export declare function createCache(): BuildCache;
4
- export declare function buildNodeWithSN(n: serializedNodeWithId, options: {
5
- doc: Document;
6
- map: idNodeMap;
7
- skipChild?: boolean;
8
- hackCss: boolean;
9
- afterAppend?: (n: INode) => unknown;
10
- cache: BuildCache;
11
- }): INode | null;
12
- declare function rebuild(n: serializedNodeWithId, options: {
13
- doc: Document;
14
- onVisit?: (node: INode) => unknown;
15
- hackCss?: boolean;
16
- afterAppend?: (n: INode) => unknown;
17
- cache: BuildCache;
18
- }): [Node | null, idNodeMap];
19
- export default rebuild;
@@ -1,49 +0,0 @@
1
- import { serializedNodeWithId, INode, idNodeMap, MaskInputOptions, SlimDOMOptions, MaskTextFn, MaskInputFn, KeepIframeSrcFn } from './types';
2
- export declare const IGNORED_NODE = -2;
3
- export declare function absoluteToStylesheet(cssText: string | null, href: string): string;
4
- export declare function absoluteToDoc(doc: Document, attributeValue: string): string;
5
- export declare function transformAttribute(doc: Document, tagName: string, name: string, value: string): string;
6
- export declare function _isBlockedElement(element: HTMLElement, blockClass: string | RegExp, blockSelector: string | null): boolean;
7
- export declare function needMaskingText(node: Node | null, maskTextClass: string | RegExp, maskTextSelector: string | null): boolean;
8
- export declare function serializeNodeWithId(n: Node | INode, options: {
9
- doc: Document;
10
- map: idNodeMap;
11
- blockClass: string | RegExp;
12
- blockSelector: string | null;
13
- maskTextClass: string | RegExp;
14
- maskTextSelector: string | null;
15
- skipChild: boolean;
16
- inlineStylesheet: boolean;
17
- maskInputOptions?: MaskInputOptions;
18
- maskTextFn: MaskTextFn | undefined;
19
- maskInputFn: MaskInputFn | undefined;
20
- slimDOMOptions: SlimDOMOptions;
21
- keepIframeSrcFn?: KeepIframeSrcFn;
22
- recordCanvas?: boolean;
23
- preserveWhiteSpace?: boolean;
24
- onSerialize?: (n: INode) => unknown;
25
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
26
- iframeLoadTimeout?: number;
27
- enableStrictPrivacy: boolean;
28
- }): serializedNodeWithId | null;
29
- declare function snapshot(n: Document, options?: {
30
- blockClass?: string | RegExp;
31
- blockSelector?: string | null;
32
- maskTextClass?: string | RegExp;
33
- maskTextSelector?: string | null;
34
- inlineStylesheet?: boolean;
35
- maskAllInputs?: boolean | MaskInputOptions;
36
- maskTextFn?: MaskTextFn;
37
- maskInputFn?: MaskTextFn;
38
- slimDOM?: boolean | SlimDOMOptions;
39
- recordCanvas?: boolean;
40
- preserveWhiteSpace?: boolean;
41
- onSerialize?: (n: INode) => unknown;
42
- onIframeLoad?: (iframeINode: INode, node: serializedNodeWithId) => unknown;
43
- iframeLoadTimeout?: number;
44
- keepIframeSrcFn?: KeepIframeSrcFn;
45
- enableStrictPrivacy: boolean;
46
- }): [serializedNodeWithId | null, idNodeMap];
47
- export declare function visitSnapshot(node: serializedNodeWithId, onVisit: (node: serializedNodeWithId) => unknown): void;
48
- export declare function cleanupSnapshot(): void;
49
- export default snapshot;
@@ -1,99 +0,0 @@
1
- export declare enum NodeType {
2
- Document = 0,
3
- DocumentType = 1,
4
- Element = 2,
5
- Text = 3,
6
- CDATA = 4,
7
- Comment = 5
8
- }
9
- export declare type documentNode = {
10
- type: NodeType.Document;
11
- childNodes: serializedNodeWithId[];
12
- compatMode?: string;
13
- };
14
- export declare type documentTypeNode = {
15
- type: NodeType.DocumentType;
16
- name: string;
17
- publicId: string;
18
- systemId: string;
19
- };
20
- export declare type attributes = {
21
- [key: string]: string | number | boolean;
22
- };
23
- export declare type elementNode = {
24
- type: NodeType.Element;
25
- tagName: string;
26
- attributes: attributes;
27
- childNodes: serializedNodeWithId[];
28
- isSVG?: true;
29
- needBlock?: boolean;
30
- };
31
- export declare type textNode = {
32
- type: NodeType.Text;
33
- textContent: string;
34
- isStyle?: true;
35
- };
36
- export declare type cdataNode = {
37
- type: NodeType.CDATA;
38
- textContent: '';
39
- };
40
- export declare type commentNode = {
41
- type: NodeType.Comment;
42
- textContent: string;
43
- };
44
- export declare type serializedNode = (documentNode | documentTypeNode | elementNode | textNode | cdataNode | commentNode) & {
45
- rootId?: number;
46
- isShadowHost?: boolean;
47
- isShadow?: boolean;
48
- };
49
- export declare type serializedNodeWithId = serializedNode & {
50
- id: number;
51
- };
52
- export declare type tagMap = {
53
- [key: string]: string;
54
- };
55
- export interface INode extends Node {
56
- __sn: serializedNodeWithId;
57
- }
58
- export interface ICanvas extends HTMLCanvasElement {
59
- __context: string;
60
- }
61
- export declare type idNodeMap = {
62
- [key: number]: INode;
63
- };
64
- export declare type MaskInputOptions = Partial<{
65
- color: boolean;
66
- date: boolean;
67
- 'datetime-local': boolean;
68
- email: boolean;
69
- month: boolean;
70
- number: boolean;
71
- range: boolean;
72
- search: boolean;
73
- tel: boolean;
74
- text: boolean;
75
- time: boolean;
76
- url: boolean;
77
- week: boolean;
78
- textarea: boolean;
79
- select: boolean;
80
- password: boolean;
81
- }>;
82
- export declare type SlimDOMOptions = Partial<{
83
- script: boolean;
84
- comment: boolean;
85
- headFavicon: boolean;
86
- headWhitespace: boolean;
87
- headMetaDescKeywords: boolean;
88
- headMetaSocial: boolean;
89
- headMetaRobots: boolean;
90
- headMetaHttpEquiv: boolean;
91
- headMetaAuthorship: boolean;
92
- headMetaVerification: boolean;
93
- }>;
94
- export declare type MaskTextFn = (text: string) => string;
95
- export declare type MaskInputFn = (text: string) => string;
96
- export declare type KeepIframeSrcFn = (src: string) => boolean;
97
- export declare type BuildCache = {
98
- stylesWithHoverClass: Map<string, string>;
99
- };
@@ -1,11 +0,0 @@
1
- import { INode, MaskInputFn, MaskInputOptions } from './types';
2
- export declare function isElement(n: Node | INode): n is Element;
3
- export declare function isShadowRoot(n: Node): n is ShadowRoot;
4
- export declare function maskInputValue({ maskInputOptions, tagName, type, value, maskInputFn, }: {
5
- maskInputOptions: MaskInputOptions;
6
- tagName: string;
7
- type: string | number | boolean | null;
8
- value: string | null;
9
- maskInputFn?: MaskInputFn;
10
- }): string;
11
- export declare function is2DCanvasBlank(canvas: HTMLCanvasElement): boolean;