From 0254ad2362c9a010c45b7292bbf2add72aeafabd Mon Sep 17 00:00:00 2001 From: Fatme Havaluova Date: Tue, 8 Dec 2015 13:26:26 +0200 Subject: [PATCH] Prepare empty directories Fixes https://github.com/NativeScript/nativescript-cli/issues/1285 --- lib/common | 2 +- lib/services/platform-service.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/common b/lib/common index b790cefd0f..86ad463d42 160000 --- a/lib/common +++ b/lib/common @@ -1 +1 @@ -Subproject commit b790cefd0ff15a156961cd25c60f5c4a0d88499c +Subproject commit 86ad463d425837732544c6682ff8761c3980f00f diff --git a/lib/services/platform-service.ts b/lib/services/platform-service.ts index 91dd4853a0..dfaedb6056 100644 --- a/lib/services/platform-service.ts +++ b/lib/services/platform-service.ts @@ -229,7 +229,7 @@ export class PlatformService implements IPlatformService { .value(); // Copy all files from app dir, but make sure to exclude tns_modules - let sourceFiles = this.$fs.enumerateFilesInDirectorySync(appSourceDirectoryPath); + let sourceFiles = this.$fs.enumerateFilesInDirectorySync(appSourceDirectoryPath, null, { includeEmptyDirectories: true }); if (this.$options.release) { sourceFiles = sourceFiles.filter(source => source !== 'tests'); @@ -247,8 +247,11 @@ export class PlatformService implements IPlatformService { // Remove .ts and .js.map files PlatformService.EXCLUDE_FILES_PATTERN.forEach(pattern => sourceFiles = sourceFiles.filter(file => !minimatch(file, pattern, {nocase: true}))); let copyFileFutures = sourceFiles.map(source => { - let destinationFile = path.join(appDestinationDirectoryPath, path.relative(appSourceDirectoryPath, source)); - return this.$fs.copyFile(source, destinationFile); + let destinationPath = path.join(appDestinationDirectoryPath, path.relative(appSourceDirectoryPath, source)); + if (this.$fs.getFsStats(source).wait().isDirectory()) { + return this.$fs.createDirectory(destinationPath); + } + return this.$fs.copyFile(source, destinationPath); }); Future.wait(copyFileFutures);