microsoft / microsoft/TypeScript
[isolatedDeclarations] function expressions as an argument to a function call that is exported are reported as needing an annotation
Aperta
Nessuno ha ancora preso questa issue.
Domain: flag: isolatedDeclarations
Help Wanted
Possible Improvement
- Lingua principale
- Go
- Stelle
- 111k
- Fork
- 14.3k
- Merge medio
- 2g 4h
- PR unite (30g)
- 132
Descrizione
🔎 Search Terms
"isolatedDeclarations", "function return type", "exported variable"
🕗 Version & Regression Information
- This changed between versions 5.6.3 and 5.7.3
⏯ Playground Link
💻 Code
import * as React from 'react';
import { action } from 'mobx';
import { observer } from 'mobx-react';
export const Component = observer(() => {
return <></>;
});
export const thing = action(function () {
return Component;
});
🙁 Actual behavior
import * as React from 'react';
import { action } from 'mobx';
import { observer } from 'mobx-react';
export const Component = observer(() => {
~~~~~~~~~ Variable must have an explicit type annotation with --isolatedDeclarations.
~~~~~ Function must have an explicit return type annotation with --isolatedDeclarations.
return <></>;
});
export const thing = action(function () {
~~~~~ Variable must have an explicit type annotation with --isolatedDeclarations.
~~~~~~~~ Function must have an explicit return type annotation with --isolatedDeclarations.
return Component;
});
🙂 Expected behavior
import * as React from 'react';
import { action } from 'mobx';
import { observer } from 'mobx-react';
export const Component = observer(() => {
~~~~~~~~~ Variable must have an explicit type annotation with --isolatedDeclarations.
return <></>;
});
export const thing = action(function () {
~~~~~ Variable must have an explicit type annotation with --isolatedDeclarations.
return Component;
});
Additional information about the issue
The function expressions are not directly exported so they should not be reported on at all.
This is causing ts-fix to insert many unnecessary annotations when codemodding the codebase at Canva because there's no way for it to tell that annotating the variable will silence the error on the function -- so it adds both annotations.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Valutazione
Questa issue non è ancora stata valutata.