Warn when building a TS project with composite: true and fallback to incremental (#35270)

* Warn when building a TS project with composite: true and fallback to incremental

* lint-fix

Co-authored-by: JJ Kasper <jj@jjsweb.site>
This commit is contained in:
Eric Matthys 2022-05-22 23:04:00 -06:00 committed by GitHub
parent fb23f7b642
commit 0d80b113a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -7,6 +7,7 @@ import { getTypeScriptConfiguration } from './getTypeScriptConfiguration'
import { getRequiredConfiguration } from './writeConfigurationDefaults'
import { CompileError } from '../compile-error'
import { warn } from '../../build/output/log'
export interface TypeCheckResult {
hasWarnings: boolean
@ -40,6 +41,8 @@ export async function runTypeCheck(
const options = {
...effectiveConfiguration.options,
...requiredConfig,
declarationMap: false,
emitDeclarationOnly: false,
noEmit: true,
}
@ -47,12 +50,18 @@ export async function runTypeCheck(
| import('typescript').Program
| import('typescript').BuilderProgram
let incremental = false
if (options.incremental && cacheDir) {
if ((options.incremental || options.composite) && cacheDir) {
if (options.composite) {
warn(
'TypeScript project references are not fully supported. Attempting to build in incremental mode.'
)
}
incremental = true
program = ts.createIncrementalProgram({
rootNames: effectiveConfiguration.fileNames,
options: {
...options,
composite: false,
incremental: true,
tsBuildInfoFile: path.join(cacheDir, '.tsbuildinfo'),
},