UNPKG

@ionic/cli-utils

Version:
81 lines (80 loc) 3.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const chalk_1 = require("chalk"); const Debug = require("debug"); const lodash = require("lodash"); const __1 = require("../"); const debug = Debug('ionic:cli-utils:lib:project:ionic-angular'); class IonicAngularProject extends __1.Project { constructor() { super(...arguments); this.type = 'ionic-angular'; } getInfo() { const _super = name => super[name]; return tslib_1.__awaiter(this, void 0, void 0, function* () { const [[ionicAngularPkg], [appScriptsPkg],] = yield Promise.all([ this.getPackageJson('ionic-angular'), this.getPackageJson('@ionic/app-scripts'), ]); return [ ...(yield _super("getInfo").call(this)), { group: 'ionic', key: 'Ionic Framework', value: ionicAngularPkg ? `ionic-angular ${ionicAngularPkg.version}` : 'not installed' }, { group: 'ionic', key: '@ionic/app-scripts', value: appScriptsPkg ? appScriptsPkg.version : 'not installed' }, ]; }); } registerAilments(registry) { const _super = name => super[name]; return tslib_1.__awaiter(this, void 0, void 0, function* () { yield _super("registerAilments").call(this, registry); const ailments = yield Promise.resolve().then(() => require('./ailments')); const deps = Object.assign({}, this.e, { project: this }); registry.register(new ailments.IonicAngularUpdateAvailable(deps)); registry.register(new ailments.IonicAngularMajorUpdateAvailable(deps)); registry.register(new ailments.AppScriptsUpdateAvailable(deps)); registry.register(new ailments.AppScriptsMajorUpdateAvailable(deps)); registry.register(new ailments.IonicAngularPackageJsonHasDefaultIonicBuildCommand(deps)); registry.register(new ailments.IonicAngularPackageJsonHasDefaultIonicServeCommand(deps)); }); } detected() { return tslib_1.__awaiter(this, void 0, void 0, function* () { try { const pkg = yield this.requirePackageJson(); const deps = lodash.assign({}, pkg.dependencies, pkg.devDependencies); if (typeof deps['ionic-angular'] === 'string') { debug(`${chalk_1.default.bold('ionic-angular')} detected in ${chalk_1.default.bold('package.json')}`); return true; } } catch (e) { // ignore } return false; }); } requireBuildRunner() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const { IonicAngularBuildRunner } = yield Promise.resolve().then(() => require('./build')); const deps = Object.assign({}, this.e, { project: this }); return new IonicAngularBuildRunner(deps); }); } requireServeRunner() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const { IonicAngularServeRunner } = yield Promise.resolve().then(() => require('./serve')); const deps = Object.assign({}, this.e, { project: this }); return new IonicAngularServeRunner(deps); }); } requireGenerateRunner() { return tslib_1.__awaiter(this, void 0, void 0, function* () { const { IonicAngularGenerateRunner } = yield Promise.resolve().then(() => require('./generate')); const deps = Object.assign({}, this.e, { project: this }); return new IonicAngularGenerateRunner(deps); }); } } exports.IonicAngularProject = IonicAngularProject;