Comparing version 1.2.1 to 2.0.0
@@ -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
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
0
3547
9
5
19
29
+ Addedjsdom@^16.2.2
+ Added@tootallnate/once@1.1.2(transitive)
+ Addedabab@2.0.6(transitive)
+ Addedacorn@7.4.18.14.0(transitive)
+ Addedacorn-globals@6.0.0(transitive)
+ Addedacorn-walk@7.2.0(transitive)
+ Addedagent-base@6.0.2(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedbrowser-process-hrtime@1.0.0(transitive)
+ Addedcombined-stream@1.0.8(transitive)
+ Addedcssom@0.3.80.4.4(transitive)
+ Addedcssstyle@2.3.0(transitive)
+ Addeddata-urls@2.0.0(transitive)
+ Addeddebug@4.4.0(transitive)
+ Addeddecimal.js@10.5.0(transitive)
+ Addeddelayed-stream@1.0.0(transitive)
+ Addeddomexception@2.0.1(transitive)
+ Addedescodegen@2.1.0(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedestraverse@5.3.0(transitive)
+ Addedesutils@2.0.3(transitive)
+ Addedform-data@3.0.2(transitive)
+ Addedhtml-encoding-sniffer@2.0.1(transitive)
+ Addedhttp-proxy-agent@4.0.1(transitive)
+ Addedhttps-proxy-agent@5.0.1(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedis-potential-custom-element-name@1.0.1(transitive)
+ Addedjsdom@16.7.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedms@2.1.3(transitive)
+ Addednwsapi@2.2.16(transitive)
+ Addedparse5@6.0.1(transitive)
+ Addedpsl@1.15.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedquerystringify@2.2.0(transitive)
+ Addedrequires-port@1.0.0(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsaxes@5.0.1(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedsymbol-tree@3.2.4(transitive)
+ Addedtough-cookie@4.1.4(transitive)
+ Addedtr46@2.1.0(transitive)
+ Addeduniversalify@0.2.0(transitive)
+ Addedurl-parse@1.5.10(transitive)
+ Addedw3c-hr-time@1.0.2(transitive)
+ Addedw3c-xmlserializer@2.0.0(transitive)
+ Addedwebidl-conversions@5.0.06.1.0(transitive)
+ Addedwhatwg-encoding@1.0.5(transitive)
+ Addedwhatwg-mimetype@2.3.0(transitive)
+ Addedwhatwg-url@8.7.0(transitive)
+ Addedws@7.5.10(transitive)
+ Addedxml-name-validator@3.0.0(transitive)
+ Addedxmlchars@2.2.0(transitive)
- Removedxmldom@^0.1.27
- Removedxmldom@0.1.31(transitive)