UNPKG

@liferay/generator-js

Version:

Yeoman generators for Liferay DXP and Portal CE JavaScript projects.

70 lines (69 loc) 2.67 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 path_1 = __importDefault(require("path")); const yeoman_generator_1 = __importDefault(require("yeoman-generator")); const utils_1 = require("../utils"); const ProjectAnalyzer_1 = __importDefault(require("../utils/ProjectAnalyzer")); const Language_properties_1 = __importDefault(require("../utils/modifier/features/localization/Language.properties")); const npmbundlerrc_1 = __importDefault(require("../utils/modifier/npmbundlerrc")); const constants_1 = require("./constants"); /** * Generator to add configuration 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-configuration', [ { default: true, message: 'Do you want to add configuration support?\n' + '\n' + ' 💡 Needs Liferay DXP/Portal CE 7.1 with JS Portlet Extender 1.1.0 or\n' + ' Liferay DXP/Portal CE 7.2+.\n' + '\n', name: 'useConfiguration', type: 'confirm', }, ]); } /** * Standard Yeoman generation function */ writing() { if (!this.answers.useConfiguration) { return; } const cp = new utils_1.Copier(this); const npmbundlerrc = new npmbundlerrc_1.default(this); const projectAnalyzer = new ProjectAnalyzer_1.default(this); npmbundlerrc.setFeature('configuration', constants_1.DEFAULT_CONFIGURATION); const context = { description: projectAnalyzer.hasLocalization ? projectAnalyzer.name : projectAnalyzer.displayName, name: projectAnalyzer.name, }; cp.copyDir('features', { context }); // Add configuration name localization key if (projectAnalyzer.hasLocalization) { new Language_properties_1.default(this).addProperty(context.name, projectAnalyzer.displayName); } } } exports.default = default_1; module.exports = exports['default'];