diff --git a/types/parse5-htmlparser2-tree-adapter/index.d.ts b/types/parse5-htmlparser2-tree-adapter/index.d.ts
index 12aa70219b..a7833580a4 100644
--- a/types/parse5-htmlparser2-tree-adapter/index.d.ts
+++ b/types/parse5-htmlparser2-tree-adapter/index.d.ts
@@ -6,205 +6,207 @@
import * as parse5 from "parse5";
-/**
- * htmlparser2 tree adapter Node interface.
- */
-export interface Node {
+declare namespace treeAdapter {
/**
- * The type of the node. E.g. {@link Document} will have `type` equal to 'root'`.
+ * htmlparser2 tree adapter Node interface.
*/
- type: string;
- /**
- * [DOM spec](https://dom.spec.whatwg.org/#dom-node-nodetype)-compatible node {@link type}.
- */
- nodeType: number;
- /**
- * Parent node.
- */
- parent: ParentNode;
- /**
- * Same as {@link parent}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- parentNode: ParentNode;
- /**
- * Previous sibling.
- */
- prev: Node;
- /**
- * Same as {@link prev}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- previousSibling: Node;
- /**
- * Next sibling.
- */
- next: Node;
- /**
- * Same as {@link next}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- nextSibling: Node;
-}
+ interface Node {
+ /**
+ * The type of the node. E.g. {@link Document} will have `type` equal to 'root'`.
+ */
+ type: string;
+ /**
+ * [DOM spec](https://dom.spec.whatwg.org/#dom-node-nodetype)-compatible node {@link type}.
+ */
+ nodeType: number;
+ /**
+ * Parent node.
+ */
+ parent: ParentNode;
+ /**
+ * Same as {@link parent}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ parentNode: ParentNode;
+ /**
+ * Previous sibling.
+ */
+ prev: Node;
+ /**
+ * Same as {@link prev}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ previousSibling: Node;
+ /**
+ * Next sibling.
+ */
+ next: Node;
+ /**
+ * Same as {@link next}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ nextSibling: Node;
+ }
-/**
- * htmlparser2 tree adapter ParentNode interface.
- */
-export interface ParentNode extends Node {
/**
- * Child nodes.
+ * htmlparser2 tree adapter ParentNode interface.
*/
- children: Node[];
- /**
- * Same as {@link children}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- childNodes: Node[];
- /**
- * First child of the node.
- */
- firstChild: Node;
- /**
- * Last child of the node.
- */
- lastChild: Node;
-}
+ interface ParentNode extends Node {
+ /**
+ * Child nodes.
+ */
+ children: Node[];
+ /**
+ * Same as {@link children}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ childNodes: Node[];
+ /**
+ * First child of the node.
+ */
+ firstChild: Node;
+ /**
+ * Last child of the node.
+ */
+ lastChild: Node;
+ }
-/**
- * htmlparser2 tree adapter DocumentType interface.
- */
-export interface DocumentType extends Node {
/**
- * The type of the node.
+ * htmlparser2 tree adapter DocumentType interface.
*/
- type: "directive";
- /**
- * Node name.
- */
- name: "!doctype";
- /**
- * Serialized doctype {@link name}, {@link publicId} and {@link systemId}.
- */
- data: string;
- /**
- * Document type name.
- */
- "x-name": string;
- /**
- * Document type public identifier.
- */
- "x-publicId": string;
- /**
- * Document type system identifier.
- */
- "x-systemId": string;
-}
+ interface DocumentType extends Node {
+ /**
+ * The type of the node.
+ */
+ type: "directive";
+ /**
+ * Node name.
+ */
+ name: "!doctype";
+ /**
+ * Serialized doctype {@link name}, {@link publicId} and {@link systemId}.
+ */
+ data: string;
+ /**
+ * Document type name.
+ */
+ "x-name": string;
+ /**
+ * Document type public identifier.
+ */
+ "x-publicId": string;
+ /**
+ * Document type system identifier.
+ */
+ "x-systemId": string;
+ }
-/**
- * htmlparser2 tree adapter Document interface.
- */
-export interface Document extends ParentNode {
/**
- * The type of the node.
+ * htmlparser2 tree adapter Document interface.
*/
- type: "root";
- /**
- * The name of the node.
- */
- name: "root";
- /**
- * [Document mode](https://dom.spec.whatwg.org/#concept-document-limited-quirks).
- */
- "x-mode": parse5.DocumentMode;
-}
+ interface Document extends ParentNode {
+ /**
+ * The type of the node.
+ */
+ type: "root";
+ /**
+ * The name of the node.
+ */
+ name: "root";
+ /**
+ * [Document mode](https://dom.spec.whatwg.org/#concept-document-limited-quirks).
+ */
+ "x-mode": parse5.DocumentMode;
+ }
-/**
- * htmlparser2 tree adapter DocumentFragment interface.
- */
-export interface DocumentFragment extends ParentNode {
/**
- * The type of the node.
+ * htmlparser2 tree adapter DocumentFragment interface.
*/
- type: "root";
- /**
- * The name of the node.
- */
- name: "root";
-}
+ interface DocumentFragment extends ParentNode {
+ /**
+ * The type of the node.
+ */
+ type: "root";
+ /**
+ * The name of the node.
+ */
+ name: "root";
+ }
-/**
- * htmlparser2 tree adapter Element interface.
- */
-export interface Element extends ParentNode {
/**
- * The name of the node. Equals to element {@link tagName}.
+ * htmlparser2 tree adapter Element interface.
*/
- name: string;
- /**
- * Element tag name.
- */
- tagName: string;
- /**
- * Element namespace.
- */
- namespace: string;
- /**
- * Element attributes.
- */
- attribs: { [name: string]: string };
- /**
- * Element attribute namespaces.
- */
- "x-attribsNamespace": { [name: string]: string };
- /**
- * Element attribute namespace-related prefixes.
- */
- "x-attribsPrefix": { [name: string]: string };
- /**
- * Element source code location info. Available if location info is enabled via ParserOptions.
- */
- sourceCodeLocation?: parse5.ElementLocation;
-}
+ interface Element extends ParentNode {
+ /**
+ * The name of the node. Equals to element {@link tagName}.
+ */
+ name: string;
+ /**
+ * Element tag name.
+ */
+ tagName: string;
+ /**
+ * Element namespace.
+ */
+ namespace: string;
+ /**
+ * Element attributes.
+ */
+ attribs: { [name: string]: string };
+ /**
+ * Element attribute namespaces.
+ */
+ "x-attribsNamespace": { [name: string]: string };
+ /**
+ * Element attribute namespace-related prefixes.
+ */
+ "x-attribsPrefix": { [name: string]: string };
+ /**
+ * Element source code location info. Available if location info is enabled via ParserOptions.
+ */
+ sourceCodeLocation?: parse5.ElementLocation;
+ }
-/**
- * htmlparser2 tree adapter CommentNode interface.
- */
-export interface CommentNode extends Node {
/**
- * The name of the node.
+ * htmlparser2 tree adapter CommentNode interface.
*/
- name: "comment";
- /**
- * Comment text.
- */
- data: string;
- /**
- * Same as {@link data}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- nodeValue: string;
- /**
- * Comment source code location info. Available if location info is enabled via ParserOptions.
- */
- sourceCodeLocation?: parse5.Location;
-}
+ interface CommentNode extends Node {
+ /**
+ * The name of the node.
+ */
+ name: "comment";
+ /**
+ * Comment text.
+ */
+ data: string;
+ /**
+ * Same as {@link data}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ nodeValue: string;
+ /**
+ * Comment source code location info. Available if location info is enabled via ParserOptions.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
-/**
- * htmlparser2 tree adapter TextNode interface.
- */
-export interface TextNode extends Node {
/**
- * The name of the node.
+ * htmlparser2 tree adapter TextNode interface.
*/
- name: "text";
- /**
- * Text content.
- */
- data: string;
- /**
- * Same as {@link data}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
- */
- nodeValue: string;
- /**
- * Comment source code location info. Available if location info is enabled via ParserOptions.
- */
- sourceCodeLocation?: parse5.Location;
+ interface TextNode extends Node {
+ /**
+ * The name of the node.
+ */
+ name: "text";
+ /**
+ * Text content.
+ */
+ data: string;
+ /**
+ * Same as {@link data}. [DOM spec](https://dom.spec.whatwg.org)-compatible alias.
+ */
+ nodeValue: string;
+ /**
+ * Comment source code location info. Available if location info is enabled via ParserOptions.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
}
declare const treeAdapter: parse5.TreeAdapter;
-export default treeAdapter;
+export = treeAdapter;
diff --git a/types/parse5-htmlparser2-tree-adapter/parse5-htmlparser2-tree-adapter-tests.ts b/types/parse5-htmlparser2-tree-adapter/parse5-htmlparser2-tree-adapter-tests.ts
index e14ad9da3b..95a84d7a0d 100644
--- a/types/parse5-htmlparser2-tree-adapter/parse5-htmlparser2-tree-adapter-tests.ts
+++ b/types/parse5-htmlparser2-tree-adapter/parse5-htmlparser2-tree-adapter-tests.ts
@@ -1,5 +1,5 @@
import { parse } from "parse5";
-import treeAdapter, {
+import {
Node,
ParentNode,
Document,
@@ -8,6 +8,7 @@ import treeAdapter, {
TextNode,
CommentNode
} from "parse5-htmlparser2-tree-adapter";
+import treeAdapter = require('parse5-htmlparser2-tree-adapter');
// htmlparser2 AST
const htmlparser2Document = parse("", {
diff --git a/types/parse5-parser-stream/index.d.ts b/types/parse5-parser-stream/index.d.ts
index ac10af57af..f8d117ea64 100644
--- a/types/parse5-parser-stream/index.d.ts
+++ b/types/parse5-parser-stream/index.d.ts
@@ -33,7 +33,7 @@ import * as parse5 from "parse5";
* });
* ```
*/
-export default class ParserStream extends stream.Writable {
+declare class ParserStream extends stream.Writable {
/**
* @param options - Parsing options.
*/
@@ -90,3 +90,7 @@ export default class ParserStream extends stream.Writable {
*/
on(event: string, listener: (...params: any[]) => any): this;
}
+
+declare namespace ParserStream {}
+
+export = ParserStream;
diff --git a/types/parse5-parser-stream/parse5-parser-stream-tests.ts b/types/parse5-parser-stream/parse5-parser-stream-tests.ts
index 6793ce7fa9..87ae6cdfa7 100644
--- a/types/parse5-parser-stream/parse5-parser-stream-tests.ts
+++ b/types/parse5-parser-stream/parse5-parser-stream-tests.ts
@@ -1,5 +1,5 @@
import * as parse5 from "parse5";
-import ParserStream from "parse5-parser-stream";
+import * as ParserStream from "parse5-parser-stream";
import { createReadStream } from "fs";
const defaultAdapter = new Object() as parse5.TreeAdapter;
diff --git a/types/parse5-plain-text-conversion-stream/index.d.ts b/types/parse5-plain-text-conversion-stream/index.d.ts
index d5ac51ba18..21aac5aa97 100644
--- a/types/parse5-plain-text-conversion-stream/index.d.ts
+++ b/types/parse5-plain-text-conversion-stream/index.d.ts
@@ -4,7 +4,7 @@
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.2
-import ParserStream from "parse5-parser-stream";
+import * as ParserStream from "parse5-parser-stream";
/**
* Converts plain text files into HTML document as required by [HTML specification](https://html.spec.whatwg.org/#read-text).
@@ -28,6 +28,10 @@ import ParserStream from "parse5-parser-stream";
* file.pipe(converter);
* ```
*/
-export default class PlainTextConversionStream extends ParserStream<
+declare class PlainTextConversionStream extends ParserStream<
TDocument
> {}
+
+declare namespace PlainTextConversionStream {}
+
+export = PlainTextConversionStream;
diff --git a/types/parse5-plain-text-conversion-stream/parse5-plain-text-conversion-stream-tests.ts b/types/parse5-plain-text-conversion-stream/parse5-plain-text-conversion-stream-tests.ts
index 00f6728dc2..bf7bed5419 100644
--- a/types/parse5-plain-text-conversion-stream/parse5-plain-text-conversion-stream-tests.ts
+++ b/types/parse5-plain-text-conversion-stream/parse5-plain-text-conversion-stream-tests.ts
@@ -1,5 +1,5 @@
import * as parse5 from "parse5";
-import PlainTextConversionStream from "parse5-plain-text-conversion-stream";
+import * as PlainTextConversionStream from "parse5-plain-text-conversion-stream";
import { createReadStream } from "fs";
const defaultAdapter = new Object() as parse5.TreeAdapter;
diff --git a/types/parse5-sax-parser/index.d.ts b/types/parse5-sax-parser/index.d.ts
index 0d98fb51e2..fee95802b8 100644
--- a/types/parse5-sax-parser/index.d.ts
+++ b/types/parse5-sax-parser/index.d.ts
@@ -9,84 +9,86 @@
import * as stream from "stream";
import * as parse5 from "parse5";
-export interface StartTagToken {
- /**
- * Tag name.
- */
- tagName: string;
- /**
- * List of attributes.
- */
- attrs: parse5.Attribute[];
- /**
- * Indicates if the tag is self-closing.
- */
- selfClosing: boolean;
- /**
- * Start tag source code location info. Available if location info is enabled via {@link SAXParserOptions}.
- */
- sourceCodeLocation?: parse5.StartTagLocation;
-}
+declare namespace SAXParser {
+ interface StartTagToken {
+ /**
+ * Tag name.
+ */
+ tagName: string;
+ /**
+ * List of attributes.
+ */
+ attrs: parse5.Attribute[];
+ /**
+ * Indicates if the tag is self-closing.
+ */
+ selfClosing: boolean;
+ /**
+ * Start tag source code location info. Available if location info is enabled via {@link SAXParserOptions}.
+ */
+ sourceCodeLocation?: parse5.StartTagLocation;
+ }
-export interface EndTagToken {
- /**
- * Tag name.
- */
- tagName: string;
- /**
- * End tag source code location info. Available if location info is enabled via {@link SAXParserOptions}.
- */
- sourceCodeLocation?: parse5.Location;
-}
+ interface EndTagToken {
+ /**
+ * Tag name.
+ */
+ tagName: string;
+ /**
+ * End tag source code location info. Available if location info is enabled via {@link SAXParserOptions}.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
-export interface CommentToken {
- /**
- * Comment text.
- */
- text: string;
- /**
- * Comment source code location info. Available if location info is enabled via {@link SAXParserOptions}.
- */
- sourceCodeLocation?: parse5.Location;
-}
+ interface CommentToken {
+ /**
+ * Comment text.
+ */
+ text: string;
+ /**
+ * Comment source code location info. Available if location info is enabled via {@link SAXParserOptions}.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
-export interface TextToken {
- /**
- * Text content.
- */
- text: string;
- /**
- * Text content source code location info. Available if location info is enabled via {@link SAXParserOptions}.
- */
- sourceCodeLocation?: parse5.Location;
-}
+ interface TextToken {
+ /**
+ * Text content.
+ */
+ text: string;
+ /**
+ * Text content source code location info. Available if location info is enabled via {@link SAXParserOptions}.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
-export interface DoctypeToken {
- /**
- * Document type name.
- */
- name: string;
- /**
- * Document type public identifier.
- */
- publicId: string;
- /**
- * Document type system identifier.
- */
- systemId: string;
- /**
- * Document type declaration source code location info. Available if location info is enabled via {@link SAXParserOptions}.
- */
- sourceCodeLocation?: parse5.Location;
-}
+ interface DoctypeToken {
+ /**
+ * Document type name.
+ */
+ name: string;
+ /**
+ * Document type public identifier.
+ */
+ publicId: string;
+ /**
+ * Document type system identifier.
+ */
+ systemId: string;
+ /**
+ * Document type declaration source code location info. Available if location info is enabled via {@link SAXParserOptions}.
+ */
+ sourceCodeLocation?: parse5.Location;
+ }
-export interface SAXParserOptions {
- /**
- * Enables source code location information for the tokens.
- * When enabled, each token event handler will receive {@link Location} (or {@link StartTagLocation})
- * object as its last argument.
- */
- sourceCodeLocationInfo?: boolean;
+ interface SAXParserOptions {
+ /**
+ * Enables source code location information for the tokens.
+ * When enabled, each token event handler will receive {@link Location} (or {@link StartTagLocation})
+ * object as its last argument.
+ */
+ sourceCodeLocationInfo?: boolean;
+ }
}
/**
@@ -119,43 +121,43 @@ export interface SAXParserOptions {
* });
* ```
*/
-export default class SAXParser extends stream.Transform {
+declare class SAXParser extends stream.Transform {
/**
* @param options - Parsing options.
*/
- constructor(options?: SAXParserOptions);
+ constructor(options?: SAXParser.SAXParserOptions);
/**
* Raised when the parser encounters a start tag.
*
* @param listener.startTag - Start tag token.
*/
- on(event: "startTag", listener: (startTag: StartTagToken) => void): this;
+ on(event: "startTag", listener: (startTag: SAXParser.StartTagToken) => void): this;
/**
* Raised when parser encounters an end tag.
*
* @param listener.endTag - End tag token.
*/
- on(event: "endTag", listener: (endTag: EndTagToken) => void): this;
+ on(event: "endTag", listener: (endTag: SAXParser.EndTagToken) => void): this;
/**
* Raised when parser encounters text content.
*
* @param listener.text - Text token.
*/
- on(event: "text", listener: (text: TextToken) => void): this;
+ on(event: "text", listener: (text: SAXParser.TextToken) => void): this;
/**
* Raised when parser encounters a comment.
*
* @param listener.comment - Comment content.
*/
- on(event: "comment", listener: (comment: CommentToken) => void): this;
+ on(event: "comment", listener: (comment: SAXParser.CommentToken) => void): this;
/**
* Raised when parser encounters a [document type declaration](https://en.wikipedia.org/wiki/Document_type_declaration).
*
* @param listener.doctype - Document type token.
*/
- on(event: "doctype", listener: (doctype: DoctypeToken) => void): this;
+ on(event: "doctype", listener: (doctype: SAXParser.DoctypeToken) => void): this;
/**
* TransformStream events
*/
@@ -190,3 +192,5 @@ export default class SAXParser extends stream.Transform {
*/
stop(): void;
}
+
+export = SAXParser;
diff --git a/types/parse5-sax-parser/parse5-sax-parser-tests.ts b/types/parse5-sax-parser/parse5-sax-parser-tests.ts
index 75fd4c25b2..1614a3a080 100644
--- a/types/parse5-sax-parser/parse5-sax-parser-tests.ts
+++ b/types/parse5-sax-parser/parse5-sax-parser-tests.ts
@@ -1,10 +1,11 @@
-import SAXParser, {
+import {
StartTagToken,
EndTagToken,
CommentToken,
TextToken,
DoctypeToken
} from "parse5-sax-parser";
+import SAXParser = require("parse5-sax-parser");
import { createReadStream, createWriteStream } from "fs";
let sax = new SAXParser();
diff --git a/types/parse5-serializer-stream/index.d.ts b/types/parse5-serializer-stream/index.d.ts
index d96db5e40c..8eb13be944 100644
--- a/types/parse5-serializer-stream/index.d.ts
+++ b/types/parse5-serializer-stream/index.d.ts
@@ -30,7 +30,7 @@ import * as parse5 from "parse5";
* serializer.pipe(file);
* ```
*/
-export default class SerializerStream extends stream.Readable {
+declare class SerializerStream extends stream.Readable {
/**
* Streaming AST node to an HTML serializer. A readable stream.
*
@@ -39,3 +39,7 @@ export default class SerializerStream extends stream.Readable {
*/
constructor(node: parse5.Node, options?: parse5.SerializerOptions);
}
+
+declare namespace SerializerStream {}
+
+export = SerializerStream;
diff --git a/types/parse5-serializer-stream/parse5-serializer-stream-tests.ts b/types/parse5-serializer-stream/parse5-serializer-stream-tests.ts
index 3f5a8fbb96..bcb9e699fc 100644
--- a/types/parse5-serializer-stream/parse5-serializer-stream-tests.ts
+++ b/types/parse5-serializer-stream/parse5-serializer-stream-tests.ts
@@ -1,5 +1,5 @@
import { parse, TreeAdapter } from "parse5";
-import SerializerStream from "parse5-serializer-stream";
+import * as SerializerStream from "parse5-serializer-stream";
import { createReadStream, createWriteStream } from "fs";
const document = parse("");