Hur man fångar @rollup/plugin-typescript-fel
Jag använder api rollup.watch(options) för att bygga TypeScript.
Som standard kommer @rollup/plugin-typescript att skriva ut ett felmeddelande i konsolen om det finns ett kompileringsfel, men inget filnamn och radnummer skrivs ut, och watcher.on('event') utlöser inte errevenemanget.
Jag upptäckte att alternativet noEmitOnError: true utlöser felhändelsen i watcher.on('event'), men bara första gången, andra gången kastar det ett fel och avslutas.
import rollupTypescript from '@rollup/plugin-typescript';
let options: rollup.RollupWatchOptions = {
...
plugins: [
rollupTypescript({
noEmitOnError: true,
tsconfig: path.join(__dirname, `tsconfig.json`),
}),
],
};
let watcher = rollup.watch(options);
watcher.on('event', async (evt) => {
if (evt.code === 'ERROR') {
console.log(evt);
}
});
version
- rollup: 2.46.0
- @rollup/plugin-typescript: 8.2.1
Hur fångar jag felet på ett säkert sätt?