UNPKG

generator-fedhipster

Version:

Spring Boot + Angular/React in one handy generator

65 lines (58 loc) 2.19 kB
/** * Copyright 2013-2019 the original author or authors from the JHipster project. * * This file is part of the JHipster project, see https://www.jhipster.tech/ * for more information. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const chalk = require('chalk'); const BaseGenerator = require('../generator-base'); const statistics = require('../statistics'); module.exports = class extends BaseGenerator { constructor(args, opts) { super(args, opts); this.baseName = this.config.get('baseName'); this.argument('jdlFile', { type: String, required: false, defaults: `${this.baseName}.jh` }); // This adds support for a `--from-cli` flag this.option('from-cli', { desc: 'Indicates the command is run from JHipster CLI', type: Boolean, defaults: false }); this.jdlFile = this.options.jdlFile; } get default() { return { validateFromCli() { this.checkInvocationFromCLI(); }, insight() { statistics.sendSubGenEvent('generator', 'export-jdl'); }, parseJson() { this.log('Parsing entities from .jhipster dir...'); this.jdl = this.generateJDLFromEntities(); } }; } writing() { const content = `// JDL definition for application '${ this.baseName }' generated with command 'jhipster export-jdl'\n\n${this.jdl.toString()}`; this.fs.write(this.jdlFile, content); } end() { this.log(chalk.green.bold('\nEntities successfully exported to JDL file\n')); } };