UNPKG

generator-begcode

Version:

Spring Boot + Angular/React/Vue in one handy generator

70 lines (69 loc) 2.95 kB
import { filterEntitiesForClient, filterEntityPropertiesForClient, loadClientConfig, loadDerivedClientConfig, preparePostEntityClientDerivedProperties, } from '../client/support/index.js'; import BaseApplicationGenerator from '../base-application/index.js'; import { loadStoredAppOptions } from '../app/support/index.js'; import clientCommand from '../client/command.js'; import { loadConfig, loadDerivedConfig } from '../../lib/internal/index.js'; import { getFrontendAppName } from '../base/support/index.js'; export default class BootStrapApplicationClient extends BaseApplicationGenerator { constructor(args, options, features) { super(args, options, { jhipsterBootstrap: false, ...features }); if (this.options.help) return; loadStoredAppOptions.call(this); } async beforeQueue() { if (!this.fromBlueprint) { await this.composeWithBlueprints(); } if (this.delegateToBlueprint) { throw new Error('Only sbs blueprint is supported'); } await this.dependsOnBootstrapApplicationBase(); } get loading() { return this.asLoadingTaskGroup({ loadApplication({ application }) { loadConfig(clientCommand.configs, { config: this.jhipsterConfigWithDefaults, application }); loadClientConfig({ config: this.jhipsterConfigWithDefaults, application }); }, }); } get [BaseApplicationGenerator.LOADING]() { return this.loading; } get preparing() { return this.asPreparingTaskGroup({ prepareApplication({ application }) { loadDerivedConfig(clientCommand.configs, { application }); loadDerivedClientConfig({ application }); }, prepareForTemplates({ application }) { application.frontendAppName = getFrontendAppName({ baseName: application.baseName }); }, }); } get [BaseApplicationGenerator.PREPARING]() { return this.preparing; } get default() { return this.asDefaultTaskGroup({ control({ control }) { control.filterEntitiesForClient ??= filterEntitiesForClient; control.filterEntityPropertiesForClient ??= filterEntityPropertiesForClient; control.filterEntitiesAndPropertiesForClient ??= entities => { entities = control.filterEntitiesForClient(entities); entities.forEach(control.filterEntityPropertiesForClient); return entities; }; }, async postPreparingEntity({ entities }) { for (const entity of entities) { await preparePostEntityClientDerivedProperties(entity); } }, }); } get [BaseApplicationGenerator.DEFAULT]() { return this.default; } }