Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

since htmlparser2@8 type declaration requires ts >= 4.5 #1242

Closed
olivier-martin-sf opened this issue Jul 15, 2022 · 4 comments
Closed

since htmlparser2@8 type declaration requires ts >= 4.5 #1242

olivier-martin-sf opened this issue Jul 15, 2022 · 4 comments

Comments

@olivier-martin-sf
Copy link

It looks like since #1165 landed in the repo, the bundled type declarations use mixed exports (exporting both type and values) which was introduced in TS 4.5 AFAIK.

I am wondering if there's an assumption that the consumer of the package runs a specific version of TS since the htmlparser2@v8.X.X release line. I tried to use that library in a project that runs under TS 4.2 and the type checker errors out as it doesn't understand the mixed exports syntax. That's the kind of error that are being thrown:

node_modules/htmlparser2/lib/index.d.ts:2:23 - error TS1005: ',' expected.

2 export { Parser, type ParserOptions };
                        ~~~~~~~~~~~~~

Maybe we could add a note about the minimum TS requirement or provide backward compatible type declarations (relying on typesVersion and using a tool such as downlevel-dts).

Thank you so much for your work on this awesome lib and hopefully this is useful feedback

@lehui521
Copy link

I encountered the same problem

@fb55
Copy link
Owner

fb55 commented Jul 25, 2022

I have added a note to the 8.0.0 release notes: https://github.com/fb55/htmlparser2/releases/tag/v8.0.0

The 7.x releases are still safe to use for users on older TypeScript versions, and I don't see a strong reason to maintain backwards compatibility for old TypeScript releases. Hope that makes sense!

@fb55 fb55 closed this as completed Jul 25, 2022
@a-liubchenka
Copy link

@fb55 Hi
I spent lots of time today, just due to this problem.
Could you please add perDependencies object in package.json with typescript requirement?
After that I will be notified, that there is a conflict between typescript version requirements. Currently just some magic(
image

@fb55
Copy link
Owner

fb55 commented Aug 3, 2022

It is possible to use this module without TypeScript. If I added TypeScript as a peer dependency, users that don't use TypeScript would get errors. Unfortunately there is no way to specify optional peer dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants