New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dom-parse

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dom-parse - npm Package Compare versions

Comparing version 1.2.1 to 2.0.0

lib/server.js

22

lib/browser.js

@@ -1,13 +0,19 @@

"use strict";
var parser = null;
Object.defineProperty(exports, "__esModule", {
value: true
});
var getParser = function getParser() {
if (parser === null) {
parser = new window.DOMParser();
}
var _domParse = require("./dom-parse");
return parser;
};
var _domParse2 = _interopRequireDefault(_domParse);
var wrapMarkup = function wrapMarkup(markup) {
return "<!DOCTYPE html>\n<html><body>".concat(markup, "</body></html>");
};
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var parseDom = function parseDom(markup) {
return getParser().parseFromString(wrapMarkup(markup), 'text/html').querySelector('body').childNodes;
};
exports.default = (0, _domParse2.default)(window.DOMParser);
export default parseDom;
{
"name": "dom-parse",
"version": "1.2.1",
"description": "Safely parse HTML string into DOM using DOMParser or falling back to DOMImplementation.",
"main": "lib/node.js",
"version": "2.0.0",
"description": "Isomorphic library to safely parse an HTML string into DOM tree.",
"browser": "lib/browser.js",
"main": "lib/browser.js",
"module": "lib/server.js",
"files": [
"lib"
],
"engines": {
"node": ">=10"
},
"scripts": {
"build": "babel --out-dir lib src",
"test": "echo \"Error: no test specified\" && exit 1",
"prepublish": "npm run build"
"build": "rollup -c",
"prepare": "npm run build",
"prepublishOnly": "npm run test",
"test": "npm-run-all -p test:*",
"test:browser": "jest --coverage --env=jsdom src/__tests__/browser.test.js",
"test:server": "jest --coverage --env=node src/__tests__/server.test.js"
},

@@ -24,4 +31,3 @@ "repository": {

"parse",
"parser",
"xhtml"
"parser"
],

@@ -34,9 +40,21 @@ "author": "Jacob Buck <buck.jacob@gmail.com>",

"homepage": "https://github.com/jacobbuck/dom-parse",
"dependencies": {
"jsdom": "^16.2.2"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-es2015": "^6.24.1"
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"husky": "^4.2.5",
"jest": "^26.0.1",
"lint-staged": "^10.2.9",
"npm-run-all": "^4.1.5",
"prettier": "^2.0.5",
"rollup": "^2.13.1",
"rollup-plugin-babel": "^4.4.0"
},
"dependencies": {
"xmldom": "^0.1.27"
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
}
}
# dom-parse
Safely parse an HTML string into DOM using `DOMParser` or falling back to `DOMImplementation`.
Isomorphic library to safely parse an HTML string into DOM tree.
Uses native `DOMParser` in browser and `JSDOM` on server.
## Usage
```js
domParse(markup)
domParse(markup, options)
parseDom(markup);
```

@@ -14,8 +15,7 @@

- `markup` string of HTML you'd like to parse
- `options` object of options
- `markup` string of HTML you'd like to parse.
### Return value
`NodeList`, or `false` if there was a parser error.
`NodeList` containing Node structure of HTML parsed.

@@ -25,32 +25,6 @@ ## Example

```js
import domParse from 'dom-parse';
import parseDom from 'dom-parse';
domParse('Some <em>awesome</em> markup <img src="explosion.gif" />');
parseDom('Some <em>awesome</em> markup <img src="explosion.gif">');
// returns [#text, <em>, #text, <img>]
```
## Strict Mode
By default dom-parse is in strict mode, which will parse the markup as XHTML/XML, requiring all tags to be closed:
```js
domParse('<img src="dealwithit.gif">');
// returns false
domParse('<p>Some lazy markup');
// returns false
```
You can disable strict mode optionally:
```js
domParse('<img src="dealwithit.gif">', { strict: false });
// returns [<img>]
domParse('<p>Some lazy markup');
// returns [p]
```
## Node.js
Uses DOMParser from [xmldom](https://npm.im/xmldom).

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc