UNPKG

@liferay/generator-js

Version:

Yeoman generators for Liferay DXP and Portal CE JavaScript projects.

70 lines (69 loc) 2.33 kB
"use strict"; /** * SPDX-FileCopyrightText: © 2017 Liferay, Inc. <https://liferay.com> * SPDX-License-Identifier: LGPL-3.0-or-later */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const dot_prop_1 = __importDefault(require("dot-prop")); const JsonModifier_1 = __importDefault(require("../JsonModifier")); /** * A class to help modifying the .npmbundlerrc file. */ class default_1 extends JsonModifier_1.default { /** * @param {Generator} generator a Yeoman generator */ constructor(generator) { super(generator, '.npmbundlerrc'); } /** * Add an exclusion to the .npmbundlerrc file. * @param {string} name name of package * @param {boolean} value true to exclude package */ addExclusion(name, value = true) { name = this._escapeProp(name); this.modifyJson((json) => { dot_prop_1.default.set(json, `exclude.${name}`, value); }); } /** * Merge all imports contained in a JSON object into the .npmbundlerrc file. * @param {Object} imports an object containing the config.imports section */ mergeImports(imports) { this.modifyJson((json) => { Object.entries(imports).forEach(([provider, dependencies]) => { provider = this._escapeProp(provider); Object.entries(dependencies).forEach(([name, semver]) => { name = this._escapeProp(name); dot_prop_1.default.set(json, `config.imports.${provider}.${name}`, semver); }); }); }); } /** * Set a feature value. * @param {string} name name of feature * @param {any} value value of feature */ setFeature(name, value) { name = this._escapeProp(name); this.modifyJson((json) => { dot_prop_1.default.set(json, `create-jar.features.${name}`, value); }); } /** * Set preset package name. * @param {string} presetName */ setPreset(presetName) { this.modifyJson((json) => { dot_prop_1.default.set(json, 'preset', presetName); }); } } exports.default = default_1;