Rollup-plugin-typescript2: Monorepo: rollup -w com rpt2 resulta em (plugin rpt2) Erro: não foi possível encontrar o arquivo de origem

Criado em 11 mar. 2020  ·  2Comentários  ·  Fonte: ezolenko/rollup-plugin-typescript2

O que acontece e porque está errado

Uma compilação única normal funciona bem. No entanto, ao usar rollup -w , rpt2 parece ter problemas para encontrar arquivos de origem se eu editar uma das dependências de módulo mais profundas em um dos outros pacotes.

Isso ocorre com um monorepo do Lerna configurando links simbólicos para as dependências in-repo.

Repo de teste: https://github.com/jrburke/jr-monorepo-rpt2

Não quero usar preserveSymlinks porque em meu projeto real, isso resulta em duplicatas de módulos no projeto final construído, já que vários pacotes no repo compartilham dependências comuns. Eu tentei uma versão usando preserveSymlinks e, como último recurso, poderia configurar uma configuração de desenvolvimento que usa preserveSymlinks , mas as compilações autônomas / iniciais funcionam sem ele e gostaria de manter a configuração do relógio da mesma forma que as compilações normais.

Meio Ambiente

Detalhes para reproduzir no repositório de exemplo acima.

Versões

  • datilografado: 3.8.3
  • acúmulo: 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 nível 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": ["."]
}

package.json

Não acho que seja relevante, mas está no repositório de teste.

saída do plugin com detalhamento 3

Em anexo, mas também em repositório de teste em verbose-error.txt :

verbose-error.txt

bug

Todos 2 comentários

Pode estar relacionado a # 188

Outra solução alternativa é desativar a verificação de tipos com check: false , é claro que isso remove a maioria das funcionalidades ...

Tenho o problema de combinar rollup-plugin-typescript2 e rollup-plugin-postcss . Quando eu importo um arquivo _css_ (por exemplo, import * as style from ./mystyle.css ) e habilito o sinalizador _watch_, ocorre o mesmo erro.

Vou tentar depurar um pouco mais, mas de fato check: false corrigirá o problema.

Esta página foi útil?
0 / 5 - 0 avaliações