Typescript: Component declaration reference is not recognized by parser
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- devtools
Línea de trabajo
Comienza reproduciendo el problema en el playground de react-docgen con Language establecido en Typescript, utilizando el ejemplo .tsx y llamando a reactDocgen.parse() sobre la referencia a la declaración. Sigue el punto de entrada del parser para las declaraciones .d.ts y compara el resultado con la salida esperada, en la que Component2 aparece con su descripción, displayName, methods y props.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Many Typescript libraries publish types in declaration files (.d.ts) alongside their associated .js bundles. In .d.ts files generated through TS compilation, function types are often defined using declaration references, such as:
declare const MyComponent: React.FunctionComponent<ComponentProps>;
Currently declaration references are not recognized by reactDocgen.parse(). When react-docgen parses a .d.ts file with a single declaration reference, it emits an error: Error: No suitable component definition found..
Desired Behavior
The following code:
import * as React from 'react';
interface ComponentProps {
foo: string;
}
/**
* My component is so darn cool!
*/
const Component1: React.FunctionComponent<ComponentProps> = () => <div />;
/**
* Mine too!
*/
declare const Component2: React.FunctionComponent<ComponentProps>;
Results in the following output:
[
{
"description": "My component is so darn cool!",
"displayName": "Component1",
"methods": [],
"props": {
"foo": {
"required": true,
"tsType": {
"name": "string"
},
"description": ""
}
}
},
{
"description": "Mine too!",
"displayName": "Component2",
"methods": [],
"props": {
"foo": {
"required": true,
"tsType": {
"name": "string"
},
"description": ""
}
}
}
]
Actual Behavior
The same code results in the following output:
[
{
"description": "My component is so darn cool!",
"displayName": "Component1",
"methods": [],
"props": {
"foo": {
"required": true,
"tsType": {
"name": "string"
},
"description": ""
}
}
}
]
Steps to Reproduce
Paste the .tsx sample code from the "Expected Behavior" section into the react-docgen playground with Language set to Typescript.
- Lenguaje dominante
- TypeScript
- Estrellas
- 3.8k
- Forks
- 316
- Merge medio
- 3 h 28 min
- PR fusionados (30 d)
- 6
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de reactjs/react-docgen
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
reactjs/react-docgen#1102 ·
-
Typescript Status Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
reactjs/react-docgen#1005 · 4 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
reactjs/react-docgen#997 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
reactjs/react-docgen#994 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
reactjs/react-docgen#982 · 2 comentarios ·
Todos los issues de reactjs/react-docgen
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/inspector#2458 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
carbon-design-system/ibm-products#9907 ·