Merge pull request #26439 from andnp/JSDOM_ImportErrors

[jsdom] [parse5] - fix @types/jsdom import errors
This commit is contained in:
Nathan Shively-Sanders
2018-06-19 15:35:37 -07:00
committed by GitHub
8 changed files with 1226 additions and 7 deletions
+2 -2
View File
@@ -7,7 +7,7 @@
/// <reference types="node" />
import { EventEmitter } from 'events';
import { ElementLocation } from 'parse5';
import { MarkupData } from 'parse5';
import * as tough from 'tough-cookie';
import { Script } from 'vm';
@@ -32,7 +32,7 @@ export class JSDOM {
/**
* The nodeLocation() method will find where a DOM node is within the source document, returning the parse5 location info for the node.
*/
nodeLocation(node: Node): ElementLocation | null;
nodeLocation(node: Node): MarkupData.ElementLocation | null;
/**
* The built-in vm module of Node.js allows you to create Script instances,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"private": true,
"dependencies": {
"parse5": "^3.0.2"
"parse5": "^4.0.0"
}
}
+5 -2
View File
@@ -15,10 +15,13 @@
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
"forceConsistentCasingInFileNames": true,
"paths": {
"parse5": [ "parse5/v4" ]
}
},
"files": [
"index.d.ts",
"jsdom-tests.ts"
]
}
}
+5 -2
View File
@@ -15,10 +15,13 @@
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
"forceConsistentCasingInFileNames": true,
"paths": {
"parse5": [ "parse5/v4" ]
}
},
"files": [
"index.d.ts",
"mozilla-readability-tests.ts"
]
}
}
+1081
View File
File diff suppressed because it is too large Load Diff
+89
View File
@@ -0,0 +1,89 @@
import * as parse5 from "parse5";
// Shorthands
// parse
const document = parse5.parse("<html>");
document; // $ExpectType Document
const defaultAdapter = new Object() as parse5.AST.TreeAdapter;
parse5.parse("<html>", {}); // $ExpectType Document
parse5.parse("<html>", { treeAdapter: defaultAdapter }); // $ExpectType Document
let opt = {
sourceCodeLocationInfo: true,
scriptingEnabled: false,
treeAdapter: defaultAdapter
};
parse5.parse("<html>", opt); // $ExpectType Document
opt = {
sourceCodeLocationInfo: true,
scriptingEnabled: false,
treeAdapter: defaultAdapter
};
parse5.parse("<html>", opt); // $ExpectType Document
// parseFragment
const fragment = parse5.parseFragment("<div>");
fragment; // $ExpectType DocumentFragment
parse5.parseFragment("<div>", {});
parse5.parseFragment("<div>", { treeAdapter: defaultAdapter });
const element = (parse5.parseFragment(
"<div>"
)) as parse5.AST.Element;
parse5.parseFragment(element, "<div>");
parse5.parseFragment(element, "<div>", {});
parse5.parseFragment(element, "<div>", {
treeAdapter: defaultAdapter
});
// serialize
const html = parse5.serialize(element);
html; // $ExpectType string
parse5.serialize(element, { treeAdapter: defaultAdapter });
parse5.serialize(element, { treeAdapter: defaultAdapter });
const adapter = defaultAdapter;
adapter.createDocument(); // $ExpectType Document
adapter.createDocumentFragment(); // $ExpectType DocumentFragment
adapter.createElement("div", "namespace", [{ name: "someAttr", value: "42" }]); // $ExpectType Element
adapter.createCommentNode("foo"); // $ExpectType CommentNode
adapter.appendChild(document, element);
adapter.insertBefore(document, element, element);
adapter.setTemplateContent(element, fragment);
adapter.getTemplateContent(element); // $ExpectType DocumentFragment
adapter.setDocumentType(document, "name", "publicId", "systemId");
adapter.setDocumentMode(document, "quirks");
adapter.getDocumentMode(document); // $ExpectType DocumentMode
adapter.detachNode(element);
adapter.insertText(element, "text");
adapter.insertTextBefore(document, "text", element);
adapter.adoptAttributes(element, [{ name: "someAttr", value: "42" }]);
adapter.getFirstChild(element); // $ExpectType Node
adapter.getChildNodes(element)[0]; // $ExpectType Node
adapter.getParentNode(element); // $ExpectType ParentNode
adapter.getAttrList(element)[0]; // $ExpectType Attribute
adapter.getTagName(element); // $ExpectType string
adapter.getNamespaceURI(element); // $ExpectType string
adapter.isTextNode(element); // $ExpectType boolean
adapter.isCommentNode(element); // $ExpectType boolean
adapter.isDocumentTypeNode(element); // $ExpectType boolean
adapter.isElementNode(element); // $ExpectType boolean
+26
View File
@@ -0,0 +1,26 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../../",
"typeRoots": [
"../../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true,
"paths": {
"parse5": [ "parse5/v4" ]
}
},
"files": [
"index.d.ts",
"parse5-tests.ts"
]
}
+17
View File
@@ -0,0 +1,17 @@
{
"extends": "dtslint/dt.json",
"rules": {
"comment-format": false,
"strict-export-declare-modifiers": false,
"semicolon": false,
"max-line-length": false,
"no-consecutive-blank-lines": false,
"typedef-whitespace": false,
"whitespace": false,
"ban-types": false,
"no-unnecessary-qualifier": false,
"jsdoc-format": false,
"no-var-keyword": false,
"unified-signatures": false
}
}