@nstudio/ionic-angular
Version:
Ionic Angular Plugin for xplat
77 lines (76 loc) • 5.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.XplatIonicAngularHelpers = void 0;
const xplat_1 = require("@nstudio/xplat");
const xplat_utils_1 = require("@nstudio/xplat-utils");
const versions_1 = require("./versions");
var XplatIonicAngularHelpers;
(function (XplatIonicAngularHelpers) {
function updateRootDeps(options) {
return (tree, context) => {
const dependencies = {};
const devDependencies = {};
const xplatFoldername = xplat_1.XplatHelpers.getXplatFoldername('web', 'angular');
if (options.useXplat) {
dependencies[`@${(0, xplat_utils_1.getNpmScope)()}/xplat-web-scss`] = `file:libs/xplat/${xplatFoldername}/scss/src`;
const ionicXplatFoldername = xplat_1.XplatHelpers.getXplatFoldername('ionic', 'angular');
dependencies[`@${(0, xplat_utils_1.getNpmScope)()}/xplat-ionic-scss`] = `file:libs/xplat/${ionicXplatFoldername}/scss/src`;
}
const packageJson = (0, xplat_utils_1.getJsonFromFile)(tree, 'package.json');
const hasAngularDeps = packageJson.dependencies['@angular/core'];
if (!hasAngularDeps) {
dependencies[`@angular/animations`] = versions_1.angularVersion;
dependencies[`@angular/common`] = versions_1.angularVersion;
dependencies[`@angular/compiler`] = versions_1.angularVersion;
dependencies[`@angular/core`] = versions_1.angularVersion;
dependencies[`@angular/forms`] = versions_1.angularVersion;
dependencies[`@angular/platform-browser`] = versions_1.angularVersion;
dependencies[`@angular/platform-browser-dynamic`] = versions_1.angularVersion;
dependencies[`@angular/router`] = versions_1.angularVersion;
dependencies[`rxjs`] = versions_1.rxjsVersion;
dependencies[`zone.js`] = versions_1.zonejsVersion;
devDependencies[`@angular/cli`] = versions_1.angularVersion;
devDependencies[`@angular/compiler-cli`] = versions_1.angularVersion;
devDependencies[`@angular/language-service`] = versions_1.angularVersion;
}
const hasIonicAngularDeps = packageJson.dependencies['@ionic/angular'];
if (!hasIonicAngularDeps) {
dependencies[`@ionic/angular`] = versions_1.ionicAngularVersion;
}
const hasCapacitorDeps = packageJson.dependencies['@capacitor/core'];
if (!hasCapacitorDeps) {
dependencies[`@capacitor/core`] = versions_1.capacitorVersion;
}
let hasCapacitorAppDeps = packageJson.dependencies['@capacitor/app'];
if (!hasCapacitorAppDeps) {
dependencies[`@capacitor/app`] = versions_1.capacitorPluginsVersion;
}
hasCapacitorAppDeps = packageJson.dependencies['@capacitor/haptics'];
if (!hasCapacitorAppDeps) {
dependencies[`@capacitor/haptics`] = versions_1.capacitorPluginsVersion;
}
hasCapacitorAppDeps = packageJson.dependencies['@capacitor/keyboard'];
if (!hasCapacitorAppDeps) {
dependencies[`@capacitor/keyboard`] = versions_1.capacitorPluginsVersion;
}
hasCapacitorAppDeps = packageJson.dependencies['@capacitor/status-bar'];
if (!hasCapacitorAppDeps) {
dependencies[`@capacitor/status-bar`] = versions_1.capacitorPluginsVersion;
}
const hasCapacitorCli = packageJson.dependencies['@capacitor/cli'] ||
packageJson.devDependencies['@capacitor/cli'];
if (!hasCapacitorCli) {
devDependencies[`@capacitor/cli`] = versions_1.capacitorVersion;
}
if (options.useXplat) {
dependencies['@ngx-translate/core'] = versions_1.ngxTranslateVersion;
dependencies['@ngx-translate/http-loader'] = versions_1.ngxTranslateHttpVersion;
}
return xplat_1.XplatHelpers.updatePackageForXplat(options, {
dependencies: Object.assign({}, dependencies),
devDependencies: Object.assign(Object.assign({}, devDependencies), { '@angular-devkit/architect': versions_1.ngDevKitArchitect, '@angular-devkit/build-angular': versions_1.ngDevKitBuild, '@angular-devkit/core': versions_1.ngDevKitCore, '@angular-devkit/schematics': versions_1.ngDevKitSchematics, '@ionic/angular-toolkit': versions_1.ionicAngularToolkitVersion, '@types/jasmine': '~3.6.2', '@types/jasminewd2': '~2.0.3', 'jasmine-core': versions_1.jasmineCoreVersion, 'jasmine-spec-reporter': versions_1.jasmineSpecVersion, karma: versions_1.karmaVersion, 'karma-chrome-launcher': versions_1.karmaChromeVersion, 'karma-coverage-istanbul-reporter': versions_1.karmaCoverageVersion, 'karma-jasmine': versions_1.karmaJasmineVersion, 'karma-jasmine-html-reporter': versions_1.karmaJasmineHtmlVersion }),
})(tree, context);
};
}
XplatIonicAngularHelpers.updateRootDeps = updateRootDeps;
})(XplatIonicAngularHelpers || (exports.XplatIonicAngularHelpers = XplatIonicAngularHelpers = {}));