benjamn / benjamn/ast-types

Removing TSPropertySignature node adds commas to the type declaration

Abierto
#653 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
1.2k
Forks
194
Merge medio
22 h 43 min
PR fusionados (30 d)
10

Descripción

I originally opened this issue on the jscodeshift project (facebook/jscodeshift#464), but I'm pretty sure it is originating on this library.
Basically when you try to remove a type property of a type definition you get unneeded commas like it was an object.
This only happens for typescript, if you use flow you have to use ObjectTypeProperty that works correctly.

Input:

```ts
type Props = {
__: translator;
form: Form;
isOpen: boolean;
closeModal: () => void;
};
```

Execute:

```ts
j(file.source).find(j.TSPropertySignature, { key: { name: "__" } }).remove();
```

Output:

```
type Props = {
form: Form;,
isOpen: boolean;,
closeModal: () => void;
};
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Reproduce el problema con la definición de tipo TypeScript proporcionada y la consulta de jscodeshift que elimina TSPropertySignature. Rastrea el recorrido de eliminación y generación para las propiedades de TypeScript, comparándolo con el comportamiento de Flow ObjectTypeProperty. Está terminado cuando las propiedades restantes se imprimen con punto y coma y sin comas adicionales.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
tooling
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.