From aa1ff78c0e2003fc9628830e45e2bc5402744500 Mon Sep 17 00:00:00 2001 From: Maxim Kropotov Date: Fri, 6 Apr 2018 17:29:39 +0300 Subject: [PATCH] fix(schematics): don't leak file descriptor in shared.ts/mtime leak breaks IDE-TSLint integration. Fixes #403 --- packages/schematics/src/command-line/shared.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/schematics/src/command-line/shared.ts b/packages/schematics/src/command-line/shared.ts index eb947b8614..d1c3cafe33 100644 --- a/packages/schematics/src/command-line/shared.ts +++ b/packages/schematics/src/command-line/shared.ts @@ -234,7 +234,12 @@ function recursiveMtime(dirName: string) { } function mtime(f: string): number { - return fs.fstatSync(fs.openSync(f, 'r')).mtime.getTime(); + let fd = fs.openSync(f, 'r'); + try { + return fs.fstatSync(fd).mtime.getTime(); + } finally { + fs.closeSync(fd); + } } function normalizePath(file: string): string {