Una compilación normal de una sola vez funciona bien. Sin embargo, al usar rollup -w
, rpt2 parece tener problemas para encontrar archivos fuente si edito una de las dependencias más profundas del módulo en uno de los otros paquetes.
Esto es con un monorepo de Lerna que configura enlaces simbólicos a las dependencias en el repositorio.
Repo de prueba: https://github.com/jrburke/jr-monorepo-rpt2
No quiero usar preserveSymlinks
porque en mi proyecto real, da como resultado duplicados de módulos en el proyecto final construido, ya que varios paquetes en el repositorio comparten dependencias comunes. Probé una versión que usa preserveSymlinks
, por lo que, como último recurso, podría configurar una configuración de desarrollo que use preserveSymlinks
, pero las compilaciones independientes / por primera vez funcionan sin él, y me gustaría seguir la configuración del reloj es la misma que en las versiones normales.
Detalles para reproducir en el repositorio de ejemplo anterior.
import commonjs from '@rollup/plugin-commonjs';
import resolve from '@rollup/plugin-node-resolve';
import typescript from 'rollup-plugin-typescript2';
export default {
input: 'src/index.ts',
output: {
file: 'dist/jr-player.js',
format: 'iife',
name: 'jrPlayer',
exports: 'named'
},
watch: {
include: ['src/**', '../jr-lib/src/**', '../jr-auth/src/**']
},
plugins: [
typescript({
include: ['src/**/*.ts+(|x)', '../jr-lib/**/*.ts+(|x)', '../jr-auth/**/*.ts+(|x)'],
verbosity: 3
}),
resolve(),
commonjs()
]
};
Tsconfig.json de nivel superior:
{
"compilerOptions": {
"moduleResolution": "node",
"module": "es2015",
"lib": [
"es2015",
"es2016",
"es2017",
"dom"
],
"strict": true,
"sourceMap": true,
"declaration": true,
"allowSyntheticDefaultImports": true,
"downlevelIteration": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": false,
"esModuleInterop": true,
"removeComments": true,
"resolveJsonModule": true,
"skipLibCheck": true
}
}
packages/jr-player/tsconfig.json
:
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"target": "es5",
"declarationDir": "lib",
"outDir": "lib"
},
"include": ["."]
}
No creo que sea relevante, pero está en el repositorio de prueba.
Adjunto, pero también en repositorio de prueba en verbose-error.txt
:
Podría estar relacionado con el n. ° 188
Otra solución alternativa es deshabilitar la verificación de tipos con check: false
, por supuesto, eso elimina la mayor parte de la funcionalidad ...
Tengo el problema de combinar rollup-plugin-typescript2
y rollup-plugin-postcss
. Cuando importo un archivo _css_ (por ejemplo, import * as style from ./mystyle.css
) y habilito la bandera _watch_, me da el mismo error.
Intentaré depurar un poco más, pero de hecho check: false
soluciono el problema.