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

215
Views
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 answers
Answer question

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 Report
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!