index.js 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.AngularProject = void 0;
  4. const tslib_1 = require("tslib");
  5. const debug_1 = require("debug");
  6. const lodash = tslib_1.__importStar(require("lodash"));
  7. const path = tslib_1.__importStar(require("path"));
  8. const __1 = require("../");
  9. const color_1 = require("../../color");
  10. const debug = (0, debug_1.debug)('ionic:lib:project:angular');
  11. class AngularProject extends __1.Project {
  12. constructor() {
  13. super(...arguments);
  14. this.type = 'angular';
  15. }
  16. async getInfo() {
  17. const [[ionicAngularPkg, ionicAngularPkgPath], [ionicAngularToolkitPkg, ionicAngularToolkitPkgPath], [angularCLIPkg, angularCLIPkgPath], [angularDevKitBuildAngularPkg, angularDevKitBuildAngularPkgPath], [angularDevKitSchematicsPkg, angularDevKitSchematicsPkgPath],] = await Promise.all([
  18. this.getPackageJson('@ionic/angular'),
  19. this.getPackageJson('@ionic/angular-toolkit'),
  20. this.getPackageJson('@angular/cli'),
  21. this.getPackageJson('@angular-devkit/build-angular'),
  22. this.getPackageJson('@angular-devkit/schematics'),
  23. ]);
  24. return [
  25. ...(await super.getInfo()),
  26. {
  27. group: 'ionic',
  28. name: 'Ionic Framework',
  29. key: 'framework',
  30. value: ionicAngularPkg ? `@ionic/angular ${ionicAngularPkg.version}` : 'not installed',
  31. path: ionicAngularPkgPath,
  32. },
  33. {
  34. group: 'ionic',
  35. name: '@ionic/angular-toolkit',
  36. key: 'ionic_angular_toolkit_version',
  37. value: ionicAngularToolkitPkg ? ionicAngularToolkitPkg.version : 'not installed',
  38. path: ionicAngularToolkitPkgPath,
  39. },
  40. {
  41. group: 'ionic',
  42. name: '@angular/cli',
  43. key: 'angular_cli_version',
  44. value: angularCLIPkg ? angularCLIPkg.version : 'not installed',
  45. path: angularCLIPkgPath,
  46. },
  47. {
  48. group: 'ionic',
  49. name: '@angular-devkit/build-angular',
  50. value: angularDevKitBuildAngularPkg ? angularDevKitBuildAngularPkg.version : 'not installed',
  51. path: angularDevKitBuildAngularPkgPath,
  52. },
  53. {
  54. group: 'ionic',
  55. name: '@angular-devkit/schematics',
  56. value: angularDevKitSchematicsPkg ? angularDevKitSchematicsPkg.version : 'not installed',
  57. path: angularDevKitSchematicsPkgPath,
  58. },
  59. ];
  60. }
  61. async detected() {
  62. try {
  63. const pkg = await this.requirePackageJson();
  64. const deps = lodash.assign({}, pkg.dependencies, pkg.devDependencies);
  65. if (typeof deps['@ionic/angular'] === 'string') {
  66. debug(`${(0, color_1.strong)('@ionic/angular')} detected in ${(0, color_1.strong)('package.json')}`);
  67. return true;
  68. }
  69. }
  70. catch (e) {
  71. // ignore
  72. }
  73. return false;
  74. }
  75. async requireBuildRunner() {
  76. const { AngularBuildRunner } = await Promise.resolve().then(() => tslib_1.__importStar(require('./build')));
  77. const deps = { ...this.e, project: this };
  78. return new AngularBuildRunner(deps);
  79. }
  80. async requireServeRunner() {
  81. const { AngularServeRunner } = await Promise.resolve().then(() => tslib_1.__importStar(require('./serve')));
  82. const deps = { ...this.e, project: this };
  83. return new AngularServeRunner(deps);
  84. }
  85. async requireGenerateRunner() {
  86. const { AngularGenerateRunner } = await Promise.resolve().then(() => tslib_1.__importStar(require('./generate')));
  87. const deps = { ...this.e, project: this };
  88. return new AngularGenerateRunner(deps);
  89. }
  90. setPrimaryTheme(themeColor) {
  91. const themePath = path.join(this.directory, 'src', 'theme', 'variables.scss');
  92. return this.writeThemeColor(themePath, themeColor);
  93. }
  94. }
  95. exports.AngularProject = AngularProject;