html-react-parser 6.1.0 → 6.1.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"AAEA,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,CAqHtC"}
1
+ {"version":3,"file":"dom-to-react.d.ts","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"AAGA,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"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.default = domToReact;
8
+ const domhandler_1 = require("domhandler");
8
9
  const react_1 = require("react");
9
10
  const attributes_to_props_1 = __importDefault(require("./attributes-to-props"));
10
11
  const utilities_1 = require("./utilities");
@@ -27,6 +28,7 @@ function domToReact(nodes, options = {}) {
27
28
  const transform = (_a = options.transform) !== null && _a !== void 0 ? _a : utilities_1.returnFirstArg;
28
29
  const { cloneElement, createElement, isValidElement } = (_b = options.library) !== null && _b !== void 0 ? _b : React;
29
30
  const nodesLength = nodes.length;
31
+ normalizeDOMNodes(nodes);
30
32
  for (let index = 0; index < nodesLength; index++) {
31
33
  const node = nodes[index];
32
34
  // replace with custom React element (if present)
@@ -110,6 +112,16 @@ function domToReact(nodes, options = {}) {
110
112
  }
111
113
  return reactElements.length === 1 ? reactElements[0] : reactElements;
112
114
  }
115
+ function normalizeDOMNodes(nodes) {
116
+ for (const node of nodes) {
117
+ if (node.type === 'tag' ||
118
+ node.type === 'script' ||
119
+ node.type === 'style') {
120
+ Object.setPrototypeOf(node, domhandler_1.Element.prototype);
121
+ normalizeDOMNodes(node.children);
122
+ }
123
+ }
124
+ }
113
125
  /**
114
126
  * Determines whether DOM element attributes should be transformed to props.
115
127
  * Web Components should not have their attributes transformed except for `style`.
@@ -1 +1 @@
1
- {"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-to-react.js","sourceRoot":"","sources":["../src/dom-to-react.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "html-react-parser",
3
- "version": "6.1.0",
3
+ "version": "6.1.1",
4
4
  "description": "HTML to React parser.",
5
5
  "author": "Mark <mark@remarkablemark.org> (https://remarkabl.org)",
6
6
  "funding": [
@@ -66,9 +66,9 @@
66
66
  "style-to-js": "1.1.21"
67
67
  },
68
68
  "devDependencies": {
69
- "@commitlint/cli": "20.5.3",
70
- "@commitlint/config-conventional": "20.5.3",
71
- "@eslint/compat": "2.0.5",
69
+ "@arethetypeswrong/cli": "0.18.2",
70
+ "@commitlint/cli": "21.0.1",
71
+ "@commitlint/config-conventional": "21.0.1",
72
72
  "@eslint/eslintrc": "3.3.5",
73
73
  "@eslint/js": "10.0.1",
74
74
  "@rollup/plugin-commonjs": "29.0.2",
@@ -77,31 +77,31 @@
77
77
  "@rollup/plugin-typescript": "12.3.0",
78
78
  "@size-limit/preset-big-lib": "12.1.0",
79
79
  "@types/benchmark": "2.1.5",
80
- "@types/node": "25.6.0",
80
+ "@types/node": "25.8.0",
81
81
  "@types/react": "19.2.14",
82
82
  "@types/react-dom": "19.2.3",
83
- "@vitest/browser": "4.1.5",
84
- "@vitest/browser-playwright": "4.1.5",
85
- "@vitest/coverage-v8": "4.1.5",
83
+ "@vitest/browser": "4.1.6",
84
+ "@vitest/browser-playwright": "4.1.6",
85
+ "@vitest/coverage-v8": "4.1.6",
86
86
  "benchmark": "2.1.4",
87
- "eslint": "10.3.0",
87
+ "eslint": "10.4.0",
88
88
  "eslint-plugin-prettier": "5.5.5",
89
89
  "eslint-plugin-simple-import-sort": "13.0.0",
90
90
  "eslint-plugin-tsdoc": "0.5.2",
91
91
  "globals": "17.6.0",
92
92
  "husky": "9.1.7",
93
- "lint-staged": "16.4.0",
94
- "playwright": "1.59.1",
93
+ "lint-staged": "17.0.4",
94
+ "playwright": "1.60.0",
95
95
  "preact": "10.29.1",
96
- "publint": "0.3.19",
97
- "react": "19.2.5",
98
- "react-dom": "19.2.5",
99
- "rollup": "4.60.3",
96
+ "publint": "0.3.21",
97
+ "react": "19.2.6",
98
+ "react-dom": "19.2.6",
99
+ "rollup": "4.60.4",
100
100
  "size-limit": "12.1.0",
101
101
  "ts-node": "10.9.2",
102
102
  "typescript": "6.0.3",
103
- "typescript-eslint": "8.59.2",
104
- "vitest": "4.1.5"
103
+ "typescript-eslint": "8.59.3",
104
+ "vitest": "4.1.6"
105
105
  },
106
106
  "peerDependencies": {
107
107
  "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19",
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-enum-comparison */
2
2
 
3
+ import { Element as DomHandlerElement } from 'domhandler';
3
4
  import type { DOMNode, Element, Text } from 'html-dom-parser';
4
5
  import type { JSX } from 'react';
5
6
  import { cloneElement, createElement, isValidElement } from 'react';
@@ -41,6 +42,8 @@ export default function domToReact(
41
42
 
42
43
  const nodesLength = nodes.length;
43
44
 
45
+ normalizeDOMNodes(nodes);
46
+
44
47
  for (let index = 0; index < nodesLength; index++) {
45
48
  const node = nodes[index];
46
49
 
@@ -150,6 +153,19 @@ export default function domToReact(
150
153
  return reactElements.length === 1 ? reactElements[0] : reactElements;
151
154
  }
152
155
 
156
+ function normalizeDOMNodes(nodes: DOMNode[]): void {
157
+ for (const node of nodes) {
158
+ if (
159
+ node.type === 'tag' ||
160
+ node.type === 'script' ||
161
+ node.type === 'style'
162
+ ) {
163
+ Object.setPrototypeOf(node, DomHandlerElement.prototype);
164
+ normalizeDOMNodes(node.children as DOMNode[]);
165
+ }
166
+ }
167
+ }
168
+
153
169
  /**
154
170
  * Determines whether DOM element attributes should be transformed to props.
155
171
  * Web Components should not have their attributes transformed except for `style`.