From 31fc3cc07e3b10587f3517dded753fc89d8e8671 Mon Sep 17 00:00:00 2001 From: ShiKhu Date: Mon, 29 Nov 2021 11:15:48 +0100 Subject: [PATCH] fix(tracker): 3.4.8: webpack 5 fully specified --- tracker/tracker/package.json | 2 +- tracker/tracker/src/main/app/index.ts | 18 +++---- tracker/tracker/src/main/app/observer.ts | 7 +-- tracker/tracker/src/main/app/ticker.ts | 2 +- tracker/tracker/src/main/index.ts | 51 ++++++++++--------- .../tracker/src/main/modules/connection.ts | 4 +- tracker/tracker/src/main/modules/console.ts | 6 +-- tracker/tracker/src/main/modules/cssrules.ts | 4 +- tracker/tracker/src/main/modules/exception.ts | 6 +-- tracker/tracker/src/main/modules/img.ts | 6 +-- tracker/tracker/src/main/modules/input.ts | 6 +-- tracker/tracker/src/main/modules/longtasks.ts | 4 +- tracker/tracker/src/main/modules/mouse.ts | 8 +-- .../tracker/src/main/modules/performance.ts | 6 +-- tracker/tracker/src/main/modules/scroll.ts | 4 +- tracker/tracker/src/main/modules/timing.ts | 8 +-- tracker/tracker/src/main/modules/viewport.ts | 4 +- tracker/tracker/src/main/tsconfig.json | 3 +- tracker/tracker/src/messages/index.ts | 4 +- tracker/tracker/src/messages/message.ts | 2 +- tracker/tracker/src/webworker/index.ts | 8 +-- .../tracker/src/webworker/transformer.js.temp | 21 -------- tracker/tracker/tsconfig-base.json | 2 +- 23 files changed, 85 insertions(+), 101 deletions(-) delete mode 100644 tracker/tracker/src/webworker/transformer.js.temp diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index 5f13bde51..ab2a367b8 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "3.4.7", + "version": "3.4.8", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/app/index.ts b/tracker/tracker/src/main/app/index.ts index 3147cca14..e0bc47b2b 100644 --- a/tracker/tracker/src/main/app/index.ts +++ b/tracker/tracker/src/main/app/index.ts @@ -1,15 +1,15 @@ -import { timestamp, log, warn } from '../utils'; -import { Timestamp, PageClose } from '../../messages'; -import Message from '../../messages/message'; -import Nodes from './nodes'; -import Observer from './observer'; -import Ticker from './ticker'; +import { timestamp, log, warn } from "../utils.js"; +import { Timestamp, PageClose } from "../../messages/index.js"; +import Message from "../../messages/message.js"; +import Nodes from "./nodes.js"; +import Observer from "./observer.js"; +import Ticker from "./ticker.js"; -import { deviceMemory, jsHeapSizeLimit } from '../modules/performance'; +import { deviceMemory, jsHeapSizeLimit } from "../modules/performance.js"; -import type { Options as ObserverOptions } from './observer'; +import type { Options as ObserverOptions } from "./observer.js"; -import type { Options as WebworkerOptions, WorkerMessageData } from '../../messages/webworker'; +import type { Options as WebworkerOptions, WorkerMessageData } from "../../messages/webworker.js"; interface OnStartInfo { sessionID: string, diff --git a/tracker/tracker/src/main/app/observer.ts b/tracker/tracker/src/main/app/observer.ts index 189c56912..3ed5088af 100644 --- a/tracker/tracker/src/main/app/observer.ts +++ b/tracker/tracker/src/main/app/observer.ts @@ -1,4 +1,4 @@ -import { stars, hasOpenreplayAttribute } from '../utils'; +import { stars, hasOpenreplayAttribute } from "../utils.js"; import { CreateDocument, CreateElementNode, @@ -11,8 +11,8 @@ import { MoveNode, RemoveNode, CreateIFrameDocument, -} from '../../messages'; -import App from './index'; +} from "../../messages/index.js"; +import App from "./index.js"; interface Window extends WindowProxy { HTMLInputElement: typeof HTMLInputElement, @@ -292,6 +292,7 @@ export default class Observer { ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT, }, + // @ts-ignore false, ); while (walker.nextNode()) { diff --git a/tracker/tracker/src/main/app/ticker.ts b/tracker/tracker/src/main/app/ticker.ts index 51fa7f579..62ca69af9 100644 --- a/tracker/tracker/src/main/app/ticker.ts +++ b/tracker/tracker/src/main/app/ticker.ts @@ -1,4 +1,4 @@ -import App from './index'; +import App from "./index.js"; type Callback = () => void; function wrap(callback: Callback, n: number): Callback { diff --git a/tracker/tracker/src/main/index.ts b/tracker/tracker/src/main/index.ts index b9fdad6cc..2ddfc6961 100644 --- a/tracker/tracker/src/main/index.ts +++ b/tracker/tracker/src/main/index.ts @@ -1,30 +1,30 @@ -import App, { DEFAULT_INGEST_POINT } from './app'; -export { default as App } from './app'; +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'; -import * as _Messages from '../messages'; +import { UserID, UserAnonymousID, Metadata, RawCustomEvent, CustomIssue } from "../messages/index.js"; +import * as _Messages from "../messages/index.js"; export const Messages = _Messages; -import Connection from './modules/connection'; -import Console from './modules/console'; -import Exception, { getExceptionMessageFromEvent, getExceptionMessage } from './modules/exception'; -import Img from './modules/img'; -import Input from './modules/input'; -import Mouse from './modules/mouse'; -import Timing from './modules/timing'; -import Performance from './modules/performance'; -import Scroll from './modules/scroll'; -import Viewport from './modules/viewport'; -import Longtasks from './modules/longtasks'; -import CSSRules from './modules/cssrules'; -import { IN_BROWSER, deprecationWarn, DOCS_HOST } from './utils'; +import Connection from "./modules/connection.js"; +import Console from "./modules/console.js"; +import Exception, { getExceptionMessageFromEvent, getExceptionMessage } from "./modules/exception.js"; +import Img from "./modules/img.js"; +import Input from "./modules/input.js"; +import Mouse from "./modules/mouse.js"; +import Timing from "./modules/timing.js"; +import Performance from "./modules/performance.js"; +import Scroll from "./modules/scroll.js"; +import Viewport from "./modules/viewport.js"; +import Longtasks from "./modules/longtasks.js"; +import CSSRules from "./modules/cssrules.js"; +import { IN_BROWSER, deprecationWarn, DOCS_HOST } from "./utils.js"; -import { Options as AppOptions } from './app'; -import { Options as ConsoleOptions } from './modules/console'; -import { Options as ExceptionOptions } from './modules/exception'; -import { Options as InputOptions } from './modules/input'; -import { Options as PerformanceOptions } from './modules/performance'; -import { Options as TimingOptions } from './modules/timing'; +import { Options as AppOptions } from "./app/index.js"; +import { Options as ConsoleOptions } from "./modules/console.js"; +import { Options as ExceptionOptions } from "./modules/exception.js"; +import { Options as InputOptions } from "./modules/input.js"; +import { Options as PerformanceOptions } from "./modules/performance.js"; +import { Options as TimingOptions } from "./modules/timing.js"; export type Options = Partial< AppOptions & ConsoleOptions & ExceptionOptions & InputOptions & PerformanceOptions & TimingOptions @@ -78,7 +78,10 @@ export default class API { console.error("OpenReplay: Your website must be publicly accessible and running on SSL in order for OpenReplay to properly capture and replay the user session. You can disable this check by setting `__DISABLE_SECURE_MODE` option to `true` if you are testing in localhost. Keep in mind, that asset files on a local machine are not available to the outside world. This might affect tracking if you use css files.") return; } - const doNotTrack = options.respectDoNotTrack && (navigator.doNotTrack == '1' || window.doNotTrack == '1'); + const doNotTrack = options.respectDoNotTrack && + (navigator.doNotTrack == '1' + // @ts-ignore + || window.doNotTrack == '1'); this.app = doNotTrack || !('Map' in window) || !('Set' in window) || diff --git a/tracker/tracker/src/main/modules/connection.ts b/tracker/tracker/src/main/modules/connection.ts index bd582954f..a2767790c 100644 --- a/tracker/tracker/src/main/modules/connection.ts +++ b/tracker/tracker/src/main/modules/connection.ts @@ -1,5 +1,5 @@ -import App from '../app'; -import { ConnectionInformation } from '../../messages'; +import App from "../app/index.js"; +import { ConnectionInformation } from "../../messages/index.js"; export default function(app: App): void { const connection: diff --git a/tracker/tracker/src/main/modules/console.ts b/tracker/tracker/src/main/modules/console.ts index 0db199319..bbf259735 100644 --- a/tracker/tracker/src/main/modules/console.ts +++ b/tracker/tracker/src/main/modules/console.ts @@ -1,6 +1,6 @@ -import App from '../app'; -import { IN_BROWSER } from '../utils'; -import { ConsoleLog } from '../../messages'; +import App from "../app/index.js"; +import { IN_BROWSER } from "../utils.js"; +import { ConsoleLog } from "../../messages/index.js"; const printError: (e: Error) => string = IN_BROWSER && 'InstallTrigger' in window // detect Firefox diff --git a/tracker/tracker/src/main/modules/cssrules.ts b/tracker/tracker/src/main/modules/cssrules.ts index 54166f717..18aa3f154 100644 --- a/tracker/tracker/src/main/modules/cssrules.ts +++ b/tracker/tracker/src/main/modules/cssrules.ts @@ -1,5 +1,5 @@ -import App from '../app'; -import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from '../../messages'; +import App from "../app/index.js"; +import { CSSInsertRuleURLBased, CSSDeleteRule, TechnicalInfo } from "../../messages/index.js"; export default function(app: App | null) { if (app === null) { diff --git a/tracker/tracker/src/main/modules/exception.ts b/tracker/tracker/src/main/modules/exception.ts index 6a4720c35..45fe37465 100644 --- a/tracker/tracker/src/main/modules/exception.ts +++ b/tracker/tracker/src/main/modules/exception.ts @@ -1,6 +1,6 @@ -import App from '../app'; -import { JSException } from '../../messages'; -import Message from '../../messages/message'; +import App from "../app/index.js"; +import { JSException } from "../../messages/index.js"; +import Message from "../../messages/message.js"; import ErrorStackParser from 'error-stack-parser'; export interface Options { diff --git a/tracker/tracker/src/main/modules/img.ts b/tracker/tracker/src/main/modules/img.ts index e20a4d531..61e793b89 100644 --- a/tracker/tracker/src/main/modules/img.ts +++ b/tracker/tracker/src/main/modules/img.ts @@ -1,6 +1,6 @@ -import { timestamp, isURL } from '../utils'; -import App from '../app'; -import { ResourceTiming, SetNodeAttributeURLBased } from '../../messages'; +import { timestamp, isURL } from "../utils.js"; +import App from "../app/index.js"; +import { ResourceTiming, SetNodeAttributeURLBased } from "../../messages/index.js"; export default function (app: App): void { const sendImgSrc = app.safe(function (this: HTMLImageElement): void { diff --git a/tracker/tracker/src/main/modules/input.ts b/tracker/tracker/src/main/modules/input.ts index 96ca2f7c2..746c26f8f 100644 --- a/tracker/tracker/src/main/modules/input.ts +++ b/tracker/tracker/src/main/modules/input.ts @@ -1,6 +1,6 @@ -import { normSpaces, IN_BROWSER, getLabelAttribute, hasOpenreplayAttribute } from '../utils'; -import App from '../app'; -import { SetInputTarget, SetInputValue, SetInputChecked } from '../../messages'; +import { normSpaces, IN_BROWSER, getLabelAttribute, hasOpenreplayAttribute } from "../utils.js"; +import App from "../app/index.js"; +import { SetInputTarget, SetInputValue, SetInputChecked } from "../../messages/index.js"; function isInput(node: any): node is HTMLInputElement { if (!(node instanceof HTMLInputElement)) { diff --git a/tracker/tracker/src/main/modules/longtasks.ts b/tracker/tracker/src/main/modules/longtasks.ts index c7515c88f..0f3a7e82a 100644 --- a/tracker/tracker/src/main/modules/longtasks.ts +++ b/tracker/tracker/src/main/modules/longtasks.ts @@ -1,5 +1,5 @@ -import App from '../app'; -import { LongTask } from '../../messages'; +import App from "../app/index.js"; +import { LongTask } from "../../messages/index.js"; // https://w3c.github.io/performance-timeline/#the-performanceentry-interface interface TaskAttributionTiming extends PerformanceEntry { diff --git a/tracker/tracker/src/main/modules/mouse.ts b/tracker/tracker/src/main/modules/mouse.ts index a2b406806..3ec70e844 100644 --- a/tracker/tracker/src/main/modules/mouse.ts +++ b/tracker/tracker/src/main/modules/mouse.ts @@ -1,7 +1,7 @@ -import { normSpaces, hasOpenreplayAttribute, getLabelAttribute } from '../utils'; -import App from '../app'; -import { MouseMove, MouseClick } from '../../messages'; -import { getInputLabel } from './input'; +import { normSpaces, hasOpenreplayAttribute, getLabelAttribute } from "../utils.js"; +import App from "../app/index.js"; +import { MouseMove, MouseClick } from "../../messages/index.js"; +import { getInputLabel } from "./input.js"; function _getSelector(target: Element): string { let el: Element | null = target diff --git a/tracker/tracker/src/main/modules/performance.ts b/tracker/tracker/src/main/modules/performance.ts index 7deac3ef5..8eb7701eb 100644 --- a/tracker/tracker/src/main/modules/performance.ts +++ b/tracker/tracker/src/main/modules/performance.ts @@ -1,6 +1,6 @@ -import App from '../app'; -import { IN_BROWSER } from '../utils'; -import { PerformanceTrack } from '../../messages'; +import App from "../app/index.js"; +import { IN_BROWSER } from "../utils.js"; +import { PerformanceTrack } from "../../messages/index.js"; type Perf = { diff --git a/tracker/tracker/src/main/modules/scroll.ts b/tracker/tracker/src/main/modules/scroll.ts index c3e4b37cc..0f54ba8f9 100644 --- a/tracker/tracker/src/main/modules/scroll.ts +++ b/tracker/tracker/src/main/modules/scroll.ts @@ -1,5 +1,5 @@ -import App from '../app'; -import { SetViewportScroll, SetNodeScroll } from '../../messages'; +import App from "../app/index.js"; +import { SetViewportScroll, SetNodeScroll } from "../../messages/index.js"; export default function (app: App): void { let documentScroll = false; diff --git a/tracker/tracker/src/main/modules/timing.ts b/tracker/tracker/src/main/modules/timing.ts index 2466b7872..60e30019f 100644 --- a/tracker/tracker/src/main/modules/timing.ts +++ b/tracker/tracker/src/main/modules/timing.ts @@ -1,7 +1,7 @@ -import { isURL } from '../utils'; -import App from '../app'; -import { ResourceTiming, PageLoadTiming, PageRenderTiming } from '../../messages'; -import type Message from '../../messages/message'; +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"; // Inspired by https://github.com/WPO-Foundation/RUM-SpeedIndex/blob/master/src/rum-speedindex.js diff --git a/tracker/tracker/src/main/modules/viewport.ts b/tracker/tracker/src/main/modules/viewport.ts index c780c65e4..626eadd12 100644 --- a/tracker/tracker/src/main/modules/viewport.ts +++ b/tracker/tracker/src/main/modules/viewport.ts @@ -1,9 +1,9 @@ -import App from '../app'; +import App from "../app/index.js"; import { SetPageLocation, SetViewportSize, SetPageVisibility, -} from '../../messages'; +} from "../../messages/index.js"; export default function (app: App): void { let url: string, width: number, height: number; diff --git a/tracker/tracker/src/main/tsconfig.json b/tracker/tracker/src/main/tsconfig.json index 0a92ed914..f6ac938a6 100644 --- a/tracker/tracker/src/main/tsconfig.json +++ b/tracker/tracker/src/main/tsconfig.json @@ -6,5 +6,6 @@ }, "references": [ { "path": "../messages" } - ] + ], + "exclude": ["app/observer"] } diff --git a/tracker/tracker/src/messages/index.ts b/tracker/tracker/src/messages/index.ts index 210f534cb..f3267bee0 100644 --- a/tracker/tracker/src/messages/index.ts +++ b/tracker/tracker/src/messages/index.ts @@ -1,6 +1,6 @@ // Auto-generated, do not edit -import Message from './message'; -import Writer from './writer'; +import Message from "./message.js"; +import Writer from "./writer.js"; function bindNew( Class: C & { new(...args: A): T } diff --git a/tracker/tracker/src/messages/message.ts b/tracker/tracker/src/messages/message.ts index a2bf0864d..aeb8619de 100644 --- a/tracker/tracker/src/messages/message.ts +++ b/tracker/tracker/src/messages/message.ts @@ -1,4 +1,4 @@ -import Writer from './writer'; +import Writer from "./writer.js"; export default interface Message { encode(w: Writer): boolean; diff --git a/tracker/tracker/src/webworker/index.ts b/tracker/tracker/src/webworker/index.ts index d680bfab3..d94d77577 100644 --- a/tracker/tracker/src/webworker/index.ts +++ b/tracker/tracker/src/webworker/index.ts @@ -1,8 +1,8 @@ -import { classes, BatchMeta, Timestamp, SetPageVisibility, CreateDocument } from '../messages'; -import Message from '../messages/message'; -import Writer from '../messages/writer'; +import { classes, BatchMeta, Timestamp, SetPageVisibility, CreateDocument } from "../messages/index.js"; +import Message from "../messages/message.js"; +import Writer from "../messages/writer.js"; -import type { WorkerMessageData } from '../messages/webworker'; +import type { WorkerMessageData } from "../messages/webworker.js"; const SEND_INTERVAL = 20 * 1000; diff --git a/tracker/tracker/src/webworker/transformer.js.temp b/tracker/tracker/src/webworker/transformer.js.temp deleted file mode 100644 index cf80d681b..000000000 --- a/tracker/tracker/src/webworker/transformer.js.temp +++ /dev/null @@ -1,21 +0,0 @@ -import Message from '../messages/message'; - - - - -class MessageTransformer { - private urlRewriter?: URLRewriter - - constructor() { - - } - - transform(m: Message): Message { - if (m instanceof SetNodeAttribute) { - if (m.name == "src" || m.name == "href") { - sendAssetForCache - } - } - } - -} \ No newline at end of file diff --git a/tracker/tracker/tsconfig-base.json b/tracker/tracker/tsconfig-base.json index 3d99959a9..9af9edb73 100644 --- a/tracker/tracker/tsconfig-base.json +++ b/tracker/tracker/tsconfig-base.json @@ -9,6 +9,6 @@ "alwaysStrict": true, "target": "es6", "module": "es6", - "moduleResolution": "node" + "moduleResolution": "nodenext" } }