@nodearch/cli
Version:
nodearch cli
68 lines (67 loc) • 3.22 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { CommandDecorator, CommandService } from '@nodearch/command';
import { AppContext, Hook, Logger } from '@nodearch/core';
import { LocalAppService } from './local-app.service.js';
let CliHook = class CliHook {
constructor(commandService, localAppService, logger, appContext) {
this.commandService = commandService;
this.localAppService = localAppService;
this.logger = logger;
this.appContext = appContext;
}
async onStart() {
const cliVersion = process.env.NODEARCH_CLI_VERSION;
const currentCliVersion = this.appContext.getSettings().version;
if (cliVersion && cliVersion !== currentCliVersion) {
this.logger.info(`Starting NodeArch CLI using local version v${currentCliVersion} - global version is ${cliVersion}`);
}
else {
this.logger.info(`Starting NodeArch CLI v${this.appContext.getSettings().version}`);
}
this.logger.info(`Log Level: ${this.logger.getLogLevel()}`);
this.logger.info(`Check https://nodearch.io for documentation and guides`);
await this.localAppService.init();
let localAppCommands = [];
const excludedCommands = [];
if (this.localAppService.isAppDir) {
const localApp = this.localAppService.app;
const localAppInfo = this.localAppService.info;
if (localAppInfo) {
this.logger.info(`Local app loaded: ${localAppInfo.name} v${localAppInfo.version} - ${localAppInfo.loadMode.toUpperCase()} Mode`);
}
else {
this.logger.warn(`Local app might be in an invalid state.`);
}
if (localApp && !this.localAppService.hasLoadError) {
localAppCommands = localApp.getContainer().getById(CommandDecorator.COMMAND);
}
else {
excludedCommands.push('start');
}
excludedCommands.push('new');
}
else {
excludedCommands.push('start');
excludedCommands.push('build');
excludedCommands.push('ncu');
excludedCommands.push('create');
}
await this.commandService.start({ commands: localAppCommands, exclude: excludedCommands });
}
};
CliHook = __decorate([
Hook(),
__metadata("design:paramtypes", [CommandService,
LocalAppService,
Logger,
AppContext])
], CliHook);
export { CliHook };