html-react-parser 6.1.6 → 6.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/html-react-parser.js +1393 -977
- package/dist/html-react-parser.js.map +1 -1
- package/dist/html-react-parser.min.js +1 -1
- package/dist/html-react-parser.min.js.map +1 -1
- package/lib/dom-to-react.d.ts.map +1 -1
- package/lib/dom-to-react.js +13 -5
- package/lib/dom-to-react.js.map +1 -1
- package/lib/types.d.ts +2 -4
- package/lib/types.d.ts.map +1 -1
- package/package.json +23 -24
- package/src/dom-to-react.ts +18 -8
- package/src/types.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAetD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,GAAE,sBAA2B,GACnC,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAuHtC"}
|
package/lib/dom-to-react.js
CHANGED
|
@@ -114,11 +114,19 @@ function domToReact(nodes, options = {}) {
|
|
|
114
114
|
}
|
|
115
115
|
function normalizeDOMNodes(nodes) {
|
|
116
116
|
for (const node of nodes) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
switch (node.type) {
|
|
118
|
+
case 'tag':
|
|
119
|
+
case 'script':
|
|
120
|
+
case 'style':
|
|
121
|
+
Object.setPrototypeOf(node, domhandler_1.Element.prototype);
|
|
122
|
+
normalizeDOMNodes(node.children);
|
|
123
|
+
break;
|
|
124
|
+
case 'text':
|
|
125
|
+
Object.setPrototypeOf(node, domhandler_1.Text.prototype);
|
|
126
|
+
break;
|
|
127
|
+
case 'comment':
|
|
128
|
+
Object.setPrototypeOf(node, domhandler_1.Comment.prototype);
|
|
129
|
+
break;
|
|
122
130
|
}
|
|
123
131
|
}
|
|
124
132
|
}
|
package/lib/dom-to-react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":";AAAA,iEAAiE;;;;;
|
|
1
|
+
{"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { DOMNode, TrustedTypePolicy } from 'html-dom-parser';
|
|
3
|
-
import type { ParserOptions } from 'htmlparser2';
|
|
1
|
+
import type { DOMNode, HTMLDOMParserOptions, TrustedTypePolicy } from 'html-dom-parser';
|
|
4
2
|
import type { JSX, ReactNode } from 'react';
|
|
5
3
|
export interface HTMLReactParserOptions {
|
|
6
|
-
htmlparser2?:
|
|
4
|
+
htmlparser2?: Omit<HTMLDOMParserOptions, 'trustedTypePolicy'>;
|
|
7
5
|
trustedTypePolicy?: TrustedTypePolicy;
|
|
8
6
|
library?: {
|
|
9
7
|
cloneElement: (element: JSX.Element, props?: object, ...children: any[]) => JSX.Element;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,IAAI,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,OAAO,CAAC,EAAE;QAER,YAAY,EAAE,CACZ,OAAO,EAAE,GAAG,CAAC,OAAO,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,QAAQ,EAAE,GAAG,EAAE,KACf,GAAG,CAAC,OAAO,CAAC;QAEjB,aAAa,EAAE,CACb,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,QAAQ,EAAE,GAAG,EAAE,KACf,GAAG,CAAC,OAAO,CAAC;QAEjB,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC;QAE1C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KAEpB,CAAC;IAEF,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,KAEV,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3D,SAAS,CAAC,EAAE,CACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,KAEV,GAAG,CAAC,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAExC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "html-react-parser",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.8",
|
|
4
4
|
"description": "HTML to React parser.",
|
|
5
5
|
"author": "Mark <mark@remarkablemark.org> (https://remarkabl.org)",
|
|
6
6
|
"funding": [
|
|
@@ -62,47 +62,46 @@
|
|
|
62
62
|
],
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"domhandler": "6.0.1",
|
|
65
|
-
"html-dom-parser": "8.0.
|
|
65
|
+
"html-dom-parser": "8.0.2",
|
|
66
66
|
"react-property": "2.0.2",
|
|
67
67
|
"style-to-js": "2.0.2"
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@arethetypeswrong/cli": "0.18.5",
|
|
71
|
-
"@commitlint/cli": "21.2.
|
|
72
|
-
"@commitlint/config-conventional": "21.2.
|
|
73
|
-
"@eslint/eslintrc": "3.3.
|
|
71
|
+
"@commitlint/cli": "21.2.2",
|
|
72
|
+
"@commitlint/config-conventional": "21.2.2",
|
|
73
|
+
"@eslint/eslintrc": "3.3.7",
|
|
74
74
|
"@eslint/js": "10.0.1",
|
|
75
75
|
"@rollup/plugin-commonjs": "29.0.3",
|
|
76
76
|
"@rollup/plugin-node-resolve": "16.0.3",
|
|
77
77
|
"@rollup/plugin-terser": "1.0.0",
|
|
78
78
|
"@rollup/plugin-typescript": "12.3.0",
|
|
79
|
-
"@size-limit/preset-big-lib": "
|
|
79
|
+
"@size-limit/preset-big-lib": "14.0.0",
|
|
80
80
|
"@types/benchmark": "2.1.5",
|
|
81
|
-
"@types/node": "26.
|
|
82
|
-
"@types/react": "19.
|
|
83
|
-
"@types/react-dom": "19.
|
|
84
|
-
"@vitest/browser": "
|
|
85
|
-
"@vitest/browser-playwright": "
|
|
86
|
-
"@vitest/coverage-v8": "
|
|
81
|
+
"@types/node": "26.5.1",
|
|
82
|
+
"@types/react": "19.3.0",
|
|
83
|
+
"@types/react-dom": "19.3.0",
|
|
84
|
+
"@vitest/browser": "5.0.1",
|
|
85
|
+
"@vitest/browser-playwright": "5.0.1",
|
|
86
|
+
"@vitest/coverage-v8": "5.0.1",
|
|
87
87
|
"benchmark": "2.1.4",
|
|
88
|
-
"eslint": "10.
|
|
88
|
+
"eslint": "10.10.0",
|
|
89
89
|
"eslint-plugin-prettier": "5.5.6",
|
|
90
90
|
"eslint-plugin-simple-import-sort": "14.0.0",
|
|
91
|
-
"eslint-plugin-tsdoc": "0.5.
|
|
92
|
-
"globals": "17.9.0",
|
|
91
|
+
"eslint-plugin-tsdoc": "0.5.3",
|
|
93
92
|
"husky": "9.1.7",
|
|
94
|
-
"lint-staged": "17.
|
|
95
|
-
"playwright": "1.
|
|
93
|
+
"lint-staged": "17.5.1",
|
|
94
|
+
"playwright": "1.63.0",
|
|
96
95
|
"preact": "10.29.8",
|
|
97
|
-
"publint": "0.3.
|
|
98
|
-
"react": "19.
|
|
99
|
-
"react-dom": "19.
|
|
100
|
-
"rollup": "4.
|
|
101
|
-
"size-limit": "
|
|
96
|
+
"publint": "0.3.24",
|
|
97
|
+
"react": "19.3.0",
|
|
98
|
+
"react-dom": "19.3.0",
|
|
99
|
+
"rollup": "4.63.3",
|
|
100
|
+
"size-limit": "14.0.0",
|
|
102
101
|
"ts-node": "10.9.2",
|
|
103
102
|
"typescript": "6.0.3",
|
|
104
|
-
"typescript-eslint": "8.
|
|
105
|
-
"vitest": "
|
|
103
|
+
"typescript-eslint": "8.70.0",
|
|
104
|
+
"vitest": "5.0.1"
|
|
106
105
|
},
|
|
107
106
|
"peerDependencies": {
|
|
108
107
|
"@types/react": "0.14 || 15 || 16 || 17 || 18 || 19",
|
package/src/dom-to-react.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
Comment as DomHandlerComment,
|
|
5
|
+
Element as DomHandlerElement,
|
|
6
|
+
Text as DomHandlerText,
|
|
7
|
+
} from 'domhandler';
|
|
4
8
|
import type { DOMNode, Element, Text } from 'html-dom-parser';
|
|
5
9
|
import type { JSX } from 'react';
|
|
6
10
|
import { cloneElement, createElement, isValidElement } from 'react';
|
|
@@ -155,13 +159,19 @@ export default function domToReact(
|
|
|
155
159
|
|
|
156
160
|
function normalizeDOMNodes(nodes: DOMNode[]): void {
|
|
157
161
|
for (const node of nodes) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
switch (node.type) {
|
|
163
|
+
case 'tag':
|
|
164
|
+
case 'script':
|
|
165
|
+
case 'style':
|
|
166
|
+
Object.setPrototypeOf(node, DomHandlerElement.prototype);
|
|
167
|
+
normalizeDOMNodes(node.children as DOMNode[]);
|
|
168
|
+
break;
|
|
169
|
+
case 'text':
|
|
170
|
+
Object.setPrototypeOf(node, DomHandlerText.prototype);
|
|
171
|
+
break;
|
|
172
|
+
case 'comment':
|
|
173
|
+
Object.setPrototypeOf(node, DomHandlerComment.prototype);
|
|
174
|
+
break;
|
|
165
175
|
}
|
|
166
176
|
}
|
|
167
177
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type {
|
|
2
|
+
DOMNode,
|
|
3
|
+
HTMLDOMParserOptions,
|
|
4
|
+
TrustedTypePolicy,
|
|
5
|
+
} from 'html-dom-parser';
|
|
4
6
|
import type { JSX, ReactNode } from 'react';
|
|
5
7
|
|
|
6
8
|
export interface HTMLReactParserOptions {
|
|
7
|
-
htmlparser2?:
|
|
9
|
+
htmlparser2?: Omit<HTMLDOMParserOptions, 'trustedTypePolicy'>;
|
|
8
10
|
trustedTypePolicy?: TrustedTypePolicy;
|
|
9
11
|
|
|
10
12
|
library?: {
|