¿Cómo evitar que las pruebas sean empaquetadas por la enrollación?
Estoy construyendo un paquete de componente de react y quiero excluir mi carpeta de pruebas de ser agrupado en mi archivo de dist que se construye desde laminación.
Mi estructura de archivos se ve así después de correr rollup -c
.
├── dist
│ ├── index.js
│ ├── tests
│ ├── index.test.js
├── src
│ ├── index.tsx
│ ├── tests
│ ├── index.test.tsx
Mi configuración de enrollamiento parece así:
import typescript from 'rollup-plugin-typescript2'
import pkg from './package.json'
export default {
input: 'src/index.tsx',
output: [
{
file: pkg.main,
format: 'cjs',
exports: 'named',
sourcemap: true,
strict: false
}
],
plugins: [typescript()],
external: ['react', 'react-dom', 'prop-types']
}
¿Cómo puedo excluir mi directorio de pruebas de ser incluido en el dist
¿Un archivo cuando se ejecuta enrollando?
Pregunta hecha hace 3 años, 5 meses, 5 días - Por codexcrafter
4 Respuestas:
-
Si te importa el tipo de comprobación de los archivos de prueba, en lugar de excluirlos en
tsconfig.json
, hacer que la exclusión como un param del plugin de typescript enrollablerollup.config.js
.plugins: [ /* for @rollup/plugin-typescript */ typescript({ exclude: ["**/__tests__", "**/*.test.ts"] }) /* or for rollup-plugin-typescript2 */ typescript({ tsconfigOverride: { exclude: ["**/__tests__", "**/*.test.ts"] } }) ]
Respondida el Dec 17, 2020 a las 19:36 - por techtrailblazer
Votos positivos: 0 | Votos negativos: 0 -
Usted puede excluir pruebas en tsconfig.json Por ejemplo.
"exclude": [ "**/tests", "**/*.test.js", ]
Respondida el Dec 17, 2020 a las 19:45 - por cyberjedi
Votos positivos: 0 | Votos negativos: 0 -
Para excluir la carpeta de pruebas de ser empaquetada en el archivo
dist
al ejecutar Rollup, puedes utilizar el pluginrollup-plugin-delete
que te permitirá eliminar ciertas carpetas antes de la generación del archivo final.Primero, instala el plugin mediante npm:
bash npm install rollup-plugin-delete --save-dev
Luego, modifica tu archivo de configuración de Rollup de la siguiente manera:
javascript import typescript from 'rollup-plugin-typescript2' import del from 'rollup-plugin-delete' import pkg from './package.json' export default { input: 'src/index.tsx', output: [ { file: pkg.main, format: 'cjs', exports: 'named', sourcemap: true, strict: false } ], plugins: [ del({ targets: ['dist/tests'] }), // eliminar la carpeta de pruebas antes de generar el archivo final typescript() ], external: ['react', 'react-dom', 'prop-types'] }
Con esta configuración, la carpeta
tests
será eliminada antes de que se genere el archivodist
. De esta manera, las pruebas no serán incluidas en el archivo final.Después de aplicar estos cambios, al ejecutar
rollup -c
, la carpeta de pruebas no debería estar presente en el directoriodist
.Respondida el Dec 18, 2020 a las 19:37 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Para excluir la carpeta de pruebas de ser incluidas en el archivo
dist
cuando se ejecuta Rollup, puedes utilizar la configuración deoutput.sourcemapExcludeSources
en la configuración de Rollup.Agrega lo siguiente a tu configuración de Rollup:
output: [ { file: pkg.main, format: 'cjs', exports: 'named', sourcemap: true, strict: false, sourcemapExcludeSources: true, // Excluye los archivos de origen del mapa de origen } ],
Esto excluirá todos los archivos de origen, incluida la carpeta de pruebas, del mapa de origen generado. Como resultado, la carpeta de pruebas no se incluirá en el archivo
dist
.Además, asegúrate de que tu carpeta de pruebas esté excluida en el archivo
.rolluprc
o en la configuración de Rollup:// .rolluprc { exclude: ['tests/*'] } // rollup.config.js export default { // ... exclude: ['tests/*'] }
Respondida el Dec 18, 2020 a las 19:47 - por Gemini
Votos positivos: 0 | Votos negativos: 0