diff --git a/generators/app/__snapshots__/generator.spec.mjs.snap b/generators/app/__snapshots__/generator.spec.mjs.snap
index b302f377..d171aa64 100644
--- a/generators/app/__snapshots__/generator.spec.mjs.snap
+++ b/generators/app/__snapshots__/generator.spec.mjs.snap
@@ -68,6 +68,12 @@ Object {
"ngsw-config.json": Object {
"stateCleared": "modified",
},
+ "npmw": Object {
+ "stateCleared": "modified",
+ },
+ "npmw.cmd": Object {
+ "stateCleared": "modified",
+ },
"openapi.properties": Object {
"stateCleared": "modified",
},
@@ -746,6 +752,9 @@ Object {
"src/main/webapp/app/config/language.constants.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/config/navigation.constants.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/app/config/pagination.constants.ts": Object {
"stateCleared": "modified",
},
@@ -986,6 +995,18 @@ Object {
"src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/shared/filter/filter.component.html": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.component.ts": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.model.spec.ts": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.model.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/app/shared/language/find-language-from-key.pipe.ts": Object {
"stateCleared": "modified",
},
@@ -1022,6 +1043,9 @@ Object {
"src/main/webapp/app/shared/sort/sort.directive.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/shared/sort/sort.service.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/bootstrap.ts": Object {
"stateCleared": "modified",
},
diff --git a/generators/client/__snapshots__/generator.spec.mjs.snap b/generators/client/__snapshots__/generator.spec.mjs.snap
index 2a715847..918e6ba6 100644
--- a/generators/client/__snapshots__/generator.spec.mjs.snap
+++ b/generators/client/__snapshots__/generator.spec.mjs.snap
@@ -449,6 +449,9 @@ Object {
"src/main/webapp/app/config/language.constants.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/config/navigation.constants.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/app/config/pagination.constants.ts": Object {
"stateCleared": "modified",
},
@@ -689,6 +692,18 @@ Object {
"src/main/webapp/app/shared/date/format-medium-datetime.pipe.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/shared/filter/filter.component.html": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.component.ts": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.model.spec.ts": Object {
+ "stateCleared": "modified",
+ },
+ "src/main/webapp/app/shared/filter/filter.model.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/app/shared/language/find-language-from-key.pipe.ts": Object {
"stateCleared": "modified",
},
@@ -725,6 +740,9 @@ Object {
"src/main/webapp/app/shared/sort/sort.directive.ts": Object {
"stateCleared": "modified",
},
+ "src/main/webapp/app/shared/sort/sort.service.ts": Object {
+ "stateCleared": "modified",
+ },
"src/main/webapp/bootstrap.ts": Object {
"stateCleared": "modified",
},
diff --git a/generators/client/templates_back/angular/home/home.component.html.ejs b/generators/client/templates_back/angular/home/home.component.html.ejs
deleted file mode 100644
index 9507b233..00000000
--- a/generators/client/templates_back/angular/home/home.component.html.ejs
+++ /dev/null
@@ -1,54 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-
-
-
-
-
Translate="home.title">Welcome, Micronaut Hipster Official Blueprint!
-
Translate="home.subtitle">This is your homepage
-
-
-
- Translate="home.logged.message"
- [translateValues]="{username: account.login}"> You are logged in as user "{{account.login}}".
-
-
-
-
Translate="global.messages.info.authenticated.prefix">If you want to
-
Translate="global.messages.info.authenticated.link">sign in Translate="global.messages.info.authenticated.suffix">, you can try the default accounts: - Administrator (login="admin" and password="admin") - User (login="user" and password="user").
-
- <%_ if (!skipUserManagement) { _%>
-
- <%_ } _%>
-
-
Translate="home.question">
- If you have any question on JHipster or MHipster:
-
-
-
- Translate="home.like">If you like MHipster, don't forget to give us a star on Translate="home.github">GitHub !
-
-
-
diff --git a/generators/client/templates_back/angular/home/home.scss.ejs b/generators/client/templates_back/angular/home/home.scss.ejs
deleted file mode 100644
index a054f947..00000000
--- a/generators/client/templates_back/angular/home/home.scss.ejs
+++ /dev/null
@@ -1,10 +0,0 @@
-/* ==========================================================================
-Main page styles
-========================================================================== */
-.hipster {
- display: inline-block;
- width: 100%;
- height: 497px;
- background: url("../../content/images/jhipster_family_member_4.svg") no-repeat center top;
- background-size: contain;
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.html.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.html.ejs
deleted file mode 100644
index 4a08859e..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.html.ejs
+++ /dev/null
@@ -1,58 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-
-
-
-
Translate="health.details.properties">Properties
-
-
-
-
-
- Translate="health.details.name">Name
- Translate="health.details.value">Value
-
-
-
-
- {{ healthDetail.key }}
- {{ readableValue(healthDetail.value) }}
-
-
-
-
-
-
-
-
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.ts.ejs
deleted file mode 100644
index 276a25de..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health-modal.component.ts.ejs
+++ /dev/null
@@ -1,54 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Component } from '@angular/core';
-import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
-
-import { HealthKey, HealthDetails } from './health.service';
-
-@Component({
- selector: '<%= jhiPrefixDashed %>-health-modal',
- templateUrl: './health-modal.component.html'
-})
-export class HealthModalComponent {
- health?: { key: HealthKey; value: HealthDetails };
-
- constructor(public activeModal: NgbActiveModal) {}
-
- readableValue(value: any): string {
- if (this.health && this.health.key === 'diskSpace') {
- // Should display storage space in an human readable unit
- const val = value / 1073741824;
- if (val > 1) { // Value
- return val.toFixed(2) + ' GB';
- } else {
- return (value / 1048576).toFixed(2) + ' MB';
- }
- }
-
- if (typeof value === 'object') {
- return JSON.stringify(value);
- } else {
- return value.toString();
- }
- }
-
- dismiss(): void {
- this.activeModal.dismiss();
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.html.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.html.ejs
deleted file mode 100644
index 54af841a..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.html.ejs
+++ /dev/null
@@ -1,60 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-
- Translate="health.title">Health Checks
-
-
- Translate="health.refresh.button">Refresh
-
-
-
-
-
-
-
- Translate="health.table.service">Service Name
- Translate="health.table.status">Status
- Translate="health.details.details">Details
-
-
-
-
-
- <%_ if (enableTranslation) { _%>
- {{ 'health.indicator.' + componentHealth.key | translate }}
- <%_ } else { _%>
- {{ componentHealth.key }}
- <%_ } _%>
-
-
- Translate="{{ 'health.status.' + componentHealth.value.status }}">
- {{ componentHealth.value.status }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.ts.ejs
deleted file mode 100644
index a71be08b..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.component.ts.ejs
+++ /dev/null
@@ -1,65 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Component, OnInit } from '@angular/core';
-import { HttpErrorResponse } from '@angular/common/http';
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
-
-import { HealthService, HealthStatus, Health, HealthKey, HealthDetails } from './health.service';
-import { HealthModalComponent } from './health-modal.component';
-
-@Component({
- selector: '<%= jhiPrefixDashed %>-health',
- templateUrl: './health.component.html'
-})
-export class HealthComponent implements OnInit {
- health?: Health;
-
- constructor(
- private modalService: NgbModal,
- private healthService: HealthService
- ) {}
-
- ngOnInit(): void {
- this.refresh();
- }
-
- getBadgeClass(statusState: HealthStatus): string {
- if (statusState === 'UP') {
- return 'badge-success';
- } else {
- return 'badge-danger';
- }
- }
-
- refresh(): void {
- this.healthService.checkHealth().subscribe(
- health => (this.health = health),
- (error: HttpErrorResponse) => {
- if (error.status === 503) {
- this.health = error.error;
- }
- }
- );
- }
-
- showHealth(health: { key: HealthKey; value: HealthDetails }): void {
- const modalRef = this.modalService.open(HealthModalComponent);
- modalRef.componentInstance.health = health;
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.service.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.service.ts.ejs
deleted file mode 100644
index 036097ac..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/health/health.service.ts.ejs
+++ /dev/null
@@ -1,105 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Injectable } from '@angular/core';
-import { HttpClient } from '@angular/common/http';
-import { Observable } from 'rxjs';
-<%_ if (databaseType === 'sql') { _%>
-import { map } from 'rxjs/operators';
-<%_ } _%>
-
-import { SERVER_API_URL } from 'app/app.constants';
-
-export type HealthStatus = 'UP' | 'DOWN' | 'UNKNOWN' | 'OUT_OF_SERVICE';
-
-export type HealthKey =
- <%_ if (messageBroker === 'kafka') { _%>
- | 'binders'
- <%_ } _%>
- <%_ if (applicationType === 'gateway' || serviceDiscoveryType) { _%>
- | 'compositeDiscoveryClient()'
- | 'discoveryComposite'
- | 'refreshScope'
- | 'clientConfigServer'
- | 'hystrix'
- <%_ } _%>
- <%_ if (serviceDiscoveryType === 'consul') { _%>
- | 'consul'
- <%_ } _%>
- | 'diskSpace'
- | 'mail'
- | 'ping'
- <%_ if (searchEngine === 'elasticsearch') { _%>
- | 'elasticsearch'
- <%_ } _%>
- <%_ if (databaseType === 'sql') { _%>
- | 'jdbc'
- | 'db'
- <%_ } else if (databaseType === 'mongodb') { _%>
- | 'mongo'
- <%_ } else if (databaseType === 'cassandra') { _%>
- | 'cassandra'
- <%_ } else if (databaseType === 'couchbase') { _%>
- | 'couchbase'
- <%_ } _%>
- ;
-
-export interface Health {
- name?: string;
- status: HealthStatus;
- details: {
- [key in HealthKey]?: HealthDetails;
- };
-}
-
-export interface HealthDetails {
- status: HealthStatus;
- details: any;
-}
-
-@Injectable({ providedIn: 'root' })
-export class HealthService {
- constructor(private http: HttpClient) {}
-
-<%_ if (databaseType === 'sql') { _%>
- checkHealth(): Observable {
- const nameTranslationMap = {
- jdbc: 'db'
- };
-
- return this.http.get(SERVER_API_URL + 'management/health').pipe(
- map((response: Health) => {
- const mappedDetails = {};
-
- Object.keys(response.details).forEach(key => {
- const mappedKey = nameTranslationMap[key] ? nameTranslationMap[key] : key;
- mappedDetails[mappedKey] = response.details[key];
- });
-
- response.details = mappedDetails;
-
- return response;
- })
- );
- }
-<%_ } else { _%>
- checkHealth(): Observable {
- return this.http.get(SERVER_API_URL + 'management/health');
- }
-<%_ } _%>
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs
deleted file mode 100644
index 7c1ee317..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.html.ejs
+++ /dev/null
@@ -1,83 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-
- Translate="metrics.title">Application Metrics
-
-
- Translate="metrics.refresh.button">Refresh
-
-
-
-
Translate="metrics.jvm.title">JVM Metrics
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Translate="metrics.jvm.gc.title">Garbage collector statistics
-
-
-
-
-
-
Translate="metrics.updating">Updating...
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs
deleted file mode 100644
index 002c00dc..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.component.ts.ejs
+++ /dev/null
@@ -1,65 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Component, OnInit, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
-import { flatMap } from 'rxjs/operators';
-
-import { MetricsService, Metrics, MetricsKey, Thread } from './metrics.service';
-
-@Component({
- selector: '<%= jhiPrefixDashed %>-metrics',
- templateUrl: './metrics.component.html',
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class MetricsComponent implements OnInit {
- metrics?: Metrics;
- threads?: Thread[];
- updatingMetrics = true;
-
- constructor(private metricsService: MetricsService, private changeDetector: ChangeDetectorRef) {}
-
- ngOnInit(): void {
- this.refresh();
- }
-
- refresh(): void {
- this.updatingMetrics = true;
- this.metricsService
- .getMetrics()
- .pipe(
- flatMap(
- () => this.metricsService.threadDump(),
- (metrics: Metrics, threadDump: Thread[]) => {
- this.metrics = metrics;
- this.threads = threadDump;
- this.updatingMetrics = false;
- this.changeDetector.detectChanges();
- }
- )
- )
- .subscribe();
- }
-
- metricsKeyExists(key: MetricsKey): boolean {
- return this.metrics && this.metrics[key];
- }
-
- metricsKeyExistsAndObjectNotEmpty(key: MetricsKey): boolean {
- return this.metrics && this.metrics[key] && JSON.stringify(this.metrics[key]) !== '{}';
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs
deleted file mode 100644
index 5761c643..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/admin/metrics/metrics.service.ts.ejs
+++ /dev/null
@@ -1,53 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Injectable } from '@angular/core';
-import { HttpClient } from '@angular/common/http';
-import { Observable } from 'rxjs';
-
-import { SERVER_API_URL } from 'app/app.constants';
-
-export type MetricsKey = 'jvm' | 'http.server.requests' | 'cache' | 'services' | 'databases' | 'garbageCollector' | 'processMetrics';
-export type Metrics = { [key in MetricsKey]: any };
-export type Thread = {
- threadName?: string;
- threadId?: number;
- threadState?: string;
- suspended?: boolean;
- stackTrace?: StackElement[]
- // ... just trying to give an idea of what should be expected w/o making testing onerous
-};
-export type StackElement = {
- methodName?: string;
- fileName?: string;
- lineNumber?: number;
- // ... just trying to give an idea of what should be expected w/o making testing onerous
-}
-
-@Injectable({ providedIn: 'root' })
-export class MetricsService {
- constructor(private http: HttpClient) {}
-
- getMetrics(): Observable {
- return this.http.get(SERVER_API_URL + 'management/jhimetrics');
- }
-
- threadDump(): Observable {
- return this.http.get(SERVER_API_URL + 'management/threaddump');
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs
deleted file mode 100644
index 4f24384d..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/core/auth/auth-jwt.service.ts.ejs
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Injectable } from '@angular/core';
-import { HttpClient, HttpResponse } from '@angular/common/http';
-import { Observable } from 'rxjs';
-import { map } from 'rxjs/operators';
-import { LocalStorageService, SessionStorageService } from 'ngx-webstorage';
-
-import { SERVER_API_URL } from 'app/app.constants';
-
-@Injectable({ providedIn: 'root' })
-export class AuthServerProvider {
- constructor(private http: HttpClient, private $localStorage: LocalStorageService, private $sessionStorage: SessionStorageService) {}
-
- getToken(): any {
- return this.$localStorage.retrieve('authenticationToken') || this.$sessionStorage.retrieve('authenticationToken');
- }
-
- login(credentials: any): Observable {
- const data = {
- username: credentials.username,
- password: credentials.password,
- rememberMe: credentials.rememberMe
- };
-
- function authenticateSuccess(this: any, resp: HttpResponse): any {
- const jwt = resp.body.access_token;
- if (jwt) {
- this.storeAuthenticationToken(jwt, credentials.rememberMe);
- return jwt;
- }
- }
-
- return this.http.post(SERVER_API_URL + 'api/authenticate', data, { observe: 'response' }).pipe(map(authenticateSuccess.bind(this)));
- }
-
- loginWithToken(jwt: any, rememberMe: any): Promise {
- if (jwt) {
- this.storeAuthenticationToken(jwt, rememberMe);
- return Promise.resolve(jwt);
- } else {
- return Promise.reject('auth-jwt-service Promise reject'); // Put appropriate error message here
- }
- }
-
- storeAuthenticationToken(jwt: any, rememberMe: any): void {
- if (rememberMe) {
- this.$localStorage.store('authenticationToken', jwt);
- } else {
- this.$sessionStorage.store('authenticationToken', jwt);
- }
- }
-
- logout(): Observable {
- return new Observable(observer => {
- this.$localStorage.clear('authenticationToken');
- this.$sessionStorage.clear('authenticationToken');
- observer.complete();
- });
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/core/login/login.service.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/core/login/login.service.ts.ejs
deleted file mode 100644
index 6cefc43b..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/core/login/login.service.ts.ejs
+++ /dev/null
@@ -1,81 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Injectable } from '@angular/core';
-<%_ if (authenticationType === 'oauth2') { _%>
-import { Location } from '@angular/common';
-
-<%_ } else { _%>
-import { Observable } from 'rxjs';
-import { flatMap } from 'rxjs/operators';
-
-import { Account } from 'app/core/user/account.model';
-import { AccountService } from 'app/core/auth/account.service';
-<%_ } _%>
-<%_ if (authenticationType === 'jwt' || authenticationType === 'uaa') { _%>
-import { AuthServerProvider<% if (authenticationType === 'uaa') { %>, LOGOUT_URL<% } %> } from 'app/core/auth/auth-jwt.service';
-<%_ } else if (authenticationType === 'session' || authenticationType === 'oauth2') { _%>
-import { AuthServerProvider<% if (authenticationType === 'session') { %>, LOGOUT_URL<% } %> } from 'app/core/auth/auth-session.service';
-<%_ } _%>
-<%_ if (authenticationType === 'oauth2') { _%>
-import { Logout } from './logout.model';
-<%_ } else { _%>
-import { Login } from './login.model';
-<%_ } _%>
-
-@Injectable({ providedIn: 'root' })
-export class LoginService {
- constructor(
- <%_ if (authenticationType === 'oauth2') { _%>
- private location: Location,
- <%_ } else { _%>
- private accountService: AccountService,
- <%_ } _%>
- private authServerProvider: AuthServerProvider
- ) {}
-
- <%_ if (authenticationType === 'oauth2') { _%>
- login(): void {
- location.href = `${location.origin}${this.location.prepareExternalUrl('oauth2/authorization/oidc')}`;
- }
- <%_ } else { _%>
- login(credentials: Login): Observable {
- return this.authServerProvider.login(credentials).pipe(flatMap(() => this.accountService.identity(true)));
- }
- <%_ } _%>
-
- <%_ if (authenticationType === 'uaa' || authenticationType === 'session') { _%>
- logoutUrl(): string {
- return LOGOUT_URL;
- }
-
- logoutInClient(): void {
- this.accountService.authenticate(null);
- }
- <%_ } _%>
-
- logout(): void {
- <%_ if (authenticationType === 'oauth2') { _%>
- this.authServerProvider.logout().subscribe((logout: Logout) => {
- window.location.href = logout.logoutUrl;
- });
- <%_ } else { _%>
- this.authServerProvider.logout().subscribe(null, null, () => this.accountService.authenticate(null));
- <%_ } _%>
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs b/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs
deleted file mode 100644
index 6faa73ee..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.html.ejs
+++ /dev/null
@@ -1,206 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-
-
- Translate="global.title" class="navbar-title"><%= capitalizedBaseName %> {{ version }}
-
-
-
-
-
-
diff --git a/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs b/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs
deleted file mode 100644
index 463bc6c7..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/app/layouts/navbar/navbar.component.ts.ejs
+++ /dev/null
@@ -1,112 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
-<%_ if (enableTranslation) { _%>
-import { JhiLanguageService } from 'ng-jhipster';
-import { SessionStorageService } from 'ngx-webstorage';
-<%_ } _%>
-
-import { VERSION } from 'app/app.constants';
-<%_ if (enableTranslation) { _%>
-import { LANGUAGES } from 'app/core/language/language.constants';
-<%_ } _%>
-import { AccountService } from 'app/core/auth/account.service';
-<%_ if (authenticationType !== 'oauth2') { _%>
-import { LoginModalService } from 'app/core/login/login-modal.service';
-<%_ } _%>
-import { LoginService } from 'app/core/login/login.service';
-import { ProfileService } from 'app/layouts/profiles/profile.service';
-
-@Component({
- selector: '<%= jhiPrefixDashed %>-navbar',
- templateUrl: './navbar.component.html',
- styleUrls: [
- 'navbar.scss'
- ]
-})
-export class NavbarComponent implements OnInit {
- inProduction?: boolean;
- isNavbarCollapsed = true;
- <%_ if (enableTranslation) { _%>
- languages = LANGUAGES;
- <%_ } _%>
- swaggerEnabled?: boolean;
- version: string;
-
- constructor(
- private loginService: LoginService,
- <%_ if (enableTranslation) { _%>
- private languageService: JhiLanguageService,
- private sessionStorage: SessionStorageService,
- <%_ } _%>
- private accountService: AccountService,
- <%_ if (authenticationType !== 'oauth2') { _%>
- private loginModalService: LoginModalService,
- <%_ } _%>
- private profileService: ProfileService,
- private router: Router
- ) {
- this.version = VERSION ? (VERSION.toLowerCase().startsWith('v') ? VERSION : 'v' + VERSION) : '';
- }
-
- ngOnInit(): void {
- this.profileService.getProfileInfo().subscribe((profileInfo) => {
- this.inProduction = profileInfo.inProduction;
- this.swaggerEnabled = profileInfo.swaggerEnabled;
- });
- }
-
- <%_ if (enableTranslation) { _%>
- changeLanguage(languageKey: string): void {
- this.sessionStorage.store('locale', languageKey);
- this.languageService.changeLanguage(languageKey);
- }
- <%_ } _%>
-
- collapseNavbar(): void {
- this.isNavbarCollapsed = true;
- }
-
- isAuthenticated(): boolean {
- return this.accountService.isAuthenticated();
- }
-
- login(): void {
- <%_ if (authenticationType !== 'oauth2') { _%>
- this.loginModalService.open();
- <%_ } else { _%>
- this.loginService.login();
- <%_ } _%>
- }
-
- logout(): void {
- this.collapseNavbar();
- this.loginService.logout();
- this.router.navigate(['']);
- }
-
- toggleNavbar(): void {
- this.isNavbarCollapsed = !this.isNavbarCollapsed;
- }
-
- getImageUrl(): string {
- return this.isAuthenticated() ? this.accountService.getImageUrl() : '';
- }
-}
diff --git a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4.svg b/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4.svg
deleted file mode 100644
index 17885981..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-192.png b/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-192.png
deleted file mode 100644
index da9c3054..00000000
Binary files a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-192.png and /dev/null differ
diff --git a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-256.png b/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-256.png
deleted file mode 100644
index b8a4cce4..00000000
Binary files a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-256.png and /dev/null differ
diff --git a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-384.png b/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-384.png
deleted file mode 100644
index e0be7f6c..00000000
Binary files a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-384.png and /dev/null differ
diff --git a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-512.png b/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-512.png
deleted file mode 100644
index e6506793..00000000
Binary files a/generators/client/templates_back/angular/src/main/webapp/content/images/jhipster_family_member_4_head-512.png and /dev/null differ
diff --git a/generators/client/templates_back/angular/src/main/webapp/manifest.webapp.ejs b/generators/client/templates_back/angular/src/main/webapp/manifest.webapp.ejs
deleted file mode 100644
index 699ddaf0..00000000
--- a/generators/client/templates_back/angular/src/main/webapp/manifest.webapp.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "<%= frontendAppName %>",
- "short_name": "<%= frontendAppName %>",
- "icons": [
- {
- "src": "./content/images/jhipster_family_member_4_head-192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4_head-256.png",
- "sizes": "256x256",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4_head-384.png",
- "sizes": "384x384",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4_head-512.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "theme_color": "#000000",
- "background_color": "#e0e0e0",
- "start_url": ".",
- "display": "standalone",
- "orientation": "portrait"
-}
diff --git a/generators/client/templates_back/angular/src/test/javascript/e2e/admin/administration.spec.ts.ejs b/generators/client/templates_back/angular/src/test/javascript/e2e/admin/administration.spec.ts.ejs
deleted file mode 100644
index 77d93d71..00000000
--- a/generators/client/templates_back/angular/src/test/javascript/e2e/admin/administration.spec.ts.ejs
+++ /dev/null
@@ -1,103 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { browser, element, by, ExpectedConditions as ec } from 'protractor';
-
-import { NavBarPage, SignInPage } from '../page-objects/jhi-page-objects';
-<%_
-let elementGetter = `getText()`;
-if (enableTranslation) {
- elementGetter = `getAttribute('jhiTranslate')`;
-}
-_%>
-
-const expect = chai.expect;
-
-describe('administration', () => {
- let navBarPage: NavBarPage;
- let signInPage: SignInPage;
- const username = process.env.E2E_USERNAME || 'admin';
- const password = process.env.E2E_PASSWORD || 'admin';
-
- before(async () => {
- await browser.get('/');
- navBarPage = new NavBarPage(true);
- signInPage = await navBarPage.getSignInPage();
- <%_ if (authenticationType !== 'oauth2') { _%>
- await signInPage.autoSignInUsing(username, password);
- <%_ } else { _%>
- await signInPage.loginWithOAuth(username, password);
- <%_ } _%>
- await browser.wait(ec.visibilityOf(navBarPage.adminMenu), 5000);
- });
-
- beforeEach(async () => {
- await navBarPage.clickOnAdminMenu();
- });
-
- <%_ if (!skipUserManagement) { _%>
- it('should load user management', async () => {
- await navBarPage.clickOnAdmin('user-management');
- <%_ if (enableTranslation) { _%>
- const expect1 = 'userManagement.home.title';
- <%_ } else { _%>
- const expect1 = 'Users';
- <%_ } _%>
- const value1 = await element(by.id('user-management-page-heading')).<%- elementGetter %>;
- expect(value1).to.eq(expect1);
- });
- <%_ } _%>
-
- it('should load metrics', async () => {
- await navBarPage.clickOnAdmin('metrics');
- <%_ if (enableTranslation) { _%>
- const expect1 = 'metrics.title';
- <%_ } else { _%>
- const expect1 = 'Application Metrics';
- <%_ } _%>
- const value1 = await element(by.id('metrics-page-heading')).<%- elementGetter %>;
- expect(value1).to.eq(expect1);
- });
-
- it('should load health', async () => {
- await navBarPage.clickOnAdmin('health');
- <%_ if (enableTranslation) { _%>
- const expect1 = 'health.title';
- <%_ } else { _%>
- const expect1 = 'Health Checks';
- <%_ } _%>
- const value1 = await element(by.id('health-page-heading')).<%- elementGetter %>;
- expect(value1).to.eq(expect1);
- });
-
- it('should load configuration', async () => {
- await navBarPage.clickOnAdmin('configuration');
- await browser.sleep(500);
- <%_ if (enableTranslation) { _%>
- const expect1 = 'configuration.title';
- <%_ } else { _%>
- const expect1 = 'Configuration';
- <%_ } _%>
- const value1 = await element(by.id('configuration-page-heading')).<%- elementGetter %>;
- expect(value1).to.eq(expect1);
- });
-
- after(async () => {
- await navBarPage.autoSignOut();
- });
-});
diff --git a/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/health/health.component.spec.ts.ejs b/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/health/health.component.spec.ts.ejs
deleted file mode 100644
index 93a892eb..00000000
--- a/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/health/health.component.spec.ts.ejs
+++ /dev/null
@@ -1,85 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { ComponentFixture, TestBed, async } from '@angular/core/testing';
-import { HttpErrorResponse } from '@angular/common/http';
-import { of, throwError } from 'rxjs';
-
-import { <%= frontendAppName %>TestModule } from '../../../test.module';
-import { HealthComponent } from 'app/admin/health/health.component';
-import { HealthService, Health } from 'app/admin/health/health.service';
-
-describe('Component Tests', () => {
- describe('HealthComponent', () => {
- let comp: HealthComponent;
- let fixture: ComponentFixture;
- let service: HealthService;
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- imports: [<%= frontendAppName %>TestModule],
- declarations: [HealthComponent]
- })
- .overrideTemplate(HealthComponent, '')
- .compileComponents();
- }));
-
- beforeEach(() => {
- fixture = TestBed.createComponent(HealthComponent);
- comp = fixture.componentInstance;
- service = fixture.debugElement.injector.get(HealthService);
- });
-
- describe('getBadgeClass', () => {
- it('should get badge class', () => {
- const upBadgeClass = comp.getBadgeClass('UP')
- const downBadgeClass = comp.getBadgeClass('DOWN')
- expect(upBadgeClass).toEqual('badge-success');
- expect(downBadgeClass).toEqual('badge-danger');
- });
- });
-
- describe('refresh', () => {
- it('should call refresh on init', () => {
- // GIVEN
- const health: Health = { status: 'UP', details: { mail: { status: 'UP', details: 'mailDetails' } } };
- spyOn(service, 'checkHealth').and.returnValue(of(health));
-
- // WHEN
- comp.ngOnInit()
-
- // THEN
- expect(service.checkHealth).toHaveBeenCalled();
- expect(comp.health).toEqual(health);
- });
-
- it('should handle a 503 on refreshing health data', () => {
- // GIVEN
- const health: Health = { status: 'DOWN', details: { mail: { status: 'DOWN', details: 'mailDetails' } } };
- spyOn(service, 'checkHealth').and.returnValue(throwError(new HttpErrorResponse({ status: 503, error: health })));
-
- // WHEN
- comp.refresh();
-
- // THEN
- expect(service.checkHealth).toHaveBeenCalled();
- expect(comp.health).toEqual(health);
- });
- });
- });
-});
diff --git a/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/metrics/metrics.service.spec.ts.ejs b/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/metrics/metrics.service.spec.ts.ejs
deleted file mode 100644
index 779b132f..00000000
--- a/generators/client/templates_back/angular/src/test/javascript/spec/app/admin/metrics/metrics.service.spec.ts.ejs
+++ /dev/null
@@ -1,86 +0,0 @@
-<%#
-Copyright 2019-2023 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.
--%>
-import { TestBed } from '@angular/core/testing';
-import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
-
-import { MetricsService, Metrics, Thread } from 'app/admin/metrics/metrics.service';
-import { SERVER_API_URL } from 'app/app.constants';
-
-describe('Service Tests', () => {
- describe('Logs Service', () => {
- let service: MetricsService;
- let httpMock: HttpTestingController;
-
- beforeEach(() => {
- TestBed.configureTestingModule({
- imports: [HttpClientTestingModule]
- });
- service = TestBed.get(MetricsService);
- httpMock = TestBed.get(HttpTestingController);
- });
-
- afterEach(() => {
- httpMock.verify();
- });
-
- describe('Service methods', () => {
- it('should call correct URL', () => {
- service.getMetrics().subscribe();
-
- const req = httpMock.expectOne({ method: 'GET' });
- const resourceUrl = SERVER_API_URL + 'management/jhimetrics';
- expect(req.request.url).toEqual(resourceUrl);
- });
-
- it('should return Metrics', () => {
- let expectedResult: Metrics | null = null;
- const metrics: Metrics = {
- jvm: {},
- 'http.server.requests': {},
- cache: {},
- services: {},
- databases: {},
- garbageCollector: {},
- processMetrics: {}
- };
-
- service.getMetrics().subscribe(received => {
- expectedResult = received;
- });
-
- const req = httpMock.expectOne({ method: 'GET' });
- req.flush(metrics);
- expect(expectedResult).toEqual(metrics);
- });
-
- it('should return Thread Dump', () => {
- let expectedResult: Thread[] | null = null;
- const dump: Thread[] = [{ threadName: 'test1', threadState: 'RUNNABLE' }];
-
- service.threadDump().subscribe(received => {
- expectedResult = received;
- });
-
- const req = httpMock.expectOne({ method: 'GET' });
- req.flush(dump);
- expect(expectedResult).toEqual(dump);
- });
- });
- });
-});
diff --git a/generators/client/templates_back/angular/webpack/webpack.dev.js.ejs b/generators/client/templates_back/angular/webpack/webpack.dev.js.ejs
deleted file mode 100644
index 382e4626..00000000
--- a/generators/client/templates_back/angular/webpack/webpack.dev.js.ejs
+++ /dev/null
@@ -1,152 +0,0 @@
-<%#
- Copyright 2019-2023 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 webpack = require('webpack');
-const writeFilePlugin = require('write-file-webpack-plugin');
-const webpackMerge = require('webpack-merge');
-const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
-const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');
-const SimpleProgressWebpackPlugin = require('simple-progress-webpack-plugin');
-const WebpackNotifierPlugin = require('webpack-notifier');
-const path = require('path');
-const sass = require('sass');
-
-const utils = require('./utils.js');
-const commonConfig = require('./webpack.common.js');
-
-const ENV = 'development';
-
-module.exports = (options) => webpackMerge(commonConfig({ env: ENV }), {
- devtool: 'eval-source-map',
- devServer: {
- contentBase: './<%= DIST_DIR %>',
- proxy: [{
- context: [
- '/api',
- '/services',
- '/management',
- '/swagger-resources',
- '/v2/api-docs',
- '/h2-console',
- <%_ if (authenticationType === 'oauth2') { _%>
- '/oauth2',
- '/login',
- '/logout',
- <%_ } _%>
- '/auth'
- ],
- target: `http${options.tls ? 's' : ''}://localhost:<%= serverPort %>`,
- secure: false,
- changeOrigin: options.tls
- }<% if (websocket === 'spring-websocket') { %>,{
- context: [
- '/websocket'
- ],
- target: 'ws://127.0.0.1:<%= serverPort %>',
- ws: true
- }<% } %>],
- stats: options.stats,
- watchOptions: {
- ignored: /node_modules/
- },
- https: options.tls,
- historyApiFallback: true
- },
- entry: {
- global: './<%= MAIN_SRC_DIR %>content/scss/global.scss',
- main: './<%= MAIN_SRC_DIR %>app/app.main'
- },
- output: {
- path: utils.root('<%= DIST_DIR %>'),
- filename: 'app/[name].bundle.js',
- chunkFilename: 'app/[id].chunk.js'
- },
- module: {
- rules: [{
- test: /\.(j|t)s$/,
- enforce: 'pre',
- loader: 'eslint-loader',
- exclude: /node_modules/
- },
- {
- test: /\.scss$/,
- use: ['to-string-loader', 'css-loader', 'postcss-loader', {
- loader: 'sass-loader',
- options: { implementation: sass }
- }],
- exclude: /(vendor\.scss|global\.scss)/
- },
- {
- test: /(vendor\.scss|global\.scss)/,
- use: ['style-loader', 'css-loader', 'postcss-loader', {
- loader: 'sass-loader',
- options: { implementation: sass }
- }]
- }]
- },
- stats: process.env.JHI_DISABLE_WEBPACK_LOGS ? 'none' : options.stats,
- plugins: [
- process.env.JHI_DISABLE_WEBPACK_LOGS
- ? null
- : new SimpleProgressWebpackPlugin({
- format: options.stats === 'minimal' ? 'compact' : 'expanded'
- }),
- new FriendlyErrorsWebpackPlugin(),
- new BrowserSyncPlugin({
- https: options.tls,
- host: 'localhost',
- port: 9000,
- proxy: {
- target: `http${options.tls ? 's' : ''}://localhost:9060`,
- <%_ if (websocket === 'spring-websocket') { _%>
- ws: true,
- <%_ } _%>
- proxyOptions: {
- changeOrigin: false //pass the Host header to the backend unchanged https://github.com/Browsersync/browser-sync/issues/430
- }
- },
- socket: {
- clients: {
- heartbeatTimeout: 60000
- }
- }
- /*
- ,ghostMode: { // uncomment this part to disable BrowserSync ghostMode; https://github.com/jhipster/generator-jhipster/issues/11116
- clicks: false,
- location: false,
- forms: false,
- scroll: false
- } */
- }, {
- reload: false
- }),
- new webpack.ContextReplacementPlugin(
- /angular(\\|\/)core(\\|\/)/,
- path.resolve(__dirname, './<%= CLIENT_MAIN_SRC_DIR %>')
- ),
- new writeFilePlugin(),
- new webpack.WatchIgnorePlugin([
- utils.root('src/test'),
- ]),
- new WebpackNotifierPlugin({
- title: 'JHipster',
- contentImage: path.join(__dirname, 'logo-jhipster.png')
- })
- ].filter(Boolean),
- mode: 'development'
-});
diff --git a/generators/client/templates_back/react/home/home.scss.ejs b/generators/client/templates_back/react/home/home.scss.ejs
deleted file mode 100644
index 106869dc..00000000
--- a/generators/client/templates_back/react/home/home.scss.ejs
+++ /dev/null
@@ -1,10 +0,0 @@
-/* ==========================================================================
-Main page styles
-========================================================================== */
-.hipster {
- display: inline-block;
- width: 100%;
- height: 497px;
- background: url("../../../content/images/jhipster_family_member_4.svg") no-repeat center top;
- background-size: contain;
-}
diff --git a/generators/client/templates_back/react/home/home.tsx.ejs b/generators/client/templates_back/react/home/home.tsx.ejs
deleted file mode 100644
index 96c42d8f..00000000
--- a/generators/client/templates_back/react/home/home.tsx.ejs
+++ /dev/null
@@ -1,128 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import './home.<%= styleSheetExt %>';
-
-import React from 'react';
-import { Link } from 'react-router-dom';
-import { Translate } from 'react-jhipster';
-import { connect } from 'react-redux';
-import { Row, Col, Alert } from 'reactstrap';
-
-import { IRootState } from 'app/shared/reducers';
-<%_ if (authenticationType === 'oauth2') { _%>
-import { getLoginUrl } from 'app/shared/util/url-utils';
-<%_ } _%>
-
-export type IHomeProp = StateProps;
-
-export const Home = (props: IHomeProp) => {
-
- const { account } = props;
-
- return (
-
-
- Welcome, Micronaut Hipster Official Blueprint!
- This is your homepage
- {
- (account && account.login) ? (
-
-
- You are logged in as user {account.login}.
-
-
- ) : (
-
-
- If you want to
- <%_ if (authenticationType === 'oauth2') { _%>
-
- sign in
-
- <%_ } else { _%>
- sign in
- <%_ } _%>
- , you can try the default accounts:
- - Administrator (login="admin" and password="admin")
- - User (login="user" and password="user").
-
-
-
- <%_ if (!skipUserManagement) { _%>
-
- You do not have an account yet?
- Register a new account
-
- <%_ } _%>
-
- )
- }
-
- If you have any question on JHipster or MHipster:
-
-
-
-
-
- If you like MHipster, do not forget to give us a star on
- {' '}
- Github !
-
-
-
-
-
-
- );
-};
-
-const mapStateToProps = storeState => ({
- account: storeState.authentication.account,
- isAuthenticated: storeState.authentication.isAuthenticated
-});
-
-type StateProps = ReturnType;
-
-export default connect(mapStateToProps)(Home);
diff --git a/generators/client/templates_back/react/src/main/webapp/app/modules/login/logout.tsx.ejs b/generators/client/templates_back/react/src/main/webapp/app/modules/login/logout.tsx.ejs
deleted file mode 100644
index 69e5137b..00000000
--- a/generators/client/templates_back/react/src/main/webapp/app/modules/login/logout.tsx.ejs
+++ /dev/null
@@ -1,59 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import React, { useLayoutEffect } from 'react';
-import { connect } from 'react-redux';
-
-import { IRootState } from 'app/shared/reducers';
-import { logout } from 'app/shared/reducers/authentication';
-
-export interface ILogoutProps extends StateProps, DispatchProps {
- idToken: string;
- logoutUrl: string;
-}
-
-export const Logout = (props: ILogoutProps) => {
- useLayoutEffect(() => {
- props.logout();
- const logoutUrl = props.logoutUrl;
- if (logoutUrl) {
- window.location.href = logoutUrl;
- }
- });
-
- return (
-
-
Logged out successfully!
-
- );
-};
-
-const mapStateToProps = (storeState: IRootState) => ({
- logoutUrl: storeState.authentication.logoutUrl,
- idToken: storeState.authentication.idToken
-});
-
-const mapDispatchToProps = { logout };
-
-type StateProps = ReturnType;
-type DispatchProps = typeof mapDispatchToProps;
-
-export default connect(
- mapStateToProps,
- mapDispatchToProps
-)(Logout);
diff --git a/generators/client/templates_back/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs b/generators/client/templates_back/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs
deleted file mode 100644
index e3617a80..00000000
--- a/generators/client/templates_back/react/src/main/webapp/app/shared/layout/header/header.tsx.ejs
+++ /dev/null
@@ -1,112 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import './header.<%= styleSheetExt %>';
-
-import React, { useState<% if (enableI18nRTL) { %>, useEffect<% } %> } from 'react';
-import { Translate<% if (enableTranslation) { %>, Storage<% } %> } from 'react-jhipster';
-import {
- Navbar,
- Nav,
- NavbarToggler,
- NavbarBrand,
- Collapse
-} from 'reactstrap';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-
-import { NavLink as Link } from 'react-router-dom';
-import LoadingBar from 'react-redux-loading-bar';
-
-<%_ if (enableTranslation && enableI18nRTL) { _%>
-import { isRTL } from 'app/config/translation';
-<%_ } _%>
-
-import { Home, Brand } from './header-components';
-import { AdminMenu, EntitiesMenu, AccountMenu<%_ if (enableTranslation) { _%>, LocaleMenu<%_ } _%>} from '../menus';
-
-export interface IHeaderProps {
- isAuthenticated: boolean;
- isAdmin: boolean;
- ribbonEnv: string;
- isInProduction: boolean;
- isSwaggerEnabled: boolean;
-<%_ if (enableTranslation) { _%>
- currentLocale: string;
- onLocaleChange: Function;
-<%_ } _%>
-}
-
-
-const Header = (props: IHeaderProps) => {
- const [menuOpen, setMenuOpen] = useState(false);
- <%_ if (enableI18nRTL) { _%>
- useEffect(() => document.querySelector('html').setAttribute('dir', isRTL(Storage.session.get('locale')) ? 'rtl' : 'ltr'));
- <%_ } _%>
-
- <%_ if (enableTranslation) { _%>
- const handleLocaleChange = event => {
- const langKey = event.target.value;
- Storage.session.set('locale', langKey);
- props.onLocaleChange(langKey);
- <%_ if (enableI18nRTL) { _%>
- document.querySelector('html').setAttribute('dir', isRTL(langKey) ? 'rtl' : 'ltr');
- <%_ } _%>
- }
- <%_ } _%>
-
- const renderDevRibbon = () => props.isInProduction === false ? (
-
- ) : null;
-
- const toggleMenu = () => setMenuOpen(!menuOpen);
-
- /* jhipster-needle-add-element-to-menu - JHipster will add new menu items here */
-
- return (
-
- );
-};
-
-export default Header;
diff --git a/generators/client/templates_back/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs b/generators/client/templates_back/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs
deleted file mode 100644
index 84c6f834..00000000
--- a/generators/client/templates_back/react/src/main/webapp/app/shared/layout/menus/admin.tsx.ejs
+++ /dev/null
@@ -1,59 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import React from 'react';
-import MenuItem from 'app/shared/layout/menus/menu-item';
-import {
- DropdownItem
-} from 'reactstrap';
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import { NavLink as Link } from 'react-router-dom';
-import { NavDropdown } from './menu-components';
-import { Translate, translate } from 'react-jhipster';
-
-const adminMenuItems = (
- <>
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- Gateway
- <%_ } _%>
- <%_ if (!skipUserManagement) { _%>
- User management
- <%_ } _%>
- <%_ if (websocket === 'spring-websocket') { _%>
- User tracker
- <%_ } _%>
- Metrics
- Health
- Configuration
- {/* jhipster-needle-add-element-to-admin-menu - JHipster will add entities to the admin menu here */}
- Logs
- >
-);
-
-const swaggerItem = (
- API
-);
-
-export const AdminMenu = ({ showSwagger <% if (devDatabaseType === 'h2Disk' || devDatabaseType === 'h2Memory') { %>, showDatabase <%_ } _%>}) => (
-
-);
-
-export default AdminMenu;
diff --git a/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/application-profile.ts.ejs b/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/application-profile.ts.ejs
deleted file mode 100644
index 2e2d7e2a..00000000
--- a/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/application-profile.ts.ejs
+++ /dev/null
@@ -1,54 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import axios from 'axios';
-
-import { SUCCESS } from 'app/shared/reducers/action-type.util';
-
-export const ACTION_TYPES = {
- GET_PROFILE: 'applicationProfile/GET_PROFILE'
-};
-
-const initialState = {
- ribbonEnv: '',
- inProduction: true,
- isSwaggerEnabled: false
-};
-
-export type ApplicationProfileState = Readonly;
-
-export default (state: ApplicationProfileState = initialState, action): ApplicationProfileState => {
- switch (action.type) {
- case SUCCESS(ACTION_TYPES.GET_PROFILE): {
- const { data } = action.payload;
- return {
- ...state,
- ribbonEnv: data['display-ribbon-on-profiles'],
- inProduction: data['active-profiles'].includes('prod'),
- isSwaggerEnabled: data['active-profiles'].includes('swagger')
- };
- }
- default:
- return state;
- }
-};
-
-export const getProfile = () => ({
- type: ACTION_TYPES.GET_PROFILE,
- payload: axios.get('management/info')
-});
diff --git a/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs b/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs
deleted file mode 100644
index 7f0f6670..00000000
--- a/generators/client/templates_back/react/src/main/webapp/app/shared/reducers/authentication.ts.ejs
+++ /dev/null
@@ -1,241 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import axios from 'axios';
-<%_ if (authenticationType === 'jwt' || enableTranslation) { _%>
-import { Storage } from 'react-jhipster';
-<%_ } _%>
-
-import { REQUEST, SUCCESS, FAILURE } from 'app/shared/reducers/action-type.util';
-<% if (enableTranslation) { %>import { setLocale } from 'app/shared/reducers/locale';<% } %>
-
-export const ACTION_TYPES = {
- <%_ if (authenticationType !== 'oauth2') { _%>
- LOGIN: 'authentication/LOGIN',
- <%_ } _%>
- GET_SESSION: 'authentication/GET_SESSION',
- LOGOUT: 'authentication/LOGOUT',
- CLEAR_AUTH: 'authentication/CLEAR_AUTH',
- ERROR_MESSAGE: 'authentication/ERROR_MESSAGE'
-};
-
-<%_ if (authenticationType === 'jwt') { _%>
-const AUTH_TOKEN_KEY = '<%= jhiPrefixDashed %>-authenticationToken';
-<%_ } _%>
-
-const initialState = {
- loading: false,
- isAuthenticated: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- loginSuccess: false,
- loginError: false, // Errors returned from server side
- showModalLogin: false,
- <%_ } _%>
- account: {} as any,
- errorMessage: null as string, // Errors returned from server side
- redirectMessage: null as string,
- sessionHasBeenFetched: false,
- idToken: null as string,
- logoutUrl: null as string
-};
-
-export type AuthenticationState = Readonly;
-
-// Reducer
-
-export default (state: AuthenticationState = initialState, action): AuthenticationState => {
- switch (action.type) {
- <%_ if (authenticationType !== 'oauth2') { _%>
- case REQUEST(ACTION_TYPES.LOGIN):
- <%_ } _%>
- case REQUEST(ACTION_TYPES.GET_SESSION):
- return {
- ...state,
- loading: true
- };
- <%_ if (authenticationType !== 'oauth2') { _%>
- case FAILURE(ACTION_TYPES.LOGIN):
- return {
- ...initialState,
- errorMessage: action.payload,
- showModalLogin: true,
- loginError: true
- };
- <%_ } _%>
- case FAILURE(ACTION_TYPES.GET_SESSION):
- return {
- ...state,
- loading: false,
- isAuthenticated: false,
- sessionHasBeenFetched: true,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true,
- <%_ } _%>
- errorMessage: action.payload
- };
- <%_ if (authenticationType !== 'oauth2') { _%>
- case SUCCESS(ACTION_TYPES.LOGIN):
- return {
- ...state,
- loading: false,
- loginError: false,
- showModalLogin: false,
- loginSuccess: true
- };
- <%_ } _%>
- <%_ if (authenticationType === 'jwt') { _%>
- case ACTION_TYPES.LOGOUT:
- <%_ } else { _%>
- case SUCCESS(ACTION_TYPES.LOGOUT):
- <%_ } _%>
- return {
- ...initialState,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true
- <%_ } else { _%>
- idToken: action.payload.data.idToken,
- logoutUrl: action.payload.data.logoutUrl
- <%_ } _%>
- };
- case SUCCESS(ACTION_TYPES.GET_SESSION):
- {
- const isAuthenticated = action.payload && action.payload.data && action.payload.data.activated;
- return {
- ...state,
- isAuthenticated,
- loading: false,
- sessionHasBeenFetched: true,
- account: action.payload.data
- };
- }
- case ACTION_TYPES.ERROR_MESSAGE:
- return {
- ...initialState,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true,
- <%_ } _%>
- redirectMessage: action.message
- };
- case ACTION_TYPES.CLEAR_AUTH:
- return {
- ...state,
- loading: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true,
- <%_ } _%>
- isAuthenticated: false
- };
- default:
- return state;
- }
-};
-
-export const displayAuthError = message => ({ type: ACTION_TYPES.ERROR_MESSAGE, message });
-
-export const getSession: () => void = () => <%_ if (enableTranslation) { _%>async<%_ } _%> (dispatch, getState) => {
- <%_ if (enableTranslation) { _%>
- await dispatch({
- type: ACTION_TYPES.GET_SESSION,
- payload: axios.get('<%= apiUaaPath %>api/account')
- });
-
- const { account } = getState().authentication;
- if (account && account.langKey) {
- const langKey = Storage.session.get('locale', account.langKey);
- await dispatch(setLocale(langKey));
- }
- <%_ } else { _%>
- dispatch({
- type: ACTION_TYPES.GET_SESSION,
- payload: axios.get('<%= apiUaaPath %>api/account')
- });
- <%_ } _%>
-}
-
-<%_ if (authenticationType === 'session') { _%>
-export const login: (username: string, password: string, rememberMe?: boolean) => void = (username, password, rememberMe = false) => async (dispatch, getState) => {
- const data = `username=${encodeURIComponent(username)}&password=${encodeURIComponent(password)}&remember-me=${rememberMe}&submit=Login`;
- await dispatch({
- type: ACTION_TYPES.LOGIN,
- payload: axios.post('api/authentication', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } })
- });
- await dispatch(getSession());
-};
-<%_ } else if (authenticationType === 'jwt') { _%>
- export const login: (username: string, password: string, rememberMe?: boolean) => void = (username, password, rememberMe = false) => async (dispatch, getState) => {
- const result = await dispatch({
- type: ACTION_TYPES.LOGIN,
- payload: axios.post('api/authenticate', { username, password, rememberMe })
- });
- const jwt = result.value.data.access_token;
- if (jwt) {
- if (rememberMe) {
- Storage.local.set(AUTH_TOKEN_KEY, jwt);
- } else {
- Storage.session.set(AUTH_TOKEN_KEY, jwt);
- }
- }
- await dispatch(getSession());
-};
-<%_ } else if (authenticationType === 'uaa') { _%>
-export const login = (username, password, rememberMe = false) => async (dispatch, getState) => {
- const result = await dispatch({
- type: ACTION_TYPES.LOGIN,
- payload: axios.post('auth/login', { username, password })
- });
- await dispatch(getSession());
-};
-<%_ } _%>
-
-<%_ if (authenticationType === 'jwt') { _%>
-export const clearAuthToken = () => {
- if (Storage.local.get(AUTH_TOKEN_KEY)) {
- Storage.local.remove(AUTH_TOKEN_KEY);
- }
- if (Storage.session.get(AUTH_TOKEN_KEY)) {
- Storage.session.remove(AUTH_TOKEN_KEY);
- }
-};
-
-export const logout: () => void = () => dispatch => {
- clearAuthToken();
- dispatch({
- type: ACTION_TYPES.LOGOUT
- });
-};
-<%_ } else { _%>
-export const logout: () => void = () => async dispatch => {
- await dispatch({
- type: ACTION_TYPES.LOGOUT,
- payload: axios.post(<%_ if (authenticationType === 'uaa') { _%>'auth/logout'<%_ } else { _%>'api/logout'<%_ } _%>, {})
- });
-
- // fetch new csrf token
- dispatch(getSession());
-};
-<%_ } _%>
-
-export const clearAuthentication = messageKey => (dispatch, getState) => {
- <%_ if (authenticationType == 'jwt') { _%>
- clearAuthToken();
- <%_ } _%>
- dispatch(displayAuthError(messageKey));
- dispatch({
- type: ACTION_TYPES.CLEAR_AUTH
- });
-};
diff --git a/generators/client/templates_back/react/src/main/webapp/manifest.webapp.ejs b/generators/client/templates_back/react/src/main/webapp/manifest.webapp.ejs
deleted file mode 100644
index ed25a049..00000000
--- a/generators/client/templates_back/react/src/main/webapp/manifest.webapp.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "name": "<%= baseName %>",
- "short_name": "<%= baseName %>",
- "icons": [
- {
- "src": "./content/images/jhipster_family_member_4_head-192.png",
- "sizes": "192x192",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4_head-256.png",
- "sizes": "256x256",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4_head-384.png",
- "sizes": "384x384",
- "type": "image/png"
- },
- {
- "src": "./content/images/jhipster_family_member_4>_head-512.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "theme_color": "#000000",
- "background_color": "#e0e0e0",
- "start_url": ".",
- "display": "standalone",
- "orientation": "portrait"
-}
diff --git a/generators/client/templates_back/react/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs b/generators/client/templates_back/react/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs
deleted file mode 100644
index 503f159c..00000000
--- a/generators/client/templates_back/react/src/test/javascript/e2e/modules/administration/administration.spec.ts.ejs
+++ /dev/null
@@ -1,80 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-import { element, by, browser } from 'protractor';
-
-import NavBarPage from '../../page-objects/navbar-page';
-import SignInPage from '../../page-objects/signin-page';
-import { waitUntilDisplayed } from '../../util/utils';
-
-const expect = chai.expect;
-
-describe('Administration', () => {
- let navBarPage: NavBarPage;
- let signInPage: SignInPage;
- const username = process.env.E2E_USERNAME || 'admin';
- const password = process.env.E2E_PASSWORD || 'admin';
-
- before(async () => {
- await browser.get('/');
- navBarPage = new NavBarPage();
- signInPage = await navBarPage.getSignInPage();
- <%_ if (authenticationType !== 'oauth2') { _%>
- await signInPage.waitUntilDisplayed();
-
- await signInPage.username.sendKeys(username);
- await signInPage.password.sendKeys(password);
- await signInPage.loginButton.click();
- await signInPage.waitUntilHidden();
-
- <%_ } else { _%>
- await signInPage.loginWithOAuth(username, password);
- <%_ } _%>
- await waitUntilDisplayed(navBarPage.adminMenu);
- });
-
- <%_ if (!skipUserManagement) { _%>
- it('should load user management', async () => {
- await navBarPage.clickOnAdminMenuItem('user-management');
- const heading = element(by.id('user-management-page-heading'));
- await waitUntilDisplayed(heading);
- // Title should be equal to 'Users'
- expect(await heading.isPresent()).to.be.true;
- });
- <%_ } _%>
-
- it('should load metrics', async () => {
- await navBarPage.clickOnAdminMenuItem('metrics');
- await waitUntilDisplayed(element(by.id('metrics-page-heading')));
- expect(await element(by.id('metrics-page-heading')).getText()).to.eq('Application Metrics');
- });
-
- it('should load health', async () => {
- await navBarPage.clickOnAdminMenuItem('health');
- expect(await element(by.id('health-page-heading')).getText()).to.eq('Health Checks');
- });
-
- it('should load configuration', async () => {
- await navBarPage.clickOnAdminMenuItem('configuration');
- expect(await element(by.id('configuration-page-heading')).getText()).to.eq('Configuration');
- });
-
- after(async () => {
- await navBarPage.autoSignOut()
- });
-});
diff --git a/generators/client/templates_back/react/src/test/javascript/spec/app/modules/administration/administration.reducer.spec.ts.ejs b/generators/client/templates_back/react/src/test/javascript/spec/app/modules/administration/administration.reducer.spec.ts.ejs
deleted file mode 100644
index 5f52c0f3..00000000
--- a/generators/client/templates_back/react/src/test/javascript/spec/app/modules/administration/administration.reducer.spec.ts.ejs
+++ /dev/null
@@ -1,411 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-import configureStore from 'redux-mock-store';
-import promiseMiddleware from 'redux-promise-middleware';
-import axios from 'axios';
-import thunk from 'redux-thunk';
-import sinon from 'sinon';
-
-import { REQUEST, FAILURE, SUCCESS } from 'app/shared/reducers/action-type.util';
-import administration, {
- ACTION_TYPES,
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- gatewayRoutes,
- <%_ } _%>
- systemHealth,
- systemMetrics,
- systemThreadDump,
- getLoggers,
- changeLogLevel,
- getConfigurations,
- getEnv<% if (!['no', 'cassandra'].includes(databaseType)) { %>,
- getAudits<% } %>
-} from 'app/modules/administration/administration.reducer';
-
-describe('Administration reducer tests', () => {
- const username = process.env.E2E_USERNAME || 'admin';
-
- function isEmpty(element): boolean {
- if (element instanceof Array) {
- return element.length === 0;
- } else {
- return Object.keys(element).length === 0;
- }
- }
-
- function testInitialState(state) {
- expect(state).toMatchObject({
- loading: false,
- errorMessage: null,
- totalItems: 0
- });
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- expect(isEmpty(state.gateway.routes));
- <%_ } _%>
- expect(isEmpty(state.logs.loggers));
- expect(isEmpty(state.threadDump));
- <%_ if (!['no', 'cassandra'].includes(databaseType)) { _%>
- expect(isEmpty(state.audits));
- <%_ } _%>
- <%_ if (websocket === 'spring-websocket') { _%>
- expect(isEmpty(state.tracker.activities));
- <%_ } _%>
- }
-
- function testMultipleTypes(types, payload, testFunction) {
- types.forEach(e => {
- testFunction(administration(undefined, { type: e, payload }));
- });
- }
-
- describe('Common', () => {
- it('should return the initial state', () => {
- testInitialState(administration(undefined, {}));
- });
- });
-
- describe('Requests', () => {
- it('should set state to loading', () => {
- testMultipleTypes(
- [
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- REQUEST(ACTION_TYPES.FETCH_GATEWAY_ROUTE),
- <%_ } _%>
- REQUEST(ACTION_TYPES.FETCH_LOGS),
- REQUEST(ACTION_TYPES.FETCH_HEALTH),
- REQUEST(ACTION_TYPES.FETCH_METRICS),
- REQUEST(ACTION_TYPES.FETCH_THREAD_DUMP),
- REQUEST(ACTION_TYPES.FETCH_CONFIGURATIONS),
- REQUEST(ACTION_TYPES.FETCH_ENV)<% if (!['no', 'cassandra'].includes(databaseType)) { %>,
- REQUEST(ACTION_TYPES.FETCH_AUDITS)<% } %>
- ],
- {},
- state => {
- expect(state).toMatchObject({
- errorMessage: null,
- loading: true
- });
- }
- );
- });
- });
-
- describe('Failures', () => {
- it('should set state to failed and put an error message in errorMessage', () => {
- testMultipleTypes(
- [
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- FAILURE(ACTION_TYPES.FETCH_GATEWAY_ROUTE),
- <%_ } _%>
- FAILURE(ACTION_TYPES.FETCH_LOGS),
- FAILURE(ACTION_TYPES.FETCH_HEALTH),
- FAILURE(ACTION_TYPES.FETCH_METRICS),
- FAILURE(ACTION_TYPES.FETCH_THREAD_DUMP),
- FAILURE(ACTION_TYPES.FETCH_CONFIGURATIONS),
- FAILURE(ACTION_TYPES.FETCH_ENV)<% if (!['no', 'cassandra'].includes(databaseType)) { %>,
- FAILURE(ACTION_TYPES.FETCH_AUDITS)<% } %>
- ],
- 'something happened',
- state => {
- expect(state).toMatchObject({
- loading: false,
- errorMessage: 'something happened'
- });
- }
- );
- });
- });
-
- describe('Success', () => {
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- it('should update state according to a successful fetch gateway routes request', () => {
- const payload = { data: [] };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_GATEWAY_ROUTE), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- gateway: { routes: payload.data }
- });
- });
- <%_ } _%>
- it('should update state according to a successful fetch logs request', () => {
- const payload = { data: {
- loggers: {
- main: {
- effectiveLevel: 'WARN'
- }
- }
- }
- };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_LOGS), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- logs: payload.data
- });
- });
-
- it('should update state according to a successful fetch health request', () => {
- const payload = { data: { status: 'UP' } };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_HEALTH), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- health: payload.data
- });
- });
-
- it('should update state according to a successful fetch metrics request', () => {
- const payload = { data: { version: '3.1.3', gauges: {} } };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_METRICS), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- metrics: payload.data
- });
- });
-
- it('should update state according to a successful fetch thread dump request', () => {
- const payload = { data: [{ threadName: 'hz.gateway.cached.thread-6', threadId: 9266 }] };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_THREAD_DUMP), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- threadDump: payload.data
- });
- });
-
- it('should update state according to a successful fetch configurations request', () => {
- const payload = { data: { contexts: { jhipster: { beans: {} } } } };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_CONFIGURATIONS), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- configuration: {
- configProps: payload.data,
- env: {}
- }
- });
- });
-
- it('should update state according to a successful fetch env request', () => {
- const payload = { data: { 'active-profiles': ['swagger', 'dev'] } };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_ENV), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- configuration: {
- configProps: {},
- env: payload.data
- }
- });
- });
-
-<%_ if (!['no', 'cassandra'].includes(databaseType)) { _%>
- it('should update state according to a successful fetch audits request', () => {
- const headers = { ['x-total-count']: 1 };
- const payload = { data: [{ id: 1, userLogin: username }], headers };
- const toTest = administration(undefined, { type: SUCCESS(ACTION_TYPES.FETCH_AUDITS), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- audits: payload.data,
- totalItems: headers['x-total-count']
- });
- });
-<%_ } _%>
- });
-<%_ if (websocket === 'spring-websocket') { _%>
- describe('Websocket Message Handling', () => {
- it('should update state according to a successful websocket message receipt', () => {
- const payload = { id: 1, userLogin: username, page: 'home', sessionId: 'abc123' };
- const toTest = administration(undefined, { type: ACTION_TYPES.WEBSOCKET_ACTIVITY_MESSAGE, payload });
-
- expect(toTest).toMatchObject({
- tracker: { activities: [payload] }
- });
- });
-
- it('should update state according to a successful websocket message receipt - only one activity per session', () => {
- const firstPayload = { id: 1, userLogin: username, page: 'home', sessionId: 'abc123' };
- const secondPayload = { id: 1, userLogin: username, page: 'user-management', sessionId: 'abc123' };
- const firstState = administration(undefined, { type: ACTION_TYPES.WEBSOCKET_ACTIVITY_MESSAGE, payload: firstPayload });
- const secondState = administration(firstState, { type: ACTION_TYPES.WEBSOCKET_ACTIVITY_MESSAGE, payload: secondPayload });
-
- expect(secondState).toMatchObject({
- tracker: { activities: [secondPayload] }
- });
- });
-
- it('should update state according to a successful websocket message receipt - remove logged out sessions', () => {
- const firstPayload = { id: 1, userLogin: username, page: 'home', sessionId: 'abc123' };
- const secondPayload = { id: 1, userLogin: username, page: 'logout', sessionId: 'abc123' };
- const firstState = administration(undefined, { type: ACTION_TYPES.WEBSOCKET_ACTIVITY_MESSAGE, payload: firstPayload });
- const secondState = administration(firstState, { type: ACTION_TYPES.WEBSOCKET_ACTIVITY_MESSAGE, payload: secondPayload });
-
- expect(secondState).toMatchObject({
- tracker: { activities: [] }
- });
- });
- });
-<%_ } _%>
- describe('Actions', () => {
- let store;
-
- const resolvedObject = { value: 'whatever' };
- beforeEach(() => {
- const mockStore = configureStore([thunk, promiseMiddleware]);
- store = mockStore({});
- axios.get = sinon.stub().returns(Promise.resolve(resolvedObject));
- axios.post = sinon.stub().returns(Promise.resolve(resolvedObject));
- });
- <%_ if (applicationType === 'gateway' && serviceDiscoveryType) { _%>
- it('dispatches FETCH_GATEWAY_ROUTE_PENDING and FETCH_GATEWAY_ROUTE_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_GATEWAY_ROUTE)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_GATEWAY_ROUTE),
- payload: resolvedObject
- }
- ];
- await store.dispatch(gatewayRoutes()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- <%_ } _%>
- it('dispatches FETCH_HEALTH_PENDING and FETCH_HEALTH_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_HEALTH)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_HEALTH),
- payload: resolvedObject
- }
- ];
- await store.dispatch(systemHealth()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_METRICS_PENDING and FETCH_METRICS_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_METRICS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_METRICS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(systemMetrics()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_THREAD_DUMP_PENDING and FETCH_THREAD_DUMP_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_THREAD_DUMP)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_THREAD_DUMP),
- payload: resolvedObject
- }
- ];
- await store.dispatch(systemThreadDump()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_LOGS_PENDING and FETCH_LOGS_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_LOGS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_LOGS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getLoggers()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_LOGS_CHANGE_LEVEL_PENDING and FETCH_LOGS_CHANGE_LEVEL_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_LOGS_CHANGE_LEVEL)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_LOGS_CHANGE_LEVEL),
- payload: resolvedObject
- },
- {
- type: REQUEST(ACTION_TYPES.FETCH_LOGS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_LOGS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(changeLogLevel('ROOT', 'DEBUG')).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_CONFIGURATIONS_PENDING and FETCH_CONFIGURATIONS_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_CONFIGURATIONS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_CONFIGURATIONS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getConfigurations()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_ENV_PENDING and FETCH_ENV_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_ENV)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_ENV),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getEnv()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- <%_ if (!['no', 'cassandra'].includes(databaseType)) { _%>
- it('dispatches FETCH_AUDITS_PENDING and FETCH_AUDITS_FULFILLED actions with pagination variables - no sort', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_AUDITS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_AUDITS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getAudits(1, 10, null, Date.now(), Date.now())).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- it('dispatches FETCH_AUDITS_PENDING and FETCH_AUDITS_FULFILLED actions with pagination variables - no dates', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.FETCH_AUDITS)
- },
- {
- type: SUCCESS(ACTION_TYPES.FETCH_AUDITS),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getAudits(1, 10, 'id,desc', null, null)).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- <%_ } _%>
- });
-});
diff --git a/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/application-profile.spec.ts.ejs b/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/application-profile.spec.ts.ejs
deleted file mode 100644
index dbb1b8a6..00000000
--- a/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/application-profile.spec.ts.ejs
+++ /dev/null
@@ -1,95 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-import { REQUEST, SUCCESS } from 'app/shared/reducers/action-type.util';
-import thunk from 'redux-thunk';
-import axios from 'axios';
-import sinon from 'sinon';
-import configureStore from 'redux-mock-store';
-import promiseMiddleware from 'redux-promise-middleware';
-
-import profile, { ACTION_TYPES, getProfile } from 'app/shared/reducers/application-profile';
-
-describe('Profile reducer tests', () => {
- const initialState = {
- ribbonEnv: '',
- inProduction: true,
- isSwaggerEnabled: false
- };
- describe('Common tests', () => {
- it('should return the initial state', () => {
- const toTest = profile(undefined, {});
- expect(toTest).toEqual(initialState);
- });
-
- it('should return the right payload in prod', () => {
- const payload = {
- data: {
- 'display-ribbon-on-profiles' : 'awesome ribbon stuff',
- 'active-profiles' : [ 'prod' ]
- }
- };
-
- expect(profile(undefined, { type: SUCCESS(ACTION_TYPES.GET_PROFILE), payload })).toEqual({
- ribbonEnv: 'awesome ribbon stuff',
- inProduction: true,
- isSwaggerEnabled: false
- });
- });
-
- it('should return the right payload in dev with swagger enabled', () => {
- const payload = {
- data: {
- 'display-ribbon-on-profiles' : 'awesome ribbon stuff',
- 'active-profiles' : [ 'swagger', 'dev' ]
- }
- };
-
- expect(profile(undefined, { type: SUCCESS(ACTION_TYPES.GET_PROFILE), payload })).toEqual({
- ribbonEnv: 'awesome ribbon stuff',
- inProduction: false,
- isSwaggerEnabled: true
- });
- });
- });
-
- describe('Actions', () => {
- let store;
-
- const resolvedObject = { value: 'whatever' };
- beforeEach(() => {
- const mockStore = configureStore([thunk, promiseMiddleware]);
- store = mockStore({});
- axios.get = sinon.stub().returns(Promise.resolve(resolvedObject));
- });
-
- it('dispatches GET_SESSION_PENDING and GET_SESSION_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.GET_PROFILE)
- },
- {
- type: SUCCESS(ACTION_TYPES.GET_PROFILE),
- payload: resolvedObject
- }
- ];
- await store.dispatch(getProfile()).then(() => expect(store.getActions()).toEqual(expectedActions));
- });
- });
-});
diff --git a/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/authentication.spec.ts.ejs b/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/authentication.spec.ts.ejs
deleted file mode 100644
index 23a0241d..00000000
--- a/generators/client/templates_back/react/src/test/javascript/spec/app/shared/reducers/authentication.spec.ts.ejs
+++ /dev/null
@@ -1,323 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-
-import { REQUEST, SUCCESS, FAILURE } from 'app/shared/reducers/action-type.util';
-import thunk from 'redux-thunk';
-import axios from 'axios';
-import sinon from 'sinon';
-<%_ if (authenticationType === 'jwt') { _%>
-import { Storage } from 'react-jhipster';
-<%_ } _%>
-import configureStore from 'redux-mock-store';
-import promiseMiddleware from 'redux-promise-middleware';
-
-import authentication, { ACTION_TYPES, getSession<% if (authenticationType !== 'oauth2') { %>, login<% } %>, clearAuthentication, logout<% if (authenticationType === 'jwt') { %>, clearAuthToken<% } %> } from 'app/shared/reducers/authentication';
-<% if (enableTranslation) { %>import { ACTION_TYPES as localeActionTypes } from 'app/shared/reducers/locale';<% } %>
-
-describe('Authentication reducer tests', () => {
- function isAccountEmpty(state): boolean {
- return Object.keys(state.account).length === 0;
- }
-
- describe('Common tests', () => {
- it('should return the initial state', () => {
- const toTest = authentication(undefined, {});
- expect(toTest).toMatchObject({
- loading: false,
- isAuthenticated: false,
- errorMessage: null, // Errors returned from server side
- <%_ if (authenticationType !== 'oauth2') { _%>
- loginSuccess: false,
- loginError: false, // Errors returned from server side
- showModalLogin: false,
- <%_ } _%>
- redirectMessage: null
- });
- expect(isAccountEmpty(toTest));
- });
- });
-
- <%_ if (authenticationType !== 'oauth2') { _%>
- describe('Requests', () => {
- it('should detect a request', () => {
- expect(authentication(undefined, { type: REQUEST(ACTION_TYPES.LOGIN) })).toMatchObject({
- loading: true
- });
- expect(authentication(undefined, { type: REQUEST(ACTION_TYPES.GET_SESSION) })).toMatchObject({
- loading: true
- });
- });
- });
- <%_ } _%>
-
- describe('Success', () => {
- <%_ if (authenticationType !== 'oauth2') { _%>
- it('should detect a success on login', () => {
- const toTest = authentication(undefined, { type: SUCCESS(ACTION_TYPES.LOGIN) });
- expect(toTest).toMatchObject({
- loading: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- loginError: false,
- loginSuccess: true,
- showModalLogin: false
- <%_ } _%>
- });
- });
- <%_ } _%>
-
- it('should detect a success on get session and be authenticated', () => {
- const payload = { data: { activated: true } };
- const toTest = authentication(undefined, { type: SUCCESS(ACTION_TYPES.GET_SESSION), payload });
- expect(toTest).toMatchObject({
- isAuthenticated: true,
- loading: false,
- account: payload.data
- });
- });
-
- it('should detect a success on get session and not be authenticated', () => {
- const payload = { data: { activated: false } };
- const toTest = authentication(undefined, { type: SUCCESS(ACTION_TYPES.GET_SESSION), payload });
- expect(toTest).toMatchObject({
- isAuthenticated: false,
- loading: false,
- account: payload.data
- });
- });
- });
-
- describe('Failure', () => {
- <%_ if (authenticationType !== 'oauth2') { _%>
- it('should detect a failure on login', () => {
- const payload = 'Something happened.';
- const toTest = authentication(undefined, { type: FAILURE(ACTION_TYPES.LOGIN), payload });
-
- expect(toTest).toMatchObject({
- errorMessage: payload,
- showModalLogin: true,
- loginError: true
- });
- expect(isAccountEmpty(toTest));
- });
- <%_ } _%>
-
- it('should detect a failure', () => {
- const payload = 'Something happened.';
- const toTest = authentication(undefined, { type: FAILURE(ACTION_TYPES.GET_SESSION), payload });
-
- expect(toTest).toMatchObject({
- loading: false,
- isAuthenticated: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true,
- <%_ } _%>
- errorMessage: payload
- });
- expect(isAccountEmpty(toTest));
- });
- });
-
- describe('Other cases', () => {
- it('should properly reset the current state when a logout is requested', () => {
- <%_ if (authenticationType === 'oauth2') { _%>const payload = { data: { idToken: 'xyz', logoutUrl: 'http://localhost:8080/logout' } };<%_ } _%>
- const toTest = authentication(undefined, { type: <%_ if (authenticationType === 'jwt') { _%> ACTION_TYPES.LOGOUT <%_ } else if (authenticationType === 'oauth2') { _%>SUCCESS(ACTION_TYPES.LOGOUT), payload<%_ } else { _%>SUCCESS(ACTION_TYPES.LOGOUT)<%_ } _%> });
- expect(toTest).toMatchObject({
- loading: false,
- isAuthenticated: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- loginSuccess: false,
- loginError: false,
- showModalLogin: true,
- <%_ } _%>
- errorMessage: null,
- redirectMessage: null
- });
- expect(isAccountEmpty(toTest));
- });
-
- it('should properly define an error message and change the current state to display the login modal', () => {
- const message = 'redirect me please';
- const toTest = authentication(undefined, { type: ACTION_TYPES.ERROR_MESSAGE, message });
- expect(toTest).toMatchObject({
- loading: false,
- isAuthenticated: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- loginSuccess: false,
- loginError: false,
- showModalLogin: true,
- <%_ } _%>
- errorMessage: null,
- redirectMessage: message
- });
- expect(isAccountEmpty(toTest));
- });
-
- it('should clear authentication', () => {
- const message = 'redirect me please';
- const toTest = authentication(undefined, { type: ACTION_TYPES.CLEAR_AUTH, message });
- expect(toTest).toMatchObject({
- loading: false,
- <%_ if (authenticationType !== 'oauth2') { _%>
- showModalLogin: true,
- <%_ } _%>
- isAuthenticated: false
- });
- });
- });
-
- describe('Actions', () => {
- let store;
-
- const resolvedObject = { value: 'whatever' };
- beforeEach(() => {
- const mockStore = configureStore([thunk, promiseMiddleware]);
- store = mockStore({ authentication: { account: { <%_ if (enableTranslation) { _%> langKey: '<%= nativeLanguage %>' <% } %> } } });
- axios.get = sinon.stub().returns(Promise.resolve(resolvedObject));
- });
-
- it('dispatches GET_SESSION_PENDING and GET_SESSION_FULFILLED actions', async () => {
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.GET_SESSION)
- },
- {
- type: SUCCESS(ACTION_TYPES.GET_SESSION),
- payload: resolvedObject
- }<% if (enableTranslation) { %>,
- {
- type: localeActionTypes.SET_LOCALE,
- locale: '<%= nativeLanguage %>'
- }<% } %>
- ];
- await store.dispatch(getSession());
- expect(store.getActions()).toEqual(expectedActions);
- });
-
- it('dispatches LOGOUT actions', async () => {
- <%_ if (authenticationType !== 'jwt') { _%>
- axios.post = sinon.stub().returns(Promise.resolve({}));
- <%_ } _%>
- const expectedActions = [
- <%_ if (authenticationType === 'jwt') { _%>
- {
- type: ACTION_TYPES.LOGOUT
- }
- <%_ } else { _%>
- {
- type: REQUEST(ACTION_TYPES.LOGOUT)
- },
- {
- "payload": {},
- type: SUCCESS(ACTION_TYPES.LOGOUT),
- }<%_ if (authenticationType !== 'oauth2') { _%>,
- {
- type: REQUEST(ACTION_TYPES.GET_SESSION),
- },
- {
- "payload": resolvedObject,
- type: SUCCESS(ACTION_TYPES.GET_SESSION),
- }
- <%_ } _%>
- <%_ } _%>
- ];
- await store.dispatch(logout());
- expect(store.getActions()).toEqual(expectedActions);
- });
-
- it('dispatches CLEAR_AUTH actions', async () => {
- const expectedActions = [
- {
- message: 'message',
- type: ACTION_TYPES.ERROR_MESSAGE
- },
- {
- type: ACTION_TYPES.CLEAR_AUTH
- }
- ];
- await store.dispatch(clearAuthentication('message'));
- expect(store.getActions()).toEqual(expectedActions);
- });
-
- <%_ if (authenticationType !== 'oauth2') { _%>
- it('dispatches LOGIN, GET_SESSION and SET_LOCALE success and request actions', async () => {
- <%_ if (authenticationType === 'jwt') { _%>
- const loginResponse = { data: { 'access_token': 'auth' } }; // eslint-disable-line @typescript-eslint/camelcase
- <%_ } else { _%>
- const loginResponse = { value: 'any' };
- <%_ } _%>
- axios.post = sinon.stub().returns(Promise.resolve(loginResponse));
- const expectedActions = [
- {
- type: REQUEST(ACTION_TYPES.LOGIN)
- },
- {
- type: SUCCESS(ACTION_TYPES.LOGIN),
- payload: loginResponse
- },
- {
- type: REQUEST(ACTION_TYPES.GET_SESSION)
- },
- {
- type: SUCCESS(ACTION_TYPES.GET_SESSION),
- payload: resolvedObject
- }<% if (enableTranslation) { %>,
- {
- type: localeActionTypes.SET_LOCALE,
- locale: '<%= nativeLanguage %>'
- }<% } %>
- ];
- await store.dispatch(login('test', 'test'));
- expect(store.getActions()).toEqual(expectedActions);
- });
- <%_ } _%>
- });
- <%_ if (authenticationType === 'jwt') { _%>
- describe('clearAuthToken', () => {
- let store;
- beforeEach(() => {
- const mockStore = configureStore([thunk, promiseMiddleware]);
- store = mockStore({ authentication: { account: { langKey: 'en' } } });
- });
- it('clears the session token on clearAuthToken', async () => {
- const AUTH_TOKEN_KEY = '<%= jhiPrefixDashed %>-authenticationToken';
- const loginResponse = { data: { 'access_token': 'TestToken' } }; // eslint-disable-line @typescript-eslint/camelcase
- axios.post = sinon.stub().returns(Promise.resolve(loginResponse));
-
- await store.dispatch(login('test', 'test'));
- expect(Storage.session.get(AUTH_TOKEN_KEY)).toBe('TestToken');
- expect(Storage.local.get(AUTH_TOKEN_KEY)).toBe(undefined);
- clearAuthToken()
- expect(Storage.session.get(AUTH_TOKEN_KEY)).toBe(undefined);
- expect(Storage.local.get(AUTH_TOKEN_KEY)).toBe(undefined);
- });
- it('clears the local storage token on clearAuthToken', async () => {
- const AUTH_TOKEN_KEY = '<%= jhiPrefixDashed %>-authenticationToken';
- const loginResponse = { data: { 'access_token': 'TestToken' } }; // eslint-disable-line @typescript-eslint/camelcase
- axios.post = sinon.stub().returns(Promise.resolve(loginResponse));
-
- await store.dispatch(login('user', 'user', true));
- expect(Storage.session.get(AUTH_TOKEN_KEY)).toBe(undefined);
- expect(Storage.local.get(AUTH_TOKEN_KEY)).toBe('TestToken');
- clearAuthToken()
- expect(Storage.session.get(AUTH_TOKEN_KEY)).toBe(undefined);
- expect(Storage.local.get(AUTH_TOKEN_KEY)).toBe(undefined);
- });
- });
- <%_ } _%>
-});
diff --git a/generators/client/templates_back/react/webpack/webpack.dev.js.ejs b/generators/client/templates_back/react/webpack/webpack.dev.js.ejs
deleted file mode 100644
index fde519b5..00000000
--- a/generators/client/templates_back/react/webpack/webpack.dev.js.ejs
+++ /dev/null
@@ -1,135 +0,0 @@
-<%#
- Copyright 2019-2023 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 webpack = require('webpack');
-const writeFilePlugin = require('write-file-webpack-plugin');
-const webpackMerge = require('webpack-merge');
-const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
-const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');
-const SimpleProgressWebpackPlugin = require('simple-progress-webpack-plugin');
-const WebpackNotifierPlugin = require('webpack-notifier');
-const path = require('path');
-const sass = require('sass');
-
-const utils = require('./utils.js');
-const commonConfig = require('./webpack.common.js');
-
-const ENV = 'development';
-
-module.exports = (options) => webpackMerge(commonConfig({ env: ENV }), {
- devtool: 'cheap-module-source-map', // https://reactjs.org/docs/cross-origin-errors.html
- mode: ENV,
- entry: [
- './<%= CLIENT_MAIN_SRC_DIR %>app/index'
- ],
- output: {
- path: utils.root('<%= DIST_DIR %>'),
- filename: 'app/[name].bundle.js',
- chunkFilename: 'app/[id].chunk.js'
- },
- module: {
- rules: [
- {
- test: /\.(sa|sc|c)ss$/,
- use: ['style-loader', 'css-loader', 'postcss-loader', {
- loader: 'sass-loader',
- options: { implementation: sass }
- }
- ]
- }
- ]
- },
- devServer: {
- stats: options.stats,
- hot: true,
- contentBase: './<%= DIST_DIR %>',
- proxy: [{
- context: [
- '/api',
- '/services',
- '/management',
- '/swagger-resources',
- '/v2/api-docs',
- '/h2-console',<% if (authenticationType === 'oauth2') { %>
- '/oauth2',
- '/login',
- '/logout',<% } %>
- '/auth'
- ],
- target: `http${options.tls ? 's' : ''}://localhost:<%= serverPort %>`,
- secure: false,
- changeOrigin: options.tls
- }<% if (websocket === 'spring-websocket') { %>,{
- context: [
- '/websocket'
- ],
- target: 'ws://127.0.0.1:<%= serverPort %>',
- ws: true
- }<% } %>],
- watchOptions: {
- ignored: /node_modules/
- },
- https: options.tls,
- historyApiFallback: true
- },
- stats: process.env.JHI_DISABLE_WEBPACK_LOGS ? 'none' : options.stats,
- plugins: [
- process.env.JHI_DISABLE_WEBPACK_LOGS
- ? null
- : new SimpleProgressWebpackPlugin({
- format: options.stats === 'minimal' ? 'compact' : 'expanded'
- }),
- new FriendlyErrorsWebpackPlugin(),
- new BrowserSyncPlugin({
- https: options.tls,
- host: 'localhost',
- port: 9000,
- proxy: {
- target: `http${options.tls ? 's' : ''}://localhost:9060`<% if (websocket === 'spring-websocket') { %>,
- ws: true<% } %>,
- proxyOptions: {
- changeOrigin: false //pass the Host header to the backend unchanged https://github.com/Browsersync/browser-sync/issues/430
- }
- },
- socket: {
- clients: {
- heartbeatTimeout: 60000
- }
- }
- /*
- ,ghostMode: { // uncomment this part to disable BrowserSync ghostMode; https://github.com/jhipster/generator-jhipster/issues/11116
- clicks: false,
- location: false,
- forms: false,
- scroll: false
- } */
- }, {
- reload: false
- }),
- new webpack.NamedModulesPlugin(),
- new webpack.HotModuleReplacementPlugin(),
- new writeFilePlugin(),
- new webpack.WatchIgnorePlugin([
- utils.root('src/test'),
- ]),
- new WebpackNotifierPlugin({
- title: 'JHipster',
- contentImage: path.join(__dirname, 'logo-jhipster.png')
- })
- ].filter(Boolean)
-});
diff --git a/generators/common/templates/README.md.ejs b/generators/common/templates/README.md.ejs
index fa381533..2705337a 100644
--- a/generators/common/templates/README.md.ejs
+++ b/generators/common/templates/README.md.ejs
@@ -102,7 +102,7 @@ micronaut:
client-secret: web_app
client-id: web_app
openid:
- issuer: http://localhost:9080/auth/realms/jhipster
+ issuer: http://localhost:9080/realms/jhipster
login-uri: /oauth2/authorization{/provider}
callback-uri: /oauth2/callback{/provider}
```
diff --git a/generators/cypress/__snapshots__/generator.spec.mjs.snap b/generators/cypress/__snapshots__/generator.spec.mjs.snap
index 572a42b4..2c19211d 100644
--- a/generators/cypress/__snapshots__/generator.spec.mjs.snap
+++ b/generators/cypress/__snapshots__/generator.spec.mjs.snap
@@ -5,10 +5,10 @@ Object {
".yo-rc.json": Object {
"stateCleared": "modified",
},
- "cypress-audits.json": Object {
+ "cypress-audits.config.ts": Object {
"stateCleared": "modified",
},
- "cypress.json": Object {
+ "cypress.config.ts": Object {
"stateCleared": "modified",
},
"package.json": Object {
@@ -17,28 +17,28 @@ Object {
"src/test/javascript/cypress/.eslintrc.json": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/fixtures/integration-test.png": Object {
+ "src/test/javascript/cypress/e2e/account/login-page.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/account/login-page.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/account/password-page.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/account/password-page.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/account/register-page.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/account/register-page.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/account/reset-password-page.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/account/reset-password-page.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/account/settings-page.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/account/settings-page.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/administration/administration.cy.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/administration/administration.spec.ts": Object {
+ "src/test/javascript/cypress/e2e/lighthouse.audits.ts": Object {
"stateCleared": "modified",
},
- "src/test/javascript/cypress/integration/lighthouse.audits.ts": Object {
+ "src/test/javascript/cypress/fixtures/integration-test.png": Object {
"stateCleared": "modified",
},
"src/test/javascript/cypress/plugins/index.ts": Object {
diff --git a/generators/cypress/generator.mjs b/generators/cypress/generator.mjs
index 0f56363b..584760ad 100644
--- a/generators/cypress/generator.mjs
+++ b/generators/cypress/generator.mjs
@@ -23,7 +23,7 @@ export default class extends extendGenerator(CypressGenerator) {
get [POST_WRITING_PRIORITY]() {
return {
customizeCypressForMicronaut({ application: { authenticationTypeJwt } }) {
- this.editFile('src/test/javascript/cypress/integration/administration/administration.spec.ts', content =>
+ this.editFile('src/test/javascript/cypress/e2e/administration/administration.cy.ts', content =>
content.replaceAll('info.activeProfiles', "info['active-profiles']")
);
if (authenticationTypeJwt) {
diff --git a/generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs b/generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.spec.ts.ejs
similarity index 100%
rename from generators/cypress/templates/src/test/javascript/cypress/integration/account/reset-password-page.spec.ts.ejs
rename to generators/cypress/templates/src/test/javascript/cypress/e2e/account/reset-password-page.spec.ts.ejs
diff --git a/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs b/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs
index 70de639d..00634fae 100644
--- a/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs
+++ b/generators/entity-server/templates/src/main/java/package/repository/EntityRepository.java.ejs
@@ -91,9 +91,9 @@ public interface <%= entityClass %>Repository extends <% if (databaseType === 's
<%_ if (fieldsContainOwnerManyToMany === true) {
if (databaseType === 'sql') { _%>
- @Query(value = "select distinct <%= entityInstance %> from <%= asEntity(entityClass) %> <%= entityInstance %><% for (idx in relationships) {
- if (relationships[idx].relationshipType === 'many-to-many' && relationships[idx].ownerSide === true) { %> left join fetch <%= entityInstance %>.<%= relationships[idx].relationshipFieldNamePlural %><% }Â } %>",
- countQuery = "select count(distinct <%= entityInstance %>) from <%= asEntity(entityClass) %> <%= entityInstance %>")
+ @Query(value = "select distinct <%= entityInstance %>_ from <%= asEntity(entityClass) %> <%= entityInstance %>_<% for (idx in relationships) {
+ if (relationships[idx].relationshipType === 'many-to-many' && relationships[idx].ownerSide === true) { %> left join fetch <%= entityInstance %>_.<%= relationships[idx].relationshipFieldNamePlural %><% }Â } %>",
+ countQuery = "select count(distinct <%= entityInstance %>_) from <%= asEntity(entityClass) %> <%= entityInstance %>_")
public Page<<%= asEntity(entityClass) %>> findAllWithEagerRelationships(Pageable pageable);
@Query("select distinct <%= entityInstance %> from <%= asEntity(entityClass) %> <%= entityInstance %><% for (idx in relationships) {
diff --git a/generators/server/__snapshots__/generator.spec.mjs.snap b/generators/server/__snapshots__/generator.spec.mjs.snap
index 62dc5cd8..0ed271e3 100644
--- a/generators/server/__snapshots__/generator.spec.mjs.snap
+++ b/generators/server/__snapshots__/generator.spec.mjs.snap
@@ -50,6 +50,12 @@ Object {
"mvnw.cmd": Object {
"stateCleared": "modified",
},
+ "npmw": Object {
+ "stateCleared": "modified",
+ },
+ "npmw.cmd": Object {
+ "stateCleared": "modified",
+ },
"openapi.properties": Object {
"stateCleared": "modified",
},
diff --git a/generators/server/files.cjs b/generators/server/files.cjs
index 6b9550e8..439361bb 100644
--- a/generators/server/files.cjs
+++ b/generators/server/files.cjs
@@ -145,11 +145,7 @@ const serverFiles = {
{
condition: generator => generator.authenticationType === 'oauth2' && generator.applicationType !== 'microservice',
path: DOCKER_DIR,
- templates: [
- 'keycloak.yml',
- { file: 'config/realm-config/jhipster-realm.json', renameTo: () => 'realm-config/jhipster-realm.json' },
- { file: 'config/realm-config/jhipster-users-0.json', renameTo: () => 'realm-config/jhipster-users-0.json' },
- ],
+ templates: ['keycloak.yml', { file: 'config/realm-config/jhipster-realm.json', renameTo: () => 'realm-config/jhipster-realm.json' }],
},
],
serverResources: [
@@ -163,6 +159,11 @@ const serverFiles = {
path: SERVER_MAIN_RES_DIR,
templates: ['swagger/api.yml'],
},
+ {
+ condition: generator => !generator.skipClient,
+ transform: false,
+ templates: ['npmw', 'npmw.cmd'],
+ },
{
path: SERVER_MAIN_RES_DIR,
templates: [
diff --git a/generators/server/generator.mjs b/generators/server/generator.mjs
index 79ee6ccd..b0f7a34f 100644
--- a/generators/server/generator.mjs
+++ b/generators/server/generator.mjs
@@ -121,7 +121,27 @@ export default class extends extendGenerator(ServerGenerator) {
},
});
},
-
+ customizeLiquibase({
+ application: { devDatabaseTypeH2Any, prodDatabaseTypeMysql, prodDatabaseTypeMariadb, prodDatabaseTypePostgres },
+ }) {
+ // Micronaut uses h2 for tests, add liquibase h2 configuration.
+ if (!devDatabaseTypeH2Any) {
+ try {
+ this.editFile('src/main/resources/config/liquibase/master.xml', content =>
+ content.replace(
+ 'xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">',
+ `xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-latest.xsd">
+
+
+
+
+
+ `
+ )
+ );
+ } catch {}
+ }
+ },
customizeMaven({ application: { buildToolMaven } }) {
if (!buildToolMaven) return;
this.packageJson.merge({
diff --git a/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs b/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
index ccfec08d..7ebbe70f 100644
--- a/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
+++ b/generators/server/templates/src/main/docker/config/realm-config/jhipster-realm.json.ejs
@@ -1,7 +1,9 @@
{
"id": "jhipster",
"realm": "jhipster",
+ "displayName": "JHipster",
"notBefore": 0,
+ "defaultSignatureAlgorithm": "RS256",
"revokeRefreshToken": false,
"refreshTokenMaxReuse": 0,
"accessTokenLifespan": 300,
@@ -13,11 +15,17 @@
"offlineSessionIdleTimeout": 2592000,
"offlineSessionMaxLifespanEnabled": false,
"offlineSessionMaxLifespan": 5184000,
+ "clientSessionIdleTimeout": 0,
+ "clientSessionMaxLifespan": 0,
+ "clientOfflineSessionIdleTimeout": 0,
+ "clientOfflineSessionMaxLifespan": 0,
"accessCodeLifespan": 60,
"accessCodeLifespanUserAction": 300,
"accessCodeLifespanLogin": 1800,
"actionTokenGeneratedByAdminLifespan": 43200,
"actionTokenGeneratedByUserLifespan": 300,
+ "oauth2DeviceCodeLifespan": 600,
+ "oauth2DevicePollingInterval": 5,
"enabled": true,
"sslRequired": "external",
"registrationAllowed": false,
@@ -39,7 +47,7 @@
"roles": {
"realm": [
{
- "id": "a2350d85-938e-440c-847c-35086fe0f1d8",
+ "id": "8e986fb5-dafb-43bf-a7c2-7e57572d3d80",
"name": "ROLE_ADMIN",
"description": "Jhipster administrator role",
"composite": false,
@@ -48,7 +56,7 @@
"attributes": {}
},
{
- "id": "932ca70d-a311-42f9-9042-431cef835b9e",
+ "id": "e1b19afd-f612-4a79-bdf8-26a99b89b10b",
"name": "offline_access",
"description": "${role_offline-access}",
"composite": false,
@@ -57,7 +65,7 @@
"attributes": {}
},
{
- "id": "8b1a0e78-24be-49ed-bc74-6471bd8d0f8f",
+ "id": "ec5705e1-fc1d-4d21-8364-abd3bd4efcd0",
"name": "ROLE_USER",
"description": "Jhipster user role",
"composite": false,
@@ -66,7 +74,28 @@
"attributes": {}
},
{
- "id": "96c0124c-0f00-4769-8cd3-f7dfd74a0af3",
+ "id": "d2b73e7b-a2d7-40e9-8ebc-2af00454e8aa",
+ "name": "default-roles-jhipster",
+ "description": "${role_default-roles}",
+ "composite": true,
+ "composites": {
+ "realm": [
+ "offline_access",
+ "uma_authorization"
+ ],
+ "client": {
+ "account": [
+ "view-profile",
+ "manage-account"
+ ]
+ }
+ },
+ "clientRole": false,
+ "containerId": "jhipster",
+ "attributes": {}
+ },
+ {
+ "id": "2eec61d0-9581-4dbf-8c7b-f32dc5fac3ce",
"name": "uma_authorization",
"description": "${role_uma_authorization}",
"composite": false,
@@ -76,46 +105,28 @@
}
],
"client": {
- "internal": [
- {
- "id": "6ceaaca5-30a4-444b-9078-723b7cc13591",
- "name": "uma_protection",
- "composite": false,
- "clientRole": true,
- "containerId": "98ae8603-4547-4218-8fb9-ebc550a0e10b",
- "attributes": {}
- }
- ],
+ "internal": [],
"realm-management": [
{
- "id": "2f58d746-0582-47fe-9b67-30809d5ad461",
- "name": "query-users",
- "description": "${role_query-users}",
- "composite": false,
- "clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
- "attributes": {}
- },
- {
- "id": "4873b8a8-8035-4b5e-bdd9-99ac74a4a43b",
- "name": "query-clients",
- "description": "${role_query-clients}",
+ "id": "a6249a12-d76c-4514-b137-e3018b243e25",
+ "name": "manage-authorization",
+ "description": "${role_manage-authorization}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "5aa18f9b-2fb1-4edb-bdde-fb79273eee38",
- "name": "view-events",
- "description": "${role_view-events}",
+ "id": "a28bc401-c5ad-4fab-aef4-42629988c10b",
+ "name": "view-realm",
+ "description": "${role_view-realm}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "84752518-6f2f-451f-ab59-de3ce6674ba1",
+ "id": "464bca1f-136f-45de-a7fc-b976a185ce7e",
"name": "view-users",
"description": "${role_view-users}",
"composite": true,
@@ -128,143 +139,134 @@
}
},
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
- "attributes": {}
- },
- {
- "id": "c9fb6965-e734-46b4-a174-fa9d1fb7e1cc",
- "name": "manage-events",
- "description": "${role_manage-events}",
- "composite": false,
- "clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "42abef51-b33b-4eb3-8515-3c6b16ca3849",
- "name": "manage-identity-providers",
- "description": "${role_manage-identity-providers}",
+ "id": "98c2fa77-d3c8-4f68-b9f4-b79f87efd4a9",
+ "name": "query-users",
+ "description": "${role_query-users}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "a3f9ba91-6ed5-47ff-a1cc-384c00cc203d",
- "name": "impersonation",
- "description": "${role_impersonation}",
+ "id": "6b82bfdb-c8de-4274-95b4-a683eb4ead50",
+ "name": "view-identity-providers",
+ "description": "${role_view-identity-providers}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "24493c26-5ea3-4e53-b949-ca27a06ff098",
- "name": "manage-users",
- "description": "${role_manage-users}",
+ "id": "3c6b9cfe-80c4-41d5-a5ac-0cadebacfc8d",
+ "name": "manage-identity-providers",
+ "description": "${role_manage-identity-providers}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "24ba1589-1141-4836-91bb-ad1b10db4944",
- "name": "create-client",
- "description": "${role_create-client}",
+ "id": "23676fb8-235a-4e54-a0d0-9bed1ccbe2f8",
+ "name": "query-groups",
+ "description": "${role_query-groups}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "38cbec3e-9ca1-4292-a513-09e86fdcf6b1",
- "name": "view-identity-providers",
- "description": "${role_view-identity-providers}",
+ "id": "b71fe952-bb06-4e4a-91ef-2d2714f770e1",
+ "name": "impersonation",
+ "description": "${role_impersonation}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "2d8a0ec8-111b-41a2-bf49-7f1ae086c5b1",
- "name": "manage-realm",
- "description": "${role_manage-realm}",
+ "id": "0813cbd0-c73d-469d-a54d-84a865c302af",
+ "name": "manage-events",
+ "description": "${role_manage-events}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "4ee94804-bc06-4d02-8541-410768b88a49",
- "name": "manage-authorization",
- "description": "${role_manage-authorization}",
+ "id": "c7a4f4c1-9089-458c-a765-f6d22ea94690",
+ "name": "view-authorization",
+ "description": "${role_view-authorization}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "3774414f-db0d-4928-b080-f22599622e97",
- "name": "manage-clients",
- "description": "${role_manage-clients}",
+ "id": "2e1bc884-e9d3-45d2-909c-2777a78ca8ae",
+ "name": "manage-realm",
+ "description": "${role_manage-realm}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "2a54d26e-7a55-4fc9-92cb-45e613084562",
- "name": "view-realm",
- "description": "${role_view-realm}",
+ "id": "0a05451e-7d64-4e87-b585-f1143ce5752e",
+ "name": "query-clients",
+ "description": "${role_query-clients}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "8fdff21b-f46c-407c-b566-ce4fcc4c51d4",
- "name": "view-authorization",
- "description": "${role_view-authorization}",
+ "id": "dfad4d08-6d75-42b6-8699-4886e47bc464",
+ "name": "view-events",
+ "description": "${role_view-events}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "083a848a-49cb-457f-9615-120be8c74d9e",
+ "id": "392ed0a3-f6ad-48a1-b201-648037d2b4bd",
"name": "realm-admin",
"description": "${role_realm-admin}",
"composite": true,
"composites": {
"client": {
"realm-management": [
- "query-users",
- "query-clients",
- "view-events",
+ "manage-authorization",
+ "view-realm",
"view-users",
- "manage-events",
+ "query-users",
"manage-identity-providers",
+ "view-identity-providers",
+ "query-groups",
"impersonation",
- "manage-users",
- "create-client",
+ "manage-events",
+ "query-clients",
"manage-realm",
- "view-identity-providers",
- "manage-authorization",
- "manage-clients",
- "view-realm",
"view-authorization",
+ "view-events",
"view-clients",
- "query-realms",
- "query-groups"
+ "create-client",
+ "manage-clients",
+ "manage-users",
+ "query-realms"
]
}
},
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "11bc32e5-55a6-431d-b6c7-32bd9504d070",
+ "id": "d7efdf61-affb-42a1-bcb0-b2c30d87a39e",
"name": "view-clients",
"description": "${role_view-clients}",
"composite": true,
@@ -276,111 +278,139 @@
}
},
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "5ea73aac-d0cf-4303-87a4-c9d7f5852734",
- "name": "query-realms",
- "description": "${role_query-realms}",
+ "id": "14da8e56-5c8b-4764-96da-250449a32fd4",
+ "name": "create-client",
+ "description": "${role_create-client}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
},
{
- "id": "8018bd1e-0b43-4b0c-8e5a-fbf31f8ee6db",
- "name": "query-groups",
- "description": "${role_query-groups}",
+ "id": "88e6a9f5-259c-487d-af35-2a98da066816",
+ "name": "manage-clients",
+ "description": "${role_manage-clients}",
+ "composite": false,
+ "clientRole": true,
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
+ "attributes": {}
+ },
+ {
+ "id": "932273a7-c02b-43db-81c5-96a0dc45e454",
+ "name": "manage-users",
+ "description": "${role_manage-users}",
+ "composite": false,
+ "clientRole": true,
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
+ "attributes": {}
+ },
+ {
+ "id": "e3edf335-cec5-4012-a00d-fcac045052e1",
+ "name": "query-realms",
+ "description": "${role_query-realms}",
"composite": false,
"clientRole": true,
- "containerId": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "containerId": "898488c8-e260-41c5-a463-7ceea14d587a",
"attributes": {}
}
],
+ "jhipster-control-center": [],
"security-admin-console": [],
"web_app": [],
"admin-cli": [],
- "account-console": [],<% if (serviceDiscoveryType === 'eureka') { %>
+ "account-console": [],<% if (serviceDiscoveryEureka) { %>
"jhipster-registry": [],<% } %>
"broker": [
{
- "id": "225066d4-4a07-4550-a851-3d9359cbbac2",
+ "id": "5b08a930-9f1d-4030-ae75-92c1e4c9352c",
"name": "read-token",
"description": "${role_read-token}",
"composite": false,
"clientRole": true,
- "containerId": "274afcdb-7742-4a3a-acc5-17db61a4d200",
+ "containerId": "88e1225b-f0b9-46ba-8efd-f2c10ce23058",
"attributes": {}
}
],
"account": [
{
- "id": "42dcf4f5-8f73-4907-bd90-669cccd66c23",
- "name": "manage-consent",
- "description": "${role_manage-consent}",
+ "id": "a88c56b8-6bc9-418a-92bc-7a17e7707f60",
+ "name": "view-profile",
+ "description": "${role_view-profile}",
+ "composite": false,
+ "clientRole": true,
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
+ "attributes": {}
+ },
+ {
+ "id": "0cb954ab-987f-482a-b2d7-0d481ba1d532",
+ "name": "view-applications",
+ "description": "${role_view-applications}",
+ "composite": false,
+ "clientRole": true,
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
+ "attributes": {}
+ },
+ {
+ "id": "6450156d-7526-48f2-8ea0-bb1e51f9eefa",
+ "name": "manage-account",
+ "description": "${role_manage-account}",
"composite": true,
"composites": {
"client": {
"account": [
- "view-consent"
+ "manage-account-links"
]
}
},
"clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
- "attributes": {}
- },
- {
- "id": "354b3a09-47a6-4051-957c-c6a3ee28a190",
- "name": "view-profile",
- "description": "${role_view-profile}",
- "composite": false,
- "clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"attributes": {}
},
{
- "id": "8d650dc2-d0e7-4ad7-8193-3ce1b7361b02",
- "name": "manage-account-links",
- "description": "${role_manage-account-links}",
+ "id": "e5b2ba76-4c36-4ba1-b210-89a1ac3c6bbe",
+ "name": "view-consent",
+ "description": "${role_view-consent}",
"composite": false,
"clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"attributes": {}
},
{
- "id": "21b65e52-b4e3-453e-b0f0-10a44a4a887d",
- "name": "manage-account",
- "description": "${role_manage-account}",
+ "id": "35537940-67a6-4217-881b-1ff98109b374",
+ "name": "manage-consent",
+ "description": "${role_manage-consent}",
"composite": true,
"composites": {
"client": {
"account": [
- "manage-account-links"
+ "view-consent"
]
}
},
"clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"attributes": {}
},
{
- "id": "5328d093-e39c-4a2d-b664-01ed54505337",
- "name": "view-applications",
- "description": "${role_view-applications}",
+ "id": "5ebf404b-7805-4da2-abb4-9db7d3b36120",
+ "name": "delete-account",
+ "description": "${role_delete-account}",
"composite": false,
"clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"attributes": {}
},
{
- "id": "91f398b2-23a0-4cd3-8bc0-c3097df0e1e5",
- "name": "view-consent",
- "description": "${role_view-consent}",
+ "id": "a7f45fab-19c3-4c48-aca3-85f828ca0fed",
+ "name": "manage-account-links",
+ "description": "${role_manage-account-links}",
"composite": false,
"clientRole": true,
- "containerId": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "containerId": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"attributes": {}
}
]
@@ -388,7 +418,7 @@
},
"groups": [
{
- "id": "c4255caa-6cf7-40fb-8d5a-1b8799a438b8",
+ "id": "afb0c768-ab0f-454c-a8ea-bc9e70b50248",
"name": "Admins",
"path": "/Admins",
"attributes": {},
@@ -399,7 +429,7 @@
"subGroups": []
},
{
- "id": "ab0947d8-3b91-42a0-81e7-953a3c207316",
+ "id": "672767bb-4ab0-4d37-93a1-9b6c2416b6b2",
"name": "Users",
"path": "/Users",
"attributes": {},
@@ -410,10 +440,14 @@
"subGroups": []
}
],
- "defaultRoles": [
- "offline_access",
- "uma_authorization"
- ],
+ "defaultRole": {
+ "id": "d2b73e7b-a2d7-40e9-8ebc-2af00454e8aa",
+ "name": "default-roles-jhipster",
+ "description": "${role_default-roles}",
+ "composite": true,
+ "clientRole": false,
+ "containerId": "jhipster"
+ },
"requiredCredentials": [
"password"
],
@@ -451,6 +485,24 @@
"webAuthnPolicyPasswordlessCreateTimeout": 0,
"webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister": false,
"webAuthnPolicyPasswordlessAcceptableAaguids": [],
+ "users": [
+ {
+ "id": "f742ba6f-1d8a-4dec-bf15-e02dab508283",
+ "createdTimestamp": 1598681172054,
+ "username": "service-account-internal",
+ "enabled": true,
+ "totp": false,
+ "emailVerified": false,
+ "serviceAccountClientId": "internal",
+ "disableableCredentialTypes": [],
+ "requiredActions": [],
+ "realmRoles": [
+ "default-roles-jhipster"
+ ],
+ "notBefore": 0,
+ "groups": []
+ }
+ ],
"scopeMappings": [
{
"clientScope": "offline_access",
@@ -471,7 +523,7 @@
},
"clients": [
{
- "id": "e07da50b-cddc-4524-b630-436a5a6ba8ab",
+ "id": "6cc5a716-0880-47dc-b714-9a4967246b2f",
"clientId": "account",
"name": "${client_account}",
"rootUrl": "${authBaseUrl}",
@@ -481,10 +533,6 @@
"alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret",
"secret": "**********",
- "defaultRoles": [
- "manage-account",
- "view-profile"
- ],
"redirectUris": [
"/realms/jhipster/account/*"
],
@@ -499,13 +547,14 @@
"publicClient": false,
"frontchannelLogout": false,
"protocol": "openid-connect",
- "attributes": {},
+ "attributes": {
+ "post.logout.redirect.uris": "+"
+ },
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -518,7 +567,7 @@
]
},
{
- "id": "7b6ab455-242e-42aa-96d8-9c9e2b74da9d",
+ "id": "fb0a4870-06db-4f9d-9d44-baf51a00cc34",
"clientId": "account-console",
"name": "${client_account-console}",
"rootUrl": "${authBaseUrl}",
@@ -543,6 +592,7 @@
"frontchannelLogout": false,
"protocol": "openid-connect",
"attributes": {
+ "post.logout.redirect.uris": "+",
"pkce.code.challenge.method": "S256"
},
"authenticationFlowBindingOverrides": {},
@@ -550,7 +600,7 @@
"nodeReRegistrationTimeout": 0,
"protocolMappers": [
{
- "id": "013df1b5-9a5b-44f2-a0b6-5bf6d448556b",
+ "id": "c5c4ebe5-d009-4f96-b143-1b36d770eafb",
"name": "audience resolve",
"protocol": "openid-connect",
"protocolMapper": "oidc-audience-resolve-mapper",
@@ -560,7 +610,6 @@
],
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -573,7 +622,7 @@
]
},
{
- "id": "5a9610bf-6a47-46a1-9442-9e43eacd98e8",
+ "id": "bb166356-838d-445e-94e3-9330ad7ab51b",
"clientId": "admin-cli",
"name": "${client_admin-cli}",
"surrogateAuthRequired": false,
@@ -593,13 +642,14 @@
"publicClient": true,
"frontchannelLogout": false,
"protocol": "openid-connect",
- "attributes": {},
+ "attributes": {
+ "post.logout.redirect.uris": "+"
+ },
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -612,7 +662,7 @@
]
},
{
- "id": "274afcdb-7742-4a3a-acc5-17db61a4d200",
+ "id": "88e1225b-f0b9-46ba-8efd-f2c10ce23058",
"clientId": "broker",
"name": "${client_broker}",
"surrogateAuthRequired": false,
@@ -632,13 +682,14 @@
"publicClient": false,
"frontchannelLogout": false,
"protocol": "openid-connect",
- "attributes": {},
+ "attributes": {
+ "post.logout.redirect.uris": "+"
+ },
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -651,7 +702,7 @@
]
},
{
- "id": "98ae8603-4547-4218-8fb9-ebc550a0e10b",
+ "id": "10e6ea34-9f1e-49ef-8e28-7eb851459694",
"clientId": "internal",
"surrogateAuthRequired": false,
"enabled": true,
@@ -667,7 +718,6 @@
"implicitFlowEnabled": false,
"directAccessGrantsEnabled": false,
"serviceAccountsEnabled": true,
- "authorizationServicesEnabled": true,
"publicClient": false,
"frontchannelLogout": false,
"protocol": "openid-connect",
@@ -676,6 +726,7 @@
"saml.force.post.binding": "false",
"saml.multivalued.roles": "false",
"saml.encrypt": "false",
+ "post.logout.redirect.uris": "+",
"saml.server.signature": "false",
"saml.server.signature.keyinfo.ext": "false",
"exclude.session.state.from.auth.response": "false",
@@ -691,7 +742,7 @@
"nodeReRegistrationTimeout": -1,
"protocolMappers": [
{
- "id": "46513189-074c-4ba5-bfa7-29bae63faaaf",
+ "id": "ff2f50b4-5409-4789-bdda-fe731f14fbff",
"name": "Client IP Address",
"protocol": "openid-connect",
"protocolMapper": "oidc-usersessionmodel-note-mapper",
@@ -706,7 +757,7 @@
}
},
{
- "id": "974887a2-e14a-4afd-84fc-a848009079ae",
+ "id": "72f9ae74-9e95-4b7b-a709-5086137410bb",
"name": "Client ID",
"protocol": "openid-connect",
"protocolMapper": "oidc-usersessionmodel-note-mapper",
@@ -721,7 +772,7 @@
}
},
{
- "id": "1b1a1f44-66df-4670-badb-46a3d361ec7c",
+ "id": "029bf6c8-5a19-4798-984c-bdb205d752d5",
"name": "Client Host",
"protocol": "openid-connect",
"protocolMapper": "oidc-usersessionmodel-note-mapper",
@@ -738,7 +789,6 @@
],
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -748,53 +798,73 @@
"phone",
"offline_access",
"microprofile-jwt"
+ ]
+ },
+ {
+ "id": "1acf7ad0-68cb-46a6-a3e4-8b2f2abecb85",
+ "clientId": "jhipster-control-center",
+ "rootUrl": "http://localhost:7419",
+ "adminUrl": "http://localhost:7419",
+ "surrogateAuthRequired": false,
+ "enabled": true,
+ "alwaysDisplayInConsole": false,
+ "clientAuthenticatorType": "client-secret",
+ "secret": "jhipster-control-center",
+ "redirectUris": [
+ "dev.localhost.ionic:*",
+ "http://127.0.0.1:*",
+ "http://localhost:*",
+ "https://127.0.0.1:*",
+ "https://localhost:*"
],
- "authorizationSettings": {
- "allowRemoteResourceManagement": false,
- "policyEnforcementMode": "ENFORCING",
- "resources": [
- {
- "name": "Default Resource",
- "type": "urn:internal:resources:default",
- "ownerManagedAccess": false,
- "attributes": {},
- "_id": "9e347a4d-ab6b-4075-9d24-23d20dfd30bc",
- "uris": [
- "/*"
- ]
- }
- ],
- "policies": [
- {
- "id": "ff09b194-0615-4cfd-9851-74adf540dabd",
- "name": "Default Policy",
- "description": "A policy that grants access only for users within this realm",
- "type": "js",
- "logic": "POSITIVE",
- "decisionStrategy": "AFFIRMATIVE",
- "config": {
- "code": "// by default, grants any permission associated with this policy\n$evaluation.grant();\n"
- }
- },
- {
- "id": "4b5c72cc-b8b8-4bfc-95ac-61815669f985",
- "name": "Default Permission",
- "description": "A permission that applies to the default resource type",
- "type": "resource",
- "logic": "POSITIVE",
- "decisionStrategy": "UNANIMOUS",
- "config": {
- "defaultResourceType": "urn:internal:resources:default",
- "applyPolicies": "[\"Default Policy\"]"
- }
- }
- ],
- "scopes": [],
- "decisionStrategy": "UNANIMOUS"
- }
- },<% if (serviceDiscoveryType === 'eureka') { %>
+ "webOrigins": [
+ "*"
+ ],
+ "notBefore": 0,
+ "bearerOnly": false,
+ "consentRequired": false,
+ "standardFlowEnabled": true,
+ "implicitFlowEnabled": true,
+ "directAccessGrantsEnabled": false,
+ "serviceAccountsEnabled": false,
+ "publicClient": true,
+ "frontchannelLogout": false,
+ "protocol": "openid-connect",
+ "attributes": {
+ "saml.assertion.signature": "false",
+ "saml.force.post.binding": "false",
+ "saml.multivalued.roles": "false",
+ "saml.encrypt": "false",
+ "post.logout.redirect.uris": "+",
+ "saml.server.signature": "false",
+ "saml.server.signature.keyinfo.ext": "false",
+ "exclude.session.state.from.auth.response": "false",
+ "saml_force_name_id_format": "false",
+ "saml.client.signature": "false",
+ "tls.client.certificate.bound.access.tokens": "false",
+ "saml.authnstatement": "false",
+ "display.on.consent.screen": "false",
+ "saml.onetimeuse.condition": "false"
+ },
+ "authenticationFlowBindingOverrides": {},
+ "fullScopeAllowed": true,
+ "nodeReRegistrationTimeout": -1,
+ "defaultClientScopes": [
+ "web-origins",
+ "jhipster",
+ "roles",
+ "profile",
+ "email"
+ ],
+ "optionalClientScopes": [
+ "address",
+ "phone",
+ "offline_access",
+ "microprofile-jwt"
+ ]
+ },<% if (serviceDiscoveryEureka) { %>
{
- "id": "dfaed4f5-716b-4f9c-a81e-e87f5f0db795",
+ "id": "9057870f-8775-448d-a194-1d4e122f44d5",
"clientId": "jhipster-registry",
"rootUrl": "http://localhost:8761",
"adminUrl": "http://localhost:8761",
@@ -826,6 +896,7 @@
"saml.force.post.binding": "false",
"saml.multivalued.roles": "false",
"saml.encrypt": "false",
+ "post.logout.redirect.uris": "+",
"saml.server.signature": "false",
"saml.server.signature.keyinfo.ext": "false",
"exclude.session.state.from.auth.response": "false",
@@ -842,7 +913,6 @@
"defaultClientScopes": [
"web-origins",
"jhipster",
- "role_list",
"roles",
"profile",
"email"
@@ -855,7 +925,7 @@
]
},<% } %>
{
- "id": "48fb7988-d909-445a-81db-fe825dca0db2",
+ "id": "898488c8-e260-41c5-a463-7ceea14d587a",
"clientId": "realm-management",
"name": "${client_realm-management}",
"surrogateAuthRequired": false,
@@ -875,12 +945,15 @@
"publicClient": false,
"frontchannelLogout": false,
"protocol": "openid-connect",
- "attributes": {},
+ "attributes": {
+ "post.logout.redirect.uris": "+"
+ },
"authenticationFlowBindingOverrides": {},
"fullScopeAllowed": false,
"nodeReRegistrationTimeout": 0,
"defaultClientScopes": [
- "role_list",
+ "web-origins",
+ "roles",
"profile",
"email"
],
@@ -892,7 +965,7 @@
]
},
{
- "id": "0aa176c1-8d28-4a8b-8e97-7e4b49a289ff",
+ "id": "989d2b96-b820-4f9b-aa17-55e6488b08c8",
"clientId": "security-admin-console",
"name": "${client_security-admin-console}",
"rootUrl": "${authAdminUrl}",
@@ -919,6 +992,7 @@
"frontchannelLogout": false,
"protocol": "openid-connect",
"attributes": {
+ "post.logout.redirect.uris": "+",
"pkce.code.challenge.method": "S256"
},
"authenticationFlowBindingOverrides": {},
@@ -926,7 +1000,7 @@
"nodeReRegistrationTimeout": 0,
"protocolMappers": [
{
- "id": "abfaa4cd-4bc1-4223-be5d-c56c641369f2",
+ "id": "5fd34289-c644-411a-874c-849475d9d102",
"name": "locale",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
@@ -943,7 +1017,6 @@
],
"defaultClientScopes": [
"web-origins",
- "role_list",
"roles",
"profile",
"email"
@@ -956,7 +1029,7 @@
]
},
{
- "id": "1eabef67-6473-4ba8-b07c-14bdbae4aaed",
+ "id": "6e8deddb-b4d6-4e2e-b389-b397d3f74fcd",
"clientId": "web_app",
"rootUrl": "http://localhost:<%= serverPort %>",
"adminUrl": "http://localhost:<%= serverPort %>",
@@ -966,11 +1039,12 @@
"clientAuthenticatorType": "client-secret",
"secret": "web_app",
"redirectUris": [
- "http://localhost:*",
- "https://localhost:*",
+ "dev.localhost.ionic:*",
"http://127.0.0.1:*",
+ "http://localhost:*",
"https://127.0.0.1:*",
- "dev.localhost.ionic:*"
+ "https://localhost:*",
+ "https://oauth.pstmn.io/v1/callback"
],
"webOrigins": [
"*"
@@ -990,6 +1064,7 @@
"saml.force.post.binding": "false",
"saml.multivalued.roles": "false",
"saml.encrypt": "false",
+ "post.logout.redirect.uris": "+",
"saml.server.signature": "false",
"saml.server.signature.keyinfo.ext": "false",
"exclude.session.state.from.auth.response": "false",
@@ -1006,7 +1081,6 @@
"defaultClientScopes": [
"web-origins",
"jhipster",
- "role_list",
"roles",
"profile",
"email"
@@ -1021,17 +1095,18 @@
],
"clientScopes": [
{
- "id": "1dc1e050-891a-4f5b-ac9d-5ea0c2e3c05e",
+ "id": "52d73c82-423c-44a8-b2ec-1e13f4cd6065",
"name": "address",
"description": "OpenID Connect built-in scope: address",
"protocol": "openid-connect",
"attributes": {
- "consent.screen.text": "${addressScopeConsentText}",
- "display.on.consent.screen": "true"
- },
+ "include.in.token.scope": "true",
+ "display.on.consent.screen": "true",
+ "consent.screen.text": "${addressScopeConsentText}"
+ },
"protocolMappers": [
{
- "id": "b9a92105-8ca5-45d1-8a99-626255ac174f",
+ "id": "98230752-36b9-4755-8661-a7de1926d0d4",
"name": "address",
"protocol": "openid-connect",
"protocolMapper": "oidc-address-mapper",
@@ -1051,100 +1126,107 @@
]
},
{
- "id": "39e1693b-a924-4fbb-b98c-520869771f83",
+ "id": "44d24405-87bf-4b37-a627-e3fdabb93f50",
"name": "email",
"description": "OpenID Connect built-in scope: email",
"protocol": "openid-connect",
"attributes": {
- "consent.screen.text": "${emailScopeConsentText}",
- "display.on.consent.screen": "true"
+ "include.in.token.scope": "true",
+ "display.on.consent.screen": "true",
+ "consent.screen.text": "${emailScopeConsentText}"
},
"protocolMappers": [
{
- "id": "76f898bc-70e4-4e0a-a259-ae4cb58260f9",
- "name": "email verified",
+ "id": "36800088-6d17-4c18-93e8-2bc93901d8b7",
+ "name": "email",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "emailVerified",
+ "user.attribute": "email",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "email_verified",
- "jsonType.label": "boolean"
+ "claim.name": "email",
+ "jsonType.label": "String"
}
},
{
- "id": "e348c7f8-e835-4539-a80b-b588510a82a9",
- "name": "email",
+ "id": "3ea34afd-30b5-4e5d-a836-dbda439dce6f",
+ "name": "email verified",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "email",
+ "user.attribute": "emailVerified",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "email",
- "jsonType.label": "String"
+ "claim.name": "email_verified",
+ "jsonType.label": "boolean"
}
}
]
},
{
- "id": "3880d5d9-fced-4446-97fe-0434f2bb76ea",
+ "id": "9816de82-24b7-42fe-a85a-1264868ec293",
"name": "jhipster",
"description": "Jhipster specific claims",
"protocol": "openid-connect",
"attributes": {
+ "include.in.token.scope": "false",
"display.on.consent.screen": "false"
},
"protocolMappers": [
{
- "id": "e7c536ca-1711-4ed5-9f21-20a25435f475",
- "name": "login",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-attribute-mapper",
- "consentRequired": false,
- "config": {
- "user.attribute": "preferred_username",
- "claim.name": "login",
- "jsonType.label": "String",
- "userinfo.token.claim": "true"
- }
- },
- {
- "id": "646e3a98-5f0c-4192-91f0-9719c295b278",
+ "id": "0f9c9347-aad6-4bff-94f4-e11937f2ad33",
"name": "langKey",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
+ "userinfo.token.claim": "true",
"user.attribute": "langKey",
+ "id.token.claim": "false",
+ "access.token.claim": "false",
"claim.name": "langKey",
- "jsonType.label": "String",
- "userinfo.token.claim": "true"
+ "jsonType.label": "String"
}
},
{
- "id": "70b3e85f-e7b4-4c30-9d10-e0b589776951",
+ "id": "69729907-8d1c-4961-81c0-91766f548cc9",
"name": "roles",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-realm-role-mapper",
"consentRequired": false,
"config": {
+ "multivalued": "true",
+ "userinfo.token.claim": "true",
+ "id.token.claim": "false",
"access.token.claim": "true",
"claim.name": "roles",
- "jsonType.label": "String",
- "multivalued": "true",
- "userinfo.token.claim": "true"
+ "jsonType.label": "String"
+ }
+ },
+ {
+ "id": "336acfe2-a717-492a-9055-5b70e808f42f",
+ "name": "login",
+ "protocol": "openid-connect",
+ "protocolMapper": "oidc-usermodel-attribute-mapper",
+ "consentRequired": false,
+ "config": {
+ "userinfo.token.claim": "true",
+ "user.attribute": "preferred_username",
+ "id.token.claim": "false",
+ "access.token.claim": "false",
+ "claim.name": "login",
+ "jsonType.label": "String"
}
}
]
},
{
- "id": "a72d436e-111b-445b-804a-967d249f6455",
+ "id": "87d299f2-434f-4abd-8cb0-a16231acd713",
"name": "microprofile-jwt",
"description": "Microprofile - JWT built-in scope",
"protocol": "openid-connect",
@@ -1154,40 +1236,40 @@
},
"protocolMappers": [
{
- "id": "dec0c468-3c11-429b-844e-dfd632b20ba7",
- "name": "upn",
+ "id": "fce09d51-cb85-4ccd-b83d-865a4d4bf650",
+ "name": "groups",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
+ "protocolMapper": "oidc-usermodel-realm-role-mapper",
"consentRequired": false,
"config": {
+ "multivalued": "true",
"userinfo.token.claim": "true",
- "user.attribute": "username",
+ "user.attribute": "foo",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "upn",
+ "claim.name": "groups",
"jsonType.label": "String"
}
},
{
- "id": "1ac09ef6-ab67-4379-b15a-5e54e50783be",
- "name": "groups",
+ "id": "3d1ee7e2-b7e1-4504-bd52-b47a2cb10eec",
+ "name": "upn",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-realm-role-mapper",
+ "protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
- "multivalued": "true",
"userinfo.token.claim": "true",
- "user.attribute": "foo",
+ "user.attribute": "username",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "groups",
+ "claim.name": "upn",
"jsonType.label": "String"
}
}
]
},
{
- "id": "5253d2be-3116-4510-ac05-99619ce2494c",
+ "id": "0399b625-22d7-4d68-b4db-fd1dc2effacc",
"name": "offline_access",
"description": "OpenID Connect built-in scope: offline_access",
"protocol": "openid-connect",
@@ -1197,17 +1279,18 @@
}
},
{
- "id": "0d3b55db-e68b-4c83-91d4-7370a6810a24",
+ "id": "2b867b2d-3373-43ff-b50f-ea37a5e1c390",
"name": "phone",
"description": "OpenID Connect built-in scope: phone",
"protocol": "openid-connect",
"attributes": {
- "consent.screen.text": "${phoneScopeConsentText}",
- "display.on.consent.screen": "true"
+ "include.in.token.scope": "true",
+ "display.on.consent.screen": "true",
+ "consent.screen.text": "${phoneScopeConsentText}"
},
"protocolMappers": [
{
- "id": "bbc582f4-4749-42b8-9c65-71f4edfd3979",
+ "id": "daa0191b-20d1-4f71-b191-6c48a37e3677",
"name": "phone number",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
@@ -1222,7 +1305,7 @@
}
},
{
- "id": "74840763-9b35-4c9a-8789-4008fedc26c2",
+ "id": "32213de7-12f7-4864-b696-c8e6c5e0c26e",
"name": "phone number verified",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
@@ -1239,47 +1322,48 @@
]
},
{
- "id": "d5de6a8a-8894-4e72-b6ef-f9bf3a7a6541",
+ "id": "60a44832-9776-449f-94cd-fa8c24a75f35",
"name": "profile",
"description": "OpenID Connect built-in scope: profile",
"protocol": "openid-connect",
"attributes": {
- "consent.screen.text": "${profileScopeConsentText}",
- "display.on.consent.screen": "true"
+ "include.in.token.scope": "true",
+ "display.on.consent.screen": "true",
+ "consent.screen.text": "${profileScopeConsentText}"
},
"protocolMappers": [
{
- "id": "ecb34ff7-d27d-4696-b536-0512044b21a9",
- "name": "website",
+ "id": "a59584ab-7a7c-4b23-95b5-be8dbbfadc6f",
+ "name": "family name",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-attribute-mapper",
+ "protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "website",
+ "user.attribute": "lastName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "website",
+ "claim.name": "family_name",
"jsonType.label": "String"
}
},
{
- "id": "f3cf3c8b-891a-48a1-97b3-1d10d55ddecd",
- "name": "locale",
+ "id": "d382c1dc-d5d8-479e-8809-f0a618113a07",
+ "name": "website",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "locale",
+ "user.attribute": "website",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "locale",
+ "claim.name": "website",
"jsonType.label": "String"
}
},
{
- "id": "fa3b86c8-abaf-4261-b48d-41cd3cf2dc6a",
+ "id": "559f86c1-1187-498d-8354-723f4ea5721c",
"name": "full name",
"protocol": "openid-connect",
"protocolMapper": "oidc-full-name-mapper",
@@ -1291,82 +1375,82 @@
}
},
{
- "id": "219532f1-3c5c-4b30-a018-ae99adb6fc87",
- "name": "birthdate",
+ "id": "0925e106-a8e2-4ad1-b75e-4147d185894a",
+ "name": "updated at",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "birthdate",
+ "user.attribute": "updatedAt",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "birthdate",
+ "claim.name": "updated_at",
"jsonType.label": "String"
}
},
{
- "id": "c443f4cd-1174-49a7-a2b3-65d5ccde5efa",
- "name": "nickname",
+ "id": "eb8e2c73-5c65-4b53-8d55-46edef61315b",
+ "name": "locale",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "nickname",
+ "user.attribute": "locale",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "nickname",
+ "claim.name": "locale",
"jsonType.label": "String"
}
},
{
- "id": "14631b9c-83eb-48ab-a224-29f047015e52",
- "name": "username",
+ "id": "4c109376-01bc-4b69-a3c0-4b830ecad674",
+ "name": "middle name",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
+ "protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "username",
+ "user.attribute": "middleName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "preferred_username",
+ "claim.name": "middle_name",
"jsonType.label": "String"
}
},
{
- "id": "cedd1f1b-951a-4332-9fa1-2edf1a266283",
- "name": "middle name",
+ "id": "b3813956-e556-4b57-a06b-f71b0d6f3d47",
+ "name": "nickname",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "middleName",
+ "user.attribute": "nickname",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "middle_name",
+ "claim.name": "nickname",
"jsonType.label": "String"
}
},
{
- "id": "5a33d5e4-e124-412e-be4d-b6b28b41382a",
- "name": "family name",
+ "id": "28beb4c0-029b-4aa5-ad5f-6d824ca67e15",
+ "name": "username",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "lastName",
+ "user.attribute": "username",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "family_name",
+ "claim.name": "preferred_username",
"jsonType.label": "String"
}
},
{
- "id": "c4122959-6738-4883-b50a-acd0033a477a",
+ "id": "53d681bc-ec29-4f57-924b-ff5bd22d4093",
"name": "profile",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
@@ -1381,84 +1465,84 @@
}
},
{
- "id": "d7db1b88-2c3c-419a-91cf-19ad13355a56",
- "name": "zoneinfo",
+ "id": "12ba8e12-157d-4729-918b-0d74fa444fba",
+ "name": "picture",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "zoneinfo",
+ "user.attribute": "picture",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "zoneinfo",
+ "claim.name": "picture",
"jsonType.label": "String"
}
},
{
- "id": "dfd19868-5c87-4a51-80e0-2a82dfabb16c",
- "name": "updated at",
+ "id": "ddb818fe-8e4a-4b26-9c5d-2467a26af6dc",
+ "name": "gender",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "updatedAt",
+ "user.attribute": "gender",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "updated_at",
+ "claim.name": "gender",
"jsonType.label": "String"
}
},
{
- "id": "19551b04-fc0c-44c4-b2bf-966da87ba3c3",
- "name": "given name",
+ "id": "f78b1746-2be1-45f4-9c1e-1f6141ccdb65",
+ "name": "birthdate",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
+ "protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "firstName",
+ "user.attribute": "birthdate",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "given_name",
+ "claim.name": "birthdate",
"jsonType.label": "String"
}
},
{
- "id": "c422b63f-e809-41c2-854c-e801e8e25485",
- "name": "gender",
+ "id": "7723245c-4952-4822-86ae-084048b1f2f2",
+ "name": "given name",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-attribute-mapper",
+ "protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "gender",
+ "user.attribute": "firstName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "gender",
+ "claim.name": "given_name",
"jsonType.label": "String"
}
},
{
- "id": "2ccf435c-c255-4715-8dcd-15091f97c5a5",
- "name": "picture",
+ "id": "b192fe9f-aa82-4d7d-b8c7-eb7d1ba888d4",
+ "name": "zoneinfo",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-attribute-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "picture",
+ "user.attribute": "zoneinfo",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "picture",
+ "claim.name": "zoneinfo",
"jsonType.label": "String"
}
}
]
},
{
- "id": "391f1641-cb22-41a3-a0ed-752d9264aaf5",
+ "id": "d181691e-b4a6-4063-9eba-6b984402a9a7",
"name": "role_list",
"description": "SAML role list",
"protocol": "saml",
@@ -1468,7 +1552,7 @@
},
"protocolMappers": [
{
- "id": "7cbb4477-af0c-4394-a754-b72a1b4638e0",
+ "id": "724b16d4-8a9b-42d8-850f-99ca1ab3c958",
"name": "role list",
"protocol": "saml",
"protocolMapper": "saml-role-list-mapper",
@@ -1482,7 +1566,7 @@
]
},
{
- "id": "021d9ac1-9650-401c-b2a2-efa2f3e6b70c",
+ "id": "915fcb95-81da-4e4c-86ee-73f3b52c83e9",
"name": "roles",
"description": "OpenID Connect scope for add user roles to the access token",
"protocol": "openid-connect",
@@ -1493,21 +1577,15 @@
},
"protocolMappers": [
{
- "id": "bbbd7dc1-63d0-468f-9463-4772833ef2fa",
- "name": "client roles",
+ "id": "12f0b32d-8911-4028-809b-fc1c0e5e9207",
+ "name": "audience resolve",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-client-role-mapper",
+ "protocolMapper": "oidc-audience-resolve-mapper",
"consentRequired": false,
- "config": {
- "user.attribute": "foo",
- "access.token.claim": "true",
- "claim.name": "resource_access.${client_id}.roles",
- "jsonType.label": "String",
- "multivalued": "true"
- }
+ "config": {}
},
{
- "id": "9271d821-b803-406d-8574-2f5a2693f065",
+ "id": "5b997b66-937f-46d3-9e8b-70dca949f682",
"name": "realm roles",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-realm-role-mapper",
@@ -1521,17 +1599,23 @@
}
},
{
- "id": "90b1a715-e12e-4af8-89f6-82a370d57d1a",
- "name": "audience resolve",
+ "id": "cdcd6969-a9aa-4de5-adbe-dc83da4184c5",
+ "name": "client roles",
"protocol": "openid-connect",
- "protocolMapper": "oidc-audience-resolve-mapper",
+ "protocolMapper": "oidc-usermodel-client-role-mapper",
"consentRequired": false,
- "config": {}
+ "config": {
+ "user.attribute": "foo",
+ "access.token.claim": "true",
+ "claim.name": "resource_access.${client_id}.roles",
+ "jsonType.label": "String",
+ "multivalued": "true"
+ }
}
]
},
{
- "id": "84fdcb72-668b-408e-aaea-110d594afe5e",
+ "id": "2daaac74-636f-4074-87a9-d1aba9dffb96",
"name": "web-origins",
"description": "OpenID Connect scope for add allowed web origins to the access token",
"protocol": "openid-connect",
@@ -1542,7 +1626,7 @@
},
"protocolMappers": [
{
- "id": "134b3451-cf2d-4ead-8fce-bf24b32f014c",
+ "id": "752e035f-038d-46ac-b65d-91f863fdd986",
"name": "allowed web origins",
"protocol": "openid-connect",
"protocolMapper": "oidc-allowed-origins-mapper",
@@ -1553,16 +1637,16 @@
}
],
"defaultDefaultClientScopes": [
- "roles",
- "role_list",
- "email",
"web-origins",
- "profile"
+ "email",
+ "profile",
+ "roles",
+ "role_list"
],
"defaultOptionalClientScopes": [
+ "offline_access",
"phone",
"address",
- "offline_access",
"microprofile-jwt"
],
"browserSecurityHeaders": {
@@ -1582,76 +1666,43 @@
"enabledEventTypes": [],
"adminEventsEnabled": false,
"adminEventsDetailsEnabled": false,
+ "identityProviders": [],
+ "identityProviderMappers": [],
"components": {
"org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy": [
{
- "id": "96bb5289-e057-4a3d-a273-89372bbc8cc0",
- "name": "Allowed Client Scopes",
- "providerId": "allowed-client-templates",
- "subType": "authenticated",
- "subComponents": {},
- "config": {
- "allow-default-scopes": [
- "true"
- ]
- }
- },
- {
- "id": "5782d02c-2ba5-47d1-9732-dfaaf0e5cfdf",
+ "id": "827fde01-dc1b-4c1f-a529-9ef833ca3432",
"name": "Allowed Protocol Mapper Types",
"providerId": "allowed-protocol-mappers",
"subType": "authenticated",
"subComponents": {},
"config": {
"allowed-protocol-mapper-types": [
- "oidc-full-name-mapper",
- "saml-user-property-mapper",
- "oidc-usermodel-attribute-mapper",
+ "oidc-usermodel-property-mapper",
+ "oidc-sha256-pairwise-sub-mapper",
"saml-user-attribute-mapper",
+ "saml-user-property-mapper",
"oidc-address-mapper",
+ "oidc-full-name-mapper",
"saml-role-list-mapper",
- "oidc-usermodel-property-mapper",
- "oidc-sha256-pairwise-sub-mapper"
+ "oidc-usermodel-attribute-mapper"
]
}
},
{
- "id": "c8d395e2-dd81-4118-b838-7095be5cc1c8",
- "name": "Allowed Protocol Mapper Types",
- "providerId": "allowed-protocol-mappers",
- "subType": "anonymous",
+ "id": "0a429e7e-be7a-46b4-b42a-d1f8b265ff16",
+ "name": "Allowed Client Scopes",
+ "providerId": "allowed-client-templates",
+ "subType": "authenticated",
"subComponents": {},
"config": {
- "allowed-protocol-mapper-types": [
- "oidc-address-mapper",
- "oidc-full-name-mapper",
- "oidc-usermodel-attribute-mapper",
- "oidc-usermodel-property-mapper",
- "saml-user-attribute-mapper",
- "saml-user-property-mapper",
- "oidc-sha256-pairwise-sub-mapper",
- "saml-role-list-mapper"
+ "allow-default-scopes": [
+ "true"
]
}
},
{
- "id": "1175c6f8-2d58-437f-bb21-4660c8c1a62c",
- "name": "Full Scope Disabled",
- "providerId": "scope",
- "subType": "anonymous",
- "subComponents": {},
- "config": {}
- },
- {
- "id": "4bd2778a-908f-4ac3-873f-61e674eecc2f",
- "name": "Consent Required",
- "providerId": "consent-required",
- "subType": "anonymous",
- "subComponents": {},
- "config": {}
- },
- {
- "id": "65809493-b60f-4b44-b1dc-28a22772c321",
+ "id": "5a1ff0b4-250f-48ee-8169-abff30cf7534",
"name": "Allowed Client Scopes",
"providerId": "allowed-client-templates",
"subType": "anonymous",
@@ -1663,7 +1714,15 @@
}
},
{
- "id": "950acf43-614d-47a3-a7c9-d5072433c4b8",
+ "id": "c79f6629-84a9-467c-81d0-63e20b19f916",
+ "name": "Full Scope Disabled",
+ "providerId": "scope",
+ "subType": "anonymous",
+ "subComponents": {},
+ "config": {}
+ },
+ {
+ "id": "b6b23ef8-96e8-4e2e-8efe-8003057a8d42",
"name": "Max Clients Limit",
"providerId": "max-clients",
"subType": "anonymous",
@@ -1675,7 +1734,7 @@
}
},
{
- "id": "e2a65f9f-5ad8-4634-ab3a-810409a3e067",
+ "id": "36dfaa02-0252-4448-9cdf-a17abf239f78",
"name": "Trusted Hosts",
"providerId": "trusted-hosts",
"subType": "anonymous",
@@ -1688,22 +1747,46 @@
"true"
]
}
- }
- ],
- "org.keycloak.keys.KeyProvider": [
+ },
{
- "id": "8ab3be1d-3e01-4eb6-8ff2-d116b02ffc48",
- "name": "aes-generated",
- "providerId": "aes-generated",
- "subComponents": {},
- "config": {
- "priority": [
- "100"
+ "id": "8216421d-34fb-4726-8331-137217657bdb",
+ "name": "Allowed Protocol Mapper Types",
+ "providerId": "allowed-protocol-mappers",
+ "subType": "anonymous",
+ "subComponents": {},
+ "config": {
+ "allowed-protocol-mapper-types": [
+ "oidc-address-mapper",
+ "oidc-usermodel-attribute-mapper",
+ "saml-user-property-mapper",
+ "saml-user-attribute-mapper",
+ "saml-role-list-mapper",
+ "oidc-full-name-mapper",
+ "oidc-usermodel-property-mapper",
+ "oidc-sha256-pairwise-sub-mapper"
]
}
},
{
- "id": "2a3661d8-3594-4872-881a-9f2d394b675d",
+ "id": "d045f3f9-15e6-4e69-a419-0e7ff8a635ef",
+ "name": "Consent Required",
+ "providerId": "consent-required",
+ "subType": "anonymous",
+ "subComponents": {},
+ "config": {}
+ }
+ ],
+ "org.keycloak.userprofile.UserProfileProvider": [
+ {
+ "id": "b05ccf0d-d8ac-4695-bd60-37018f8f94b4",
+ "providerId": "declarative-user-profile",
+ "subComponents": {},
+ "config": {}
+ }
+ ],
+ "org.keycloak.keys.KeyProvider": [
+ {
+ "id": "62707fae-58f9-4fc2-89fb-0c5d212dc3dc",
"name": "rsa-generated",
"providerId": "rsa-generated",
"subComponents": {},
@@ -1714,10 +1797,24 @@
}
},
{
- "id": "1d291cea-3d41-41cb-9ab6-ef1513fe3fe8",
+ "id": "4a8480bc-96fd-4906-a907-f948a73bab38",
"name": "hmac-generated",
"providerId": "hmac-generated",
"subComponents": {},
+ "config": {
+ "priority": [
+ "100"
+ ],
+ "algorithm": [
+ "HS256"
+ ]
+ }
+ },
+ {
+ "id": "40c01a32-0c0b-4dbb-9595-e5a5c8d26bc4",
+ "name": "aes-generated",
+ "providerId": "aes-generated",
+ "subComponents": {},
"config": {
"priority": [
"100"
@@ -1730,94 +1827,188 @@
"supportedLocales": [],
"authenticationFlows": [
{
- "id": "20a3af86-1f13-489d-bb67-db3b7df52875",
- "alias": "Handle Existing Account",
- "description": "Handle what to do if there is existing account with same email/username like authenticated identity provider",
+ "id": "491fbbc9-b70b-45bd-8243-2039ae3f115d",
+ "alias": "Account verification options",
+ "description": "Method with which to verity the existing account",
"providerId": "basic-flow",
"topLevel": false,
"builtIn": true,
"authenticationExecutions": [
{
- "authenticator": "idp-confirm-link",
+ "authenticator": "idp-email-verification",
+ "authenticatorFlow": false,
+ "requirement": "ALTERNATIVE",
+ "priority": 10,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticatorFlow": true,
+ "requirement": "ALTERNATIVE",
+ "priority": 20,
+ "flowAlias": "Verify Existing Account by Re-authentication",
+ "userSetupAllowed": false,
+ "autheticatorFlow": true
+ }
+ ]
+ },
+ {
+ "id": "2c63ad60-76ab-4350-9def-74328bab70d0",
+ "alias": "Authentication Options",
+ "description": "Authentication options.",
+ "providerId": "basic-flow",
+ "topLevel": false,
+ "builtIn": true,
+ "authenticationExecutions": [
+ {
+ "authenticator": "basic-auth",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticator": "basic-auth-otp",
+ "authenticatorFlow": false,
+ "requirement": "DISABLED",
+ "priority": 20,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticator": "auth-spnego",
+ "authenticatorFlow": false,
+ "requirement": "DISABLED",
+ "priority": 30,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ }
+ ]
+ },
+ {
+ "id": "82b9b584-2243-4893-b58c-4567f34434a6",
+ "alias": "Browser - Conditional OTP",
+ "description": "Flow to determine if the OTP is required for the authentication",
+ "providerId": "basic-flow",
+ "topLevel": false,
+ "builtIn": true,
+ "authenticationExecutions": [
+ {
+ "authenticator": "conditional-user-configured",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
+ "priority": 10,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticator": "auth-otp-form",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 20,
- "flowAlias": "Handle Existing Account - Alternatives - 0",
"userSetupAllowed": false,
- "autheticatorFlow": true
+ "autheticatorFlow": false
}
]
},
{
- "id": "bd5b10aa-4005-4ea6-8995-9d1caac7b53e",
- "alias": "Handle Existing Account - Alternatives - 0",
- "description": "Subflow of Handle Existing Account with alternative executions",
+ "id": "e70e7c74-8ab5-411c-b06c-d478a452bee3",
+ "alias": "Direct Grant - Conditional OTP",
+ "description": "Flow to determine if the OTP is required for the authentication",
"providerId": "basic-flow",
"topLevel": false,
"builtIn": true,
"authenticationExecutions": [
{
- "authenticator": "idp-email-verification",
- "requirement": "ALTERNATIVE",
+ "authenticator": "conditional-user-configured",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
- "requirement": "ALTERNATIVE",
+ "authenticator": "direct-grant-validate-otp",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
"priority": 20,
- "flowAlias": "Verify Existing Account by Re-authentication",
"userSetupAllowed": false,
- "autheticatorFlow": true
+ "autheticatorFlow": false
}
]
},
{
- "id": "1a5ca248-a893-40ad-b184-63f59c06e988",
- "alias": "Verify Existing Account by Re-authentication",
- "description": "Reauthentication of existing account",
+ "id": "4f3e6fdd-9b4d-4dc0-946a-1e1ccae7af71",
+ "alias": "First broker login - Conditional OTP",
+ "description": "Flow to determine if the OTP is required for the authentication",
"providerId": "basic-flow",
"topLevel": false,
"builtIn": true,
"authenticationExecutions": [
{
- "authenticator": "idp-username-password-form",
+ "authenticator": "conditional-user-configured",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
- "requirement": "CONDITIONAL",
+ "authenticator": "auth-otp-form",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
+ "priority": 20,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ }
+ ]
+ },
+ {
+ "id": "aa66c794-f21b-4663-9de1-9e27a7e425ab",
+ "alias": "Handle Existing Account",
+ "description": "Handle what to do if there is existing account with same email/username like authenticated identity provider",
+ "providerId": "basic-flow",
+ "topLevel": false,
+ "builtIn": true,
+ "authenticationExecutions": [
+ {
+ "authenticator": "idp-confirm-link",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
+ "priority": 10,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticatorFlow": true,
+ "requirement": "REQUIRED",
"priority": 20,
- "flowAlias": "Verify Existing Account by Re-authentication - auth-otp-form - Conditional",
+ "flowAlias": "Account verification options",
"userSetupAllowed": false,
"autheticatorFlow": true
}
]
},
{
- "id": "e13aa76b-dfe1-4158-82f2-c4bad23cf32a",
- "alias": "Verify Existing Account by Re-authentication - auth-otp-form - Conditional",
- "description": "Flow to determine if the auth-otp-form authenticator should be used or not.",
+ "id": "2d4499a0-399c-4b6c-970c-7b441498f7b9",
+ "alias": "Reset - Conditional OTP",
+ "description": "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.",
"providerId": "basic-flow",
"topLevel": false,
"builtIn": true,
"authenticationExecutions": [
{
"authenticator": "conditional-user-configured",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
- "authenticator": "auth-otp-form",
+ "authenticator": "reset-otp",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 20,
"userSetupAllowed": false,
@@ -1826,7 +2017,60 @@
]
},
{
- "id": "173ece89-908a-4c0e-9a6e-ccf6c871a2fc",
+ "id": "710f4172-56a5-466e-bc75-ad7405ff62b5",
+ "alias": "User creation or linking",
+ "description": "Flow for the existing/non-existing user alternatives",
+ "providerId": "basic-flow",
+ "topLevel": false,
+ "builtIn": true,
+ "authenticationExecutions": [
+ {
+ "authenticatorConfig": "create unique user config",
+ "authenticator": "idp-create-user-if-unique",
+ "authenticatorFlow": false,
+ "requirement": "ALTERNATIVE",
+ "priority": 10,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticatorFlow": true,
+ "requirement": "ALTERNATIVE",
+ "priority": 20,
+ "flowAlias": "Handle Existing Account",
+ "userSetupAllowed": false,
+ "autheticatorFlow": true
+ }
+ ]
+ },
+ {
+ "id": "da7d3a39-7077-4354-9ffc-5b9f79fbaf0d",
+ "alias": "Verify Existing Account by Re-authentication",
+ "description": "Reauthentication of existing account",
+ "providerId": "basic-flow",
+ "topLevel": false,
+ "builtIn": true,
+ "authenticationExecutions": [
+ {
+ "authenticator": "idp-username-password-form",
+ "authenticatorFlow": false,
+ "requirement": "REQUIRED",
+ "priority": 10,
+ "userSetupAllowed": false,
+ "autheticatorFlow": false
+ },
+ {
+ "authenticatorFlow": true,
+ "requirement": "CONDITIONAL",
+ "priority": 20,
+ "flowAlias": "First broker login - Conditional OTP",
+ "userSetupAllowed": false,
+ "autheticatorFlow": true
+ }
+ ]
+ },
+ {
+ "id": "6285968e-6200-463a-a329-8c60bc8fe9fc",
"alias": "browser",
"description": "browser based authentication",
"providerId": "basic-flow",
@@ -1835,6 +2079,7 @@
"authenticationExecutions": [
{
"authenticator": "auth-cookie",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 10,
"userSetupAllowed": false,
@@ -1842,6 +2087,7 @@
},
{
"authenticator": "auth-spnego",
+ "authenticatorFlow": false,
"requirement": "DISABLED",
"priority": 20,
"userSetupAllowed": false,
@@ -1849,12 +2095,14 @@
},
{
"authenticator": "identity-provider-redirector",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 25,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticatorFlow": true,
"requirement": "ALTERNATIVE",
"priority": 30,
"flowAlias": "forms",
@@ -1864,7 +2112,7 @@
]
},
{
- "id": "4f469fff-9c0f-40d5-94d2-87ce8ecd34b7",
+ "id": "10393f04-3922-40db-a622-2655dfcae45d",
"alias": "clients",
"description": "Base authentication for clients",
"providerId": "client-flow",
@@ -1873,6 +2121,7 @@
"authenticationExecutions": [
{
"authenticator": "client-secret",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 10,
"userSetupAllowed": false,
@@ -1880,6 +2129,7 @@
},
{
"authenticator": "client-jwt",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 20,
"userSetupAllowed": false,
@@ -1887,6 +2137,7 @@
},
{
"authenticator": "client-secret-jwt",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 30,
"userSetupAllowed": false,
@@ -1894,6 +2145,7 @@
},
{
"authenticator": "client-x509",
+ "authenticatorFlow": false,
"requirement": "ALTERNATIVE",
"priority": 40,
"userSetupAllowed": false,
@@ -1902,7 +2154,7 @@
]
},
{
- "id": "d17ed54c-9c98-4155-b8eb-c697101a325d",
+ "id": "4e5e164e-3c7e-4ca5-a10c-d7b817a7d468",
"alias": "direct grant",
"description": "OpenID Connect Resource Owner Grant",
"providerId": "basic-flow",
@@ -1911,6 +2163,7 @@
"authenticationExecutions": [
{
"authenticator": "direct-grant-validate-username",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
@@ -1918,46 +2171,24 @@
},
{
"authenticator": "direct-grant-validate-password",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 20,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticatorFlow": true,
"requirement": "CONDITIONAL",
"priority": 30,
- "flowAlias": "direct grant - direct-grant-validate-otp - Conditional",
+ "flowAlias": "Direct Grant - Conditional OTP",
"userSetupAllowed": false,
"autheticatorFlow": true
}
]
},
{
- "id": "b4d3e6be-fd6d-4588-a4cc-cfe4420c1fba",
- "alias": "direct grant - direct-grant-validate-otp - Conditional",
- "description": "Flow to determine if the direct-grant-validate-otp authenticator should be used or not.",
- "providerId": "basic-flow",
- "topLevel": false,
- "builtIn": true,
- "authenticationExecutions": [
- {
- "authenticator": "conditional-user-configured",
- "requirement": "REQUIRED",
- "priority": 10,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "authenticator": "direct-grant-validate-otp",
- "requirement": "REQUIRED",
- "priority": 20,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- }
- ]
- },
- {
- "id": "7c5067b6-513d-4676-9afa-47b199c7194e",
+ "id": "80f88b0b-70de-4e4c-ae56-0293558301c5",
"alias": "docker auth",
"description": "Used by Docker clients to authenticate against the IDP",
"providerId": "basic-flow",
@@ -1966,6 +2197,7 @@
"authenticationExecutions": [
{
"authenticator": "docker-http-basic-authenticator",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
@@ -1974,7 +2206,7 @@
]
},
{
- "id": "76be1624-c049-4e13-8ecd-8d01ac9433ac",
+ "id": "821af41a-6e77-4e8c-85a6-0280d5268909",
"alias": "first broker login",
"description": "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account",
"providerId": "basic-flow",
@@ -1984,47 +2216,24 @@
{
"authenticatorConfig": "review profile config",
"authenticator": "idp-review-profile",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticatorFlow": true,
"requirement": "REQUIRED",
"priority": 20,
- "flowAlias": "first broker login - Alternatives - 0",
- "userSetupAllowed": false,
- "autheticatorFlow": true
- }
- ]
- },
- {
- "id": "91ee6c4e-dedd-4024-b6a8-c332ef2444a5",
- "alias": "first broker login - Alternatives - 0",
- "description": "Subflow of first broker login with alternative executions",
- "providerId": "basic-flow",
- "topLevel": false,
- "builtIn": true,
- "authenticationExecutions": [
- {
- "authenticatorConfig": "create unique user config",
- "authenticator": "idp-create-user-if-unique",
- "requirement": "ALTERNATIVE",
- "priority": 10,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "requirement": "ALTERNATIVE",
- "priority": 20,
- "flowAlias": "Handle Existing Account",
+ "flowAlias": "User creation or linking",
"userSetupAllowed": false,
"autheticatorFlow": true
}
]
},
{
- "id": "2dc1cb10-ea2c-48a2-8131-3c950784a60e",
+ "id": "c4058fb0-ad93-4595-96ef-7d4bc5cbef4d",
"alias": "forms",
"description": "Username, password, otp and other auth forms.",
"providerId": "basic-flow",
@@ -2033,46 +2242,24 @@
"authenticationExecutions": [
{
"authenticator": "auth-username-password-form",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticatorFlow": true,
"requirement": "CONDITIONAL",
"priority": 20,
- "flowAlias": "forms - auth-otp-form - Conditional",
+ "flowAlias": "Browser - Conditional OTP",
"userSetupAllowed": false,
"autheticatorFlow": true
}
]
},
{
- "id": "7cdad543-5bdf-4f4a-a527-34e1b30889de",
- "alias": "forms - auth-otp-form - Conditional",
- "description": "Flow to determine if the auth-otp-form authenticator should be used or not.",
- "providerId": "basic-flow",
- "topLevel": false,
- "builtIn": true,
- "authenticationExecutions": [
- {
- "authenticator": "conditional-user-configured",
- "requirement": "REQUIRED",
- "priority": 10,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "authenticator": "auth-otp-form",
- "requirement": "REQUIRED",
- "priority": 20,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- }
- ]
- },
- {
- "id": "98562c33-8964-42c4-8a69-204226d0c4c7",
+ "id": "a2a1d056-2521-498f-b345-b7db56f9342c",
"alias": "http challenge",
"description": "An authentication flow based on challenge-response HTTP Authentication Schemes",
"providerId": "basic-flow",
@@ -2081,36 +2268,24 @@
"authenticationExecutions": [
{
"authenticator": "no-cookie-redirect",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
- "authenticator": "basic-auth",
+ "authenticatorFlow": true,
"requirement": "REQUIRED",
"priority": 20,
+ "flowAlias": "Authentication Options",
"userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "authenticator": "basic-auth-otp",
- "requirement": "DISABLED",
- "priority": 30,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "authenticator": "auth-spnego",
- "requirement": "DISABLED",
- "priority": 40,
- "userSetupAllowed": false,
- "autheticatorFlow": false
+ "autheticatorFlow": true
}
]
},
{
- "id": "6f1cb686-0852-4600-8eec-7c00cb465b35",
+ "id": "13e68e1b-4b44-4f21-a253-5b2dea24404b",
"alias": "registration",
"description": "registration flow",
"providerId": "basic-flow",
@@ -2119,6 +2294,7 @@
"authenticationExecutions": [
{
"authenticator": "registration-page-form",
+ "authenticatorFlow": true,
"requirement": "REQUIRED",
"priority": 10,
"flowAlias": "registration form",
@@ -2128,7 +2304,7 @@
]
},
{
- "id": "f335a41a-4044-43bf-ab0a-c39ea0a9246e",
+ "id": "e7588789-22d4-459b-96d6-1b480520f487",
"alias": "registration form",
"description": "registration form",
"providerId": "form-flow",
@@ -2137,6 +2313,7 @@
"authenticationExecutions": [
{
"authenticator": "registration-user-creation",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 20,
"userSetupAllowed": false,
@@ -2144,6 +2321,7 @@
},
{
"authenticator": "registration-profile-action",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 40,
"userSetupAllowed": false,
@@ -2151,6 +2329,7 @@
},
{
"authenticator": "registration-password-action",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 50,
"userSetupAllowed": false,
@@ -2158,6 +2337,7 @@
},
{
"authenticator": "registration-recaptcha-action",
+ "authenticatorFlow": false,
"requirement": "DISABLED",
"priority": 60,
"userSetupAllowed": false,
@@ -2166,7 +2346,7 @@
]
},
{
- "id": "d1364557-be6a-4e58-9db0-d1fda2305e6e",
+ "id": "8dc399ef-cf7d-46d5-9688-678c146ea8c4",
"alias": "reset credentials",
"description": "Reset credentials for a user if they forgot their password or something",
"providerId": "basic-flow",
@@ -2175,6 +2355,7 @@
"authenticationExecutions": [
{
"authenticator": "reset-credentials-choose-user",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
@@ -2182,6 +2363,7 @@
},
{
"authenticator": "reset-credential-email",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 20,
"userSetupAllowed": false,
@@ -2189,46 +2371,24 @@
},
{
"authenticator": "reset-password",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 30,
"userSetupAllowed": false,
"autheticatorFlow": false
},
{
+ "authenticatorFlow": true,
"requirement": "CONDITIONAL",
"priority": 40,
- "flowAlias": "reset credentials - reset-otp - Conditional",
+ "flowAlias": "Reset - Conditional OTP",
"userSetupAllowed": false,
"autheticatorFlow": true
}
]
},
{
- "id": "558b807f-fed5-4c79-a80e-136a4468fbc5",
- "alias": "reset credentials - reset-otp - Conditional",
- "description": "Flow to determine if the reset-otp authenticator should be used or not.",
- "providerId": "basic-flow",
- "topLevel": false,
- "builtIn": true,
- "authenticationExecutions": [
- {
- "authenticator": "conditional-user-configured",
- "requirement": "REQUIRED",
- "priority": 10,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- },
- {
- "authenticator": "reset-otp",
- "requirement": "REQUIRED",
- "priority": 20,
- "userSetupAllowed": false,
- "autheticatorFlow": false
- }
- ]
- },
- {
- "id": "e86247fb-5e43-41fb-88f4-355a32d2b89d",
+ "id": "47ab5a7a-f67a-4a66-bdac-932ee230000d",
"alias": "saml ecp",
"description": "SAML ECP Profile Authentication Flow",
"providerId": "basic-flow",
@@ -2237,6 +2397,7 @@
"authenticationExecutions": [
{
"authenticator": "http-basic-authenticator",
+ "authenticatorFlow": false,
"requirement": "REQUIRED",
"priority": 10,
"userSetupAllowed": false,
@@ -2247,14 +2408,14 @@
],
"authenticatorConfig": [
{
- "id": "d2ce2a29-3a8f-4797-9529-b5e498d835b7",
+ "id": "b12be521-4e2b-42f0-a1a2-f1ba47ab4854",
"alias": "create unique user config",
"config": {
"require.password.update.after.registration": "false"
}
},
{
- "id": "949fe63b-47a4-41b6-9872-0aabe1806b57",
+ "id": "58bf2d56-1c45-4acc-9005-23b978d961d7",
"alias": "review profile config",
"config": {
"update.profile.on.first.login": "missing"
@@ -2307,6 +2468,15 @@
"priority": 50,
"config": {}
},
+ {
+ "alias": "delete_account",
+ "name": "Delete Account",
+ "providerId": "delete_account",
+ "enabled": false,
+ "defaultAction": false,
+ "priority": 60,
+ "config": {}
+ },
{
"alias": "update_user_locale",
"name": "Update User Locale",
@@ -2324,44 +2494,84 @@
"clientAuthenticationFlow": "clients",
"dockerAuthenticationFlow": "docker auth",
"attributes": {
- "webAuthnPolicyAuthenticatorAttachment": "not specified",
- "_browser_header.xRobotsTag": "none",
- "webAuthnPolicyAttestationConveyancePreferencePasswordless": "not specified",
- "webAuthnPolicyRequireResidentKeyPasswordless": "not specified",
- "webAuthnPolicySignatureAlgorithmsPasswordless": "ES256",
- "webAuthnPolicyRpEntityName": "keycloak",
- "webAuthnPolicyAvoidSameAuthenticatorRegisterPasswordless": "false",
- "failureFactor": "30",
- "webAuthnPolicyAuthenticatorAttachmentPasswordless": "not specified",
- "actionTokenGeneratedByUserLifespan": "300",
- "maxDeltaTimeSeconds": "43200",
- "webAuthnPolicySignatureAlgorithms": "ES256",
- "webAuthnPolicyRpEntityNamePasswordless": "keycloak",
- "offlineSessionMaxLifespan": "5184000",
- "_browser_header.contentSecurityPolicyReportOnly": "",
- "bruteForceProtected": "false",
- "webAuthnPolicyRpIdPasswordless": "",
- "_browser_header.contentSecurityPolicy": "frame-src 'self'; frame-ancestors 'self'; object-src 'none';",
- "_browser_header.xXSSProtection": "1; mode=block",
- "_browser_header.xFrameOptions": "SAMEORIGIN",
- "_browser_header.strictTransportSecurity": "max-age=31536000; includeSubDomains",
- "webAuthnPolicyUserVerificationRequirement": "not specified",
- "permanentLockout": "false",
- "quickLoginCheckMilliSeconds": "1000",
- "webAuthnPolicyCreateTimeout": "0",
- "webAuthnPolicyRequireResidentKey": "not specified",
- "webAuthnPolicyRpId": "",
- "webAuthnPolicyAttestationConveyancePreference": "not specified",
- "maxFailureWaitSeconds": "900",
- "minimumQuickLoginWaitSeconds": "60",
- "webAuthnPolicyCreateTimeoutPasswordless": "0",
- "webAuthnPolicyAvoidSameAuthenticatorRegister": "false",
- "webAuthnPolicyUserVerificationRequirementPasswordless": "not specified",
- "_browser_header.xContentTypeOptions": "nosniff",
- "actionTokenGeneratedByAdminLifespan": "43200",
- "waitIncrementSeconds": "60",
- "offlineSessionMaxLifespanEnabled": "false"
+ "cibaBackchannelTokenDeliveryMode": "poll",
+ "cibaExpiresIn": "120",
+ "cibaAuthRequestedUserHint": "login_hint",
+ "oauth2DeviceCodeLifespan": "600",
+ "clientOfflineSessionMaxLifespan": "0",
+ "oauth2DevicePollingInterval": "5",
+ "clientSessionIdleTimeout": "0",
+ "clientSessionMaxLifespan": "0",
+ "parRequestUriLifespan": "60",
+ "clientOfflineSessionIdleTimeout": "0",
+ "cibaInterval": "5",
+ "frontendUrl": "",
+ "acr.loa.map": "[]"
+ },
+ "keycloakVersion": "19.0.1",
+ "userManagedAccessAllowed": false,
+ "clientProfiles": {
+ "profiles": []
+ },
+ "clientPolicies": {
+ "policies": []
},
- "keycloakVersion": "9.0.0",
- "userManagedAccessAllowed": false
+ "users": [
+ {
+ "id": "4c973896-5761-41fc-8217-07c5d13a004b",
+ "createdTimestamp": 1505479415590,
+ "username": "admin",
+ "enabled": true,
+ "totp": false,
+ "emailVerified": true,
+ "firstName": "Admin",
+ "lastName": "Administrator",
+ "email": "admin@localhost",
+ "credentials": [
+ {
+ "id": "b860462b-9b02-48ba-9523-d3a8926a917b",
+ "type": "password",
+ "createdDate": 1505479429154,
+ "secretData": "{\"value\":\"4pf9K2jWSCcHC+CwsZP/qidN5pSmDUe6AX6wBerSGdBVKkExay8MWKx+EKmaaObZW6FVsD8vdW/ZsyUFD9gJ1Q==\",\"salt\":\"1/qNkZ5kr77jOMOBPBogGw==\"}",
+ "credentialData": "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
+ }
+ ],
+ "disableableCredentialTypes": [],
+ "requiredActions": [],
+ "realmRoles": ["offline_access", "uma_authorization"],
+ "clientRoles": {
+ "account": ["view-profile", "manage-account"]
+ },
+ "notBefore": 0,
+ "groups": ["/Admins", "/Users"]
+ },
+ {
+ "id": "c4af4e2f-b432-4c3b-8405-cca86cd5b97b",
+ "createdTimestamp": 1505479373742,
+ "username": "user",
+ "enabled": true,
+ "totp": false,
+ "emailVerified": true,
+ "firstName": "",
+ "lastName": "User",
+ "email": "user@localhost",
+ "credentials": [
+ {
+ "id": "7821832b-1e82-45a2-b8d3-f1a6ad909e64",
+ "type": "password",
+ "createdDate": 1505479392766,
+ "secretData": "{\"value\":\"MbKsMgWPnZyImih8s4SaoCSCq+XIY/c6S9F93sXEidHF1TjPWxCqMkec0+o3860CMLXHt3az61cIJOWI0FW9aw==\",\"salt\":\"fmpBI1r8R1u75hDLMUlwBw==\"}",
+ "credentialData": "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
+ }
+ ],
+ "disableableCredentialTypes": [],
+ "requiredActions": [],
+ "realmRoles": ["offline_access", "uma_authorization"],
+ "clientRoles": {
+ "account": ["view-profile", "manage-account"]
+ },
+ "notBefore": 0,
+ "groups": ["/Users"]
+ }
+ ]
}
diff --git a/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs b/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs
deleted file mode 100644
index 4576a505..00000000
--- a/generators/server/templates/src/main/docker/config/realm-config/jhipster-users-0.json.ejs
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "realm" : "jhipster",
- "users" : [ {
- "id" : "4c973896-5761-41fc-8217-07c5d13a004b",
- "createdTimestamp" : 1505479415590,
- "username" : "admin",
- "enabled" : true,
- "totp" : false,
- "emailVerified" : true,
- "firstName" : "Admin",
- "lastName" : "Administrator",
- "email" : "admin@localhost",
- "credentials" : [ {
- "id" : "b860462b-9b02-48ba-9523-d3a8926a917b",
- "type" : "password",
- "createdDate" : 1505479429154,
- "secretData" : "{\"value\":\"4pf9K2jWSCcHC+CwsZP/qidN5pSmDUe6AX6wBerSGdBVKkExay8MWKx+EKmaaObZW6FVsD8vdW/ZsyUFD9gJ1Q==\",\"salt\":\"1/qNkZ5kr77jOMOBPBogGw==\"}",
- "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
- } ],
- "disableableCredentialTypes" : [ ],
- "requiredActions" : [ ],
- "realmRoles" : [ "offline_access", "uma_authorization" ],
- "clientRoles" : {
- "account" : [ "view-profile", "manage-account" ]
- },
- "notBefore" : 0,
- "groups" : [ "/Admins", "/Users" ]
- }, {
- "id" : "e3ab6777-e2d7-474e-b831-64e785d8be1f",
- "createdTimestamp" : 1576348683889,
- "username" : "service-account-internal",
- "enabled" : true,
- "totp" : false,
- "emailVerified" : false,
- "serviceAccountClientId" : "internal",
- "credentials" : [ ],
- "disableableCredentialTypes" : [ ],
- "requiredActions" : [ ],
- "realmRoles" : [ "offline_access", "uma_authorization" ],
- "clientRoles" : {
- "internal" : [ "uma_protection" ],
- "account" : [ "view-profile", "manage-account" ]
- },
- "notBefore" : 0,
- "groups" : [ ]
- }, {
- "id" : "c4af4e2f-b432-4c3b-8405-cca86cd5b97b",
- "createdTimestamp" : 1505479373742,
- "username" : "user",
- "enabled" : true,
- "totp" : false,
- "emailVerified" : true,
- "firstName" : "",
- "lastName" : "User",
- "email" : "user@localhost",
- "credentials" : [ {
- "id" : "7821832b-1e82-45a2-b8d3-f1a6ad909e64",
- "type" : "password",
- "createdDate" : 1505479392766,
- "secretData" : "{\"value\":\"MbKsMgWPnZyImih8s4SaoCSCq+XIY/c6S9F93sXEidHF1TjPWxCqMkec0+o3860CMLXHt3az61cIJOWI0FW9aw==\",\"salt\":\"fmpBI1r8R1u75hDLMUlwBw==\"}",
- "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\"}"
- } ],
- "disableableCredentialTypes" : [ ],
- "requiredActions" : [ ],
- "realmRoles" : [ "offline_access", "uma_authorization" ],
- "clientRoles" : {
- "account" : [ "view-profile", "manage-account" ]
- },
- "notBefore" : 0,
- "groups" : [ "/Users" ]
- } ]
-}
diff --git a/generators/server/templates/src/main/docker/keycloak.yml.ejs b/generators/server/templates/src/main/docker/keycloak.yml.ejs
deleted file mode 100644
index 5da65a35..00000000
--- a/generators/server/templates/src/main/docker/keycloak.yml.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<%#
- Copyright 2019-2023 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.
--%>
-version: '<%= DOCKER_COMPOSE_FORMAT_VERSION %>'
-services:
- keycloak:
- image: <%= DOCKER_KEYCLOAK %>
- command: ["-b", "0.0.0.0", "-Dkeycloak.migration.action=import", "-Dkeycloak.migration.provider=dir", "-Dkeycloak.migration.dir=/opt/jboss/keycloak/realm-config", "-Dkeycloak.migration.strategy=OVERWRITE_EXISTING", "-Djboss.socket.binding.port-offset=1000", "-Dkeycloak.profile.feature.upload_scripts=enabled"]
- volumes:
- - ./realm-config:/opt/jboss/keycloak/realm-config
- environment:
- - KEYCLOAK_USER=admin
- - KEYCLOAK_PASSWORD=admin
- - DB_VENDOR=h2
- ports:
- - 9080:9080
- - 9443:9443
- - 10990:10990
diff --git a/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs b/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs
index 2586de06..61174f8b 100644
--- a/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs
+++ b/generators/server/templates/src/main/java/package/web/rest/AccountResource.java.ejs
@@ -229,10 +229,14 @@ public class AccountResource {
@Post(value = "/account/reset-password/init", consumes = "text/plain")
@ExecuteOn(TaskExecutors.IO)
public void requestPasswordReset(@Body String mail) {
- mailService.sendPasswordResetMail(
- userService.requestPasswordReset(mail)
- .orElseThrow(EmailNotFoundException::new)
- );
+ Optional user = userService.requestPasswordReset(mail);
+ if (user.isPresent()) {
+ mailService.sendPasswordResetMail(user.orElseThrow());
+ } else {
+ // Pretend the request has been successful to prevent checking which emails really exist
+ // but log that an invalid attempt has been made
+ log.warn("Password reset requested for non existing mail");
+ }
}
/**
diff --git a/generators/server/templates/src/main/resources/application.yml.ejs b/generators/server/templates/src/main/resources/application.yml.ejs
index 609d1b56..4e5fdf09 100644
--- a/generators/server/templates/src/main/resources/application.yml.ejs
+++ b/generators/server/templates/src/main/resources/application.yml.ejs
@@ -70,7 +70,7 @@ micronaut:
client-id: web_app
<%_ } _%>
openid:
- issuer: http://localhost:9080/auth/realms/jhipster
+ issuer: http://localhost:9080/realms/jhipster
login-uri: /oauth2/authorization{/provider}
callback-uri: /oauth2/callback{/provider}
<%_ } _%>
diff --git a/package-lock.json b/package-lock.json
index 04a469c8..7e66ccb9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,7 @@
"license": "Apache-2.0",
"dependencies": {
"chalk": "4.1.2",
- "generator-jhipster": "7.8.1",
+ "generator-jhipster": "7.9.3",
"os": "^0.1.2"
},
"bin": {
@@ -571,33 +571,33 @@
}
},
"node_modules/@chevrotain/cst-dts-gen": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.1.2.tgz",
- "integrity": "sha512-E/XrL0QlzExycPzwhOEZGVOheJ/Clr5uNv3oCds88MiNqEmg3UU1iauZk7DhjsUo3jgEW4lf0I5HRl7/HC5ZkQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.3.0.tgz",
+ "integrity": "sha512-7DJPfCtfK1SU1/F3ZmmVv5IsTTcP/iiKFqU1m0H4VzJNvG3/GNxJFQjy4t/veWTAFSPWSj1WCNyq+sc5XKq9yA==",
"dependencies": {
- "@chevrotain/gast": "^10.1.2",
- "@chevrotain/types": "^10.1.2",
+ "@chevrotain/gast": "10.3.0",
+ "@chevrotain/types": "10.3.0",
"lodash": "4.17.21"
}
},
"node_modules/@chevrotain/gast": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.1.2.tgz",
- "integrity": "sha512-er+TcxUOMuGOPoiOq8CJsRm92zGE4YPIYtyxJfxoVwVgtj4AMrPNCmrHvYaK/bsbt2DaDuFdcbbAfM9bcBXW6Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.3.0.tgz",
+ "integrity": "sha512-kLbGubyLprlyFZ1/c5pkpciCi6WTcRcnKhkfflSdKsZuoy0OmVTEXzrmFCQWzJ+QtmQNtPZTKwIBXJ6Zixp6nA==",
"dependencies": {
- "@chevrotain/types": "^10.1.2",
+ "@chevrotain/types": "10.3.0",
"lodash": "4.17.21"
}
},
"node_modules/@chevrotain/types": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.1.2.tgz",
- "integrity": "sha512-4qF9SmmWKv8AIG/3d+71VFuqLumNCQTP5GoL0CW6x7Ay2OdXm6FUgWFLTMneGUjYUk2C+MSCf7etQfdq3LEr1A=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.3.0.tgz",
+ "integrity": "sha512-LGesL4c5+FyweDsmFukcxmsowpagj1iC4iqkQSIDG3Y7krV2rIOmCDDq4kZff51Asr6yQHEJsWTyvGVHeWQLkw=="
},
"node_modules/@chevrotain/utils": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.1.2.tgz",
- "integrity": "sha512-bbZIpW6fdyf7FMaeDmw3cBbkTqsecxEkwlVKgVfqqXWBPLH6azxhPA2V9F7OhoZSVrsnMYw7QuyK6qutXPjEew=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.3.0.tgz",
+ "integrity": "sha512-KCpFcX+kNyKlVZQW60ZUGRW5Nsg5u0F2CIgHiDQyg282ouHS9xap2ZEKqhwGE/0nYP46nAPnGPdb/IYh7ZHOsA=="
},
"node_modules/@colors/colors": {
"version": "1.5.0",
@@ -1428,6 +1428,11 @@
"integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
"dev": true
},
+ "node_modules/@types/triple-beam": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
+ "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g=="
+ },
"node_modules/@types/vinyl": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
@@ -1793,10 +1798,21 @@
"node": ">=10.12.0"
}
},
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/aws-sdk": {
- "version": "2.1106.0",
- "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1106.0.tgz",
- "integrity": "sha512-3dr0TTR2LI70ST8fa4IgXHpWdH4yv7FLnt9YEndwFQ8ar2EMCMpMU67wwCGBA72GUi0aOg4+lsLjGmCvIq3jug==",
+ "version": "2.1204.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1204.0.tgz",
+ "integrity": "sha512-H3dRQBdgzAfZ/e/dfiW44fhQrgAuCfIzWhI5y5J9122caI4uZY6TEUd003UXP4nXq2eMfuPWg0bA/mPwbj8RkA==",
"dependencies": {
"buffer": "4.9.2",
"events": "1.1.1",
@@ -1805,7 +1821,8 @@
"querystring": "0.2.0",
"sax": "1.2.1",
"url": "0.10.3",
- "uuid": "3.3.2",
+ "util": "^0.12.4",
+ "uuid": "8.0.0",
"xml2js": "0.4.19"
},
"engines": {
@@ -1813,12 +1830,11 @@
}
},
"node_modules/aws-sdk/node_modules/uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
- "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
+ "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==",
"bin": {
- "uuid": "bin/uuid"
+ "uuid": "dist/bin/uuid"
}
},
"node_modules/aws-sign2": {
@@ -1835,11 +1851,25 @@
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
},
"node_modules/axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
- "follow-redirects": "^1.14.8"
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ }
+ },
+ "node_modules/axios/node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
"node_modules/babel-plugin-istanbul": {
@@ -2128,7 +2158,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
"dependencies": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
@@ -2197,14 +2226,14 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"node_modules/chevrotain": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.1.2.tgz",
- "integrity": "sha512-hvRiQuhhTZxkPMGD/dke+s1EGo8AkKDBU05CcufBO278qgAQSwIC4QyLdHz0CFHVtqVYWjlAS5D1KwvBbaHT+w==",
- "dependencies": {
- "@chevrotain/cst-dts-gen": "^10.1.2",
- "@chevrotain/gast": "^10.1.2",
- "@chevrotain/types": "^10.1.2",
- "@chevrotain/utils": "^10.1.2",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.3.0.tgz",
+ "integrity": "sha512-sy3yTBfvNJmxzYOGWaDStZFuA7va5/MXwzBU+XBIol0bR0aYlfGqTjzgedeu32Ki/j7IVyvYAZO2PInBjmmMjg==",
+ "dependencies": {
+ "@chevrotain/cst-dts-gen": "10.3.0",
+ "@chevrotain/gast": "10.3.0",
+ "@chevrotain/types": "10.3.0",
+ "@chevrotain/utils": "10.3.0",
"lodash": "4.17.21",
"regexp-to-ast": "0.5.0"
}
@@ -2468,9 +2497,9 @@
}
},
"node_modules/commander": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
- "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz",
+ "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==",
"engines": {
"node": "^12.20.0 || >=14"
}
@@ -2505,9 +2534,9 @@
}
},
"node_modules/conf": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/conf/-/conf-10.1.2.tgz",
- "integrity": "sha512-o9Fv1Mv+6A0JpoayQ8JleNp3hhkbOJP/Re/Q+QqxMPHPkABVsRjQGWZn9A5GcqLiTNC6d89p2PB5ZhHVDSMwyg==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz",
+ "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==",
"dependencies": {
"ajv": "^8.6.3",
"ajv-formats": "^2.1.1",
@@ -2849,6 +2878,7 @@
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+ "dev": true,
"dependencies": {
"jake": "^10.6.1"
},
@@ -3550,11 +3580,30 @@
}
},
"node_modules/filelist": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
- "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
"dependencies": {
- "minimatch": "^3.0.4"
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/fill-range": {
@@ -3634,9 +3683,9 @@
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
},
"node_modules/follow-redirects": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
- "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"funding": [
{
"type": "individual",
@@ -3652,6 +3701,14 @@
}
}
},
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
"node_modules/forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -3755,45 +3812,47 @@
}
},
"node_modules/generator-jhipster": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.8.1.tgz",
- "integrity": "sha512-oiXczv5DTgwLKqU1ni6uH+vXsuWCEyMKEvzpKAX5KxXntofwfGRklcL+qoHKEyWxiMu8+ZugY0exw4x8jFV3qA==",
+ "version": "7.9.3",
+ "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.9.3.tgz",
+ "integrity": "sha512-iuhXUA0jHygv9wg3cCK+1xdNchi8x3z56TtTPqIeiDP0VNHL2ddesicL4QwNnHzMafk+J1po7hDEGQqURDUpvA==",
"dependencies": {
"@faker-js/faker": "5.5.3",
- "aws-sdk": "2.1106.0",
- "axios": "0.26.1",
+ "aws-sdk": "2.1204.0",
+ "axios": "0.27.2",
"chalk": "4.1.2",
- "chevrotain": "10.1.2",
- "commander": "9.1.0",
- "conf": "10.1.2",
+ "chevrotain": "10.3.0",
+ "commander": "9.4.0",
+ "conf": "10.2.0",
"debug": "4.3.4",
"didyoumean": "1.2.2",
- "ejs": "3.1.6",
- "glob": "7.2.0",
+ "ejs": "3.1.8",
+ "escape-string-regexp": "4.0.0",
+ "glob": "8.0.3",
"insight": "0.11.1",
+ "isbinaryfile": "4.0.10",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
- "mem-fs-editor": "9.4.0",
- "minimatch": "5.0.1",
+ "mem-fs-editor": "9.5.0",
+ "minimatch": "5.1.0",
"normalize-path": "3.0.0",
"os-locale": "5.0.0",
"p-queue": "6.6.2",
"p-transform": "1.3.0",
- "parse-gitignore": "1.0.1",
+ "parse-gitignore": "2.0.0",
"pluralize": "8.0.0",
- "prettier": "2.6.2",
- "prettier-plugin-java": "1.6.1",
- "prettier-plugin-packagejson": "2.2.17",
+ "prettier": "2.7.1",
+ "prettier-plugin-java": "1.6.2",
+ "prettier-plugin-packagejson": "2.2.18",
"progress": "2.0.3",
"randexp": "0.5.3",
- "semver": "7.3.5",
+ "semver": "7.3.7",
"shelljs": "0.8.5",
- "simple-git": "3.5.0",
+ "simple-git": "3.13.0",
"then-request": "6.0.2",
"uuid": "8.3.2",
- "winston": "3.6.0",
- "yeoman-environment": "3.9.1",
- "yeoman-generator": "5.6.1"
+ "winston": "3.8.1",
+ "yeoman-environment": "3.10.0",
+ "yeoman-generator": "5.7.0"
},
"bin": {
"jhipster": "cli/jhipster.js"
@@ -3815,10 +3874,116 @@
"balanced-match": "^1.0.0"
}
},
+ "node_modules/generator-jhipster/node_modules/ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/globby": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz",
+ "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==",
+ "dependencies": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/globby/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/globby/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/globby/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/java-parser": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.2.tgz",
+ "integrity": "sha512-fwv1eDYE4OIAN+XS7cD8aB7UdQyAh3Uz36ydWqemvnDKXEdLbxq7qIbvsjpSvS1NHFR+r81N7AjGcpnamjVxJw==",
+ "dependencies": {
+ "chevrotain": "6.5.0",
+ "lodash": "4.17.21"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/java-parser/node_modules/chevrotain": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz",
+ "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==",
+ "dependencies": {
+ "regexp-to-ast": "0.4.0"
+ }
+ },
"node_modules/generator-jhipster/node_modules/minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -3826,10 +3991,61 @@
"node": ">=10"
}
},
+ "node_modules/generator-jhipster/node_modules/prettier": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/prettier-plugin-java": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.2.tgz",
+ "integrity": "sha512-oVIUOkx50eb9skdRtEIU7MJUsizQ1ZocgXR1w1o8AnieNGpuPI/2pWnpjtbBm9wUG1dHtBGU8cVIr8h+xgzQIg==",
+ "dependencies": {
+ "java-parser": "2.0.2",
+ "lodash": "4.17.21",
+ "prettier": "2.3.1"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/prettier-plugin-java/node_modules/prettier": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz",
+ "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/prettier-plugin-packagejson": {
+ "version": "2.2.18",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.18.tgz",
+ "integrity": "sha512-iBjQ3IY6IayFrQHhXvg+YvKprPUUiIJ04Vr9+EbeQPfwGajznArIqrN33c5bi4JcIvmLHGROIMOm9aYakJj/CA==",
+ "dependencies": {
+ "sort-package-json": "1.57.0"
+ },
+ "peerDependencies": {
+ "prettier": ">= 1.16.0"
+ }
+ },
+ "node_modules/generator-jhipster/node_modules/regexp-to-ast": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz",
+ "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw=="
+ },
"node_modules/generator-jhipster/node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -3840,6 +4056,22 @@
"node": ">=10"
}
},
+ "node_modules/generator-jhipster/node_modules/sort-package-json": {
+ "version": "1.57.0",
+ "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz",
+ "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==",
+ "dependencies": {
+ "detect-indent": "^6.0.0",
+ "detect-newline": "3.1.0",
+ "git-hooks-list": "1.0.3",
+ "globby": "10.0.0",
+ "is-plain-obj": "2.1.0",
+ "sort-object-keys": "^1.1.3"
+ },
+ "bin": {
+ "sort-package-json": "cli.js"
+ }
+ },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -3859,14 +4091,14 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dev": true,
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4006,6 +4238,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/graceful-fs": {
"version": "4.2.10",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
@@ -4077,11 +4320,21 @@
"node": ">=8"
}
},
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -4093,7 +4346,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
"dependencies": {
"has-symbols": "^1.0.2"
},
@@ -4465,6 +4717,21 @@
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
+ "node_modules/is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
@@ -4514,7 +4781,6 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
"integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
- "dev": true,
"engines": {
"node": ">= 0.4"
},
@@ -4564,6 +4830,20 @@
"node": ">=4"
}
},
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -4727,6 +5007,20 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-typed-array": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "dependencies": {
+ "which-typed-array": "^1.1.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -4812,14 +5106,14 @@
}
},
"node_modules/jake": {
- "version": "10.8.4",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz",
- "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==",
+ "version": "10.8.7",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
+ "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
"dependencies": {
- "async": "0.9.x",
+ "async": "^3.2.3",
"chalk": "^4.0.2",
- "filelist": "^1.0.1",
- "minimatch": "^3.0.4"
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
},
"bin": {
"jake": "bin/cli.js"
@@ -4829,14 +5123,15 @@
}
},
"node_modules/jake/node_modules/async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"node_modules/java-parser": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.1.tgz",
"integrity": "sha512-IPzs8LN8drvAZKbgW1MLLsrEeW4TwSy714I6ZHlEGNV6/42S2xRU5zDn3lP6uZQakwi7nyC00T6lZvwEnBujzw==",
+ "dev": true,
"dependencies": {
"chevrotain": "6.5.0",
"lodash": "4.17.21"
@@ -4846,6 +5141,7 @@
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz",
"integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==",
+ "dev": true,
"dependencies": {
"regexp-to-ast": "0.4.0"
}
@@ -4853,7 +5149,8 @@
"node_modules/java-parser/node_modules/regexp-to-ast": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz",
- "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw=="
+ "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==",
+ "dev": true
},
"node_modules/jest-diff": {
"version": "27.5.1",
@@ -5313,11 +5610,12 @@
}
},
"node_modules/logform": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz",
- "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz",
+ "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==",
"dependencies": {
"@colors/colors": "1.5.0",
+ "@types/triple-beam": "^1.3.2",
"fecha": "^4.2.0",
"ms": "^2.1.1",
"safe-stable-stringify": "^2.3.1",
@@ -5420,17 +5718,17 @@
}
},
"node_modules/mem-fs-editor": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz",
- "integrity": "sha512-HSSOLSVRrsDdui9I6i96dDtG+oAez/4EB2g4cjSrNhgNQ3M+L57/+22NuPdORSoxvOHjIg/xeOE+C0wwF91D2g==",
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz",
+ "integrity": "sha512-7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==",
"dependencies": {
"binaryextensions": "^4.16.0",
"commondir": "^1.0.1",
"deep-extend": "^0.6.0",
- "ejs": "^3.1.6",
- "globby": "^11.0.3",
+ "ejs": "^3.1.8",
+ "globby": "^11.1.0",
"isbinaryfile": "^4.0.8",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"multimatch": "^5.0.0",
"normalize-path": "^3.0.0",
"textextensions": "^5.13.0"
@@ -5447,6 +5745,20 @@
}
}
},
+ "node_modules/mem-fs-editor/node_modules/ejs": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+ "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/mem-fs/node_modules/@types/node": {
"version": "15.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
@@ -6789,11 +7101,11 @@
}
},
"node_modules/parse-gitignore": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz",
- "integrity": "sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz",
+ "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==",
"engines": {
- "node": ">=6"
+ "node": ">=14"
}
},
"node_modules/parse-json": {
@@ -7146,6 +7458,7 @@
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
"integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+ "dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
@@ -7172,6 +7485,7 @@
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.1.tgz",
"integrity": "sha512-kSY17V/P88nILlILb5iMp16TVJy6Ls9Jy4zAzI4+GsEuRDZH5VqRuLd8aJS1ImWxVgRjNBmoFOjxYyxkRM0SRA==",
+ "dev": true,
"dependencies": {
"java-parser": "2.0.1",
"lodash": "4.17.21",
@@ -7182,6 +7496,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz",
"integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==",
+ "dev": true,
"bin": {
"prettier": "bin-prettier.js"
},
@@ -7193,6 +7508,7 @@
"version": "2.2.17",
"resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.17.tgz",
"integrity": "sha512-Z1l3stIdkEzuv5w2ZyLl7mvl1Q/7vr2wjLAaKCQtafPHB7h09dir0tgXK/W5iEc/jP+C4XtvJl/HhiZBvPh4rQ==",
+ "dev": true,
"dependencies": {
"sort-package-json": "1.55.0"
},
@@ -7822,9 +8138,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/safe-stable-stringify": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
- "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==",
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
+ "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
"engines": {
"node": ">=10"
}
@@ -7925,17 +8241,17 @@
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"node_modules/simple-git": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz",
- "integrity": "sha512-fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==",
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.13.0.tgz",
+ "integrity": "sha512-VYrs3joeHvWGcN3K135RpGpPjm4AHYeOrclwew6LlfHgq6ozQYIW2yMnmjf4PCgVOuSYCbXkdUjyiFawuJz8MA==",
"dependencies": {
"@kwsites/file-exists": "^1.1.1",
"@kwsites/promise-deferred": "^1.1.1",
- "debug": "^4.3.3"
+ "debug": "^4.3.4"
},
"funding": {
"type": "github",
- "url": "https://github.com/sponsors/steveukx/"
+ "url": "https://github.com/steveukx/git-js?sponsor=1"
}
},
"node_modules/simple-swizzle": {
@@ -8039,6 +8355,7 @@
"version": "1.55.0",
"resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.55.0.tgz",
"integrity": "sha512-xhKvRD8WGbALjXQkVuk4/93Z/2NIO+5IzKamdMjN5kn3L+N+M9YWQssmM6GXlQr9v1F7PGWsOJEo1gvXOhM7Mg==",
+ "dev": true,
"dependencies": {
"detect-indent": "^6.0.0",
"detect-newline": "3.1.0",
@@ -8055,6 +8372,7 @@
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz",
"integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==",
+ "dev": true,
"dependencies": {
"@types/glob": "^7.1.1",
"array-union": "^2.1.0",
@@ -8497,9 +8815,12 @@
"integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g=="
},
"node_modules/triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
+ "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==",
+ "engines": {
+ "node": ">= 14.0.0"
+ }
},
"node_modules/tsconfig-paths": {
"version": "3.14.1",
@@ -8676,6 +8997,18 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
"integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
},
+ "node_modules/util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -8847,6 +9180,24 @@
"node": ">=8"
}
},
+ "node_modules/which-typed-array": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
+ "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
@@ -8870,9 +9221,9 @@
}
},
"node_modules/winston": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz",
- "integrity": "sha512-9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==",
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
+ "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
"dependencies": {
"@dabh/diagnostics": "^2.0.2",
"async": "^3.2.3",
@@ -8903,9 +9254,9 @@
}
},
"node_modules/winston-transport/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -8921,9 +9272,9 @@
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"node_modules/winston/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -9123,9 +9474,9 @@
}
},
"node_modules/yeoman-environment": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.9.1.tgz",
- "integrity": "sha512-IdRnbQt/DSOSnao0oD9c+or1X2UrL+fx9eC0O7Lq/MGZV68nhv9k77MqG+hEAySPSlyCpocVlhfQwV62hczk5Q==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.10.0.tgz",
+ "integrity": "sha512-sYtSxBK9daq21QjoskJTHKLQ1xEsRPURkmFV/aM8HS8ZlQVzwx57Rz1zCs8EGPhK4vqsmTE8H92Gp1jg1fT3EA==",
"dependencies": {
"@npmcli/arborist": "^4.0.4",
"are-we-there-yet": "^2.0.0",
@@ -9145,6 +9496,7 @@
"grouped-queue": "^2.0.0",
"inquirer": "^8.0.0",
"is-scoped": "^2.1.0",
+ "isbinaryfile": "^4.0.10",
"lodash": "^4.17.10",
"log-symbols": "^4.0.0",
"mem-fs": "^1.2.0 || ^2.0.0",
@@ -9444,14 +9796,14 @@
}
},
"node_modules/yeoman-generator": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.6.1.tgz",
- "integrity": "sha512-XllgFvmDEwoPMq2rKtL4/N52WlINJW6a3I3XtlCrMb3/dqO5dW0nPNgR0L3IIUIdf9y1EHb1ZFMs2Qp3ZEEFxg==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.7.0.tgz",
+ "integrity": "sha512-z9ZwgKoDOd+llPDCwn8Ax2l4In5FMhlslxdeByW4AMxhT+HbTExXKEAahsClHSbwZz1i5OzRwLwRIUdOJBr5Bw==",
"dependencies": {
"chalk": "^4.1.0",
"dargs": "^7.0.0",
"debug": "^4.1.1",
- "execa": "^4.1.0",
+ "execa": "^5.1.1",
"github-username": "^6.0.0",
"lodash": "^4.17.11",
"minimist": "^1.2.5",
@@ -9474,6 +9826,47 @@
}
}
},
+ "node_modules/yeoman-generator/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/yeoman-generator/node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yeoman-generator/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
"node_modules/yeoman-generator/node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
@@ -10076,33 +10469,33 @@
}
},
"@chevrotain/cst-dts-gen": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.1.2.tgz",
- "integrity": "sha512-E/XrL0QlzExycPzwhOEZGVOheJ/Clr5uNv3oCds88MiNqEmg3UU1iauZk7DhjsUo3jgEW4lf0I5HRl7/HC5ZkQ==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-10.3.0.tgz",
+ "integrity": "sha512-7DJPfCtfK1SU1/F3ZmmVv5IsTTcP/iiKFqU1m0H4VzJNvG3/GNxJFQjy4t/veWTAFSPWSj1WCNyq+sc5XKq9yA==",
"requires": {
- "@chevrotain/gast": "^10.1.2",
- "@chevrotain/types": "^10.1.2",
+ "@chevrotain/gast": "10.3.0",
+ "@chevrotain/types": "10.3.0",
"lodash": "4.17.21"
}
},
"@chevrotain/gast": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.1.2.tgz",
- "integrity": "sha512-er+TcxUOMuGOPoiOq8CJsRm92zGE4YPIYtyxJfxoVwVgtj4AMrPNCmrHvYaK/bsbt2DaDuFdcbbAfM9bcBXW6Q==",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-10.3.0.tgz",
+ "integrity": "sha512-kLbGubyLprlyFZ1/c5pkpciCi6WTcRcnKhkfflSdKsZuoy0OmVTEXzrmFCQWzJ+QtmQNtPZTKwIBXJ6Zixp6nA==",
"requires": {
- "@chevrotain/types": "^10.1.2",
+ "@chevrotain/types": "10.3.0",
"lodash": "4.17.21"
}
},
"@chevrotain/types": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.1.2.tgz",
- "integrity": "sha512-4qF9SmmWKv8AIG/3d+71VFuqLumNCQTP5GoL0CW6x7Ay2OdXm6FUgWFLTMneGUjYUk2C+MSCf7etQfdq3LEr1A=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-10.3.0.tgz",
+ "integrity": "sha512-LGesL4c5+FyweDsmFukcxmsowpagj1iC4iqkQSIDG3Y7krV2rIOmCDDq4kZff51Asr6yQHEJsWTyvGVHeWQLkw=="
},
"@chevrotain/utils": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.1.2.tgz",
- "integrity": "sha512-bbZIpW6fdyf7FMaeDmw3cBbkTqsecxEkwlVKgVfqqXWBPLH6azxhPA2V9F7OhoZSVrsnMYw7QuyK6qutXPjEew=="
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-10.3.0.tgz",
+ "integrity": "sha512-KCpFcX+kNyKlVZQW60ZUGRW5Nsg5u0F2CIgHiDQyg282ouHS9xap2ZEKqhwGE/0nYP46nAPnGPdb/IYh7ZHOsA=="
},
"@colors/colors": {
"version": "1.5.0",
@@ -10825,6 +11218,11 @@
"integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==",
"dev": true
},
+ "@types/triple-beam": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.2.tgz",
+ "integrity": "sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g=="
+ },
"@types/vinyl": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
@@ -11103,10 +11501,15 @@
"resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz",
"integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w=="
},
+ "available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
+ },
"aws-sdk": {
- "version": "2.1106.0",
- "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1106.0.tgz",
- "integrity": "sha512-3dr0TTR2LI70ST8fa4IgXHpWdH4yv7FLnt9YEndwFQ8ar2EMCMpMU67wwCGBA72GUi0aOg4+lsLjGmCvIq3jug==",
+ "version": "2.1204.0",
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1204.0.tgz",
+ "integrity": "sha512-H3dRQBdgzAfZ/e/dfiW44fhQrgAuCfIzWhI5y5J9122caI4uZY6TEUd003UXP4nXq2eMfuPWg0bA/mPwbj8RkA==",
"requires": {
"buffer": "4.9.2",
"events": "1.1.1",
@@ -11115,14 +11518,15 @@
"querystring": "0.2.0",
"sax": "1.2.1",
"url": "0.10.3",
- "uuid": "3.3.2",
+ "util": "^0.12.4",
+ "uuid": "8.0.0",
"xml2js": "0.4.19"
},
"dependencies": {
"uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
+ "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw=="
}
}
},
@@ -11137,11 +11541,24 @@
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
},
"axios": {
- "version": "0.26.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
- "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
+ "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": {
- "follow-redirects": "^1.14.8"
+ "follow-redirects": "^1.14.9",
+ "form-data": "^4.0.0"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ }
}
},
"babel-plugin-istanbul": {
@@ -11360,7 +11777,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "dev": true,
"requires": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
@@ -11404,14 +11820,14 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"chevrotain": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.1.2.tgz",
- "integrity": "sha512-hvRiQuhhTZxkPMGD/dke+s1EGo8AkKDBU05CcufBO278qgAQSwIC4QyLdHz0CFHVtqVYWjlAS5D1KwvBbaHT+w==",
- "requires": {
- "@chevrotain/cst-dts-gen": "^10.1.2",
- "@chevrotain/gast": "^10.1.2",
- "@chevrotain/types": "^10.1.2",
- "@chevrotain/utils": "^10.1.2",
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-10.3.0.tgz",
+ "integrity": "sha512-sy3yTBfvNJmxzYOGWaDStZFuA7va5/MXwzBU+XBIol0bR0aYlfGqTjzgedeu32Ki/j7IVyvYAZO2PInBjmmMjg==",
+ "requires": {
+ "@chevrotain/cst-dts-gen": "10.3.0",
+ "@chevrotain/gast": "10.3.0",
+ "@chevrotain/types": "10.3.0",
+ "@chevrotain/utils": "10.3.0",
"lodash": "4.17.21",
"regexp-to-ast": "0.5.0"
}
@@ -11622,9 +12038,9 @@
}
},
"commander": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz",
- "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w=="
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz",
+ "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw=="
},
"common-ancestor-path": {
"version": "1.0.1",
@@ -11653,9 +12069,9 @@
}
},
"conf": {
- "version": "10.1.2",
- "resolved": "https://registry.npmjs.org/conf/-/conf-10.1.2.tgz",
- "integrity": "sha512-o9Fv1Mv+6A0JpoayQ8JleNp3hhkbOJP/Re/Q+QqxMPHPkABVsRjQGWZn9A5GcqLiTNC6d89p2PB5ZhHVDSMwyg==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz",
+ "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==",
"requires": {
"ajv": "^8.6.3",
"ajv-formats": "^2.1.1",
@@ -11908,6 +12324,7 @@
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+ "dev": true,
"requires": {
"jake": "^10.6.1"
}
@@ -12465,11 +12882,29 @@
}
},
"filelist": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
- "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
"requires": {
- "minimatch": "^3.0.4"
+ "minimatch": "^5.0.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
}
},
"fill-range": {
@@ -12534,9 +12969,17 @@
"integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
},
"follow-redirects": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
- "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+ },
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "requires": {
+ "is-callable": "^1.1.3"
+ }
},
"forever-agent": {
"version": "0.6.1",
@@ -12618,45 +13061,47 @@
}
},
"generator-jhipster": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.8.1.tgz",
- "integrity": "sha512-oiXczv5DTgwLKqU1ni6uH+vXsuWCEyMKEvzpKAX5KxXntofwfGRklcL+qoHKEyWxiMu8+ZugY0exw4x8jFV3qA==",
+ "version": "7.9.3",
+ "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-7.9.3.tgz",
+ "integrity": "sha512-iuhXUA0jHygv9wg3cCK+1xdNchi8x3z56TtTPqIeiDP0VNHL2ddesicL4QwNnHzMafk+J1po7hDEGQqURDUpvA==",
"requires": {
"@faker-js/faker": "5.5.3",
- "aws-sdk": "2.1106.0",
- "axios": "0.26.1",
+ "aws-sdk": "2.1204.0",
+ "axios": "0.27.2",
"chalk": "4.1.2",
- "chevrotain": "10.1.2",
- "commander": "9.1.0",
- "conf": "10.1.2",
+ "chevrotain": "10.3.0",
+ "commander": "9.4.0",
+ "conf": "10.2.0",
"debug": "4.3.4",
"didyoumean": "1.2.2",
- "ejs": "3.1.6",
- "glob": "7.2.0",
+ "ejs": "3.1.8",
+ "escape-string-regexp": "4.0.0",
+ "glob": "8.0.3",
"insight": "0.11.1",
+ "isbinaryfile": "4.0.10",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
- "mem-fs-editor": "9.4.0",
- "minimatch": "5.0.1",
+ "mem-fs-editor": "9.5.0",
+ "minimatch": "5.1.0",
"normalize-path": "3.0.0",
"os-locale": "5.0.0",
"p-queue": "6.6.2",
"p-transform": "1.3.0",
- "parse-gitignore": "1.0.1",
+ "parse-gitignore": "2.0.0",
"pluralize": "8.0.0",
- "prettier": "2.6.2",
- "prettier-plugin-java": "1.6.1",
- "prettier-plugin-packagejson": "2.2.17",
+ "prettier": "2.7.1",
+ "prettier-plugin-java": "1.6.2",
+ "prettier-plugin-packagejson": "2.2.18",
"progress": "2.0.3",
"randexp": "0.5.3",
- "semver": "7.3.5",
+ "semver": "7.3.7",
"shelljs": "0.8.5",
- "simple-git": "3.5.0",
+ "simple-git": "3.13.0",
"then-request": "6.0.2",
"uuid": "8.3.2",
- "winston": "3.6.0",
- "yeoman-environment": "3.9.1",
- "yeoman-generator": "5.6.1"
+ "winston": "3.8.1",
+ "yeoman-environment": "3.10.0",
+ "yeoman-generator": "5.7.0"
},
"dependencies": {
"brace-expansion": {
@@ -12667,21 +13112,155 @@
"balanced-match": "^1.0.0"
}
},
+ "ejs": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz",
+ "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==",
+ "requires": {
+ "jake": "^10.8.5"
+ }
+ },
+ "glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ }
+ },
+ "globby": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz",
+ "integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==",
+ "requires": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ }
+ }
+ },
+ "java-parser": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.2.tgz",
+ "integrity": "sha512-fwv1eDYE4OIAN+XS7cD8aB7UdQyAh3Uz36ydWqemvnDKXEdLbxq7qIbvsjpSvS1NHFR+r81N7AjGcpnamjVxJw==",
+ "requires": {
+ "chevrotain": "6.5.0",
+ "lodash": "4.17.21"
+ },
+ "dependencies": {
+ "chevrotain": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz",
+ "integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==",
+ "requires": {
+ "regexp-to-ast": "0.4.0"
+ }
+ }
+ }
+ },
"minimatch": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
- "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"requires": {
"brace-expansion": "^2.0.1"
}
},
+ "prettier": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g=="
+ },
+ "prettier-plugin-java": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.2.tgz",
+ "integrity": "sha512-oVIUOkx50eb9skdRtEIU7MJUsizQ1ZocgXR1w1o8AnieNGpuPI/2pWnpjtbBm9wUG1dHtBGU8cVIr8h+xgzQIg==",
+ "requires": {
+ "java-parser": "2.0.2",
+ "lodash": "4.17.21",
+ "prettier": "2.3.1"
+ },
+ "dependencies": {
+ "prettier": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz",
+ "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA=="
+ }
+ }
+ },
+ "prettier-plugin-packagejson": {
+ "version": "2.2.18",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.18.tgz",
+ "integrity": "sha512-iBjQ3IY6IayFrQHhXvg+YvKprPUUiIJ04Vr9+EbeQPfwGajznArIqrN33c5bi4JcIvmLHGROIMOm9aYakJj/CA==",
+ "requires": {
+ "sort-package-json": "1.57.0"
+ }
+ },
+ "regexp-to-ast": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz",
+ "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw=="
+ },
"semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"requires": {
"lru-cache": "^6.0.0"
}
+ },
+ "sort-package-json": {
+ "version": "1.57.0",
+ "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.57.0.tgz",
+ "integrity": "sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==",
+ "requires": {
+ "detect-indent": "^6.0.0",
+ "detect-newline": "3.1.0",
+ "git-hooks-list": "1.0.3",
+ "globby": "10.0.0",
+ "is-plain-obj": "2.1.0",
+ "sort-object-keys": "^1.1.3"
+ }
}
}
},
@@ -12698,14 +13277,14 @@
"dev": true
},
"get-intrinsic": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
- "dev": true,
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"requires": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
- "has-symbols": "^1.0.1"
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3"
}
},
"get-package-type": {
@@ -12797,6 +13376,14 @@
"slash": "^3.0.0"
}
},
+ "gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "requires": {
+ "get-intrinsic": "^1.1.3"
+ }
+ },
"graceful-fs": {
"version": "4.2.10",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
@@ -12846,17 +13433,20 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
+ "has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
+ },
"has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"has-tostringtag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
- "dev": true,
"requires": {
"has-symbols": "^1.0.2"
}
@@ -13144,6 +13734,15 @@
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
+ "is-arguments": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
@@ -13180,8 +13779,7 @@
"is-callable": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
- "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
- "dev": true
+ "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
},
"is-core-module": {
"version": "2.8.1",
@@ -13210,6 +13808,14 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
"integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
},
+ "is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -13313,6 +13919,14 @@
"has-symbols": "^1.0.2"
}
},
+ "is-typed-array": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "requires": {
+ "which-typed-array": "^1.1.11"
+ }
+ },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -13377,20 +13991,20 @@
}
},
"jake": {
- "version": "10.8.4",
- "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz",
- "integrity": "sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==",
+ "version": "10.8.7",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
+ "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
"requires": {
- "async": "0.9.x",
+ "async": "^3.2.3",
"chalk": "^4.0.2",
- "filelist": "^1.0.1",
- "minimatch": "^3.0.4"
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
},
"dependencies": {
"async": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
}
}
},
@@ -13398,6 +14012,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/java-parser/-/java-parser-2.0.1.tgz",
"integrity": "sha512-IPzs8LN8drvAZKbgW1MLLsrEeW4TwSy714I6ZHlEGNV6/42S2xRU5zDn3lP6uZQakwi7nyC00T6lZvwEnBujzw==",
+ "dev": true,
"requires": {
"chevrotain": "6.5.0",
"lodash": "4.17.21"
@@ -13407,6 +14022,7 @@
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-6.5.0.tgz",
"integrity": "sha512-BwqQ/AgmKJ8jcMEjaSnfMybnKMgGTrtDKowfTP3pX4jwVy0kNjRsT/AP6h+wC3+3NC+X8X15VWBnTCQlX+wQFg==",
+ "dev": true,
"requires": {
"regexp-to-ast": "0.4.0"
}
@@ -13414,7 +14030,8 @@
"regexp-to-ast": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.4.0.tgz",
- "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw=="
+ "integrity": "sha512-4qf/7IsIKfSNHQXSwial1IFmfM1Cc/whNBQqRwe0V2stPe7KmN1U0tWQiIx6JiirgSrisjE0eECdNf7Tav1Ntw==",
+ "dev": true
}
}
},
@@ -13787,11 +14404,12 @@
}
},
"logform": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz",
- "integrity": "sha512-W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==",
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.5.1.tgz",
+ "integrity": "sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==",
"requires": {
"@colors/colors": "1.5.0",
+ "@types/triple-beam": "^1.3.2",
"fecha": "^4.2.0",
"ms": "^2.1.1",
"safe-stable-stringify": "^2.3.1",
@@ -13887,20 +14505,30 @@
}
},
"mem-fs-editor": {
- "version": "9.4.0",
- "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz",
- "integrity": "sha512-HSSOLSVRrsDdui9I6i96dDtG+oAez/4EB2g4cjSrNhgNQ3M+L57/+22NuPdORSoxvOHjIg/xeOE+C0wwF91D2g==",
+ "version": "9.5.0",
+ "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz",
+ "integrity": "sha512-7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==",
"requires": {
"binaryextensions": "^4.16.0",
"commondir": "^1.0.1",
"deep-extend": "^0.6.0",
- "ejs": "^3.1.6",
- "globby": "^11.0.3",
+ "ejs": "^3.1.8",
+ "globby": "^11.1.0",
"isbinaryfile": "^4.0.8",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"multimatch": "^5.0.0",
"normalize-path": "^3.0.0",
"textextensions": "^5.13.0"
+ },
+ "dependencies": {
+ "ejs": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+ "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "requires": {
+ "jake": "^10.8.5"
+ }
+ }
}
},
"merge-stream": {
@@ -14891,9 +15519,9 @@
}
},
"parse-gitignore": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz",
- "integrity": "sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz",
+ "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog=="
},
"parse-json": {
"version": "5.2.0",
@@ -15141,7 +15769,8 @@
"prettier": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz",
- "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew=="
+ "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+ "dev": true
},
"prettier-linter-helpers": {
"version": "1.0.0",
@@ -15156,6 +15785,7 @@
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/prettier-plugin-java/-/prettier-plugin-java-1.6.1.tgz",
"integrity": "sha512-kSY17V/P88nILlILb5iMp16TVJy6Ls9Jy4zAzI4+GsEuRDZH5VqRuLd8aJS1ImWxVgRjNBmoFOjxYyxkRM0SRA==",
+ "dev": true,
"requires": {
"java-parser": "2.0.1",
"lodash": "4.17.21",
@@ -15165,7 +15795,8 @@
"prettier": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz",
- "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA=="
+ "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==",
+ "dev": true
}
}
},
@@ -15173,6 +15804,7 @@
"version": "2.2.17",
"resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.2.17.tgz",
"integrity": "sha512-Z1l3stIdkEzuv5w2ZyLl7mvl1Q/7vr2wjLAaKCQtafPHB7h09dir0tgXK/W5iEc/jP+C4XtvJl/HhiZBvPh4rQ==",
+ "dev": true,
"requires": {
"sort-package-json": "1.55.0"
}
@@ -15627,9 +16259,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safe-stable-stringify": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
- "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
+ "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g=="
},
"safer-buffer": {
"version": "2.1.2",
@@ -15706,13 +16338,13 @@
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="
},
"simple-git": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz",
- "integrity": "sha512-fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==",
+ "version": "3.13.0",
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.13.0.tgz",
+ "integrity": "sha512-VYrs3joeHvWGcN3K135RpGpPjm4AHYeOrclwew6LlfHgq6ozQYIW2yMnmjf4PCgVOuSYCbXkdUjyiFawuJz8MA==",
"requires": {
"@kwsites/file-exists": "^1.1.1",
"@kwsites/promise-deferred": "^1.1.1",
- "debug": "^4.3.3"
+ "debug": "^4.3.4"
}
},
"simple-swizzle": {
@@ -15791,6 +16423,7 @@
"version": "1.55.0",
"resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-1.55.0.tgz",
"integrity": "sha512-xhKvRD8WGbALjXQkVuk4/93Z/2NIO+5IzKamdMjN5kn3L+N+M9YWQssmM6GXlQr9v1F7PGWsOJEo1gvXOhM7Mg==",
+ "dev": true,
"requires": {
"detect-indent": "^6.0.0",
"detect-newline": "3.1.0",
@@ -15804,6 +16437,7 @@
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-10.0.0.tgz",
"integrity": "sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==",
+ "dev": true,
"requires": {
"@types/glob": "^7.1.1",
"array-union": "^2.1.0",
@@ -16152,9 +16786,9 @@
"integrity": "sha512-whw60l7r+8ZU8Tu/Uc2yxtc4ZTZbR/PF3u1IPNKGQ6p8EICLb3Z2lAgoqw9bqYd8IkgnsaOcLzYHFckjqNsf0g=="
},
"triple-beam": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz",
+ "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg=="
},
"tsconfig-paths": {
"version": "3.14.1",
@@ -16308,6 +16942,18 @@
"requires-port": "^1.0.0"
}
},
+ "util": {
+ "version": "0.12.5",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
+ "requires": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "which-typed-array": "^1.1.2"
+ }
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -16456,6 +17102,18 @@
}
}
},
+ "which-typed-array": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz",
+ "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==",
+ "requires": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"wide-align": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
@@ -16473,9 +17131,9 @@
}
},
"winston": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz",
- "integrity": "sha512-9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==",
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.8.1.tgz",
+ "integrity": "sha512-r+6YAiCR4uI3N8eQNOg8k3P3PqwAm20cLKlzVD9E66Ch39+LZC+VH1UKf9JemQj2B3QoUHfKD7Poewn0Pr3Y1w==",
"requires": {
"@dabh/diagnostics": "^2.0.2",
"async": "^3.2.3",
@@ -16495,9 +17153,9 @@
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
},
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -16517,9 +17175,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -16679,9 +17337,9 @@
}
},
"yeoman-environment": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.9.1.tgz",
- "integrity": "sha512-IdRnbQt/DSOSnao0oD9c+or1X2UrL+fx9eC0O7Lq/MGZV68nhv9k77MqG+hEAySPSlyCpocVlhfQwV62hczk5Q==",
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-3.10.0.tgz",
+ "integrity": "sha512-sYtSxBK9daq21QjoskJTHKLQ1xEsRPURkmFV/aM8HS8ZlQVzwx57Rz1zCs8EGPhK4vqsmTE8H92Gp1jg1fT3EA==",
"requires": {
"@npmcli/arborist": "^4.0.4",
"are-we-there-yet": "^2.0.0",
@@ -16701,6 +17359,7 @@
"grouped-queue": "^2.0.0",
"inquirer": "^8.0.0",
"is-scoped": "^2.1.0",
+ "isbinaryfile": "^4.0.10",
"lodash": "^4.17.10",
"log-symbols": "^4.0.0",
"mem-fs": "^1.2.0 || ^2.0.0",
@@ -16904,14 +17563,14 @@
}
},
"yeoman-generator": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.6.1.tgz",
- "integrity": "sha512-XllgFvmDEwoPMq2rKtL4/N52WlINJW6a3I3XtlCrMb3/dqO5dW0nPNgR0L3IIUIdf9y1EHb1ZFMs2Qp3ZEEFxg==",
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.7.0.tgz",
+ "integrity": "sha512-z9ZwgKoDOd+llPDCwn8Ax2l4In5FMhlslxdeByW4AMxhT+HbTExXKEAahsClHSbwZz1i5OzRwLwRIUdOJBr5Bw==",
"requires": {
"chalk": "^4.1.0",
"dargs": "^7.0.0",
"debug": "^4.1.1",
- "execa": "^4.1.0",
+ "execa": "^5.1.1",
"github-username": "^6.0.0",
"lodash": "^4.17.11",
"minimist": "^1.2.5",
@@ -16923,6 +17582,32 @@
"text-table": "^0.2.0"
},
"dependencies": {
+ "execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "requires": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ }
+ },
+ "get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="
+ },
+ "human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="
+ },
"semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
diff --git a/package.json b/package.json
index d95d9292..3422c284 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
},
"dependencies": {
"chalk": "4.1.2",
- "generator-jhipster": "7.8.1",
+ "generator-jhipster": "7.9.3",
"os": "^0.1.2"
},
"devDependencies": {