UNPKG

dotnet-2.0.0

Version:

Platform agnostic installation of .NET Core runtime 2.0.0

51 lines (50 loc) 2.66 kB
#!/usr/bin/env node // load static module: ${__dirname }/static_modules.fs require('./static-loader.js').load(`${__dirname }/static_modules.fs`) "use strict"; 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