angular-fire-schematics
Version:
AngularFire Schematics
50 lines • 1.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const tasks_1 = require("@angular-devkit/schematics/tasks");
const dependencies_1 = require("@schematics/angular/utility/dependencies");
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const npmjs_1 = require("../util/npmjs");
function default_1(options) {
return (tree, _context) => {
return schematics_1.chain([
addPackageJsonDependencies(),
installDependencies(),
setupProject(options)
])(tree, _context);
};
}
exports.default = default_1;
function addPackageJsonDependencies() {
return (tree, _context) => {
return rxjs_1.of('firebase', '@angular/fire').pipe(operators_1.concatMap(name => npmjs_1.getLatestNodeVersion(name)), operators_1.map((npmRegistryPackage) => {
const nodeDependency = {
type: dependencies_1.NodeDependencyType.Default,
name: npmRegistryPackage.name,
version: npmRegistryPackage.version,
overwrite: false
};
dependencies_1.addPackageJsonDependency(tree, nodeDependency);
_context.logger.info(`✅️ Added dependency: ${npmRegistryPackage.name}@${npmRegistryPackage.version}`);
return tree;
}));
};
}
function installDependencies() {
return (tree, _context) => {
_context.addTask(new tasks_1.NodePackageInstallTask());
_context.logger.info('✅️ Dependencies installed');
return tree;
};
}
function setupProject(options) {
return (tree, _context) => {
const installTaskId = _context.addTask(new tasks_1.NodePackageInstallTask());
_context.addTask(new tasks_1.RunSchematicTask('ng-add-setup-project', options), [
installTaskId
]);
return tree;
};
}
//# sourceMappingURL=index.js.map