Rollup-plugin-typescript2: Monorepo: Rollup -w mit rpt2 führt zu (Plugin rpt2) Fehler: Quelldatei konnte nicht gefunden werden

Erstellt am 11. März 2020  ·  2Kommentare  ·  Quelle: ezolenko/rollup-plugin-typescript2

Was passiert und warum es falsch ist

Ein normaler einmaliger Build funktioniert einwandfrei. Wenn ich jedoch rollup -w , scheint rpt2 Probleme zu haben, Quelldateien zu finden, wenn ich eine der tieferen Modulabhängigkeiten in einem der anderen Pakete bearbeite.

Dies ist mit einem Lerna-Monorepo, das Symlinks zu den In-Repo-Abhängigkeiten einrichtet.

Test-Repository: https://github.com/jrburke/jr-monorepo-rpt2

Ich möchte preserveSymlinks da es in meinem realen Projekt zu Duplikaten von Modulen im endgültig erstellten Projekt führt, da mehrere Pakete im Repository gemeinsame Abhängigkeiten teilen. Ich habe eine Version mit preserveSymlinks ausprobiert, und als letzten Ausweg könnte ich ein Dev-Setup konfigurieren, das preserveSymlinks , aber eigenständige / erstmalige Builds funktionieren ohne, und ich möchte es behalten das Uhr-Setup ist das gleiche wie bei den normalen Builds.

Umfeld

Details zum Reproduzieren im obigen Beispiel-Repository.

Versionen

  • Typoskript: 3.8.3
  • Rollup: 1.32.1
  • rollup-plugin-typescript2: 0.26.0

rollup.config.js

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

tsconfig.json der obersten Ebene:

{
  "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": ["."]
}

Paket.json

Ich denke nicht, dass es relevant ist, aber es steht im Test-Repo.

Plugin-Ausgabe mit Ausführlichkeit 3

Angehängt, aber auch im Test-Repo bei verbose-error.txt :

verbose-error.txt

bug

Alle 2 Kommentare

Könnte mit #188 verwandt sein

Eine andere Problemumgehung besteht darin, die Typprüfung mit check: false zu deaktivieren, was natürlich den Großteil der Funktionalität entfernt...

Ich habe das Problem, rollup-plugin-typescript2 und rollup-plugin-postcss kombinieren. Wenn ich eine _css_-Datei (zB import * as style from ./mystyle.css ) importiere und das _watch_-Flag aktiviere, erhalte ich denselben Fehler.

Ich werde noch ein bisschen Debuggen versuchen, aber check: false behebt das Problem tatsächlich.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen