Analyzer
CLI
New features
-
The CLI now supports nested
.gitignore
files during the traversal. The users don't need to do anything to avail of this feature. Contributed by @ematipico -
Fix #709, by correctly parsing allow list patterns in
.gitignore
files. Contributed by @ematipico -
Fix #805, by correctly parsing these kind of patterns. Contributed by @ematipico
-
Fix 1117 by correctly respecting the matching. Contributed by @ematipico
Configuration
New features
-
Users can specify git ignore patterns inside
ignore
andinclude
properties, for example it's possible to allow list globs of files using the!
character:{ "files": { "ignore": [ "node_modules/**", "!**/dist/**" // this is now accepted and allow list files inside the `dist` folder ] } }
Editors
New features
- The LSP register formatting without the need of using dynamic capabilities from the client.
Formatter
JavaScript APIs
Linter
New features
-
Add useExportType that enforces the use of type-only exports for names that are only types. Contributed by @Conaclos
interface A {} interface B {} class C {} - export type { A, C } + export { type A, C } - export { type B } + export type { B }
Enhancements
Bug fixes
-
Fix #959. noEmptyInterface no longer reports interface that extends a type and is in an external module. COntributed by @Conaclos
Empty interface that extends a type are sometimes used to extend an existing interface.
This is generally used to extend an interface of an external module.interface Extension { metadata: unknown; } declare module "@external/module" { export interface ExistingInterface extends Extension {} }
-
Fix #1061. noRedeclare no longer reports overloads of
export default function
. Contributed by @ConaclosThe following code is no longer reported:
export default function(a: boolean): boolean; export default function(a: number): number; export default function(a: number | boolean): number | boolean { return a; }
-
Fix #651, useExhaustiveDependencies no longer reports out of scope dependencies. Contributed by @kalleep
The following code is no longer reported:
let outer = false; const Component = ({}) => { useEffect(() => { outer = true; }, []); }
-
Fix #728. useSingleVarDeclarator no longer outputs invalid code. Contributed by @Conaclos
-
Fix #1167. [useValidAriaProps] no longer reports
aria-atomic
as invalid. Contributed by @unvalley
Parser
- Fix #1077, fix issues when parsing conditional expression where parenthesized identifier was being parsed as arrow expression. Contributed by @kalleep
These cases are now properly parsed:
javascript:
a ? (b) : a => {};
typescript:
a ? (b) : a => {};
jsx:
bar ? (foo) : (<a>{() => {}}</a>);
What's Changed
Other changes
- docs(ja): update Formatter in japanese by @chansuke in #1076
- docs(LICENSE-APACHE): fill copyright placeholder by @ImBIOS in #1166
- docs: fix incorrect file name by @wobsoriano in #1175
- feat(css_parser): CSS parser container at rule #995 by @denbezrukov in #1114
- test(useShorthandFunctionType): add more test cases by @ImBIOS in #1185
- docs(README.md): update translations in README.md by @ImBIOS in #1183
- refactor:
noNoninteractiveTabindex
code action by @vasucp1207 in #1179
New Contributors
- @ImBIOS made their first contribution in #1166
- @wobsoriano made their first contribution in #1175
Full Changelog: cli/v1.4.1-nightly.570d680...cli/v1.4.1-nightly.e087146