gen-jhipster
Version:
VHipster - Spring Boot + Angular/React/Vue in one handy generator
192 lines (191 loc) • 5.67 kB
JavaScript
/**
* Copyright 2013-2026 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
*
* https://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.
*/
import { ALPHABETIC, ALPHABETIC_LOWER, ALPHANUMERIC, ALPHANUMERIC_DASH, ALPHANUMERIC_UNDERSCORE, } from "../jdl/core/built-in-options/validation-patterns.js";
const JHI_PREFIX_NAME_PATTERN = /^[A-Za-z][A-Za-z0-9-_]*$/;
const PACKAGE_NAME_PATTERN = /^[a-z_][a-z0-9_]*$/;
const LANGUAGE_PATTERN = /^[a-z]+(-[A-Za-z0-9]+)*$/;
const JWT_SECRET_KEY_PATTERN = /^\S+$/;
const REMEMBER_ME_KEY_PATTERN = /^\S+$/;
const NUMERIC = /^\d$/;
const BASIC_NPM_PACKAGE_NAME_PATTERN = /^(@[a-z0-9-][a-z0-9-._]*\/)?[a-z0-9-][a-z0-9-._]*$/;
export const builtInConfigPropsValidations = {
APPLICATION_TYPE: {
type: 'NAME',
pattern: ALPHABETIC_LOWER,
msg: 'applicationType property',
},
AUTHENTICATION_TYPE: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'authenticationType property',
},
BASE_NAME: {
type: 'NAME',
pattern: ALPHANUMERIC_UNDERSCORE,
msg: 'baseName property',
},
BLUEPRINT: {
type: 'NAME',
pattern: BASIC_NPM_PACKAGE_NAME_PATTERN,
msg: 'blueprint property',
},
BLUEPRINTS: {
type: 'list',
pattern: BASIC_NPM_PACKAGE_NAME_PATTERN,
msg: 'blueprints property',
},
BUILD_TOOL: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'buildTool property',
},
CACHE_PROVIDER: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'cacheProvider property',
},
CLIENT_FRAMEWORK: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'clientFramework property',
},
CLIENT_THEME: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'clientTheme property',
},
CLIENT_THEME_VARIANT: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'clientThemeVariant property',
},
WITH_ADMIN_UI: { type: 'BOOLEAN' },
NODE_PACKAGE_MANAGER: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'nodePackageManager property',
},
CREATION_TIMESTAMP: {
type: 'INTEGER',
pattern: NUMERIC,
msg: 'creationTimestamp property',
},
DATABASE_TYPE: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'databaseType property',
},
DEV_DATABASE_TYPE: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'devDatabaseType property',
},
ENTITY_SUFFIX: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'entitySuffix property',
},
DTO_SUFFIX: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'dtoSuffix property',
},
ENABLE_HIBERNATE_CACHE: { type: 'BOOLEAN' },
ENABLE_SWAGGER_CODEGEN: { type: 'BOOLEAN' },
ENABLE_TRANSLATION: { type: 'BOOLEAN' },
FRONT_END_BUILDER: {
type: 'NAME',
pattern: ALPHABETIC,
msg: 'frontendBuilder property',
},
GATEWAY_SERVER_PORT: { type: 'INTEGER' },
JHIPSTER_VERSION: { type: 'STRING' },
JHI_PREFIX: {
type: 'NAME',
pattern: JHI_PREFIX_NAME_PATTERN,
msg: 'jhiPrefix property',
},
JWT_SECRET_KEY: {
type: 'STRING',
pattern: JWT_SECRET_KEY_PATTERN,
msg: 'JWT secret key property',
},
LANGUAGES: {
type: 'list',
pattern: LANGUAGE_PATTERN,
msg: 'languages property',
},
MICROFRONTENDS: {
type: 'list',
pattern: ALPHANUMERIC_UNDERSCORE,
msg: 'microfrontends property',
},
MICROFRONTEND: { type: 'BOOLEAN' },
NATIVE_LANGUAGE: {
type: 'NAME',
pattern: LANGUAGE_PATTERN,
msg: 'nativeLanguage property',
},
PACKAGE_NAME: {
type: 'qualifiedName',
pattern: PACKAGE_NAME_PATTERN,
msg: 'packageName property',
},
PROD_DATABASE_TYPE: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'prodDatabaseType property',
},
REACTIVE: { type: 'BOOLEAN' },
REMEMBER_ME_KEY: {
type: 'STRING',
pattern: REMEMBER_ME_KEY_PATTERN,
msg: 'rememberMeKey property',
},
SEARCH_ENGINE: {
type: 'NAME',
pattern: ALPHANUMERIC,
msg: 'searchEngine property',
},
SERVER_PORT: { type: 'INTEGER' },
SERVICE_DISCOVERY_TYPE: {
type: 'NAME',
pattern: ALPHABETIC_LOWER,
msg: 'serviceDiscoveryType property',
},
SKIP_CLIENT: { type: 'BOOLEAN' },
SKIP_SERVER: { type: 'BOOLEAN' },
SKIP_USER_MANAGEMENT: { type: 'BOOLEAN' },
TEST_FRAMEWORKS: {
type: 'list',
pattern: ALPHANUMERIC,
msg: 'testFrameworks property',
},
WEBSOCKET: {
type: 'NAME',
pattern: ALPHANUMERIC_DASH,
msg: 'websocket property',
},
ENABLE_GRADLE_DEVELOCITY: { type: 'BOOLEAN' },
GRADLE_DEVELOCITY_HOST: {
type: 'STRING',
pattern: JWT_SECRET_KEY_PATTERN,
msg: 'gradleDevelocityHost property',
},
};