@liferay/generator-js
Version:
Yeoman generators for Liferay DXP and Portal CE JavaScript projects.
60 lines (59 loc) • 2.15 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 path_1 = __importDefault(require("path"));
const yeoman_generator_1 = __importDefault(require("yeoman-generator"));
const utils_1 = require("../utils");
const npmbuildrc_1 = __importDefault(require("../utils/modifier/npmbuildrc"));
const npmbundlerrc_1 = __importDefault(require("../utils/modifier/npmbundlerrc"));
const package_json_1 = __importDefault(require("../utils/modifier/package.json"));
const constants_1 = require("./constants");
/**
* Generator to add localization support to projects.
*/
class default_1 extends yeoman_generator_1.default {
/**
* Standard Yeoman initialization function
*/
initializing() {
this.sourceRoot(path_1.default.join(__dirname, 'templates'));
}
/**
* Standard Yeoman prompt function
*/
async prompting() {
this.answers = await utils_1.promptWithConfig(this, 'facet-location', [
{
default: true,
message: 'Do you want to add localization support?',
name: 'useLocalization',
type: 'confirm',
},
]);
}
/**
* Standard Yeoman generation function
*/
writing() {
if (!this.answers.useLocalization) {
return;
}
const cp = new utils_1.Copier(this);
const npmbuildrc = new npmbuildrc_1.default(this);
const npmbundlerrc = new npmbundlerrc_1.default(this);
const pkgJson = new package_json_1.default(this);
npmbuildrc.setTranslatorTextKey('');
npmbuildrc.setSupportedLocales([]);
npmbundlerrc.setFeature('localization', constants_1.DEFAULT_LOCALIZATION);
cp.copyDir('features');
pkgJson.addScript('translate', 'lnbs-translate');
}
}
exports.default = default_1;
module.exports = exports['default'];