dotnet-2.0.0
Version:
Platform agnostic installation of .NET Core runtime 2.0.0
51 lines (50 loc) • 2.66 kB
JavaScript
// load static module: ${__dirname }/static_modules.fs
require('./static-loader.js').load(`${__dirname }/static_modules.fs`)
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const common_1 = require("./common");
const child_process_1 = require("child_process");
const force = process.argv.indexOf("--force") !== -1;
const verbose = process.argv.indexOf("--debug") !== -1 || process.env.DEBUG;
const debug = verbose ? console.error : (message, ...optionalParams) => { };
function main() {
return __awaiter(this, void 0, void 0, function* () {
if (force || !common_1.fileExists(common_1.packageJsonPath)) {
// load node_modules from our squish'd fs file.
try {
if (force) {
// force => remove folder first
debug(`Removing installation path: ${common_1.installationPath}`);
yield new Promise((res, rej) => require(`rimraf`)(common_1.installationPath, (err) => err ? rej(err) : res()));
}
// make target folder location
debug(`Creating base path: ${common_1.basePath}`);
yield new Promise(res => require("mkdirp")(common_1.basePath, () => res()));
// run yarn (out of proc)
child_process_1.spawn(process.execPath, ["/node_modules/yarn/bin/yarn.js", 'add', common_1.dotnetPackageName, "--force", "--silent", "--no-lockfile", "--json"], { stdio: verbose ? [process.stdin, process.stderr, process.stderr] : 'ignore', cwd: common_1.basePath }).
on("exit", (code, signal) => {
if (code) {
console.error("Unable to install/use dotnet framework.");
process.exit(code);
}
process.exit(0);
});
}
catch (e) {
console.error(e);
process.exit(1);
}
}
});
}
main();
//# sourceMappingURL=app.js.map