fix+style(tracker):3.5.11 fix build & files structure

This commit is contained in:
Alex Kaminskii 2022-05-11 18:27:18 +02:00
parent ebc0185806
commit 17d477fc43
32 changed files with 59 additions and 62 deletions

View file

@ -1,7 +1,7 @@
{
"name": "@openreplay/tracker",
"description": "The OpenReplay tracker main package",
"version": "3.5.10",
"version": "3.5.11",
"keywords": [
"logging",
"replay"

View file

@ -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()

View file

@ -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 }

View 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;
}

View file

@ -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

View file

@ -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) {

View file

@ -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";

View file

@ -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) {

View file

@ -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'

View file

@ -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 {

View file

@ -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";

View file

@ -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:

View file

@ -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

View file

@ -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) {

View file

@ -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 {

View file

@ -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";

View file

@ -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

View file

@ -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 {

View file

@ -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 {

View file

@ -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 = {

View file

@ -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;

View file

@ -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

View file

@ -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;

View file

@ -5,7 +5,7 @@
"lib": ["es6", "dom"],
},
"references": [
{ "path": "../messages" }
{ "path": "../common" }
],
"exclude": ["app/observer"]
}

View file

@ -1,5 +0,0 @@
import Writer from "./writer.js";
export default interface Message {
encode(w: Writer): boolean;
}

View file

@ -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()
}
}

View file

@ -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;

View file

@ -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

View file

@ -4,6 +4,6 @@
"lib": ["es6", "webworker"]
},
"references": [
{ "path": "../messages" }
{ "path": "../common" }
]
}

View file

@ -1,9 +0,0 @@
function getFullURL(baseURL: string, relativeURL: string) {
if (isRelative(relativeURL)) {
}
}