@liferay/generator-js
Version:
Yeoman generators for Liferay DXP and Portal CE JavaScript projects.
70 lines (69 loc) • 2.33 kB
JavaScript
;
/**
* 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;