fix+style(tracker):3.5.11 fix build & files structure
This commit is contained in:
parent
ebc0185806
commit
17d477fc43
32 changed files with 59 additions and 62 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "@openreplay/tracker",
|
||||
"description": "The OpenReplay tracker main package",
|
||||
"version": "3.5.10",
|
||||
"version": "3.5.11",
|
||||
"keywords": [
|
||||
"logging",
|
||||
"replay"
|
||||
|
|
|
|||
|
|
@ -15,31 +15,31 @@ async function main() {
|
|||
to: webworker.replace(/'/g, "\\'"),
|
||||
});
|
||||
await fs.rename('build/main', 'lib');
|
||||
await fs.rename('build/messages', 'lib/messages');
|
||||
await fs.rename('build/common', 'lib/common');
|
||||
await replaceInFiles({
|
||||
files: 'lib/*',
|
||||
from: /\.\.\/messages/g,
|
||||
to: './messages',
|
||||
from: /\.\.\/common/g,
|
||||
to: './common',
|
||||
});
|
||||
await replaceInFiles({
|
||||
files: 'lib/**/*',
|
||||
from: /\.\.\/\.\.\/messages/g,
|
||||
to: '../messages',
|
||||
from: /\.\.\/\.\.\/common/g,
|
||||
to: '../common',
|
||||
});
|
||||
|
||||
|
||||
await fs.rename('build/cjs/main', 'cjs');
|
||||
await fs.rename('build/cjs/messages', 'cjs/messages');
|
||||
await fs.rename('build/cjs/common', 'cjs/common');
|
||||
await fs.writeFile('cjs/package.json', `{ "type": "commonjs" }`);
|
||||
await replaceInFiles({
|
||||
files: 'cjs/*',
|
||||
from: /\.\.\/messages/g,
|
||||
to: './messages',
|
||||
from: /\.\.\/common/g,
|
||||
to: './common',
|
||||
});
|
||||
await replaceInFiles({
|
||||
files: 'cjs/**/*',
|
||||
from: /\.\.\/\.\.\/messages/g,
|
||||
to: '../messages',
|
||||
from: /\.\.\/\.\.\/common/g,
|
||||
to: '../common',
|
||||
});
|
||||
}
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// Auto-generated, do not edit
|
||||
import Message from "./message.js";
|
||||
import Writer from "./writer.js";
|
||||
import type { Writer, Message }from "./types.js";
|
||||
export default Message
|
||||
|
||||
function bindNew<C extends { new(...args: A): T }, A extends any[], T>(
|
||||
Class: C & { new(...args: A): T }
|
||||
10
tracker/tracker/src/common/types.ts
Normal file
10
tracker/tracker/src/common/types.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
export interface Writer {
|
||||
uint(n: number): boolean
|
||||
int(n: number): boolean
|
||||
string(s: string): boolean
|
||||
boolean(b: boolean): boolean
|
||||
}
|
||||
|
||||
export interface Message {
|
||||
encode(w: Writer): boolean;
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import type Message from "../../common/messages.js";
|
||||
import { Timestamp, Metadata } from "../../common/messages.js";
|
||||
import { timestamp, deprecationWarn } from "../utils.js";
|
||||
import { Timestamp, Metadata } from "../../messages/index.js";
|
||||
import Message from "../../messages/message.js";
|
||||
import Nodes from "./nodes.js";
|
||||
import Observer from "./observer/top_observer.js";
|
||||
import Sanitizer from "./sanitizer.js";
|
||||
|
|
@ -13,7 +13,7 @@ import { deviceMemory, jsHeapSizeLimit } from "../modules/performance.js";
|
|||
import type { Options as ObserverOptions } from "./observer/top_observer.js";
|
||||
import type { Options as SanitizerOptions } from "./sanitizer.js";
|
||||
import type { Options as LoggerOptions } from "./logger.js"
|
||||
import type { Options as WebworkerOptions, WorkerMessageData } from "../../webworker/types.js";
|
||||
import type { Options as WebworkerOptions, WorkerMessageData } from "../../common/webworker.js";
|
||||
|
||||
|
||||
// TODO: Unify and clearly describe options logic
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import Observer from "./observer.js";
|
||||
import { CreateIFrameDocument } from "../../../messages/index.js";
|
||||
import { CreateIFrameDocument } from "../../../common/messages.js";
|
||||
|
||||
export default class IFrameObserver extends Observer {
|
||||
observe(iframe: HTMLIFrameElement) {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import {
|
|||
CreateElementNode,
|
||||
MoveNode,
|
||||
RemoveNode,
|
||||
} from "../../../messages/index.js";
|
||||
} from "../../../common/messages.js";
|
||||
import App from "../index.js";
|
||||
import { isInstance, inDocument } from "../context.js";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import Observer from "./observer.js";
|
||||
import { CreateIFrameDocument } from "../../../messages/index.js";
|
||||
import { CreateIFrameDocument } from "../../../common/messages.js";
|
||||
|
||||
export default class ShadowRootObserver extends Observer {
|
||||
observe(el: Element) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import type { Window } from "../context.js";
|
|||
import IFrameObserver from "./iframe_observer.js";
|
||||
import ShadowRootObserver from "./shadow_root_observer.js";
|
||||
|
||||
import { CreateDocument } from "../../../messages/index.js";
|
||||
import { CreateDocument } from "../../../common/messages.js";
|
||||
import App from "../index.js";
|
||||
import { IN_BROWSER, hasOpenreplayAttribute } from '../../utils.js'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import App, { StartOptions } from "./index.js";
|
||||
import { UserID, UserAnonymousID, Metadata } from "../../messages/index.js";
|
||||
import { UserID, UserAnonymousID, Metadata } from "../../common/messages.js";
|
||||
|
||||
|
||||
enum ActivityState {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import App, { DEFAULT_INGEST_POINT } from "./app/index.js";
|
||||
export { default as App } from './app/index.js';
|
||||
|
||||
import { UserID, UserAnonymousID, Metadata, RawCustomEvent, CustomIssue } from "../messages/index.js";
|
||||
import * as _Messages from "../messages/index.js";
|
||||
import { UserID, UserAnonymousID, Metadata, RawCustomEvent, CustomIssue } from "../common/messages.js";
|
||||
import * as _Messages from "../common/messages.js";
|
||||
export const Messages = _Messages;
|
||||
|
||||
import Connection from "./modules/connection.js";
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import App from "../app/index.js";
|
||||
import { ConnectionInformation } from "../../messages/index.js";
|
||||
import { ConnectionInformation } from "../../common/messages.js";
|
||||
|
||||
export default function(app: App): void {
|
||||
const connection:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import App from "../app/index.js";
|
||||
import { IN_BROWSER } from "../utils.js";
|
||||
import { ConsoleLog } from "../../messages/index.js";
|
||||
import { ConsoleLog } from "../../common/messages.js";
|
||||
|
||||
const printError: (e: Error) => string =
|
||||
IN_BROWSER && 'InstallTrigger' in window // detect Firefox
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import App from "../app/index.js";
|
||||
import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from "../../messages/index.js";
|
||||
import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from "../../common/messages.js";
|
||||
|
||||
export default function(app: App | null) {
|
||||
if (app === null) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type Message from "../../common/messages.js";
|
||||
import App from "../app/index.js";
|
||||
import { JSException } from "../../messages/index.js";
|
||||
import Message from "../../messages/message.js";
|
||||
import { JSException } from "../../common/messages.js";
|
||||
import ErrorStackParser from 'error-stack-parser';
|
||||
|
||||
export interface Options {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { timestamp, isURL } from "../utils.js";
|
||||
import App from "../app/index.js";
|
||||
import { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute } from "../../messages/index.js";
|
||||
import { ResourceTiming, SetNodeAttributeURLBased, SetNodeAttribute } from "../../common/messages.js";
|
||||
|
||||
const PLACEHOLDER_SRC = "https://static.openreplay.com/tracker/placeholder.jpeg";
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import {
|
|||
hasOpenreplayAttribute,
|
||||
} from "../utils.js";
|
||||
import App from "../app/index.js";
|
||||
import { SetInputTarget, SetInputValue, SetInputChecked } from "../../messages/index.js";
|
||||
import { SetInputTarget, SetInputValue, SetInputChecked } from "../../common/messages.js";
|
||||
|
||||
// TODO: take into consideration "contenteditable" attribute
|
||||
type TextEditableElement = HTMLInputElement | HTMLTextAreaElement
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import App from "../app/index.js";
|
||||
import { LongTask } from "../../messages/index.js";
|
||||
import { LongTask } from "../../common/messages.js";
|
||||
|
||||
// https://w3c.github.io/performance-timeline/#the-performanceentry-interface
|
||||
interface TaskAttributionTiming extends PerformanceEntry {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import {
|
|||
getLabelAttribute,
|
||||
} from "../utils.js";
|
||||
import App from "../app/index.js";
|
||||
import { MouseMove, MouseClick } from "../../messages/index.js";
|
||||
import { MouseMove, MouseClick } from "../../common/messages.js";
|
||||
import { getInputLabel } from "./input.js";
|
||||
|
||||
function _getSelector(target: Element): string {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import App from "../app/index.js";
|
||||
import { IN_BROWSER } from "../utils.js";
|
||||
import { PerformanceTrack } from "../../messages/index.js";
|
||||
import { PerformanceTrack } from "../../common/messages.js";
|
||||
|
||||
|
||||
type Perf = {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import App from "../app/index.js";
|
||||
import { SetViewportScroll, SetNodeScroll } from "../../messages/index.js";
|
||||
import { SetViewportScroll, SetNodeScroll } from "../../common/messages.js";
|
||||
|
||||
export default function (app: App): void {
|
||||
let documentScroll = false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type Message from "../../common/messages.js";
|
||||
import { isURL } from "../utils.js";
|
||||
import App from "../app/index.js";
|
||||
import { ResourceTiming, PageLoadTiming, PageRenderTiming } from "../../messages/index.js";
|
||||
import type Message from "../../messages/message.js";
|
||||
import { ResourceTiming, PageLoadTiming, PageRenderTiming } from "../../common/messages.js";
|
||||
|
||||
// Inspired by https://github.com/WPO-Foundation/RUM-SpeedIndex/blob/master/src/rum-speedindex.js
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import {
|
|||
SetPageLocation,
|
||||
SetViewportSize,
|
||||
SetPageVisibility,
|
||||
} from "../../messages/index.js";
|
||||
} from "../../common/messages.js";
|
||||
|
||||
export default function (app: App): void {
|
||||
let url: string, width: number, height: number;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
"lib": ["es6", "dom"],
|
||||
},
|
||||
"references": [
|
||||
{ "path": "../messages" }
|
||||
{ "path": "../common" }
|
||||
],
|
||||
"exclude": ["app/observer"]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
import Writer from "./writer.js";
|
||||
|
||||
export default interface Message {
|
||||
encode(w: Writer): boolean;
|
||||
}
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
import Writer from "../messages/writer.js";
|
||||
import Message from "../messages/message.js";
|
||||
import type Message from "../common/messages.js";
|
||||
import PrimitiveWriter from "./PrimitiveWriter.js";
|
||||
import {
|
||||
BatchMeta,
|
||||
Timestamp,
|
||||
} from "../messages/index.js";
|
||||
} from "../common/messages.js";
|
||||
|
||||
export default class BatchWriter {
|
||||
private nextIndex = 0
|
||||
private beaconSize = 2 * 1e5 // Default 200kB
|
||||
private writer = new Writer(this.beaconSize)
|
||||
private writer = new PrimitiveWriter(this.beaconSize)
|
||||
private isEmpty = true
|
||||
|
||||
constructor(
|
||||
|
|
@ -50,7 +50,7 @@ export default class BatchWriter {
|
|||
}
|
||||
// MBTODO: tempWriter for one message?
|
||||
this.beaconSize = Math.min(this.beaconSize*2, this.beaconSizeLimit)
|
||||
this.writer = new Writer(this.beaconSize)
|
||||
this.writer = new PrimitiveWriter(this.beaconSize)
|
||||
this.prepareBatchMeta()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ const textEncoder: { encode(str: string): Uint8Array } =
|
|||
},
|
||||
};
|
||||
|
||||
export default class Writer {
|
||||
export default class PrimitiveWriter {
|
||||
private offset: number = 0;
|
||||
private checkpointOffset: number = 0;
|
||||
private readonly data: Uint8Array;
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
import Message from "../messages/message.js";
|
||||
import type Message from "../common/messages.js";
|
||||
import type { WorkerMessageData } from "../common/webworker.js";
|
||||
|
||||
import {
|
||||
classes,
|
||||
SetPageVisibility,
|
||||
MouseMove,
|
||||
} from "../messages/index.js";
|
||||
} from "../common/messages.js";
|
||||
import QueueSender from "./QueueSender.js";
|
||||
import BatchWriter from "./BatchWriter.js";
|
||||
|
||||
import type { WorkerMessageData } from "./types.js";
|
||||
|
||||
|
||||
const AUTO_SEND_INTERVAL = 10 * 1000
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
"lib": ["es6", "webworker"]
|
||||
},
|
||||
"references": [
|
||||
{ "path": "../messages" }
|
||||
{ "path": "../common" }
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
|
||||
|
||||
function getFullURL(baseURL: string, relativeURL: string) {
|
||||
if (isRelative(relativeURL)) {
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue