TypeScript Playground Shows Inconsistent `any` for `unist-util-visit` type

Abierto
#3,187 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

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

Línea de trabajo

Reproduce el ejemplo de JavaScript en el TypeScript Playground enlazado y compáralo con el repositorio de reproducción enlazado y con el resultado local de VS Code. Investiga cómo el Playground gestiona los tipos de declaración importados y la inferencia del callback; se considera completado cuando el parámetro del callback se informa como mdast.Image en lugar de any.

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

Descripción

First of all, thanks so much for the TypeScript Playground and all other TS tooling, amazing effect on robustness of JS code 🙌

In this issue comment in unist-util-visit, I discovered some inconsistent behavior in the TypeScript Playground:

Actual

In the TypeScript Playground, the type of node in the callback passed to unist-util-visit is any

Playground

/**
 * @import {Root} from 'mdast'
 */

import { visit } from "unist-util-visit";

// TS Playground only: Import `@types/mdast` for JSDoc type imports
import 'mdast';

export function myPlugin() {
  /**
   * @param {Root} tree
   * @returns {undefined}
   */
  return function (tree) {
    visit(tree, 'image', function (node) {
                                // ^? any
    })
  }
}

Expected

...where it is mdast.Image in a local VS Code:

Reproduction repo: https://github.com/karlhorky/repro-unist-util-visit-node-any

/**
 * @import {Root} from 'mdast'
 */

import { visit } from "unist-util-visit";

export function myPlugin() {
  /**
   * @param {Root} tree
   * @returns {undefined}
   */
  return function (tree) {
    visit(tree, 'image', function (node) {
                                // ^? mdast.Image
    })
  }
}

Screenshot 2024-07-22 at 11 13 14

Lenguaje dominante
TypeScript
Estrellas
2.6k
Forks
1.5k
Merge medio
1 d 12 h
PR fusionados (30 d)
5

Guía de contribución

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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/TypeScript-Website

Todos los issues de microsoft/TypeScript-Website

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.