Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

154
Views
¿Por qué TypeScript + Webpack coloca el archivo de declaración generado (d.ts) dentro de las carpetas de paquetes anidados en lugar de la raíz?

Desarrollo una biblioteca de paquetes con una configuración compleja de TypeScript + Webpack. Cuando construyo algunos paquetes, se integran correctamente en una carpeta dist . Por ejemplo este:

ingrese la descripción de la imagen aquí

Verá index.js junto con index.d.ts como se esperaba.

Pero para algunos otros paquetes, a pesar de usar la misma configuración, termino con un resultado totalmente diferente. La carpeta dist está estructurada en paquetes, uno con el nombre de un paquete del que dependo ( @vulcanjs/graphql ), otro con el nombre del paquete actual ( @vulcanjs/mongo )

ingrese la descripción de la imagen aquí

No tengo una reproducción mínima, pero el código es de código abierto: https://github.com/VulcanJS/vulcan-npm .

El problema es que, entonces, al importar desde este @vulcanjs/mongo , no puedo obtener los tipos porque index.d.ts vive en una carpeta anidada cuando debería estar en la raíz. Tampoco estoy seguro de que la carpeta graphql deba estar allí, ya que esos tipos provienen de un paquete diferente ( @vulcanjs/graphql ).

Cada configuración de paquete amplía las configuraciones raíz, tanto para Webpack como para TypeScript.

Sospecho que mi configuración de Webpack es incorrecta, uso la configuración externals , pero no la domino por completo:

 module.exports = { devtool: "inline-source-map", mode: "production", output: { libraryTarget: "commonjs2", filename: "index.js", }, // This prevent bundling node_modules into the app // additionalModuleDirs allow handling root and nested node_modules // @see https://stackoverflow.com/questions/46010926/how-to-use-webpack-with-a-monorepo-yarnpkg-workspaces externals: [ nodeExternals({ additionalModuleDirs: [path.resolve(__dirname, "../node_modules")], }), ], // ...rest of the code, that simply configure babel and ts-loader

¿Por dónde debo empezar a depurar este problema?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!