pax_global_header00006660000000000000000000000064135211056470014516gustar00rootroot0000000000000052 comment=064cd5d9b3d746f0e29463abe0a39012b97eecc2 htmlparser2-4.0.0/000077500000000000000000000000001352110564700137625ustar00rootroot00000000000000htmlparser2-4.0.0/.eslintrc.json000066400000000000000000000013471352110564700165630ustar00rootroot00000000000000{ "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "prettier", "prettier/@typescript-eslint" ], "env": { "node": true, "es6": true }, "rules": { "eqeqeq": 2, "no-caller": 2, "dot-notation": 2, "no-var": 2, "prefer-const": 2, "prefer-arrow-callback": 2, "arrow-body-style": [2, "as-needed"], "object-shorthand": 2, "@typescript-eslint/explicit-function-return-type": 0, "@typescript-eslint/explicit-member-accessibility": 0, "@typescript-eslint/no-use-before-define": [2, { "functions": false }] } } htmlparser2-4.0.0/.gitattributes000066400000000000000000000001031352110564700166470ustar00rootroot00000000000000# Auto detect text files and perform LF normalization * text eol=lfhtmlparser2-4.0.0/.github/000077500000000000000000000000001352110564700153225ustar00rootroot00000000000000htmlparser2-4.0.0/.github/FUNDING.yml000066400000000000000000000011641352110564700171410ustar00rootroot00000000000000# These are supported funding model platforms github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] patreon: # Replace with a single Patreon username open_collective: # Replace with a single Open Collective username ko_fi: # Replace with a single Ko-fi username tidelift: "npm/htmlparser2" community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry liberapay: # Replace with a single Liberapay username issuehunt: # Replace with a single IssueHunt username otechie: # Replace with a single Otechie username custom: # Replace with a single custom sponsorship URL htmlparser2-4.0.0/.gitignore000066400000000000000000000000351352110564700157500ustar00rootroot00000000000000node_modules/ coverage/ lib/ htmlparser2-4.0.0/.travis.yml000066400000000000000000000001521352110564700160710ustar00rootroot00000000000000language: node_js node_js: - lts/* sudo: false matrix: fast_finish: true script: npm run coveralls htmlparser2-4.0.0/LICENSE000066400000000000000000000021201352110564700147620ustar00rootroot00000000000000Copyright 2010, 2011, Chris Winberry . All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.htmlparser2-4.0.0/README.md000066400000000000000000000107751352110564700152530ustar00rootroot00000000000000# htmlparser2 [![NPM version](http://img.shields.io/npm/v/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Downloads](https://img.shields.io/npm/dm/htmlparser2.svg?style=flat)](https://npmjs.org/package/htmlparser2) [![Build Status](http://img.shields.io/travis/fb55/htmlparser2/master.svg?style=flat)](http://travis-ci.org/fb55/htmlparser2) [![Coverage](http://img.shields.io/coveralls/fb55/htmlparser2.svg?style=flat)](https://coveralls.io/r/fb55/htmlparser2) A forgiving HTML/XML/RSS parser. The parser can handle streams and provides a callback interface. ## Installation npm install htmlparser2 A live demo of htmlparser2 is available [here](https://astexplorer.net/#/2AmVrGuGVJ). ## Usage ```javascript const htmlparser2 = require("htmlparser2"); const parser = new htmlparser2.Parser( { onopentag(name, attribs) { if (name === "script" && attribs.type === "text/javascript") { console.log("JS! Hooray!"); } }, ontext(text) { console.log("-->", text); }, onclosetag(tagname) { if (tagname === "script") { console.log("That's it?!"); } } }, { decodeEntities: true } ); parser.write( "Xyz

", "expected": [ { "event": "opentagname", "data": ["p"] }, { "event": "opentag", "data": ["p", {}] }, { "event": "opentagname", "data": ["script"] }, { "event": "attribute", "data": ["type", "text/template"] }, { "event": "opentag", "data": [ "script", { "type": "text/template" } ] }, { "event": "text", "data": ["

Heading1

"] }, { "event": "closetag", "data": ["script"] }, { "event": "closetag", "data": ["p"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/03-lowercase_tags.json000066400000000000000000000013301352110564700245740ustar00rootroot00000000000000{ "name": "Lowercase tags", "options": { "handler": {}, "parser": { "lowerCaseTags": true } }, "html": "

adsf

", "expected": [ { "event": "opentagname", "data": ["h1"] }, { "event": "attribute", "data": ["class", "test"] }, { "event": "opentag", "data": [ "h1", { "class": "test" } ] }, { "event": "text", "data": ["adsf"] }, { "event": "closetag", "data": ["h1"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/04-cdata.json000066400000000000000000000014571352110564700226610ustar00rootroot00000000000000{ "name": "CDATA", "options": { "handler": {}, "parser": { "xmlMode": true } }, "html": "<> fo]]>", "expected": [ { "event": "opentagname", "data": ["tag"] }, { "event": "opentag", "data": ["tag", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [" asdf ><> fo"] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["tag"] }, { "event": "processinginstruction", "data": ["![CD", "![CD"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/05-cdata-special.json000066400000000000000000000011201352110564700242630ustar00rootroot00000000000000{ "name": "CDATA (inside special)", "options": { "handler": {}, "parser": {} }, "html": "", "expected": [ { "event": "opentagname", "data": ["script"] }, { "event": "opentag", "data": ["script", {}] }, { "event": "text", "data": ["/*<> fo/*]]>*/"] }, { "event": "closetag", "data": ["script"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/06-leading-lt.json000066400000000000000000000003321352110564700236160ustar00rootroot00000000000000{ "name": "leading lt", "options": { "handler": {}, "parser": {} }, "html": ">a>", "expected": [ { "event": "text", "data": [">a>"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/07-self-closing.json000066400000000000000000000017121352110564700241670ustar00rootroot00000000000000{ "name": "Self-closing tags", "options": { "handler": {}, "parser": {} }, "html": "Foo
", "expected": [ { "event": "opentagname", "data": ["a"] }, { "event": "attribute", "data": ["href", "http://test.com/"] }, { "event": "opentag", "data": [ "a", { "href": "http://test.com/" } ] }, { "event": "text", "data": ["Foo"] }, { "event": "closetag", "data": ["a"] }, { "event": "opentagname", "data": ["hr"] }, { "event": "opentag", "data": ["hr", {}] }, { "event": "closetag", "data": ["hr"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/08-implicit-close-tags.json000066400000000000000000000104441352110564700254560ustar00rootroot00000000000000{ "name": "Implicit close tags", "options": {}, "html": "
  1. TH

    Heading

    Div
    Div2
  2. Heading 2

Para

Heading 4

  • Hi
  • bye
", "expected": [ { "event": "opentagname", "data": ["ol"] }, { "event": "opentag", "data": ["ol", {}] }, { "event": "opentagname", "data": ["li"] }, { "event": "attribute", "data": ["class", "test"] }, { "event": "opentag", "data": ["li", { "class": "test" }] }, { "event": "opentagname", "data": ["div"] }, { "event": "opentag", "data": ["div", {}] }, { "event": "opentagname", "data": ["table"] }, { "event": "attribute", "data": ["style", "width:100%"] }, { "event": "opentag", "data": ["table", { "style": "width:100%" }] }, { "event": "opentagname", "data": ["tr"] }, { "event": "opentag", "data": ["tr", {}] }, { "event": "opentagname", "data": ["th"] }, { "event": "opentag", "data": ["th", {}] }, { "event": "text", "data": ["TH"] }, { "event": "closetag", "data": ["th"] }, { "event": "opentagname", "data": ["td"] }, { "event": "attribute", "data": ["colspan", "2"] }, { "event": "opentag", "data": ["td", { "colspan": "2" }] }, { "event": "opentagname", "data": ["h3"] }, { "event": "opentag", "data": ["h3", {}] }, { "event": "text", "data": ["Heading"] }, { "event": "closetag", "data": ["h3"] }, { "event": "closetag", "data": ["td"] }, { "event": "closetag", "data": ["tr"] }, { "event": "opentagname", "data": ["tr"] }, { "event": "opentag", "data": ["tr", {}] }, { "event": "opentagname", "data": ["td"] }, { "event": "opentag", "data": ["td", {}] }, { "event": "opentagname", "data": ["div"] }, { "event": "opentag", "data": ["div", {}] }, { "event": "text", "data": ["Div"] }, { "event": "closetag", "data": ["div"] }, { "event": "closetag", "data": ["td"] }, { "event": "opentagname", "data": ["td"] }, { "event": "opentag", "data": ["td", {}] }, { "event": "opentagname", "data": ["div"] }, { "event": "opentag", "data": ["div", {}] }, { "event": "text", "data": ["Div2"] }, { "event": "closetag", "data": ["div"] }, { "event": "closetag", "data": ["td"] }, { "event": "closetag", "data": ["tr"] }, { "event": "closetag", "data": ["table"] }, { "event": "closetag", "data": ["div"] }, { "event": "closetag", "data": ["li"] }, { "event": "opentagname", "data": ["li"] }, { "event": "opentag", "data": ["li", {}] }, { "event": "opentagname", "data": ["div"] }, { "event": "opentag", "data": ["div", {}] }, { "event": "opentagname", "data": ["h3"] }, { "event": "opentag", "data": ["h3", {}] }, { "event": "text", "data": ["Heading 2"] }, { "event": "closetag", "data": ["h3"] }, { "event": "closetag", "data": ["div"] }, { "event": "closetag", "data": ["li"] }, { "event": "closetag", "data": ["ol"] }, { "event": "opentagname", "data": ["p"] }, { "event": "opentag", "data": ["p", {}] }, { "event": "text", "data": ["Para"] }, { "event": "closetag", "data": ["p"] }, { "event": "opentagname", "data": ["h4"] }, { "event": "opentag", "data": ["h4", {}] }, { "event": "text", "data": ["Heading 4"] }, { "event": "closetag", "data": ["h4"] }, { "event": "opentagname", "data": ["p"] }, { "event": "opentag", "data": ["p", {}] }, { "event": "closetag", "data": ["p"] }, { "event": "opentagname", "data": ["ul"] }, { "event": "opentag", "data": ["ul", {}] }, { "event": "opentagname", "data": ["li"] }, { "event": "opentag", "data": ["li", {}] }, { "event": "text", "data": ["Hi"] }, { "event": "closetag", "data": ["li"] }, { "event": "opentagname", "data": ["li"] }, { "event": "opentag", "data": ["li", {}] }, { "event": "text", "data": ["bye"] }, { "event": "closetag", "data": ["li"] }, { "event": "closetag", "data": ["ul"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/09-attributes.json000066400000000000000000000022261352110564700237730ustar00rootroot00000000000000{ "name": "attributes (no white space, no value, no quotes)", "options": { "handler": {}, "parser": {} }, "html": "", "expected": [ { "event": "opentagname", "data": ["button"] }, { "event": "attribute", "data": ["class", "test0"] }, { "event": "attribute", "data": ["title", "test1"] }, { "event": "attribute", "data": ["disabled", ""] }, { "event": "attribute", "data": ["value", "test2"] }, { "event": "opentag", "data": [ "button", { "class": "test0", "title": "test1", "disabled": "", "value": "test2" } ] }, { "event": "text", "data": ["adsf"] }, { "event": "closetag", "data": ["button"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/10-crazy-attrib.json000066400000000000000000000014261352110564700242110ustar00rootroot00000000000000{ "name": "crazy attribute", "options": { "handler": {}, "parser": {} }, "html": "

stuff

", "expected": [ { "event": "opentagname", "data": ["p"] }, { "event": "opentag", "data": ["p", {}] }, { "event": "opentagname", "data": ["script"] }, { "event": "opentag", "data": ["script", {}] }, { "event": "text", "data": ["var str = '", "expected": [ { "event": "opentagname", "data": ["script"] }, { "event": "opentag", "data": ["script", {}] }, { "event": "text", "data": ["", "expected": [ { "event": "text", "data": ["< >"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/26-not-quite-closed.json000066400000000000000000000010421352110564700247730ustar00rootroot00000000000000{ "name": "Not quite closed", "options": {}, "html": "", "expected": [ { "event": "opentagname", "data": ["foo"] }, { "event": "attribute", "data": ["bar", ""] }, { "event": "opentag", "data": [ "foo", { "bar": "" } ] }, { "event": "closetag", "data": ["foo"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/27-entities_in_attributes.json000066400000000000000000000017631352110564700263720ustar00rootroot00000000000000{ "name": "Entities in attributes", "options": { "handler": {}, "parser": { "decodeEntities": true } }, "html": "", "expected": [ { "event": "opentagname", "data": ["foo"] }, { "event": "attribute", "data": ["bar", "&"] }, { "event": "attribute", "data": ["baz", "&"] }, { "event": "attribute", "data": ["boo", "&"] }, { "event": "attribute", "data": ["noo", ""] }, { "event": "opentag", "data": [ "foo", { "bar": "&", "baz": "&", "boo": "&", "noo": "" } ] }, { "event": "closetag", "data": ["foo"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/28-cdata_in_html.json000066400000000000000000000003271352110564700243740ustar00rootroot00000000000000{ "name": "CDATA in HTML", "options": {}, "html": "", "expected": [ { "event": "comment", "data": ["[CDATA[ foo ]]"] }, { "event": "commentend", "data": [] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/29-comment_edge-cases.json000066400000000000000000000006461352110564700253350ustar00rootroot00000000000000{ "name": "Comment edge-cases", "options": {}, "html": "", "expected": [ { "event": "comment", "data": [" a-b-> "] }, { "event": "commentend", "data": [] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/32-script-ending-with-lessthan.json000066400000000000000000000007671352110564700271470ustar00rootroot00000000000000{ "name": "Scripts ending with <", "options": { "handler": {}, "parser": {} }, "html": "", "expected": [ { "event": "opentagname", "data": ["script"] }, { "event": "opentag", "data": ["script", {}] }, { "event": "text", "data": ["<"] }, { "event": "closetag", "data": ["script"] } ] } htmlparser2-4.0.0/src/__fixtures__/Events/33-cdata_more-edge-cases.json000066400000000000000000000005001352110564700256670ustar00rootroot00000000000000{ "name": "CDATA more edge-cases", "options": { "parser": { "recognizeCDATA": true } }, "html": "baz]]>", "expected": [ { "event": "cdatastart", "data": [] }, { "event": "text", "data": ["foo]bar]>baz"] }, { "event": "cdataend", "data": [] } ] } htmlparser2-4.0.0/src/__fixtures__/Feeds/000077500000000000000000000000001352110564700202445ustar00rootroot00000000000000htmlparser2-4.0.0/src/__fixtures__/Feeds/01-rss.json000066400000000000000000000001241352110564700221610ustar00rootroot00000000000000{ "name": "RSS (2.0)", "file": "RSS_Example.xml", "useSnapshot": true } htmlparser2-4.0.0/src/__fixtures__/Feeds/02-atom.json000066400000000000000000000001261352110564700223150ustar00rootroot00000000000000{ "name": "Atom (1.0)", "file": "Atom_Example.xml", "useSnapshot": true } htmlparser2-4.0.0/src/__fixtures__/Feeds/03-rdf.json000066400000000000000000000001231352110564700221260ustar00rootroot00000000000000{ "name": "RDF test", "file": "RDF_Example.xml", "useSnapshot": true } htmlparser2-4.0.0/src/__fixtures__/Stream/000077500000000000000000000000001352110564700204515ustar00rootroot00000000000000htmlparser2-4.0.0/src/__fixtures__/Stream/01-basic.json000066400000000000000000000022011352110564700226360ustar00rootroot00000000000000{ "name": "Basic html", "options": {}, "file": "Basic.html", "expected": [ { "event": "processinginstruction", "data": ["!doctype", "!DOCTYPE html"] }, { "event": "opentagname", "data": ["html"] }, { "event": "opentag", "data": ["html", {}] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["The Title"] }, { "event": "closetag", "data": ["title"] }, { "event": "opentagname", "data": ["body"] }, { "event": "opentag", "data": ["body", {}] }, { "event": "text", "data": ["Hello world"] }, { "event": "closetag", "data": ["body"] }, { "event": "closetag", "data": ["html"] } ] } htmlparser2-4.0.0/src/__fixtures__/Stream/02-RSS.json000066400000000000000000000407111352110564700222350ustar00rootroot00000000000000{ "name": "RSS feed", "options": { "xmlMode": true }, "file": "RSS_Example.xml", "expected": [ { "event": "processinginstruction", "data": ["?xml", "?xml version=\"1.0\"?"] }, { "event": "text", "data": ["\n"] }, { "event": "comment", "data": [ " http://cyber.law.harvard.edu/rss/examples/rss2sample.xml " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["rss"] }, { "event": "attribute", "data": ["version", "2.0"] }, { "event": "opentag", "data": [ "rss", { "version": "2.0" } ] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["channel"] }, { "event": "opentag", "data": ["channel", {}] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Liftoff News"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "text", "data": ["Liftoff to Space Exploration."] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["language"] }, { "event": "opentag", "data": ["language", {}] }, { "event": "text", "data": ["en-us"] }, { "event": "closetag", "data": ["language"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["pubDate"] }, { "event": "opentag", "data": ["pubDate", {}] }, { "event": "text", "data": ["Tue, 10 Jun 2003 04:00:00 GMT"] }, { "event": "closetag", "data": ["pubDate"] }, { "event": "text", "data": ["\n\n "] }, { "event": "opentagname", "data": ["lastBuildDate"] }, { "event": "opentag", "data": ["lastBuildDate", {}] }, { "event": "text", "data": ["Tue, 10 Jun 2003 09:41:01 GMT"] }, { "event": "closetag", "data": ["lastBuildDate"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["docs"] }, { "event": "opentag", "data": ["docs", {}] }, { "event": "text", "data": ["http://blogs.law.harvard.edu/tech/rss"] }, { "event": "closetag", "data": ["docs"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["generator"] }, { "event": "opentag", "data": ["generator", {}] }, { "event": "text", "data": ["Weblog Editor 2.0"] }, { "event": "closetag", "data": ["generator"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["managingEditor"] }, { "event": "opentag", "data": ["managingEditor", {}] }, { "event": "text", "data": ["editor@example.com"] }, { "event": "closetag", "data": ["managingEditor"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["webMaster"] }, { "event": "opentag", "data": ["webMaster", {}] }, { "event": "text", "data": ["webmaster@example.com"] }, { "event": "closetag", "data": ["webMaster"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["item"] }, { "event": "opentag", "data": ["item", {}] }, { "event": "text", "data": ["\n\n "] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Star City"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "text", "data": [ "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\">Star City</a>." ] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["pubDate"] }, { "event": "opentag", "data": ["pubDate", {}] }, { "event": "text", "data": ["Tue, 03 Jun 2003 09:39:21 GMT"] }, { "event": "closetag", "data": ["pubDate"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["guid"] }, { "event": "opentag", "data": ["guid", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/2003/06/03.html#item573"] }, { "event": "closetag", "data": ["guid"] }, { "event": "text", "data": ["\n\n "] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["item"] }, { "event": "opentag", "data": ["item", {}] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "text", "data": [ "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\">partial eclipse of the Sun</a> on Saturday, May 31st." ] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["pubDate"] }, { "event": "opentag", "data": ["pubDate", {}] }, { "event": "text", "data": ["Fri, 30 May 2003 11:06:42 GMT"] }, { "event": "closetag", "data": ["pubDate"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["guid"] }, { "event": "opentag", "data": ["guid", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/2003/05/30.html#item572"] }, { "event": "closetag", "data": ["guid"] }, { "event": "text", "data": ["\n\n "] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["item"] }, { "event": "opentag", "data": ["item", {}] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["The Engine That Does More"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "text", "data": [ "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that." ] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["pubDate"] }, { "event": "opentag", "data": ["pubDate", {}] }, { "event": "text", "data": ["Tue, 27 May 2003 08:37:32 GMT"] }, { "event": "closetag", "data": ["pubDate"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["guid"] }, { "event": "opentag", "data": ["guid", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/2003/05/27.html#item571"] }, { "event": "closetag", "data": ["guid"] }, { "event": "text", "data": ["\n\n "] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["item"] }, { "event": "opentag", "data": ["item", {}] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Astronauts' Dirty Laundry"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "text", "data": [ "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options." ] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["pubDate"] }, { "event": "opentag", "data": ["pubDate", {}] }, { "event": "text", "data": ["Tue, 20 May 2003 08:56:02 GMT"] }, { "event": "closetag", "data": ["pubDate"] }, { "event": "text", "data": ["\n "] }, { "event": "opentagname", "data": ["guid"] }, { "event": "opentag", "data": ["guid", {}] }, { "event": "text", "data": ["http://liftoff.msfc.nasa.gov/2003/05/20.html#item570"] }, { "event": "closetag", "data": ["guid"] }, { "event": "text", "data": ["\n\n "] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n "] }, { "event": "closetag", "data": ["channel"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["rss"] } ] } htmlparser2-4.0.0/src/__fixtures__/Stream/03-Atom.json000066400000000000000000000241401352110564700224650ustar00rootroot00000000000000{ "name": "Atom feed", "options": { "xmlMode": true }, "file": "Atom_Example.xml", "expected": [ { "event": "processinginstruction", "data": ["?xml", "?xml version=\"1.0\" encoding=\"utf-8\"?"] }, { "event": "text", "data": ["\n"] }, { "event": "comment", "data": [" http://en.wikipedia.org/wiki/Atom_%28standard%29 "] }, { "event": "commentend", "data": [] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["feed"] }, { "event": "attribute", "data": ["xmlns", "http://www.w3.org/2005/Atom"] }, { "event": "opentag", "data": [ "feed", { "xmlns": "http://www.w3.org/2005/Atom" } ] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Example Feed"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["subtitle"] }, { "event": "opentag", "data": ["subtitle", {}] }, { "event": "text", "data": ["A subtitle."] }, { "event": "closetag", "data": ["subtitle"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "attribute", "data": ["href", "http://example.org/feed/"] }, { "event": "attribute", "data": ["rel", "self"] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/feed/", "rel": "self" } ] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "attribute", "data": ["href", "http://example.org/"] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/" } ] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["id"] }, { "event": "opentag", "data": ["id", {}] }, { "event": "text", "data": ["urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6"] }, { "event": "closetag", "data": ["id"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["updated"] }, { "event": "opentag", "data": ["updated", {}] }, { "event": "text", "data": ["2003-12-13T18:30:02Z"] }, { "event": "closetag", "data": ["updated"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["author"] }, { "event": "opentag", "data": ["author", {}] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["name"] }, { "event": "opentag", "data": ["name", {}] }, { "event": "text", "data": ["John Doe"] }, { "event": "closetag", "data": ["name"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["email"] }, { "event": "opentag", "data": ["email", {}] }, { "event": "text", "data": ["johndoe@example.com"] }, { "event": "closetag", "data": ["email"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["author"] }, { "event": "text", "data": ["\n\n\t"] }, { "event": "opentagname", "data": ["entry"] }, { "event": "opentag", "data": ["entry", {}] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Atom-Powered Robots Run Amok"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "attribute", "data": ["href", "http://example.org/2003/12/13/atom03"] }, { "event": "opentag", "data": [ "link", { "href": "http://example.org/2003/12/13/atom03" } ] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "attribute", "data": ["rel", "alternate"] }, { "event": "attribute", "data": ["type", "text/html"] }, { "event": "attribute", "data": ["href", "http://example.org/2003/12/13/atom03.html"] }, { "event": "opentag", "data": [ "link", { "rel": "alternate", "type": "text/html", "href": "http://example.org/2003/12/13/atom03.html" } ] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "attribute", "data": ["rel", "edit"] }, { "event": "attribute", "data": ["href", "http://example.org/2003/12/13/atom03/edit"] }, { "event": "opentag", "data": [ "link", { "rel": "edit", "href": "http://example.org/2003/12/13/atom03/edit" } ] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["id"] }, { "event": "opentag", "data": ["id", {}] }, { "event": "text", "data": ["urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a"] }, { "event": "closetag", "data": ["id"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["updated"] }, { "event": "opentag", "data": ["updated", {}] }, { "event": "text", "data": ["2003-12-13T18:30:02Z"] }, { "event": "closetag", "data": ["updated"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["content"] }, { "event": "attribute", "data": ["type", "html"] }, { "event": "opentag", "data": [ "content", { "type": "html" } ] }, { "event": "opentagname", "data": ["p"] }, { "event": "opentag", "data": ["p", {}] }, { "event": "text", "data": ["Some content."] }, { "event": "closetag", "data": ["p"] }, { "event": "closetag", "data": ["content"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["entry"] }, { "event": "text", "data": ["\n\n"] }, { "event": "closetag", "data": ["feed"] }, { "event": "text", "data": ["\n"] } ] } htmlparser2-4.0.0/src/__fixtures__/Stream/04-RDF.json000066400000000000000000000531121352110564700222020ustar00rootroot00000000000000{ "name": "RDF feed", "options": { "xmlMode": true }, "file": "RDF_Example.xml", "expected": [ { "event": "processinginstruction", "data": ["?xml", "?xml version=\"1.0\" encoding=\"UTF-8\"?"] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["rdf:RDF"] }, { "event": "attribute", "data": ["xmlns:rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"] }, { "event": "attribute", "data": ["xmlns", "http://purl.org/rss/1.0/"] }, { "event": "attribute", "data": ["xmlns:ev", "http://purl.org/rss/1.0/modules/event/"] }, { "event": "attribute", "data": [ "xmlns:content", "http://purl.org/rss/1.0/modules/content/" ] }, { "event": "attribute", "data": ["xmlns:taxo", "http://purl.org/rss/1.0/modules/taxonomy/"] }, { "event": "attribute", "data": ["xmlns:dc", "http://purl.org/dc/elements/1.1/"] }, { "event": "attribute", "data": [ "xmlns:syn", "http://purl.org/rss/1.0/modules/syndication/" ] }, { "event": "attribute", "data": ["xmlns:dcterms", "http://purl.org/dc/terms/"] }, { "event": "attribute", "data": ["xmlns:admin", "http://webns.net/mvcb/"] }, { "event": "opentag", "data": [ "rdf:RDF", { "xmlns:rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "xmlns": "http://purl.org/rss/1.0/", "xmlns:ev": "http://purl.org/rss/1.0/modules/event/", "xmlns:content": "http://purl.org/rss/1.0/modules/content/", "xmlns:taxo": "http://purl.org/rss/1.0/modules/taxonomy/", "xmlns:dc": "http://purl.org/dc/elements/1.1/", "xmlns:syn": "http://purl.org/rss/1.0/modules/syndication/", "xmlns:dcterms": "http://purl.org/dc/terms/", "xmlns:admin": "http://webns.net/mvcb/" } ] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["channel"] }, { "event": "attribute", "data": ["rdf:about", "https://github.com/fb55/htmlparser2/"] }, { "event": "opentag", "data": [ "channel", { "rdf:about": "https://github.com/fb55/htmlparser2/" } ] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["A title to parse and remember"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["https://github.com/fb55/htmlparser2/"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:language"] }, { "event": "opentag", "data": ["dc:language", {}] }, { "event": "text", "data": ["en-us"] }, { "event": "closetag", "data": ["dc:language"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:rights"] }, { "event": "opentag", "data": ["dc:rights", {}] }, { "event": "text", "data": ["Copyright 2015 the authors"] }, { "event": "closetag", "data": ["dc:rights"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:publisher"] }, { "event": "opentag", "data": ["dc:publisher", {}] }, { "event": "text", "data": ["webmaster@thisisafakedoma.in"] }, { "event": "closetag", "data": ["dc:publisher"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:creator"] }, { "event": "opentag", "data": ["dc:creator", {}] }, { "event": "text", "data": ["webmaster@thisisafakedoma.in"] }, { "event": "closetag", "data": ["dc:creator"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:source"] }, { "event": "opentag", "data": ["dc:source", {}] }, { "event": "text", "data": ["https://github.com/fb55/htmlparser2/"] }, { "event": "closetag", "data": ["dc:source"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:title"] }, { "event": "opentag", "data": ["dc:title", {}] }, { "event": "text", "data": ["A title to parse and remember"] }, { "event": "closetag", "data": ["dc:title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:type"] }, { "event": "opentag", "data": ["dc:type", {}] }, { "event": "text", "data": ["Collection"] }, { "event": "closetag", "data": ["dc:type"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["syn:updateBase"] }, { "event": "opentag", "data": ["syn:updateBase", {}] }, { "event": "text", "data": ["2011-11-04T09:39:10-07:00"] }, { "event": "closetag", "data": ["syn:updateBase"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["syn:updateFrequency"] }, { "event": "opentag", "data": ["syn:updateFrequency", {}] }, { "event": "text", "data": ["4"] }, { "event": "closetag", "data": ["syn:updateFrequency"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["syn:updatePeriod"] }, { "event": "opentag", "data": ["syn:updatePeriod", {}] }, { "event": "text", "data": ["hourly"] }, { "event": "closetag", "data": ["syn:updatePeriod"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["items"] }, { "event": "opentag", "data": ["items", {}] }, { "event": "text", "data": ["\n\t\t\t"] }, { "event": "opentagname", "data": ["rdf:Seq"] }, { "event": "opentag", "data": ["rdf:Seq", {}] }, { "event": "text", "data": ["\n\t\t\t\t"] }, { "event": "opentagname", "data": ["rdf:li"] }, { "event": "attribute", "data": [ "rdf:resource", "http://somefakesite/path/to/something.html" ] }, { "event": "opentag", "data": [ "rdf:li", { "rdf:resource": "http://somefakesite/path/to/something.html" } ] }, { "event": "closetag", "data": ["rdf:li"] }, { "event": "text", "data": ["\n\t\t\t"] }, { "event": "closetag", "data": ["rdf:Seq"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "closetag", "data": ["items"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["channel"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["item"] }, { "event": "attribute", "data": ["rdf:about", "http://somefakesite/path/to/something.html"] }, { "event": "opentag", "data": [ "item", { "rdf:about": "http://somefakesite/path/to/something.html" } ] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [" Fast HTML Parsing "] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["\nhttp://somefakesite/path/to/something.html\n"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [ "\nGreat test content
A link: Github\n" ] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:date"] }, { "event": "opentag", "data": ["dc:date", {}] }, { "event": "text", "data": ["2011-11-04T09:35:17-07:00"] }, { "event": "closetag", "data": ["dc:date"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:language"] }, { "event": "opentag", "data": ["dc:language", {}] }, { "event": "text", "data": ["en-us"] }, { "event": "closetag", "data": ["dc:language"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:rights"] }, { "event": "opentag", "data": ["dc:rights", {}] }, { "event": "text", "data": ["Copyright 2015 the authors"] }, { "event": "closetag", "data": ["dc:rights"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:source"] }, { "event": "opentag", "data": ["dc:source", {}] }, { "event": "text", "data": ["\nhttp://somefakesite/path/to/something.html\n"] }, { "event": "closetag", "data": ["dc:source"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:title"] }, { "event": "opentag", "data": ["dc:title", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": [" Fast HTML Parsing "] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["dc:title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:type"] }, { "event": "opentag", "data": ["dc:type", {}] }, { "event": "text", "data": ["text"] }, { "event": "closetag", "data": ["dc:type"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dcterms:issued"] }, { "event": "opentag", "data": ["dcterms:issued", {}] }, { "event": "text", "data": ["2011-11-04T09:35:17-07:00"] }, { "event": "closetag", "data": ["dcterms:issued"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["item"] }, { "event": "attribute", "data": [ "rdf:about", "http://somefakesite/path/to/something-else.html" ] }, { "event": "opentag", "data": [ "item", { "rdf:about": "http://somefakesite/path/to/something-else.html" } ] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": ["\nThis space intentionally left blank\n"] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["link"] }, { "event": "opentag", "data": ["link", {}] }, { "event": "text", "data": ["\nhttp://somefakesite/path/to/something-else.html\n"] }, { "event": "closetag", "data": ["link"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["description"] }, { "event": "opentag", "data": ["description", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": ["\nThe early bird gets the worm\n"] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["description"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:date"] }, { "event": "opentag", "data": ["dc:date", {}] }, { "event": "text", "data": ["2011-11-04T09:34:54-07:00"] }, { "event": "closetag", "data": ["dc:date"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:language"] }, { "event": "opentag", "data": ["dc:language", {}] }, { "event": "text", "data": ["en-us"] }, { "event": "closetag", "data": ["dc:language"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:rights"] }, { "event": "opentag", "data": ["dc:rights", {}] }, { "event": "text", "data": ["Copyright 2015 the authors"] }, { "event": "closetag", "data": ["dc:rights"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:source"] }, { "event": "opentag", "data": ["dc:source", {}] }, { "event": "text", "data": ["\nhttp://somefakesite/path/to/something-else.html\n"] }, { "event": "closetag", "data": ["dc:source"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:title"] }, { "event": "opentag", "data": ["dc:title", {}] }, { "event": "cdatastart", "data": [] }, { "event": "text", "data": ["\nThis space intentionally left blank\n"] }, { "event": "cdataend", "data": [] }, { "event": "closetag", "data": ["dc:title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dc:type"] }, { "event": "opentag", "data": ["dc:type", {}] }, { "event": "text", "data": ["text"] }, { "event": "closetag", "data": ["dc:type"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["dcterms:issued"] }, { "event": "opentag", "data": ["dcterms:issued", {}] }, { "event": "text", "data": ["2011-11-04T09:34:54-07:00"] }, { "event": "closetag", "data": ["dcterms:issued"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["item"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["rdf:RDF"] } ] } htmlparser2-4.0.0/src/__fixtures__/Stream/05-Attributes.json000066400000000000000000000125021352110564700237140ustar00rootroot00000000000000{ "name": "Attributes", "options": {}, "file": "Attributes.html", "expected": [ { "event": "processinginstruction", "data": ["!doctype", "!doctype html"] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["html"] }, { "event": "opentag", "data": ["html", {}] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["head"] }, { "event": "opentag", "data": ["head", {}] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Attributes test"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["head"] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["body"] }, { "event": "opentag", "data": ["body", {}] }, { "event": "text", "data": ["\n\t"] }, { "event": "comment", "data": [" Normal attributes "] }, { "event": "commentend", "data": [] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["button"] }, { "event": "attribute", "data": ["id", "test0"] }, { "event": "attribute", "data": ["class", "value0"] }, { "event": "attribute", "data": ["title", "value1"] }, { "event": "opentag", "data": [ "button", { "id": "test0", "class": "value0", "title": "value1" } ] }, { "event": "text", "data": ["class=\"value0\" title=\"value1\""] }, { "event": "closetag", "data": ["button"] }, { "event": "text", "data": ["\n\n\t"] }, { "event": "comment", "data": [" Attributes with no quotes or value "] }, { "event": "commentend", "data": [] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["button"] }, { "event": "attribute", "data": ["id", "test1"] }, { "event": "attribute", "data": ["class", "value2"] }, { "event": "attribute", "data": ["disabled", ""] }, { "event": "opentag", "data": [ "button", { "id": "test1", "class": "value2", "disabled": "" } ] }, { "event": "text", "data": ["class=value2 disabled"] }, { "event": "closetag", "data": ["button"] }, { "event": "text", "data": ["\n\n\t"] }, { "event": "comment", "data": [ " Attributes with no space between them. No valid, but accepted by the browser " ] }, { "event": "commentend", "data": [] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["button"] }, { "event": "attribute", "data": ["id", "test2"] }, { "event": "attribute", "data": ["class", "value4"] }, { "event": "attribute", "data": ["title", "value5"] }, { "event": "opentag", "data": [ "button", { "id": "test2", "class": "value4", "title": "value5" } ] }, { "event": "text", "data": ["class=\"value4\"title=\"value5\""] }, { "event": "closetag", "data": ["button"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["body"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["html"] } ] } htmlparser2-4.0.0/src/__fixtures__/Stream/06-Svg.json000066400000000000000000000127201352110564700223300ustar00rootroot00000000000000{ "name": "SVG", "file": "Svg.html", "expected": [ { "event": "processinginstruction", "data": ["!doctype", "!doctype html"] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["html"] }, { "event": "opentag", "data": ["html", {}] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["head"] }, { "event": "opentag", "data": ["head", {}] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["SVG test"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["head"] }, { "event": "text", "data": ["\n"] }, { "event": "opentagname", "data": ["body"] }, { "event": "opentag", "data": ["body", {}] }, { "event": "text", "data": ["\n\t"] }, { "event": "opentagname", "data": ["svg"] }, { "event": "attribute", "data": ["version", "1.1"] }, { "event": "attribute", "data": ["xmlns", "http://www.w3.org/2000/svg"] }, { "event": "attribute", "data": ["xmlns:xlink", "http://www.w3.org/1999/xlink"] }, { "event": "opentag", "data": [ "svg", { "version": "1.1", "xmlns": "http://www.w3.org/2000/svg", "xmlns:xlink": "http://www.w3.org/1999/xlink" } ] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["Test"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["animate"] }, { "event": "opentag", "data": ["animate", {}] }, { "event": "closetag", "data": ["animate"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["polygon"] }, { "event": "opentag", "data": ["polygon", {}] }, { "event": "closetag", "data": ["polygon"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "opentagname", "data": ["g"] }, { "event": "opentag", "data": ["g", {}] }, { "event": "text", "data": ["\n\t\t\t"] }, { "event": "opentagname", "data": ["path"] }, { "event": "opentag", "data": ["path", {}] }, { "event": "text", "data": ["\n\t\t\t\t"] }, { "event": "opentagname", "data": ["title"] }, { "event": "opentag", "data": ["title", {}] }, { "event": "text", "data": ["x"] }, { "event": "closetag", "data": ["title"] }, { "event": "text", "data": ["\n\t\t\t\t"] }, { "event": "opentagname", "data": ["animate"] }, { "event": "opentag", "data": ["animate", {}] }, { "event": "closetag", "data": ["animate"] }, { "event": "text", "data": ["\n\t\t\t"] }, { "event": "closetag", "data": ["path"] }, { "event": "text", "data": ["\n\t\t"] }, { "event": "closetag", "data": ["g"] }, { "event": "text", "data": ["\n\t"] }, { "event": "closetag", "data": ["svg"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["body"] }, { "event": "text", "data": ["\n"] }, { "event": "closetag", "data": ["html"] }, { "event": "text", "data": ["\n"] } ] } htmlparser2-4.0.0/src/__fixtures__/test-helper.ts000066400000000000000000000054161352110564700220300ustar00rootroot00000000000000import { Parser, Handler, ParserOptions } from "../Parser"; import { CollectingHandler } from "../CollectingHandler"; import { DomHandlerOptions } from ".."; import fs from "fs"; import path from "path"; export function writeToParser( handler: Partial, options: ParserOptions | undefined, data: string ) { const parser = new Parser(handler, options); // First, try to run the test via chunks for (let i = 0; i < data.length; i++) { parser.write(data.charAt(i)); } parser.end(); // Then, parse everything parser.parseComplete(data); } interface Event { event: string; data: unknown[]; } // Returns a tree structure export function getEventCollector( cb: (error: Error | null, events?: Event[]) => void ) { const handler = new CollectingHandler({ onerror: cb, onend() { cb(null, handler.events.reduce(eventReducer, [])); } }); return handler; } function eventReducer(events: Event[], arr: [string, ...unknown[]]): Event[] { if ( arr[0] === "onerror" || arr[0] === "onend" || arr[0] === "onparserinit" ) { // ignore } else if ( arr[0] === "ontext" && events.length && events[events.length - 1].event === "text" ) { // Combine text nodes // @ts-ignore events[events.length - 1].data[0] += arr[1]; } else { events.push({ event: arr[0].substr(2), data: arr.slice(1) }); } return events; } function getCallback(file: TestFile, done: (err?: Error | null) => void) { let repeated = false; return (err: null | Error, actual?: {} | {}[]) => { expect(err).toBeNull(); if (file.useSnapshot) { expect(actual).toMatchSnapshot(); } else { expect(actual).toEqual(file.expected); } if (repeated) done(); else repeated = true; }; } interface TestFile { name: string; options: { parser?: ParserOptions; handler?: DomHandlerOptions; } & Partial; html: string; file: string; useSnapshot?: boolean; expected?: {} | {}[]; } export function createSuite( name: string, getResult: ( file: TestFile, done: (error: Error | null, actual?: {} | {}[]) => void ) => void ) { describe(name, readDir); function readDir() { const dir = path.join(__dirname, name); fs.readdirSync(dir) .filter(file => !file.startsWith(".") && !file.startsWith("_")) .map(name => path.join(dir, name)) .map(require) .forEach(runTest); } function runTest(file: TestFile) { test(file.name, done => getResult(file, getCallback(file, done))); } } htmlparser2-4.0.0/src/__snapshots__/000077500000000000000000000000001352110564700173675ustar00rootroot00000000000000htmlparser2-4.0.0/src/__snapshots__/FeedHandler.spec.ts.snap000066400000000000000000000205351352110564700237760ustar00rootroot00000000000000// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Feeds Atom (1.0) 1`] = ` Object { "author": "johndoe@example.com", "description": "A subtitle.", "id": "urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6", "items": Array [ Object { "description": "Some content.", "id": "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a", "link": "http://example.org/2003/12/13/atom03", "pubDate": 2003-12-13T18:30:02.000Z, "title": "Atom-Powered Robots Run Amok", }, ], "link": "http://example.org/feed/", "title": "Example Feed", "type": "atom", "updated": 2003-12-13T18:30:02.000Z, } `; exports[`Feeds Atom (1.0) 2`] = ` Object { "author": "johndoe@example.com", "description": "A subtitle.", "id": "urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6", "items": Array [ Object { "description": "Some content.", "id": "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a", "link": "http://example.org/2003/12/13/atom03", "pubDate": 2003-12-13T18:30:02.000Z, "title": "Atom-Powered Robots Run Amok", }, ], "link": "http://example.org/feed/", "title": "Example Feed", "type": "atom", "updated": 2003-12-13T18:30:02.000Z, } `; exports[`Feeds RDF test 1`] = ` Object { "id": "", "items": Array [ Object { "description": "Great test content
A link: Github", "link": "http://somefakesite/path/to/something.html", "title": "Fast HTML Parsing", }, Object { "description": "The early bird gets the worm", "link": "http://somefakesite/path/to/something-else.html", "title": "This space intentionally left blank", }, ], "link": "https://github.com/fb55/htmlparser2/", "title": "A title to parse and remember", "type": "rdf", } `; exports[`Feeds RDF test 2`] = ` Object { "id": "", "items": Array [ Object { "description": "Great test content
A link: Github", "link": "http://somefakesite/path/to/something.html", "title": "Fast HTML Parsing", }, Object { "description": "The early bird gets the worm", "link": "http://somefakesite/path/to/something-else.html", "title": "This space intentionally left blank", }, ], "link": "https://github.com/fb55/htmlparser2/", "title": "A title to parse and remember", "type": "rdf", } `; exports[`Feeds RSS (2.0) 1`] = ` Object { "author": "editor@example.com", "description": "Liftoff to Space Exploration.", "id": "", "items": Array [ Object { "description": "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\\">Star City</a>.", "id": "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp", "pubDate": 2003-06-03T09:39:21.000Z, "title": "Star City", }, Object { "description": "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\\">partial eclipse of the Sun</a> on Saturday, May 31st.", "id": "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572", "pubDate": 2003-05-30T11:06:42.000Z, }, Object { "description": "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.", "id": "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp", "pubDate": 2003-05-27T08:37:32.000Z, "title": "The Engine That Does More", }, Object { "description": "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.", "id": "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp", "pubDate": 2003-05-20T08:56:02.000Z, "title": "Astronauts' Dirty Laundry", }, ], "link": "http://liftoff.msfc.nasa.gov/", "title": "Liftoff News", "type": "rss", "updated": 2003-06-10T09:41:01.000Z, } `; exports[`Feeds RSS (2.0) 2`] = ` Object { "author": "editor@example.com", "description": "Liftoff to Space Exploration.", "id": "", "items": Array [ Object { "description": "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\\">Star City</a>.", "id": "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp", "pubDate": 2003-06-03T09:39:21.000Z, "title": "Star City", }, Object { "description": "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\\">partial eclipse of the Sun</a> on Saturday, May 31st.", "id": "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572", "pubDate": 2003-05-30T11:06:42.000Z, }, Object { "description": "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.", "id": "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp", "pubDate": 2003-05-27T08:37:32.000Z, "title": "The Engine That Does More", }, Object { "description": "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.", "id": "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp", "pubDate": 2003-05-20T08:56:02.000Z, "title": "Astronauts' Dirty Laundry", }, ], "link": "http://liftoff.msfc.nasa.gov/", "title": "Liftoff News", "type": "rss", "updated": 2003-06-10T09:41:01.000Z, } `; exports[`parseFeed (rssFeed) 1`] = ` Object { "author": "editor@example.com", "description": "Liftoff to Space Exploration.", "id": "", "items": Array [ Object { "description": "How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=\\"http://howe.iki.rssi.ru/GCTC/gctc_e.htm\\">Star City</a>.", "id": "http://liftoff.msfc.nasa.gov/2003/06/03.html#item573", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp", "pubDate": 2003-06-03T09:39:21.000Z, "title": "Star City", }, Object { "description": "Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=\\"http://science.nasa.gov/headlines/y2003/30may_solareclipse.htm\\">partial eclipse of the Sun</a> on Saturday, May 31st.", "id": "http://liftoff.msfc.nasa.gov/2003/05/30.html#item572", "pubDate": 2003-05-30T11:06:42.000Z, }, Object { "description": "Before man travels to Mars, NASA hopes to design new engines that will let us fly through the Solar System more quickly. The proposed VASIMR engine would do that.", "id": "http://liftoff.msfc.nasa.gov/2003/05/27.html#item571", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp", "pubDate": 2003-05-27T08:37:32.000Z, "title": "The Engine That Does More", }, Object { "description": "Compared to earlier spacecraft, the International Space Station has many luxuries, but laundry facilities are not one of them. Instead, astronauts have other options.", "id": "http://liftoff.msfc.nasa.gov/2003/05/20.html#item570", "link": "http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp", "pubDate": 2003-05-20T08:56:02.000Z, "title": "Astronauts' Dirty Laundry", }, ], "link": "http://liftoff.msfc.nasa.gov/", "title": "Liftoff News", "type": "rss", "updated": 2003-06-10T09:41:01.000Z, } `; htmlparser2-4.0.0/src/__snapshots__/index.spec.ts.snap000066400000000000000000000054001352110564700227360ustar00rootroot00000000000000// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Index createDomStream 1`] = ` Array [ DataNode { "data": "&This is text", "endIndex": null, "next": DataNode { "data": " and comments ", "endIndex": null, "next": , "parent": null, "prev": [Circular], "startIndex": null, "type": "comment", }, "parent": null, "prev": null, "startIndex": null, "type": "text", }, DataNode { "data": " and comments ", "endIndex": null, "next": , "parent": null, "prev": DataNode { "data": "&This is text", "endIndex": null, "next": [Circular], "parent": null, "prev": null, "startIndex": null, "type": "text", }, "startIndex": null, "type": "comment", }, , ] `; exports[`Index parseDOM 1`] = ` Array [ ProcessingInstruction { "data": "?foo", "endIndex": null, "name": "?foo", "next": DataNode { "data": "Yay!", "endIndex": null, "next": null, "parent": [Circular] [Circular] , "prev": [Circular], "startIndex": null, "type": "text", }, "parent": [Circular] DataNode { "data": "Yay!", "endIndex": null, "next": null, "parent": [Circular] [Circular] , "prev": [Circular], "startIndex": null, "type": "text", } , "prev": null, "startIndex": null, "type": "directive", } DataNode { "data": "Yay!", "endIndex": null, "next": null, "parent": ProcessingInstruction { "data": "?foo", "endIndex": null, "name": "?foo", "next": [Circular], "parent": [Circular] [Circular] , "prev": null, "startIndex": null, "type": "directive", } [Circular] , "prev": ProcessingInstruction { "data": "?foo", "endIndex": null, "name": "?foo", "next": [Circular], "parent": [Circular] [Circular] , "prev": null, "startIndex": null, "type": "directive", }, "startIndex": null, "type": "text", } , ] `; htmlparser2-4.0.0/src/__tests__/000077500000000000000000000000001352110564700165075ustar00rootroot00000000000000htmlparser2-4.0.0/src/__tests__/events.ts000066400000000000000000000003331352110564700203620ustar00rootroot00000000000000import * as helper from "../__fixtures__/test-helper"; helper.createSuite("Events", (test, cb) => helper.writeToParser( helper.getEventCollector(cb), test.options.parser, test.html ) ); htmlparser2-4.0.0/src/__tests__/stream.ts000066400000000000000000000016431352110564700203560ustar00rootroot00000000000000import * as helper from "../__fixtures__/test-helper"; import { WritableStream } from "../WritableStream"; import fs from "fs"; import path from "path"; helper.createSuite("Stream", (test, cb) => { const filePath = path.join( __dirname, "..", "__fixtures__", "Documents", test.file ); fs.createReadStream(filePath) .pipe( new WritableStream( helper.getEventCollector((err, events) => { cb(err, events); const handler = helper.getEventCollector(cb); const stream = new WritableStream(handler, test.options); fs.readFile(filePath, (err, data) => { if (err) throw err; stream.end(data); }); }), test.options ) ) .on("error", cb); }); htmlparser2-4.0.0/src/index.spec.ts000066400000000000000000000017031352110564700171620ustar00rootroot00000000000000import { parseDOM, createDomStream } from "."; import { Element } from "domhandler"; // Add an `attributes` prop to the Element for now, to make it possible for Jest to render DOM nodes. Object.defineProperty(Element.prototype, "attributes", { get() { return Object.keys(this.attribs).map(name => ({ name, value: this.attribs[name] })); }, configurable: true, enumerable: false }); describe("Index", () => { test("parseDOM", () => { const dom = parseDOM("Yay!"); expect(dom).toMatchSnapshot(); }); test("createDomStream", done => { const domStream = createDomStream((err, dom) => { expect(err).toBeNull(); expect(dom).toMatchSnapshot(); done(); }); for (const c of "&This is text") { domStream.write(c); } domStream.end(); }); }); htmlparser2-4.0.0/src/index.ts000066400000000000000000000040721352110564700162330ustar00rootroot00000000000000import { Parser, ParserOptions } from "./Parser"; export { Parser, ParserOptions }; import { DomHandler, DomHandlerOptions, Node, Element } from "domhandler"; export { DomHandler, DomHandlerOptions }; type Options = ParserOptions & DomHandlerOptions; // Helper methods /** * Parses data, returns the resulting DOM. * * @param data The data that should be parsed. * @param options Optional options for the parser and DOM builder. */ export function parseDOM(data: string, options?: Options): Node[] { const handler = new DomHandler(void 0, options); new Parser(handler, options).end(data); return handler.dom; } /** * Creates a parser instance, with an attached DOM handler. * * @param cb A callback that will be called once parsing has been completed. * @param options Optional options for the parser and DOM builder. * @param elementCb An optional callback that will be called every time a tag has been completed inside of the DOM. */ export function createDomStream( cb: (error: Error | null, dom: Node[]) => void, options?: Options, elementCb?: (element: Element) => void ) { const handler = new DomHandler(cb, options, elementCb); return new Parser(handler, options); } export { default as Tokenizer } from "./Tokenizer"; import * as ElementType from "domelementtype"; export { ElementType }; /** * List of all events that the parser emits. * * Format: eventname: number of arguments. */ export const EVENTS = { attribute: 2, cdatastart: 0, cdataend: 0, text: 1, processinginstruction: 2, comment: 1, commentend: 0, closetag: 1, opentag: 2, opentagname: 1, error: 1, end: 0 }; /* All of the following exports exist for backwards-compatibility. They should probably be removed eventually. */ export * from "./FeedHandler"; export * from "./WritableStream"; export * from "./CollectingHandler"; import * as DomUtils from "domutils"; export { DomUtils }; // Old names for Dom- & FeedHandler export { DomHandler as DefaultHandler }; export { FeedHandler as RssHandler } from "./FeedHandler"; htmlparser2-4.0.0/tsconfig.json000066400000000000000000000036141352110564700164750ustar00rootroot00000000000000{ "compilerOptions": { /* Basic Options */ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, // "lib": [], /* Specify library files to be included in the compilation. */ "declaration": true /* Generates corresponding '.d.ts' file. */, "declarationMap": true /* Generates a sourcemap for each corresponding '.d.ts' file. */, // "sourceMap": true, /* Generates corresponding '.map' file. */ "outDir": "lib" /* Redirect output structure to the directory. */, // "importHelpers": true, /* Import emit helpers from 'tslib'. */ /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, /* Additional Checks */ "noUnusedLocals": true /* Report errors on unused locals. */, "noUnusedParameters": true /* Report errors on unused parameters. */, "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, /* Module Resolution Options */ // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, "resolveJsonModule": true }, "include": ["src"], "exclude": [ "**/*.spec.ts", "**/__fixtures__/*", "**/__tests__/*", "**/__snapshots__/*" ] }