Update rollup

With rollup's preserveModules option and the sideEffects flag in
package.json, now we have the power of tree shaking.
This commit is contained in:
Yanzhen Yu
2026-04-01 12:00:00 +08:00
parent dcad6ff922
commit 4209ea7fe8
4 changed files with 19 additions and 24 deletions

View File

@@ -3,17 +3,20 @@ import * as path from 'path';
import * as puppeteer from 'puppeteer';
import { assertSnapshot, launchPuppeteer } from './utils';
import { Suite } from 'mocha';
import { recordOptions } from '../src/types';
import { recordOptions, eventWithTime } from '../src/types';
interface ISuite extends Suite {
code: string;
browser: puppeteer.Browser;
}
describe('record integration tests', function(this: ISuite) {
describe('record integration tests', function (this: ISuite) {
this.timeout(10_000);
const getHtml = (fileName: string, options: recordOptions = {}): string => {
const getHtml = (
fileName: string,
options: recordOptions<eventWithTime> = {},
): string => {
const filePath = path.resolve(__dirname, `./html/${fileName}`);
const html = fs.readFileSync(filePath, 'utf8');
return html.replace(

View File

@@ -24,13 +24,15 @@ interface ISuite extends Suite {
interface IWindow extends Window {
rrweb: {
record: (options: recordOptions) => listenerHandler | undefined;
record: (
options: recordOptions<eventWithTime>,
) => listenerHandler | undefined;
addCustomEvent<T>(tag: string, payload: T): void;
};
emit: (e: eventWithTime) => undefined;
}
describe('record', function(this: ISuite) {
describe('record', function (this: ISuite) {
before(async () => {
this.browser = await launchPuppeteer();
@@ -58,7 +60,7 @@ describe('record', function(this: ISuite) {
this.events.push(e);
});
page.on('console', msg => console.log('PAGE LOG:', msg.text()));
page.on('console', (msg) => console.log('PAGE LOG:', msg.text()));
});
afterEach(async () => {
@@ -223,14 +225,14 @@ describe('record', function(this: ISuite) {
});
await this.page.waitFor(10);
const styleSheetRuleEvents = this.events.filter(
e =>
(e) =>
e.type === EventType.IncrementalSnapshot &&
e.data.source === IncrementalSource.StyleSheetRule,
);
const addRuleCount = styleSheetRuleEvents.filter(e =>
const addRuleCount = styleSheetRuleEvents.filter((e) =>
Boolean((e.data as styleSheetRuleData).adds),
).length;
const removeRuleCount = styleSheetRuleEvents.filter(e =>
const removeRuleCount = styleSheetRuleEvents.filter((e) =>
Boolean((e.data as styleSheetRuleData).removes),
).length;
// sync insert/delete should be ignored