Closed runarberg closed 4 months ago
Sorry, I didn’t mean to close this.
The behavior recommended by the docs for JavaScript files is to use one of the recommended-typescript-flavor
configs (e.g., flat/recommended-typescript-flavor
).
There is already a request for a config to combine the file formats and handle them automatically (#1101 ), so I think we can close this issue. Feel free to comment further if not.
Turns out my problem wasn’t in the mode actually. Template literal types were simply unimplemented: https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/166
Motivation
I’m writing typescript in JS using JSDoc. When I finished my initial setup and was ready to push I got a syntax error in my
jsdoc/valid-types
because I was using template literal types. So I switched my mode fromjsdoc
totypescript
like I though I was supposed to and reran the linter. However, I accidentally (out of habit) reran it with--fix
which automatically stripped all my type definitions because of theno-types
rule.Current behavior
The
jsdoc/no-types
rule automatically marks all types as non-passing regardless of whether they are in a.ts
or a.js
file. This is a dangerous behavior when they are auto-included in the latter case since the@type
is the only way to annotate types in.js
filesDesired behavior
The flat config for
flat/recommended-typescript
should have something like a:To prevent this rule from destroying all your type definitions.
Alternatives considered
You should at least warn users heavily in the docs what switching modes can do to your code.