Support a contrived/rare case where a <style> element has multiple text node children (this is usually only possible to recreate via javascript append) ... this PR fixes cases where there are subsequent text mutations to these nodes; previously these would have been lost * In this scenario, a new CSS comment may now be inserted into the captured `_cssText` for a <style> element to show where it should be broken up into text elements upon replay: `/* rr_split */` * The new 'can record and replay style mutations' test is the principal way to the problematic scenarios, and is a detailed 'catch-all' test with many checks to cover most of the ways things can fail * There are new tests for splitting/rebuilding the css using the rr_split marker * The prior 'dynamic stylesheet' route is now the main route for serializing a stylesheet; dynamic stylesheet were missed out in #1533 but that case is now covered with this PR This PR was originally extracted from #1475 so the initial motivation was to change the approach on stringifying <style> elements to do so in a single place. This is also the motivating factor for always serializing <style> elements via the `_cssText` attribute rather than in it's childNodes; in #1475 we will be delaying populating `_cssText` for performance and instead recorrding them as assets. Thanks for the detailed review to Justin Halsall <Juice10@users.noreply.github.com> & Yun Feng <https://github.com/YunFeng0817>
58 lines
1.4 KiB
JSON
58 lines
1.4 KiB
JSON
{
|
|
"name": "rrdom",
|
|
"version": "2.0.0-alpha.17",
|
|
"homepage": "https://github.com/rrweb-io/rrweb/tree/main/packages/rrdom#readme",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"main": "./dist/rrdom.cjs",
|
|
"module": "./dist/rrdom.js",
|
|
"unpkg": "./dist/rrdom.umd.cjs",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/rrdom.js"
|
|
},
|
|
"require": {
|
|
"types": "./dist/index.d.cts",
|
|
"default": "./dist/rrdom.cjs"
|
|
}
|
|
}
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"package.json"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/rrweb-io/rrweb.git"
|
|
},
|
|
"scripts": {
|
|
"dev": "vite build --watch",
|
|
"build": "yarn turbo run prepublish",
|
|
"check-types": "tsc -noEmit",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"prepublish": "tsc -noEmit && vite build",
|
|
"lint": "yarn eslint src/**/*.ts"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/rrweb-io/rrweb/issues"
|
|
},
|
|
"devDependencies": {
|
|
"@rrweb/types": "^2.0.0-alpha.17",
|
|
"@types/puppeteer": "^5.4.4",
|
|
"@typescript-eslint/eslint-plugin": "^5.23.0",
|
|
"@typescript-eslint/parser": "^5.23.0",
|
|
"eslint": "^8.15.0",
|
|
"puppeteer": "^17.1.3",
|
|
"typescript": "^5.4.5",
|
|
"vite": "^5.3.1",
|
|
"vite-plugin-dts": "^3.9.1"
|
|
},
|
|
"dependencies": {
|
|
"rrweb-snapshot": "^2.0.0-alpha.17"
|
|
}
|
|
}
|