UNPKG

nativescript

Version:

Command-line interface for building NativeScript projects

61 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InitializeService = void 0; const os_1 = require("os"); const _ = require("lodash"); const constants_1 = require("../constants"); const yok_1 = require("../common/yok"); class InitializeService { // NOTE: Do not inject anything here, use $injector.resolve in the code // Injecting something may lead to logger initialization, but we want to initialize it from here. constructor($injector) { this.$injector = $injector; } async initialize(initOpts) { initOpts = initOpts || {}; const $logger = this.$injector.resolve("logger"); const $options = this.$injector.resolve("options"); if (initOpts.loggerOptions) { $logger.initialize(initOpts.loggerOptions); } else { const loggerLevel = $options.log && constants_1.LoggerLevel[$options.log.toUpperCase()]; $logger.initializeCliLogger({ level: loggerLevel }); } if (initOpts.settingsServiceOptions) { const $settingsService = this.$injector.resolve("settingsService"); $settingsService.setSettings(initOpts.settingsServiceOptions); } if (initOpts.extensibilityOptions) { if (initOpts.extensibilityOptions.pathToExtensions) { const $extensibilityService = this.$injector.resolve("extensibilityService"); $extensibilityService.pathToExtensions = initOpts.extensibilityOptions.pathToExtensions; } } if ($options.json) { // speed up --json commands by not gathering system warnings... $logger.trace("Skipping system warnings for --json commands"); } else { await this.showWarnings($logger); } } async showWarnings($logger) { const $sysInfo = yok_1.injector.resolve("sysInfo"); const systemWarnings = await $sysInfo.getSystemWarnings(); _.each(systemWarnings, (systemWarning) => { const message = `${os_1.EOL}${systemWarning.message}${os_1.EOL}`; if (systemWarning.severity === "high" /* SystemWarningsSeverity.high */) { $logger.error(message); } else { $logger.warn(message); } }); } } exports.InitializeService = InitializeService; yok_1.injector.register("initializeService", InitializeService); //# sourceMappingURL=initialize-service.js.map