Rollup-plugin-typescript2: モノレポ:rpt2でロールアップ-wを実行すると(プラグインrpt2)エラー:ソースファイルが見つかりませんでした

作成日 2020年03月11日  ·  2コメント  ·  ソース: ezolenko/rollup-plugin-typescript2

何が起こり、なぜそれが間違っているのか

通常のワンタイムビルドは正常に機能します。 ただし、 rollup -wを使用している場合、他のパッケージの1つでより深いモジュール依存関係の1つを編集すると、rpt2でソースファイルを見つけるのに問題があるようです。

これは、Lernamonorepoがリポジトリ内の依存関係へのシンボリックリンクを設定する場合です。

テストリポジトリ: https

実際のプロジェクトでは、リポジトリ内の複数のパッケージが共通の依存関係を共有しているため、最終的にビルドされたプロジェクトでモジュールが重複するため、 preserveSymlinksを使用したくありません。 preserveSymlinksを使用したバージョンを試したので、最後の手段としてpreserveSymlinksを使用する開発セットアップを構成できましたが、スタンドアロン/初回ビルドはそれがなくても機能します。時計のセットアップは通常のビルドと同じです。

環境

上記のレポの例で再現する詳細。

バージョン

  • タイプスクリプト:3.8.3
  • ロールアップ: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:

{
  "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

関連性はないと思いますが、テストリポジトリにあります。

詳細3のプラグイン出力

添付されていますが、 verbose-error.txtテストリポジトリにもあります:

verbose-error.txt

bug

全てのコメント2件

#188に関連している可能性があります

別の回避策は、 check: falseでタイプチェックを無効にすることです。もちろん、これにより機能の大部分が削除されます...

rollup-plugin-typescript2rollup-plugin-postcss組み合わせに問題があります。 _css_ファイル(例: import * as style from ./mystyle.css )をインポートし、_watch_フラグを有効にすると、同じエラーが発生します。

もう少しデバッグを試みますが、実際にcheck: false問題が修正されます。

このページは役に立ちましたか?
0 / 5 - 0 評価