Editors
New features
- The LSP register formatting without the need of using dynamic capabilities from the client.
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 }
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 dependecies. 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
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(website): translate analyzer to portuguese by @Levieber in #1109
- docs(pt-br): translated sidebar by @CookieDasora in #1110
- doc(linter): translate linter document to Japanese by @Naturalclar in #1082
- chore: add nanabit to the list of bronze sponsors by @ematipico in #1119
- feat(website): add mobile support to navigation menu by @Yan-Thomas in #1132
- docs(ja): fix typos in Japanese doc by @K-tecchan in #1130
- fix(js_formatter): fix array fill elements expanding from leading comments by @faultyserver in #1135
- docs(pt-br): completed translation of the guide section by @CookieDasora in #1122
- docs(website): translate philosophy to portuguese by @Levieber in #1139
- docs(zh-CN): translated sidebar by @dufu1991 in #1116
- [ doc ] added formatter.bracketSameLine and formatter.bracketSpacing … by @Giuliano1993 in #1140
- fix(js_formatter): fix
propagate_expand
for interned elements withbest_fitting
by @faultyserver in #1141 - docs(formatter): Explain divergence for typescript vs babel from Prettier by @faultyserver in #1146
- fix(js_formatter): match default clause block handling with case clauses by @faultyserver in #1148
- fix(js_formatter): fix function parameter grouping heuristic checking type parameters by @faultyserver in #1153
- fix(js_formatter): fix binaryish and ts type handling for grouping call arguments by @faultyserver in #1152
- feat:
noUselessTernary
rule by @vasucp1207 in #1142 - docs(website): translate versioning to portuguese by @Levieber in #1149
- feat(website): Add Netlify badge by @Yan-Thomas in #1150
- fix(js_formatter): refactor indention for arrow chains by @faultyserver in #1136
- fix(js_formatter): ensure interface call signatures match function formatting by @faultyserver in #1160
- fix(js_formatter): fix some random indention inconsistencies by @faultyserver in #1162
- chore(formatter): update compatibility reports by @Conaclos in #1164
New Contributors
- @Naturalclar made their first contribution in #1082
- @K-tecchan made their first contribution in #1130
- @Giuliano1993 made their first contribution in #1140
Full Changelog: lsp-intellij/v0.0.7...cli/v1.4.1-nightly.570d680