angular-popper
Version:
Popover component for Angular 2+ based on Popper.js library.
40 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const schematics_1 = require("@angular-devkit/schematics");
const tasks_1 = require("@angular-devkit/schematics/tasks");
const config_1 = require("../utils/devkit-utils/config");
const ast_1 = require("../utils/ast");
const package_1 = require("../utils/package");
const lib_versions_1 = require("../utils/lib-versions");
/** Add popper.js, angular-popper to package.json if not already present. */
function addPopperToPackageJson() {
return (host, context) => {
package_1.addPackageToPackageJson(host, 'dependencies', 'popper.js', lib_versions_1.popperVersion);
package_1.addPackageToPackageJson(host, 'dependencies', 'angular-popper', lib_versions_1.ngxPopperVersion);
context.addTask(new tasks_1.NodePackageInstallTask());
return host;
};
}
/** Add browser popper module to app.module */
function addModuleImports(options) {
return (host) => {
const workspace = config_1.getWorkspace(host);
const project = config_1.getProjectFromWorkspace(workspace, options.project);
ast_1.addModuleImportToRootModule(host, 'NgxPopper', 'angular-popper', project);
return host;
};
}
/**
* Scaffolds the basics of a Angular Material application, this includes:
* - Add Packages to package.json
* - Adds pre-built themes to styles.ext
* - Adds Browser Animation to app.momdule
*/
function default_1(options) {
return schematics_1.chain([
options && options.skipPackageJson ? schematics_1.noop() : addPopperToPackageJson(),
addModuleImports(options)
]);
}
exports.default = default_1;
//# sourceMappingURL=index.js.map