From 5438f4425832cd8ac8bf6f6d7521fc686a8a45c8 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 14 Aug 2023 11:23:54 -0300 Subject: [PATCH 1/3] disable checks at generate-sample --- .blueprint/generate-sample/support/generate-sample.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.blueprint/generate-sample/support/generate-sample.js b/.blueprint/generate-sample/support/generate-sample.js index 6481265f2e14..98cb1f707e01 100644 --- a/.blueprint/generate-sample/support/generate-sample.js +++ b/.blueprint/generate-sample/support/generate-sample.js @@ -103,9 +103,13 @@ export const generateSample = async ( } // Generate the application - await execa(jhipsterBin, ['--with-entities', '--skip-jhipster-dependencies', '--skip-install', '--no-insight', ...extraArgs], { - stdio: 'inherit', - }); + await execa( + jhipsterBin, + ['--with-entities', '--skip-jhipster-dependencies', '--skip-install', '--skip-checks', '--no-insight', ...extraArgs], + { + stdio: 'inherit', + }, + ); } await execa(jhipsterBin, ['info'], { stdio: 'inherit' }); From 353e8d586bba6f214144ea6a29a254aab439271e Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 14 Aug 2023 15:24:30 -0300 Subject: [PATCH 2/3] adjusts for contextPath --- .../webapp/app/home/home.component.scss.ejs | 4 +-- .../layouts/navbar/navbar.component.scss.ejs | 2 +- .../templates/webpack/proxy.conf.js.ejs | 27 ++++++++++--------- .../main/webapp/content/css/loading.css.ejs | 2 +- .../src/main/webapp/swagger-ui/index.html.ejs | 10 +++++-- .../filter/SpaWebFilter_imperative.java.ejs | 6 ++--- 6 files changed, 29 insertions(+), 22 deletions(-) diff --git a/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs b/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs index 65f88fd71b8e..cdf4b0e992e3 100644 --- a/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs +++ b/generators/angular/templates/src/main/webapp/app/home/home.component.scss.ejs @@ -24,7 +24,7 @@ Main page styles display: inline-block; width: 347px; height: 497px; - background: url('/content/images/<%= hipster %>.svg') no-repeat center top; + background: url('../../content/images/<%= hipster %>.svg') no-repeat center top; background-size: contain; } @@ -35,7 +35,7 @@ Main page styles only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { .hipster { - background: url('/content/images/<%= hipster %>.svg') no-repeat center top; + background: url('../../content/images/<%= hipster %>.svg') no-repeat center top; background-size: contain; } } diff --git a/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs b/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs index 0872aca980ab..49d07c7956e8 100644 --- a/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs +++ b/generators/angular/templates/src/main/webapp/app/layouts/navbar/navbar.component.scss.ejs @@ -67,6 +67,6 @@ Logo styles width: 45px; display: inline-block; vertical-align: middle; - background: url('/content/images/logo-jhipster.png') no-repeat center center; + background: url('../../../content/images/logo-jhipster.png') no-repeat center center; background-size: contain; } diff --git a/generators/angular/templates/webpack/proxy.conf.js.ejs b/generators/angular/templates/webpack/proxy.conf.js.ejs index 234e0fe3e5f4..287bf5280189 100644 --- a/generators/angular/templates/webpack/proxy.conf.js.ejs +++ b/generators/angular/templates/webpack/proxy.conf.js.ejs @@ -17,21 +17,22 @@ limitations under the License. -%> function setupProxy({ tls }) { - const conf = [ - { - context: [ - '/api', - '/services', - '/management', - '/v3/api-docs', - '/h2-console', + const serverResources = [ + '/api', + '/services', + '/management', + '/v3/api-docs', + '/h2-console', <%_ if (authenticationTypeOauth2) { _%> - '/oauth2', - '/login', + '/oauth2', + '/login', <%_ } _%> - '/auth', - '/health', - ], + '/auth', + '/health', + ]; + const conf = [ + { + context: serverResources, target: `http${tls ? 's' : ''}://localhost:<%= applicationTypeMicroservice ? gatewayServerPort : serverPort %>`, secure: false, changeOrigin: tls, diff --git a/generators/client/templates/src/main/webapp/content/css/loading.css.ejs b/generators/client/templates/src/main/webapp/content/css/loading.css.ejs index 639a6ef9488c..442d7a4b5e67 100644 --- a/generators/client/templates/src/main/webapp/content/css/loading.css.ejs +++ b/generators/client/templates/src/main/webapp/content/css/loading.css.ejs @@ -151,7 +151,7 @@ left: -8px; width: 24px; height: 10px; - background-image: url('/content/images/logo-jhipster.png'); + background-image: url('../images/logo-jhipster.png'); background-size: contain; -webkit-animation: lds-pacman-3 1s linear infinite; animation: lds-pacman-3 1.5s linear infinite; diff --git a/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs b/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs index d6a43a4a3bf7..9d8516a777c7 100644 --- a/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs +++ b/generators/client/templates/src/main/webapp/swagger-ui/index.html.ejs @@ -21,6 +21,7 @@ <%= baseName %> - Swagger UI + @@ -43,6 +44,7 @@ }; window.onload = async function () { + const serverBaseUri = document.baseURI.replace('swagger-ui/', ''); <%_ if (authenticationUsesCsrf) { _%> function getCSRF() { var name = 'XSRF-TOKEN='; @@ -54,7 +56,10 @@ } return ''; } - const axiosConfig = { timeout: 5000 }; + const axiosConfig = { + timeout: 5000, + baseURL: serverBaseUri, + }; <%_ } else { _%> const getBearerToken = () => { var authToken = localStorage.getItem('<%= jhiPrefixDashed %>-authenticationToken') || sessionStorage.getItem('<%= jhiPrefixDashed %>-authenticationToken'); @@ -68,11 +73,12 @@ }; const axiosConfig = { timeout: 5000, + baseURL: serverBaseUri, headers: { Authorization: getBearerToken() }, }; <%_ } _%> - const baseUrl = '/v3/api-docs'; + const baseUrl = serverBaseUri + 'v3/api-docs'; let urls; <%_ if (!applicationTypeMonolith && serviceDiscoveryAny) { _%> diff --git a/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs b/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs index 245aa27e7b36..b8582bca1829 100644 --- a/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs +++ b/generators/server/templates/src/main/java/package/web/filter/SpaWebFilter_imperative.java.ejs @@ -22,9 +22,8 @@ import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import org.springframework.web.filter.OncePerRequestFilter; - import java.io.IOException; +import org.springframework.web.filter.OncePerRequestFilter; public class SpaWebFilter extends OncePerRequestFilter { @@ -34,7 +33,8 @@ public class SpaWebFilter extends OncePerRequestFilter { @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { - String path = request.getRequestURI(); + // Request URI includes the contextPath if any, removed it. + String path = request.getRequestURI().substring(request.getContextPath().length()); if ( !path.startsWith("/api") && !path.startsWith("/management") && From 88fcb87453cfe5274fb1f2eafa9360630062d1cf Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 14 Aug 2023 18:16:01 -0300 Subject: [PATCH 3/3] don't check local blueprints. --- .eslintrc.json | 1 + generators/base/generator-base-blueprint.mts | 3 ++- generators/base/support/constants.mts | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 generators/base/support/constants.mts diff --git a/.eslintrc.json b/.eslintrc.json index b9677dd37732..dbf42fdbf41a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -54,6 +54,7 @@ "rules": { "default-param-last": "off", "import/no-unresolved": [2, { "ignore": ["^#[\\w\\d/\\-]+$"] }], + "import/prefer-default-export": "off", "prettier/prettier": "error", "prefer-regex-literals": "off", "linebreak-style": 0, diff --git a/generators/base/generator-base-blueprint.mts b/generators/base/generator-base-blueprint.mts index 9dad28449ae5..eb9610307cb8 100644 --- a/generators/base/generator-base-blueprint.mts +++ b/generators/base/generator-base-blueprint.mts @@ -30,6 +30,7 @@ import { PRIORITY_NAMES } from './priorities.mjs'; import { BaseGeneratorDefinition, GenericTaskGroup } from './tasks.mjs'; import { JHipsterGeneratorFeatures, JHipsterGeneratorOptions } from './api.mjs'; import CoreGenerator from '../base-core/generator-base.mjs'; +import { LOCAL_BLUEPRINT_PACKAGE_NAMESPACE } from './support/constants.mjs'; /** * Base class that contains blueprints support. @@ -505,7 +506,7 @@ export default class JHipsterBaseBlueprintGenerator< extraOptions: ComposeOptions = {}, ): Promise { blueprint = normalizeBlueprintName(blueprint); - if (!this.skipChecks) { + if (!this.skipChecks && blueprint !== LOCAL_BLUEPRINT_PACKAGE_NAMESPACE) { this._checkBlueprint(blueprint); } diff --git a/generators/base/support/constants.mts b/generators/base/support/constants.mts new file mode 100644 index 000000000000..7cc3f237e279 --- /dev/null +++ b/generators/base/support/constants.mts @@ -0,0 +1 @@ +export const LOCAL_BLUEPRINT_PACKAGE_NAMESPACE = '@jhipster/generator-jhipster-local';