From 72ecc8eeda9625bd4bab5554e5876d76ae23cc61 Mon Sep 17 00:00:00 2001 From: Sergey Akhalkov Date: Tue, 12 Dec 2017 03:02:37 -0800 Subject: [PATCH] fix issue w/ outputDir in case of using code-signing relates to https://github.com/Microsoft/code-push/issues/544 --- cli/package-lock.json | 40 +++++++++++++++++----------------- cli/package.json | 1 + cli/script/command-executor.ts | 9 +++++++- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/cli/package-lock.json b/cli/package-lock.json index c6fe8e61..7e4e106d 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -154,7 +154,7 @@ "slash": "1.0.0", "superagent": "1.8.5", "superagent-proxy": "1.0.2", - "yazl": "2.4.2" + "yazl": "2.4.3" } }, "colors": { @@ -605,9 +605,9 @@ } }, "i": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz", - "integrity": "sha1-HSuFQVjsgWkRPGy39raAHpniEdU=" + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz", + "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=" }, "iconv-lite": { "version": "0.4.19", @@ -639,9 +639,9 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "invert-kv": { "version": "1.0.0", @@ -734,7 +734,7 @@ "requires": { "hoek": "2.16.3", "isemail": "1.2.0", - "moment": "2.18.1", + "moment": "2.19.4", "topo": "1.1.0" } }, @@ -873,9 +873,9 @@ } }, "moment": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", - "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" + "version": "2.19.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.4.tgz", + "integrity": "sha512-1xFTAknSLfc47DIxHDUbnJWC+UwgWxATmymaxIPQpmMh7LBm7ZbwVEsuushqwL2GYZU0jie4xO+TK44hJPjNSQ==" }, "ms": { "version": "2.0.0", @@ -1180,12 +1180,12 @@ } }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "requires": { "deep-extend": "0.4.2", - "ini": "1.3.4", + "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" }, @@ -1288,7 +1288,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.1" + "rc": "1.2.2" } }, "repeating": { @@ -1587,7 +1587,7 @@ "requires": { "async": "0.2.10", "deep-equal": "1.0.1", - "i": "0.3.5", + "i": "0.3.6", "mkdirp": "0.5.1", "ncp": "0.4.2", "rimraf": "2.6.2" @@ -1768,9 +1768,9 @@ } }, "yazl": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.4.2.tgz", - "integrity": "sha1-FMsZCD4eJacAksFYiqvg9OTdTYg=", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.4.3.tgz", + "integrity": "sha1-7CblzIfVYBud+EMtvdPNLlFzoHE=", "requires": { "buffer-crc32": "0.2.13" } diff --git a/cli/package.json b/cli/package.json index 113f8ae7..6efaba70 100644 --- a/cli/package.json +++ b/cli/package.json @@ -32,6 +32,7 @@ "email-validator": "^1.0.3", "gradle-to-js": "^1.0.1", "jsonwebtoken": "^7.4.1", + "mkdirp": "^0.5.1", "moment": "^2.10.6", "opener": "^1.4.1", "parse-duration": "0.1.1", diff --git a/cli/script/command-executor.ts b/cli/script/command-executor.ts index 4d07c0a9..49dcb9f0 100644 --- a/cli/script/command-executor.ts +++ b/cli/script/command-executor.ts @@ -5,6 +5,7 @@ import * as chalk from "chalk"; var childProcess = require("child_process"); import debugCommand from "./commands/debug"; import * as fs from "fs"; +var mkdirp = require("mkdirp"); var g2js = require("gradle-to-js/lib/parser"); import * as moment from "moment"; var opener = require("opener"); @@ -1287,6 +1288,12 @@ export var releaseReact = (command: cli.IReleaseReactCommand): Promise => var outputFolder: string = command.outputDir || path.join(os.tmpdir(), "CodePush"); var platform: string = command.platform = command.platform.toLowerCase(); var releaseCommand: cli.IReleaseCommand = command; + + // we have to add "CodePush" root forlder to make update contents file structure + // to be compatible with React Native client SDK + outputFolder = path.join(outputFolder, "CodePush"); + mkdirp.sync(outputFolder); + // Check for app and deployment exist before releasing an update. // This validation helps to save about 1 minute or more in case user has typed wrong app or deployment name. return validateDeployment(command.appName, command.deploymentName) @@ -1348,7 +1355,7 @@ export var releaseReact = (command: cli.IReleaseReactCommand): Promise => : getReactNativeProjectAppVersion(command, projectName); if (command.outputDir) { - command.sourcemapOutput = path.join(command.outputDir, bundleName + ".map"); + command.sourcemapOutput = path.join(releaseCommand.package, bundleName + ".map"); } return appVersionPromise;