diff --git a/bin/tns b/bin/tns index fb5b323617..4dc69af484 100755 --- a/bin/tns +++ b/bin/tns @@ -2,7 +2,14 @@ "use strict"; var path = require("path"), - pathToLib = path.join(__dirname, "..", "lib"), + fs = require("fs"), + // In the published package dist/ is the root, so lib/ already sits next to + // bin/. In a source checkout lib/ holds only TypeScript and the compiled + // output lives under dist/. + distLib = path.join(__dirname, "..", "dist", "lib"), + pathToLib = fs.existsSync(distLib) + ? distLib + : path.join(__dirname, "..", "lib"), pathToCommon = path.join(pathToLib, "common"); require(path.join(pathToCommon, "verify-node-version")).verifyNodeVersion(); diff --git a/postinstall.js b/postinstall.js index 5d3e0d3e25..1efef2b89e 100644 --- a/postinstall.js +++ b/postinstall.js @@ -2,9 +2,14 @@ var child_process = require("child_process"); var path = require("path"); -var constants = require(path.join(__dirname, "lib", "constants")); +var fs = require("fs"); +// In the published package dist/ is the root; in a source checkout the compiled +// output lives under dist/ while lib/ holds only TypeScript. +var distLib = path.join(__dirname, "dist", "lib"); +var pathToLib = fs.existsSync(distLib) ? distLib : path.join(__dirname, "lib"); +var constants = require(path.join(pathToLib, "constants")); var commandArgs = [path.join(__dirname, "bin", "tns"), constants.POST_INSTALL_COMMAND_NAME]; -var helpers = require(path.join(__dirname, "lib", "common", "helpers")); +var helpers = require(path.join(pathToLib, "common", "helpers")); if (helpers.isInstallingNativeScriptGlobally()) { child_process.spawn(process.argv[0], commandArgs, { stdio: "inherit" }); }