UNPKG

ngx-agora

Version:

Angular wrapper for Agora RTC client (https://www.agora.io/en/)

50 lines 1.96 kB
"use strict"; 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"); // You don't have to export the function as default. You can also have more than one rule factory // per file. function default_1(options) { return (tree, context) => { return schematics_1.chain([ addPackageJsonDependencies(options), installDependencies(), setupProject(options), ])(tree, context); }; } exports.default = default_1; function addPackageJsonDependencies(options) { return (tree, _) => { return rxjs_1.of({ name: 'agora-rtc-sdk', version: options.version }, { name: 'ngx-agora', version: undefined }).pipe(operators_1.mergeMap((pkg) => npmjs_1.getNPMPackage(pkg)), operators_1.map((npmRegistryPackage) => { const nodeDependency = { type: dependencies_1.NodeDependencyType.Default, name: npmRegistryPackage.name, version: npmRegistryPackage.version, overwrite: false, }; dependencies_1.addPackageJsonDependency(tree, nodeDependency); return tree; })); }; } function installDependencies() { return (tree, context) => { context.addTask(new tasks_1.NodePackageInstallTask()); 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