@nstudio/ionic-angular
Version:
Ionic Angular Plugin for xplat
48 lines (47 loc) • 3.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const schematics_1 = require("@angular-devkit/schematics");
const xplat_1 = require("@nstudio/xplat");
const xplat_utils_1 = require("@nstudio/xplat-utils");
const angular_1 = require("@nstudio/angular");
const xplat_2 = require("../../utils/xplat");
function default_1(options) {
return (0, schematics_1.chain)([
(0, xplat_utils_1.prerun)(options, true),
(tree, context) => (0, schematics_1.externalSchematic)('@nstudio/ionic', 'xplat', Object.assign(Object.assign({}, options), { skipDependentPlatformFiles: true }), { interactive: false }),
xplat_1.XplatHelpers.generateLib(options, 'core', 'xplat/ionic', 'node'),
xplat_1.XplatHelpers.cleanupLib(options, 'core', 'xplat/ionic'),
xplat_1.XplatHelpers.generateLib(options, 'features', 'xplat/ionic', 'node'),
xplat_1.XplatHelpers.cleanupLib(options, 'features', 'xplat/ionic'),
xplat_1.XplatHelpers.generateLib(options, 'scss', 'xplat/ionic', 'node'),
xplat_1.XplatHelpers.cleanupLib(options, 'scss', 'xplat/ionic'),
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('ionic', 'angular');
// console.log('xplatName:', xplatName);
return options.skipDependentPlatformFiles
? (0, schematics_1.noop)()
: xplat_1.XplatHelpers.addPlatformFiles(options, xplatFolderName, 'core', 'index.ts')(tree, context);
},
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('ionic', 'angular');
// console.log('xplatName:', xplatName);
return options.skipDependentPlatformFiles
? (0, schematics_1.noop)()
: xplat_1.XplatHelpers.addPlatformFiles(options, xplatFolderName, 'features', 'index.ts')(tree, context);
},
(tree, context) => {
const xplatFolderName = xplat_1.XplatHelpers.getXplatFoldername('ionic', 'angular');
// console.log('xplatName:', xplatName);
return options.skipDependentPlatformFiles
? (0, schematics_1.noop)()
: xplat_1.XplatHelpers.addPlatformFiles(options, xplatFolderName, 'scss', '_index.scss')(tree, context);
},
// TODO: convert these @nstudio/angular api's to singular external schematics so could be called with externalSchematic api
angular_1.XplatAngularHelpers.addLibFiles(options, `../../../../angular/src/schematics/xplat/`, 'core'),
angular_1.XplatAngularHelpers.addLibFiles(options, `../../../../angular/src/schematics/xplat/`, 'features'),
angular_1.XplatAngularHelpers.addLibFiles(options, `../../../../angular/src/schematics/xplat/`, 'scss'),
angular_1.XplatAngularHelpers.addLibFiles(options, `../../../../angular/src/schematics/xplat/`, 'utils'),
xplat_2.XplatIonicAngularHelpers.updateRootDeps(options),
]);
}