Skip to content

Commit e882ef8

Browse files
author
jeremy
committed
fix: compiler list files options (pre-compile and emitted)
1 parent c7131f5 commit e882ef8

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/index.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,10 @@ test('Build without errors with config from scratch', async () => {
4747
target: 'es2019',
4848
lib: ['es2019'],
4949
rootDir: 'src',
50+
listEmittedFiles: true,
51+
listFiles: true,
5052
outDir: 'dist',
51-
declaration: false,
53+
declaration: true,
5254
skipLibCheck: true,
5355
},
5456
})

src/index.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,20 +69,27 @@ export function createProgramFromConfig({
6969
* @public
7070
*/
7171
export function emit(program: ts.Program, { betterDiagnostics, clean, basePath }: EmitOptions = {}) {
72+
const options = program.getCompilerOptions()
7273
if (clean) {
73-
const compilerOptions = program.getCompilerOptions()
74-
cleanTargets(clean, compilerOptions, basePath)
74+
cleanTargets(clean, options, basePath)
75+
}
76+
77+
if (options.listFiles) {
78+
console.log('Files to compile:\n' + program.getRootFileNames().join('\n'))
7579
}
7680

7781
console.log('Compilation started')
78-
const { diagnostics, emitSkipped } = program.emit()
82+
const { diagnostics, emitSkipped, emittedFiles } = program.emit()
83+
84+
if (options.listEmittedFiles && emittedFiles) {
85+
console.log('Emitted files:\n' + emittedFiles.join('\n'))
86+
}
7987

8088
// https://github.com/dsherret/ts-morph/issues/384
8189
const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(diagnostics)
82-
8390
logDiagnostics(allDiagnostics, betterDiagnostics)
8491

85-
if (emitSkipped) throw Error('Compilation failed')
92+
if (!options.noEmit && emitSkipped) throw Error('Compilation failed')
8693

8794
console.log('Compilation successful')
8895
}

0 commit comments

Comments
 (0)