@ionic/cli-utils
Version:
Ionic CLI Utils
82 lines (81 loc) • 4.39 kB
JavaScript
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:angular');
class AngularProject extends __1.Project {
constructor() {
super(...arguments);
this.type = 'angular';
}
getInfo() {
const _super = name => super[name];
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const [[ionicAngularPkg, ionicAngularPkgPath], [ionicSchematicsAngularPkg, ionicSchematicsAngularPkgPath], [ionicNgToolkitPkg, ionicNgToolkitPkgPath], [angularCLIPkg, angularCLIPkgPath], [angularDevKitCorePkg, angularDevKitCorePkgPath], [angularDevKitSchematicsPkg, angularDevKitSchematicsPkgPath],] = yield Promise.all([
this.getPackageJson('@ionic/angular'),
this.getPackageJson('@ionic/schematics-angular'),
this.getPackageJson('@ionic/ng-toolkit'),
this.getPackageJson('@angular/cli'),
this.getPackageJson('@angular-devkit/core'),
this.getPackageJson('@angular-devkit/schematics'),
]);
return [
...(yield _super("getInfo").call(this)),
{ group: 'ionic', key: 'Ionic Framework', value: ionicAngularPkg ? `@ionic/angular ${ionicAngularPkg.version}` : 'not installed', path: ionicAngularPkgPath },
{ group: 'ionic', key: '@ionic/ng-toolkit', value: ionicNgToolkitPkg ? ionicNgToolkitPkg.version : 'not installed', path: ionicNgToolkitPkgPath },
{ group: 'ionic', key: '@ionic/schematics-angular', value: ionicSchematicsAngularPkg ? ionicSchematicsAngularPkg.version : 'not installed', path: ionicSchematicsAngularPkgPath },
{ group: 'ionic', key: '@angular/cli', value: angularCLIPkg ? angularCLIPkg.version : 'not installed', path: angularCLIPkgPath },
{ group: 'ionic', key: '@angular-devkit/core', value: angularDevKitCorePkg ? angularDevKitCorePkg.version : 'not installed', path: angularDevKitCorePkgPath },
{ group: 'ionic', key: '@angular-devkit/schematics', value: angularDevKitSchematicsPkg ? angularDevKitSchematicsPkg.version : 'not installed', path: angularDevKitSchematicsPkgPath },
];
});
}
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 { AngularBuildRunner } = yield Promise.resolve().then(() => require('./build'));
const deps = Object.assign({}, this.e, { project: this });
return new AngularBuildRunner(deps);
});
}
requireServeRunner() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const { AngularServeRunner } = yield Promise.resolve().then(() => require('./serve'));
const deps = Object.assign({}, this.e, { project: this });
return new AngularServeRunner(deps);
});
}
requireGenerateRunner() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const { AngularGenerateRunner } = yield Promise.resolve().then(() => require('./generate'));
const deps = Object.assign({}, this.e, { project: this });
return new AngularGenerateRunner(deps);
});
}
registerAilments(registry) {
const _super = name => super[name];
return tslib_1.__awaiter(this, void 0, void 0, function* () {
yield _super("registerAilments").call(this, registry);
// TODO: register angular project ailments
});
}
}
exports.AngularProject = AngularProject;
;