From 060ecaac2de197a2c93651f6cd52561e3ed8d4c9 Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Fri, 9 Jun 2023 15:12:37 +0200 Subject: [PATCH] Fixed imports --- packages/rehype-parse/lib/index.js | 26 ++++++++++++++------------ test/parse-error.js | 3 +-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/rehype-parse/lib/index.js b/packages/rehype-parse/lib/index.js index 0a45fe89..f4f24775 100644 --- a/packages/rehype-parse/lib/index.js +++ b/packages/rehype-parse/lib/index.js @@ -27,8 +27,7 @@ * @typedef {FromParse5Options & ParseFields & ErrorFields} Options */ -// @ts-expect-error: remove when typed -import Parser5 from 'parse5/lib/parser/index.js' +import {Parser, parse, parseFragment} from 'parse5' import {fromParse5} from 'hast-util-from-parse5' import {errors} from './errors.js' @@ -48,21 +47,24 @@ export default function rehypeParse(options) { /** @type {import('unified').ParserFunction} */ function parser(doc, file) { - const fn = settings.fragment ? 'parseFragment' : 'parse' - const onParseError = settings.emitParseErrors ? onerror : null - const parse5 = new Parser5({ + const parserOptions = { sourceCodeLocationInfo: true, - onParseError, + onParseError: settings.emitParseErrors ? onerror : null, scriptingEnabled: false - }) + } // @ts-expect-error: `parse5` returns document or fragment, which are always // mapped to roots. - return fromParse5(parse5[fn](doc), { - space: settings.space, - file, - verbose: settings.verbose - }) + return fromParse5( + settings.fragment + ? parseFragment(doc, parserOptions) + : parse(doc, parserOptions), + { + space: settings.space, + file, + verbose: settings.verbose + } + ) /** * @param {{code: string, startLine: number, startCol: number, startOffset: number, endLine: number, endCol: number, endOffset: number}} error diff --git a/test/parse-error.js b/test/parse-error.js index 3da41286..0f57c359 100644 --- a/test/parse-error.js +++ b/test/parse-error.js @@ -3,8 +3,7 @@ import path from 'node:path' import test from 'tape' import {toVFile, readSync} from 'to-vfile' import {rehype} from 'rehype' -// @ts-expect-error: untyped. -import p5errors from 'parse5/lib/common/error-codes.js' +import {ErrorCodes as p5errors} from 'parse5' import {errors as rerrors} from 'rehype-parse/lib/errors.js' // Related to https://github.com/inikulin/parse5/issues/255