@liferay/generator-js
Version:
Yeoman generators for Liferay DXP and Portal CE JavaScript projects.
57 lines (56 loc) • 1.97 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");
/**
* Generator to add base scaffolding 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-project', [
{
default: utils_1.toHumanReadable(path_1.default.basename(process.cwd())),
message: 'What is the human readable description of your project?',
name: 'description',
type: 'input',
},
]);
}
/**
* Standard Yeoman generation function
*/
writing() {
const cp = new utils_1.Copier(this);
const context = {
liferayNpmBuildSupportVersion: utils_1.getSDKVersion('liferay-npm-bundler'),
liferayNpmBundlerVersion: utils_1.getSDKVersion('liferay-npm-build-support'),
name: path_1.default.basename(process.cwd()),
};
cp.copyFile('README.md', { context });
cp.copyFile('package.json', { context });
cp.copyFile('.gitignore');
cp.copyFile('.npmbuildrc');
cp.copyFile('.npmbundlerrc', { context });
cp.copyFile('.npmignore');
cp.copyDir('assets');
}
}
exports.default = default_1;
module.exports = exports['default'];