fix
This commit is contained in:
19
book/node_modules/parse5-htmlparser2-tree-adapter/LICENSE
generated
vendored
Normal file
19
book/node_modules/parse5-htmlparser2-tree-adapter/LICENSE
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
Copyright (c) 2013-2019 Ivan Nikulin (ifaaan@gmail.com, https://github.com/inikulin)
|
||||
|
||||
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.
|
34
book/node_modules/parse5-htmlparser2-tree-adapter/README.md
generated
vendored
Normal file
34
book/node_modules/parse5-htmlparser2-tree-adapter/README.md
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/inikulin/parse5">
|
||||
<img src="https://raw.github.com/inikulin/parse5/master/media/logo.png" alt="parse5" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
<h1>parse5-htmlparser2-tree-adapter</h1>
|
||||
<i><b><a href="https://github.com/fb55/htmlparser2">htmlparser2</a> tree adapter for <a href="https://github.com/inikulin/parse5">parse5</a>.</b></i>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div align="center">
|
||||
<code>npm install --save parse5-htmlparser2-tree-adapter</code>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
📖 <a href="https://parse5.js.org/modules/parse5_htmlparser2_tree_adapter.html"><b>Documentation</b></a> 📖
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/inikulin/parse5/tree/master/docs/list-of-packages.md">List of parse5 toolset packages</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/inikulin/parse5">GitHub</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/inikulin/parse5/releases">Changelog</a>
|
||||
</p>
|
6
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts
generated
vendored
Normal file
6
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import { type TreeAdapterTypeMap, type TreeAdapter } from 'parse5';
|
||||
import { type AnyNode, type ParentNode, type ChildNode, Element, Document, ProcessingInstruction, Comment, Text } from 'domhandler';
|
||||
export type Htmlparser2TreeAdapterMap = TreeAdapterTypeMap<AnyNode, ParentNode, ChildNode, Document, Document, Element, Comment, Text, Element, ProcessingInstruction>;
|
||||
/** @internal */
|
||||
export declare function serializeDoctypeContent(name: string, publicId: string, systemId: string): string;
|
||||
export declare const adapter: TreeAdapter<Htmlparser2TreeAdapterMap>;
|
214
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js
generated
vendored
Normal file
214
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/index.js
generated
vendored
Normal file
@ -0,0 +1,214 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.adapter = void 0;
|
||||
exports.serializeDoctypeContent = serializeDoctypeContent;
|
||||
const parse5_1 = require("parse5");
|
||||
const domhandler_1 = require("domhandler");
|
||||
function enquoteDoctypeId(id) {
|
||||
const quote = id.includes('"') ? "'" : '"';
|
||||
return quote + id + quote;
|
||||
}
|
||||
/** @internal */
|
||||
function serializeDoctypeContent(name, publicId, systemId) {
|
||||
let str = '!DOCTYPE ';
|
||||
if (name) {
|
||||
str += name;
|
||||
}
|
||||
if (publicId) {
|
||||
str += ` PUBLIC ${enquoteDoctypeId(publicId)}`;
|
||||
}
|
||||
else if (systemId) {
|
||||
str += ' SYSTEM';
|
||||
}
|
||||
if (systemId) {
|
||||
str += ` ${enquoteDoctypeId(systemId)}`;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
exports.adapter = {
|
||||
// Re-exports from domhandler
|
||||
isCommentNode: domhandler_1.isComment,
|
||||
isElementNode: domhandler_1.isTag,
|
||||
isTextNode: domhandler_1.isText,
|
||||
//Node construction
|
||||
createDocument() {
|
||||
const node = new domhandler_1.Document([]);
|
||||
node['x-mode'] = parse5_1.html.DOCUMENT_MODE.NO_QUIRKS;
|
||||
return node;
|
||||
},
|
||||
createDocumentFragment() {
|
||||
return new domhandler_1.Document([]);
|
||||
},
|
||||
createElement(tagName, namespaceURI, attrs) {
|
||||
const attribs = Object.create(null);
|
||||
const attribsNamespace = Object.create(null);
|
||||
const attribsPrefix = Object.create(null);
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
attribs[attrName] = attrs[i].value;
|
||||
attribsNamespace[attrName] = attrs[i].namespace;
|
||||
attribsPrefix[attrName] = attrs[i].prefix;
|
||||
}
|
||||
const node = new domhandler_1.Element(tagName, attribs, []);
|
||||
node.namespace = namespaceURI;
|
||||
node['x-attribsNamespace'] = attribsNamespace;
|
||||
node['x-attribsPrefix'] = attribsPrefix;
|
||||
return node;
|
||||
},
|
||||
createCommentNode(data) {
|
||||
return new domhandler_1.Comment(data);
|
||||
},
|
||||
createTextNode(value) {
|
||||
return new domhandler_1.Text(value);
|
||||
},
|
||||
//Tree mutation
|
||||
appendChild(parentNode, newNode) {
|
||||
const prev = parentNode.children[parentNode.children.length - 1];
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
parentNode.children.push(newNode);
|
||||
newNode.parent = parentNode;
|
||||
},
|
||||
insertBefore(parentNode, newNode, referenceNode) {
|
||||
const insertionIdx = parentNode.children.indexOf(referenceNode);
|
||||
const { prev } = referenceNode;
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
referenceNode.prev = newNode;
|
||||
newNode.next = referenceNode;
|
||||
parentNode.children.splice(insertionIdx, 0, newNode);
|
||||
newNode.parent = parentNode;
|
||||
},
|
||||
setTemplateContent(templateElement, contentElement) {
|
||||
exports.adapter.appendChild(templateElement, contentElement);
|
||||
},
|
||||
getTemplateContent(templateElement) {
|
||||
return templateElement.children[0];
|
||||
},
|
||||
setDocumentType(document, name, publicId, systemId) {
|
||||
const data = serializeDoctypeContent(name, publicId, systemId);
|
||||
let doctypeNode = document.children.find((node) => (0, domhandler_1.isDirective)(node) && node.name === '!doctype');
|
||||
if (doctypeNode) {
|
||||
doctypeNode.data = data !== null && data !== void 0 ? data : null;
|
||||
}
|
||||
else {
|
||||
doctypeNode = new domhandler_1.ProcessingInstruction('!doctype', data);
|
||||
exports.adapter.appendChild(document, doctypeNode);
|
||||
}
|
||||
doctypeNode['x-name'] = name;
|
||||
doctypeNode['x-publicId'] = publicId;
|
||||
doctypeNode['x-systemId'] = systemId;
|
||||
},
|
||||
setDocumentMode(document, mode) {
|
||||
document['x-mode'] = mode;
|
||||
},
|
||||
getDocumentMode(document) {
|
||||
return document['x-mode'];
|
||||
},
|
||||
detachNode(node) {
|
||||
if (node.parent) {
|
||||
const idx = node.parent.children.indexOf(node);
|
||||
const { prev, next } = node;
|
||||
node.prev = null;
|
||||
node.next = null;
|
||||
if (prev) {
|
||||
prev.next = next;
|
||||
}
|
||||
if (next) {
|
||||
next.prev = prev;
|
||||
}
|
||||
node.parent.children.splice(idx, 1);
|
||||
node.parent = null;
|
||||
}
|
||||
},
|
||||
insertText(parentNode, text) {
|
||||
const lastChild = parentNode.children[parentNode.children.length - 1];
|
||||
if (lastChild && (0, domhandler_1.isText)(lastChild)) {
|
||||
lastChild.data += text;
|
||||
}
|
||||
else {
|
||||
exports.adapter.appendChild(parentNode, exports.adapter.createTextNode(text));
|
||||
}
|
||||
},
|
||||
insertTextBefore(parentNode, text, referenceNode) {
|
||||
const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1];
|
||||
if (prevNode && (0, domhandler_1.isText)(prevNode)) {
|
||||
prevNode.data += text;
|
||||
}
|
||||
else {
|
||||
exports.adapter.insertBefore(parentNode, exports.adapter.createTextNode(text), referenceNode);
|
||||
}
|
||||
},
|
||||
adoptAttributes(recipient, attrs) {
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
if (recipient.attribs[attrName] === undefined) {
|
||||
recipient.attribs[attrName] = attrs[i].value;
|
||||
recipient['x-attribsNamespace'][attrName] = attrs[i].namespace;
|
||||
recipient['x-attribsPrefix'][attrName] = attrs[i].prefix;
|
||||
}
|
||||
}
|
||||
},
|
||||
//Tree traversing
|
||||
getFirstChild(node) {
|
||||
return node.children[0];
|
||||
},
|
||||
getChildNodes(node) {
|
||||
return node.children;
|
||||
},
|
||||
getParentNode(node) {
|
||||
return node.parent;
|
||||
},
|
||||
getAttrList(element) {
|
||||
return element.attributes;
|
||||
},
|
||||
//Node data
|
||||
getTagName(element) {
|
||||
return element.name;
|
||||
},
|
||||
getNamespaceURI(element) {
|
||||
return element.namespace;
|
||||
},
|
||||
getTextNodeContent(textNode) {
|
||||
return textNode.data;
|
||||
},
|
||||
getCommentNodeContent(commentNode) {
|
||||
return commentNode.data;
|
||||
},
|
||||
getDocumentTypeNodeName(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-name']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
getDocumentTypeNodePublicId(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-publicId']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
getDocumentTypeNodeSystemId(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-systemId']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
//Node types
|
||||
isDocumentTypeNode(node) {
|
||||
return (0, domhandler_1.isDirective)(node) && node.name === '!doctype';
|
||||
},
|
||||
// Source code location
|
||||
setNodeSourceCodeLocation(node, location) {
|
||||
if (location) {
|
||||
node.startIndex = location.startOffset;
|
||||
node.endIndex = location.endOffset;
|
||||
}
|
||||
node.sourceCodeLocation = location;
|
||||
},
|
||||
getNodeSourceCodeLocation(node) {
|
||||
return node.sourceCodeLocation;
|
||||
},
|
||||
updateNodeSourceCodeLocation(node, endLocation) {
|
||||
if (endLocation.endOffset != null)
|
||||
node.endIndex = endLocation.endOffset;
|
||||
node.sourceCodeLocation = Object.assign(Object.assign({}, node.sourceCodeLocation), endLocation);
|
||||
},
|
||||
};
|
1
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json
generated
vendored
Normal file
1
book/node_modules/parse5-htmlparser2-tree-adapter/dist/cjs/package.json
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"type":"commonjs"}
|
6
book/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts
generated
vendored
Normal file
6
book/node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
import { type TreeAdapterTypeMap, type TreeAdapter } from 'parse5';
|
||||
import { type AnyNode, type ParentNode, type ChildNode, Element, Document, ProcessingInstruction, Comment, Text } from 'domhandler';
|
||||
export type Htmlparser2TreeAdapterMap = TreeAdapterTypeMap<AnyNode, ParentNode, ChildNode, Document, Document, Element, Comment, Text, Element, ProcessingInstruction>;
|
||||
/** @internal */
|
||||
export declare function serializeDoctypeContent(name: string, publicId: string, systemId: string): string;
|
||||
export declare const adapter: TreeAdapter<Htmlparser2TreeAdapterMap>;
|
213
book/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js
generated
vendored
Normal file
213
book/node_modules/parse5-htmlparser2-tree-adapter/dist/index.js
generated
vendored
Normal file
@ -0,0 +1,213 @@
|
||||
import { html } from 'parse5';
|
||||
import { Element, Document, ProcessingInstruction, Comment, Text, isDirective, isText, isComment, isTag, } from 'domhandler';
|
||||
function enquoteDoctypeId(id) {
|
||||
const quote = id.includes('"') ? "'" : '"';
|
||||
return quote + id + quote;
|
||||
}
|
||||
/** @internal */
|
||||
export function serializeDoctypeContent(name, publicId, systemId) {
|
||||
let str = '!DOCTYPE ';
|
||||
if (name) {
|
||||
str += name;
|
||||
}
|
||||
if (publicId) {
|
||||
str += ` PUBLIC ${enquoteDoctypeId(publicId)}`;
|
||||
}
|
||||
else if (systemId) {
|
||||
str += ' SYSTEM';
|
||||
}
|
||||
if (systemId) {
|
||||
str += ` ${enquoteDoctypeId(systemId)}`;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
export const adapter = {
|
||||
// Re-exports from domhandler
|
||||
isCommentNode: isComment,
|
||||
isElementNode: isTag,
|
||||
isTextNode: isText,
|
||||
//Node construction
|
||||
createDocument() {
|
||||
const node = new Document([]);
|
||||
node['x-mode'] = html.DOCUMENT_MODE.NO_QUIRKS;
|
||||
return node;
|
||||
},
|
||||
createDocumentFragment() {
|
||||
return new Document([]);
|
||||
},
|
||||
createElement(tagName, namespaceURI, attrs) {
|
||||
const attribs = Object.create(null);
|
||||
const attribsNamespace = Object.create(null);
|
||||
const attribsPrefix = Object.create(null);
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
attribs[attrName] = attrs[i].value;
|
||||
attribsNamespace[attrName] = attrs[i].namespace;
|
||||
attribsPrefix[attrName] = attrs[i].prefix;
|
||||
}
|
||||
const node = new Element(tagName, attribs, []);
|
||||
node.namespace = namespaceURI;
|
||||
node['x-attribsNamespace'] = attribsNamespace;
|
||||
node['x-attribsPrefix'] = attribsPrefix;
|
||||
return node;
|
||||
},
|
||||
createCommentNode(data) {
|
||||
return new Comment(data);
|
||||
},
|
||||
createTextNode(value) {
|
||||
return new Text(value);
|
||||
},
|
||||
//Tree mutation
|
||||
appendChild(parentNode, newNode) {
|
||||
const prev = parentNode.children[parentNode.children.length - 1];
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
parentNode.children.push(newNode);
|
||||
newNode.parent = parentNode;
|
||||
},
|
||||
insertBefore(parentNode, newNode, referenceNode) {
|
||||
const insertionIdx = parentNode.children.indexOf(referenceNode);
|
||||
const { prev } = referenceNode;
|
||||
if (prev) {
|
||||
prev.next = newNode;
|
||||
newNode.prev = prev;
|
||||
}
|
||||
referenceNode.prev = newNode;
|
||||
newNode.next = referenceNode;
|
||||
parentNode.children.splice(insertionIdx, 0, newNode);
|
||||
newNode.parent = parentNode;
|
||||
},
|
||||
setTemplateContent(templateElement, contentElement) {
|
||||
adapter.appendChild(templateElement, contentElement);
|
||||
},
|
||||
getTemplateContent(templateElement) {
|
||||
return templateElement.children[0];
|
||||
},
|
||||
setDocumentType(document, name, publicId, systemId) {
|
||||
const data = serializeDoctypeContent(name, publicId, systemId);
|
||||
let doctypeNode = document.children.find((node) => isDirective(node) && node.name === '!doctype');
|
||||
if (doctypeNode) {
|
||||
doctypeNode.data = data !== null && data !== void 0 ? data : null;
|
||||
}
|
||||
else {
|
||||
doctypeNode = new ProcessingInstruction('!doctype', data);
|
||||
adapter.appendChild(document, doctypeNode);
|
||||
}
|
||||
doctypeNode['x-name'] = name;
|
||||
doctypeNode['x-publicId'] = publicId;
|
||||
doctypeNode['x-systemId'] = systemId;
|
||||
},
|
||||
setDocumentMode(document, mode) {
|
||||
document['x-mode'] = mode;
|
||||
},
|
||||
getDocumentMode(document) {
|
||||
return document['x-mode'];
|
||||
},
|
||||
detachNode(node) {
|
||||
if (node.parent) {
|
||||
const idx = node.parent.children.indexOf(node);
|
||||
const { prev, next } = node;
|
||||
node.prev = null;
|
||||
node.next = null;
|
||||
if (prev) {
|
||||
prev.next = next;
|
||||
}
|
||||
if (next) {
|
||||
next.prev = prev;
|
||||
}
|
||||
node.parent.children.splice(idx, 1);
|
||||
node.parent = null;
|
||||
}
|
||||
},
|
||||
insertText(parentNode, text) {
|
||||
const lastChild = parentNode.children[parentNode.children.length - 1];
|
||||
if (lastChild && isText(lastChild)) {
|
||||
lastChild.data += text;
|
||||
}
|
||||
else {
|
||||
adapter.appendChild(parentNode, adapter.createTextNode(text));
|
||||
}
|
||||
},
|
||||
insertTextBefore(parentNode, text, referenceNode) {
|
||||
const prevNode = parentNode.children[parentNode.children.indexOf(referenceNode) - 1];
|
||||
if (prevNode && isText(prevNode)) {
|
||||
prevNode.data += text;
|
||||
}
|
||||
else {
|
||||
adapter.insertBefore(parentNode, adapter.createTextNode(text), referenceNode);
|
||||
}
|
||||
},
|
||||
adoptAttributes(recipient, attrs) {
|
||||
for (let i = 0; i < attrs.length; i++) {
|
||||
const attrName = attrs[i].name;
|
||||
if (recipient.attribs[attrName] === undefined) {
|
||||
recipient.attribs[attrName] = attrs[i].value;
|
||||
recipient['x-attribsNamespace'][attrName] = attrs[i].namespace;
|
||||
recipient['x-attribsPrefix'][attrName] = attrs[i].prefix;
|
||||
}
|
||||
}
|
||||
},
|
||||
//Tree traversing
|
||||
getFirstChild(node) {
|
||||
return node.children[0];
|
||||
},
|
||||
getChildNodes(node) {
|
||||
return node.children;
|
||||
},
|
||||
getParentNode(node) {
|
||||
return node.parent;
|
||||
},
|
||||
getAttrList(element) {
|
||||
return element.attributes;
|
||||
},
|
||||
//Node data
|
||||
getTagName(element) {
|
||||
return element.name;
|
||||
},
|
||||
getNamespaceURI(element) {
|
||||
return element.namespace;
|
||||
},
|
||||
getTextNodeContent(textNode) {
|
||||
return textNode.data;
|
||||
},
|
||||
getCommentNodeContent(commentNode) {
|
||||
return commentNode.data;
|
||||
},
|
||||
getDocumentTypeNodeName(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-name']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
getDocumentTypeNodePublicId(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-publicId']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
getDocumentTypeNodeSystemId(doctypeNode) {
|
||||
var _a;
|
||||
return (_a = doctypeNode['x-systemId']) !== null && _a !== void 0 ? _a : '';
|
||||
},
|
||||
//Node types
|
||||
isDocumentTypeNode(node) {
|
||||
return isDirective(node) && node.name === '!doctype';
|
||||
},
|
||||
// Source code location
|
||||
setNodeSourceCodeLocation(node, location) {
|
||||
if (location) {
|
||||
node.startIndex = location.startOffset;
|
||||
node.endIndex = location.endOffset;
|
||||
}
|
||||
node.sourceCodeLocation = location;
|
||||
},
|
||||
getNodeSourceCodeLocation(node) {
|
||||
return node.sourceCodeLocation;
|
||||
},
|
||||
updateNodeSourceCodeLocation(node, endLocation) {
|
||||
if (endLocation.endOffset != null)
|
||||
node.endIndex = endLocation.endOffset;
|
||||
node.sourceCodeLocation = {
|
||||
...node.sourceCodeLocation,
|
||||
...endLocation,
|
||||
};
|
||||
},
|
||||
};
|
40
book/node_modules/parse5-htmlparser2-tree-adapter/package.json
generated
vendored
Normal file
40
book/node_modules/parse5-htmlparser2-tree-adapter/package.json
generated
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "parse5-htmlparser2-tree-adapter",
|
||||
"type": "module",
|
||||
"description": "htmlparser2 tree adapter for parse5.",
|
||||
"version": "7.1.0",
|
||||
"author": "Ivan Nikulin <ifaaan@gmail.com> (https://github.com/inikulin)",
|
||||
"contributors": "https://github.com/inikulin/parse5/graphs/contributors",
|
||||
"homepage": "https://parse5.js.org",
|
||||
"funding": "https://github.com/inikulin/parse5?sponsor=1",
|
||||
"keywords": [
|
||||
"parse5",
|
||||
"parser",
|
||||
"tree adapter",
|
||||
"htmlparser2"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "dist/cjs/index.js",
|
||||
"module": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"exports": {
|
||||
"import": "./dist/index.js",
|
||||
"require": "./dist/cjs/index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"domhandler": "^5.0.3",
|
||||
"parse5": "^7.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build:cjs": "tsc --moduleResolution node10 --module CommonJS --target ES6 --outDir dist/cjs && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/inikulin/parse5.git"
|
||||
},
|
||||
"files": [
|
||||
"dist/cjs/package.json",
|
||||
"dist/**/*.js",
|
||||
"dist/**/*.d.ts"
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user