Dans un projet utilisant rollup-plugin-typescript2.
Compilation des résultats dans
La restauration de https://github.com/ezolenko/rollup-plugin-typescript2/commit/ffe3b6cd9fc03611460aac15d2b880fab7a7d093 corrige cette erreur.
Ce qui suit est l'ensemble de tous les fichiers d'un dépôt de reproduction :
$ for f in $(git ls-files); do echo -e "\n// $f"; cat $f; done
// rollup.config.js
import typescript from 'rollup-plugin-typescript2';
export default {
input: 'index.ts',
output: [{ file: 'dist/index.js', format: 'es' }],
plugins: [
typescript({ verbosity: 3 }),
],
};
// tsconfig.json
{
"compilerOptions": {
"declaration": true
}
}
// package.json
{
"name": "@cht/demo-rollup-issue",
"private": true,
"engines": {
"node": ">=8"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"devDependencies": {
"rollup": "0.62.0",
"rollup-plugin-typescript2": "0.15.1",
"ts-node": "7.0.0",
"typescript": "2.9.2"
}
}
// extra/extra.ts
console.log('read all about it');
// index.ts
module.exports = 1;
index.ts → dist/index.js...
rpt2: typescript version: 2.9.2
rpt2: tslib version: 1.9.2
rpt2: rollup-plugin-typescript2 version: 0.15.1
rpt2: plugin options:
{
"verbosity": 3,
"check": true,
"clean": false,
"cacheRoot": "/tmp/cht-demo-rollup-issue/.rpt2_cache",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"typescript": "version 2.9.2",
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"transformers": [],
"tsconfigDefaults": {}
}
rpt2: rollup config:
{
"external": [
"",
""
],
"inlineDynamicImports": false,
"input": "index.ts",
"chunkGroupingSize": 5000,
"perf": false,
"plugins": [
{
"name": "rpt2"
}
],
"entry": "index.ts"
}
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/tmp/cht-demo-rollup-issue/.rpt2_cache/placeholder",
"moduleResolution": 2,
"declarationDir": "/tmp/cht-demo-rollup-issue"
}
rpt2: parsed tsconfig: {
"options": {
"module": 5,
"declaration": true,
"configFilePath": "/tmp/cht-demo-rollup-issue/tsconfig.json",
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"inlineSourceMap": false,
"outDir": "/tmp/cht-demo-rollup-issue/.rpt2_cache/placeholder",
"moduleResolution": 2,
"declarationDir": "/tmp/cht-demo-rollup-issue"
},
"fileNames": [
"/tmp/cht-demo-rollup-issue/index.ts",
"/tmp/cht-demo-rollup-issue/dist/index.d.ts",
"/tmp/cht-demo-rollup-issue/extra/extra.ts"
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"module": "ES2015",
"declaration": true
}
},
"errors": [],
"wildcardDirectories": {
"/tmp/cht-demo-rollup-issue": 1
},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"**/*"
],
"validatedIncludeSpecs": [
"**/*"
],
"wildcardDirectories": {
"/tmp/cht-demo-rollup-issue": 1
}
}
}
rpt2: included:
'[
"*.ts+(|x)",
"**/*.ts+(|x)"
]'
rpt2: excluded:
'[
"*.d.ts",
"**/*.d.ts"
]'
rpt2: [34mAmbient types:[39m
rpt2: /tmp/cht-demo-rollup-issue/dist/index.d.ts
rpt2: /tmp/cht-demo-rollup-issue/node_modules/@types/estree/index.d.ts
rpt2: /tmp/cht-demo-rollup-issue/node_modules/@types/node/index.d.ts
rpt2: [34mtranspiling[39m '/tmp/cht-demo-rollup-issue/index.ts'
rpt2: cache: '/tmp/cht-demo-rollup-issue/.rpt2_cache/7b3a3d6d8e402a4daa2232186da14bc2c8ade022/code/cache/6c8ae48d14e85933ce1e764b61d335b2aa5420f9'
rpt2: [32m cache hit[39m
rpt2: cache: '/tmp/cht-demo-rollup-issue/.rpt2_cache/7b3a3d6d8e402a4daa2232186da14bc2c8ade022/syntacticDiagnostics/cache/6c8ae48d14e85933ce1e764b61d335b2aa5420f9'
rpt2: [32m cache hit[39m
rpt2: cache: '/tmp/cht-demo-rollup-issue/.rpt2_cache/7b3a3d6d8e402a4daa2232186da14bc2c8ade022/semanticDiagnostics/cache/6c8ae48d14e85933ce1e764b61d335b2aa5420f9'
rpt2: [32m cache hit[39m
rpt2: [34mgenerated declarations[39m for '/tmp/cht-demo-rollup-issue/index.ts'
rpt2: generating target 1
rpt2: [34mrolling caches[39m
rpt2: generating missed declarations for '/tmp/cht-demo-rollup-issue/extra/extra.ts'
[!] Error: Could not find file: '/tmp/cht-demo-rollup-issue/extra/extra.ts'.
Error: Could not find file: '/tmp/cht-demo-rollup-issue/extra/extra.ts'.
at getValidSourceFile (/tmp/cht-demo-rollup-issue/node_modules/typescript/lib/typescript.js:107554:23)
at Object.getEmitOutput (/tmp/cht-demo-rollup-issue/node_modules/typescript/lib/typescript.js:108052:30)
at /tmp/cht-demo-rollup-issue/node_modules/rollup-plugin-typescript2/src/index.ts:311:29
at arrayEach (/tmp/cht-demo-rollup-issue/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:516:11)
at forEach (/tmp/cht-demo-rollup-issue/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:9342:14)
at Object.onwrite (/tmp/cht-demo-rollup-issue/node_modules/rollup-plugin-typescript2/src/index.ts:305:5)
at /tmp/cht-demo-rollup-issue/node_modules/rollup/dist/rollup.js:22076:39
at Array.map (<anonymous>)
at /tmp/cht-demo-rollup-issue/node_modules/rollup/dist/rollup.js:22075:18
at <anonymous>
Repo à reproduire ici : https://github.com/amacleay/repro-rollup-plugin-ts2-declaration-issue (c'est quasiment à l'identique ce qui est posté ci-dessus)
On dirait que cela touche n'importe quel fichier qui n'est pas inclus par la hiérarchie d'importation. Mon code de test, mes démos et un fichier inutilisé ont atteint ceci. J'ai contourné cela pour l'instant en ajoutant quelques exclusions à la configuration de cumul pour les choses que je voulais ignorer.
On dirait que le correctif pour les modules virtuels a cassé le piratage des déclarations manquantes car ils sont invisibles à cumuler...
Devrait être corrigé maintenant, essayez-le dans le maître.
Je ferai une sortie bientôt.
Confirmé le correctif, merci!
Commentaire le plus utile
On dirait que le correctif pour les modules virtuels a cassé le piratage des déclarations manquantes car ils sont invisibles à cumuler...