Rollup-plugin-typescript2: Monorepo : rollup -w avec rpt2 aboutit à (plugin rpt2) Erreur : impossible de trouver le fichier source

Créé le 11 mars 2020  ·  2Commentaires  ·  Source: ezolenko/rollup-plugin-typescript2

Que se passe-t-il et pourquoi c'est mal

Une construction unique normale fonctionne bien. Cependant, lors de l'utilisation de rollup -w , rpt2 semble avoir du mal à trouver les fichiers source si je modifie l'une des dépendances de module les plus profondes dans l'un des autres packages.

C'est avec un monorepo Lerna mettant en place des liens symboliques vers les dépendances in-repo.

Dépôt de test : https://github.com/jrburke/jr-monorepo-rpt2

Je ne veux pas utiliser preserveSymlinks car dans mon projet réel, cela entraîne des doublons de modules dans le projet final construit, car plusieurs packages du référentiel partagent des dépendances communes. J'ai essayé une version utilisant preserveSymlinks , et donc, en dernier recours, je pourrais configurer une configuration de développement qui utilise preserveSymlinks , mais les versions autonomes/initiales fonctionnent sans, et j'aimerais garder la configuration de la montre est la même que celle des versions normales.

Environnement

Détails à reproduire dans l'exemple de dépôt ci-dessus.

Versions

  • tapuscrit: 3.8.3
  • cumul : 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 de niveau supérieur :

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

package.json

Je ne pense pas que ce soit pertinent, mais c'est dans le référentiel de test.

sortie du plugin avec verbosité 3

En pièce jointe, mais aussi en dépôt de test à verbose-error.txt :

verbose-error.txt

bug

Tous les 2 commentaires

Peut-être lié au #188

Une autre solution de contournement consiste à désactiver la vérification de type avec check: false , ce qui supprime bien sûr la majorité des fonctionnalités...

J'ai le problème de combiner rollup-plugin-typescript2 et rollup-plugin-postcss . Lorsque j'importe un fichier _css_ (par exemple import * as style from ./mystyle.css ) et que j'active le drapeau _watch_, cela me donne la même erreur.

Je vais essayer de déboguer un peu plus, mais en effet, check: false résout le problème.

Cette page vous a été utile?
0 / 5 - 0 notes