Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
Versión de dependencia de lectura de TS desde el script dentro de package.json

Tengo un proyecto de reacción con un paquete.json que tiene la siguiente estructura:

 "name": "@repo/packagex", "description": "package X", "version": "1.0.0", "scripts": { "build": "some script to move resources into a folder named resources/3.4.5/", }, "dependencies": { "@repo/package-y": "3.4.5", } ...

Si nota, estoy tratando de copiar algunos recursos en una carpeta denominada como el número de versión de mi @repo/package-y y, por lo tanto, cada vez que alguien actualice la versión de @repo/package-y, el nombre de la carpeta de copia debería cambiar a esa versión

Soluciones probadas: intenté hacer lo siguiente pero no resolví el número de versión cuando se implementó, pero sol 1 funciona bien localmente:

 sol 1 tried resources/${npm_package_dependencies__repo_package_y} sol 2 tried resources/%npm_package_dependencies__repo_package_y%

¿Hay alguna forma multiplataforma de acceder a esta versión?. Si estuviera trabajando en una función js/ts, simplemente importaría el objeto del archivo package.json y obtendría las propiedades que quisiera, pero ahora esto está dentro del archivo package.json.

PD: Usando webpack y babel

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Como mencionó Webpack, creo que podría usar copy-webpack-plugin

suponiendo que en su caso el paquete.json se vería de la siguiente manera:

 { "name": "@repo/packagex", "version": "1.0.0", "scripts": { "build": "webpack" }, "dependencies": { "@repo/package-y": "3.4.5" }, "devDependencies": { "copy-webpack-plugin": "^10.2.4", "webpack": "^5.70.0", "webpack-cli": "^4.9.2" } }
  • La entrada predeterminada './src/index.js' para el paquete web debe existir para no permitir que el paquete web se queje con la configuración a continuación
  • './algunos-recursos/archivo.xyz' se copiará si existe

Contenido webpack.config.js:

 const {dependencies} = require('./package.json'); const CopyWebpackPlugin = require('copy-webpack-plugin'); /** * @type {import('webpack').Configuration} */ const config = { mode: 'development', plugins: [ new CopyWebpackPlugin({ patterns: Object.keys(dependencies).map((dep) => ({ to: `resources/${dependencies[dep]}/`, from: '*.*', context: './some-resources' })) }) ] }; module.exports = config;

la salida se colocará en la siguiente ruta ./dist/resources/3.4.5/some-resources/file.xyz

Si todo va bien en la consola, el paquete web debería arrojar algo como el siguiente resultado

 @repo/packagex@1.0.0 build webpack asset main.js 1.18 KiB [compared for emit] (name: main) asset resources/3.4.5/file.xyz 0 bytes [compared for emit] [from: some-resources/file.xyz] [copied]<br/> ./src/index.js 1 bytes [built] [code generated] webpack 5.70.0 compiled successfully in 49 ms
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda