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