Soy un poco nuevo en el resumen y he tenido varios problemas con él en las últimas semanas.
Actualmente estoy usando rollup para construir componentes Lit para producción. Y por alguna razón desconocida, cuando genera un archivo que contiene, lo que creo que es el estado reactivo de cada componente: query-assigned-elements-78bcb1b1.js . Cada componente que tiene un estado reactivo importa este archivo.
Necesito no generar este archivo y mantener el estado en los archivos reales, ya que los componentes deben usarse solos, sin dependencias ni importaciones.
resumen-config.mjs:
... export default (args) => { const isProd = args.prod ? true : false; const isDev = args.dev ? true : false; console.log( `Building ${ isProd ? 'production' : isDev ? 'development' : 'local' } build..` ); const distProd = 'dist'; const distDev = 'dev/dist'; const distLocal = 'dev/components'; let envPath = isProd ? distProd : isDev ? distDev : distLocal; let build = [ { input: ['src/**/[!_]*.ts'], output: { dir: envPath, }, plugins: [ resolve(), multiInput.default({ relative: 'src/', }), commonjs(), typescript({ compilerOptions: { outDir: envPath, sourceMap: false, declaration: false, declarationMap: false, inlineSources: false, }, }), template(), terser({ ecma: 2017, module: true, warnings: true, }), copy({ patterns: '**/assets/*.{svg,png,jpg,gif,webp}', rootDir: './src', }), ], preserveEntrySignatures: 'strict', }, ]; return build; }; Entonces, cada componente tiene import{r as t,_ as e,e as o,n as i,s as r,$ as a}from"../query-assigned-elements-78bcb1b1.js"; . Cualquier sugerencia sería muy apreciada.
El problema parece ocurrir cuando la entrada de la configuración acumulada es demasiado amplia:
input: ['src/**/[!_]*.ts']Si cada elemento iluminado individual se coloca en su propia carpeta separada, el resumen debe aplicarse a cada elemento iluminado individualmente. Si la entrada acumulada es demasiado amplia (en el sentido de que toma todos los elementos como entrada), verá que la dependencia dada (elementos asignados a la consulta) se usa en todos los elementos dados, y en lugar de incrustarlo individualmente en cada archivo, crea un archivo externo separado (query-assigned-elements-78bcb1b1.js) y las referencias están en importación.
Cambiando la entrada a algo como
input: ['./src/<element-folder>/[!_]*.ts']y ejecutar el resumen para cada elemento por separado soluciona el problema.