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.
Détails à reproduire dans l'exemple de dépôt ci-dessus.
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 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": ["."]
}
Je ne pense pas que ce soit pertinent, mais c'est dans le référentiel de test.
En pièce jointe, mais aussi en dépôt de test à verbose-error.txt
:
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.