[TS] parse returns props without type field.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- react, typescript
- Área
- documentation, tooling
Línea de trabajo
Reproduce la entrada TSX proporcionada mediante el punto de entrada parse(context.code, ...) e inspecciona rawReactDocs.props. Después, compara los metadatos de props devueltos con el campo type esperado. Rastrea por qué la salida del parser omite ese campo y añade cobertura que muestre los metadatos corregidos para este ejemplo.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
the input code
import React from 'react';
import './button.css';
export interface ButtonProps {
/**
* Is this the principal call to action on the page?
*/
primary?: boolean;
/**
* What background color to use
*/
backgroundColor?: string;
/**
* How large should the button be?
*/
size?: 'small' | 'medium' | 'large';
/**
* Button contents
*/
label: string;
/**
* Optional click handler
*/
onClick?: () => void;
}
/**
* Primary UI component for user interaction
*/
export const Button: React.FC<ButtonProps> = ({
primary = false,
size = 'large',
backgroundColor,
label,
...props
}) => {
const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary';
return (
<button
type="button"
className={['storybook-button', `storybook-button--${size}`, mode].join(' ')}
style={{ backgroundColor }}
{...props}
>
{label}
</button>
);
};
the parse code
const rawReactDocs = parse(context.code, null, null, {
filename: context.fileName, //path.resolve(),
babelrc: false,
});
console.log("rawReactDocs", rawReactDocs)
const rawProps = rawReactDocs.props || {};
const props = Object.keys(rawProps)
.filter(name => name !== "children")
// .filter(name => rawProps[name].type || rawProps[name].tsType || rawProps[name].flowType)
.map(name => ({ name, value: rawProps[name] }));
console.log("props", props)

- 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
-
Browser Waiting for: Product Owner
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
getsentry/sentry-javascript#24577 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agilepathway/label-checker#640 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
copse-dev/agent-pane#2953 ·
-
[aw] Upgrade available Abiertoagentic-workflows
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
githubnext/rig#534 ·
-
automation missing-model model-sync provider:pioneer
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
anomalyco/models.dev#7701 ·