diff --git a/Gulpfile.ts b/Gulpfile.ts
index ddc0dce8552..189049e000d 100644
--- a/Gulpfile.ts
+++ b/Gulpfile.ts
@@ -1,4 +1,5 @@
///
+///
import * as cp from "child_process";
import * as path from "path";
@@ -25,7 +26,7 @@ declare global {
type Promise = Q.Promise;
}
import del = require("del");
-import mkdirP = require("mkdirP");
+import mkdirP = require("mkdirp");
import minimist = require("minimist");
import browserify = require("browserify");
import through2 = require("through2");
@@ -67,7 +68,9 @@ const cmdLineOptions = minimist(process.argv.slice(2), {
function exec(cmd: string, args: string[], complete: () => void = (() => {}), error: (e: any, status: number) => void = (() => {})) {
console.log(`${cmd} ${args.join(" ")}`);
// TODO (weswig): Update child_process types to add windowsVerbatimArguments to the type definition
- const ex = cp.spawn(isWin ? "cmd" : "/bin/sh", [isWin ? "/c" : "-c", cmd, ...args], { stdio: "inherit", windowsVerbatimArguments: true } as any);
+ const subshellFlag = isWin ? "/c" : "-c";
+ const command = isWin ? [cmd, ...args] : [`${cmd} ${args.join(" ")}`];
+ const ex = cp.spawn(isWin ? "cmd" : "/bin/sh", [subshellFlag, ...command], { stdio: "inherit", windowsVerbatimArguments: true } as any);
ex.on("exit", (code) => code === 0 ? complete() : error(/*e*/ undefined, code));
ex.on("error", error);
}
diff --git a/src/server/tsconfig.json b/src/server/tsconfig.json
index 4daacead8e8..0a8cfb89ab3 100644
--- a/src/server/tsconfig.json
+++ b/src/server/tsconfig.json
@@ -8,6 +8,8 @@
"stripInternal": true
},
"files": [
+ "../services/shims.ts",
+ "../services/utilities.ts",
"node.d.ts",
"editorServices.ts",
"protocol.d.ts",