diff --git a/file-system/file-system.ts b/file-system/file-system.ts index 2a6bf3c2f..5ad964e47 100644 --- a/file-system/file-system.ts +++ b/file-system/file-system.ts @@ -1,5 +1,4 @@ import file_access_module = require("file-system/file-system-access"); -import * as utilsModule from "utils/utils"; // The FileSystemAccess implementation, used through all the APIs. var fileAccess; @@ -228,7 +227,7 @@ export class File extends FileSystemEntity { onError(error); } }; - + getFileAccess().write(this.path, content, localError); } finally { this[fileLockedProperty] = false; @@ -263,7 +262,7 @@ export class File extends FileSystemEntity { } }; - var content = getFileAccess().readText(this.path, localError, encoding); + var content = getFileAccess().readText(this.path, localError, encoding); this[fileLockedProperty] = false; return content; @@ -289,7 +288,7 @@ export class File extends FileSystemEntity { try { this[fileLockedProperty] = true; - + var that = this; var localError = function (error) { that[fileLockedProperty] = false; @@ -484,9 +483,17 @@ export module knownFolders { export var currentApp = function (): Folder { if (!_app) { - var logicalRoot = getFileAccess().getLogicalRootPath(); + const currentDir = __dirname; + const tnsModulesIndex = currentDir.indexOf("/tns_modules"); + + // Module not hosted in ~/tns_modules when bundled. Use current dir. + let appPath = currentDir; + if (tnsModulesIndex !== -1) { + // Strip part after tns_modules to obtain app root + appPath = currentDir.substring(0, tnsModulesIndex); + } _app = new Folder(); - _app[pathProperty] = logicalRoot + "/app"; + _app[pathProperty] = appPath; _app[isKnownProperty] = true; }