diff --git a/packages/vue-tsc/bin/vue-tsc.js b/packages/vue-tsc/bin/vue-tsc.js index 37929b10d9..f0c7776ff9 100755 --- a/packages/vue-tsc/bin/vue-tsc.js +++ b/packages/vue-tsc/bin/vue-tsc.js @@ -21,10 +21,21 @@ fs.readFileSync = (...args) => { // patches logic for checking root file extension in build program for incremental builds if (semver.gt(tsPkg.version, '5.0.0')) { - tryReplace(`for (const existingRoot of buildInfoVersionMap.roots) {`, `for (const existingRoot of buildInfoVersionMap.roots - .filter(file => !file.toLowerCase().includes('__vls_')) - .map(file => file.replace(/\.vue\.(j|t)sx?$/i, '.vue')) - ) {`); + tryReplace( + `for (const existingRoot of buildInfoVersionMap.roots) {`, + `for (const existingRoot of buildInfoVersionMap.roots + .filter(file => !file.toLowerCase().includes('__vls_')) + .map(file => file.replace(/\.vue\.(j|t)sx?$/i, '.vue')) + ) {` + ); + } + if (semver.gte(tsPkg.version, '5.0.4')) { + tryReplace( + `return createBuilderProgramUsingProgramBuildInfo(buildInfo, buildInfoPath, host);`, + s => `buildInfo.program.fileNames = buildInfo.program.fileNames + .filter(file => !file.toLowerCase().includes('__vls_')) + .map(file => file.replace(/\.vue\.(j|t)sx?$/i, '.vue'));\n` + s + ); } return tsc;