`paperwork()` returns no dependencies for `.mts` and `.cts` files
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js, typescript
- Área
- backend, developer-experience
Línea de trabajo
Empieza por rastrear cómo paperwork() deduce el tipo de archivo y cómo getDetective selecciona un parser para archivos .ts; compara esas rutas con .mts y .cts. Los ejemplos del issue reproducen las dependencias que faltan e incluyen los resultados esperados. Añade compatibilidad con esas extensiones y verifica que se detecten los imports .mts y .cts mostrados, mientras se mantiene intacto el comportamiento existente para .ts y .mjs.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
precinct.paperwork() returns [] for TypeScript files with the .mts or .cts extension, while the same content in a .ts file is parsed. Tools built on precinct (dependency-tree, madge) therefore see no dependencies in these files.
// a.mts (a.ts has the same content)
import { b } from "./b.mts";
export const a: number = b + 1;
// c.cts
const { b } = require("./b.cjs");
const c: number = b;
module.exports = { c };
// check.mjs
import { paperwork } from "precinct";
for (const f of ["a.ts", "a.mts", "c.cts", "d.mjs"]) console.log(f, paperwork(f, { includeCore: false }));
d.mjs contains import fs from "node:fs"; import x from "./x.js";.
$ node check.mjs
a.ts [ './b.mts' ]
a.mts []
c.cts []
d.mjs [ './x.js' ]
Expected: a.mts [ './b.mts' ] and c.cts [ './b.cjs' ].
With madge 8.0.0, madge("a.mts", { fileExtensions: ["mts", "ts"] }) gives {"a.mts":[]}, and a.ts gives {"a.ts":["b.mts"],"b.mts":[]}.
Tested with precinct 13.0.1 (also 12.3.2 as used by dependency-tree 11.5.0) and main (f9512ad), Node.js 26.13.0.
Cause: paperwork sets type to the extension without the dot (mts, cts), and getDetective has no case for these, so no detective runs. Mapping them to ts (or .cts with mixedImports) like .cjs is mapped to commonjs would fix it.
Credit: https://ucsbplse.github.io/
- Lenguaje dominante
- JavaScript
- Estrellas
- 234
- Forks
- 36
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 dependents/node-precinct
-
svelte-style html filesAbiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dependents/node-precinct#46 · 3 comentarios ·
-
enhancement help wanted
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dependents/node-precinct#42 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
dependents/node-precinct#35 · 3 comentarios ·
Todos los issues de dependents/node-precinct
Issues similares
-
🐛 bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
LibreChat-AI/LibreChat#17887 ·
Los mantenedores suelen responder en 1 día
-
Step-by-step Ash GuideAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
liveshowy/webauthn_components#118 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
showdownjs/showdown#1113 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
volumio/volumio-plugins-sources-bookworm#279 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100