From 28bde5b176df1509e762e4820f3fc8f2f407ade5 Mon Sep 17 00:00:00 2001 From: fabienpuissant Date: Sun, 29 Sep 2024 22:58:38 +0200 Subject: [PATCH] add piqure in react core --- .../client/react/core/domain/ReactCoreModulesFactory.java | 7 +++++++ .../client/vue/core/domain/VueModulesFactory.java | 7 +++++-- .../webapp/app => common/piqure}/injections.ts.mustache | 0 .../resources/generator/dependencies/common/package.json | 3 ++- src/main/resources/generator/dependencies/vue/package.json | 1 - .../react/core/domain/ReactCoreModulesFactoryTest.java | 3 ++- ...houldBuildModuleWithStyle.vitest.config.ts.approved.txt | 1 + 7 files changed, 17 insertions(+), 5 deletions(-) rename src/main/resources/generator/client/{vue/webapp/app => common/piqure}/injections.ts.mustache (100%) diff --git a/src/main/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactory.java b/src/main/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactory.java index ca20fa3535b..af68e0c4381 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactory.java +++ b/src/main/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactory.java @@ -36,6 +36,8 @@ public class ReactCoreModulesFactory { private static final JHipsterSource APP_SOURCE = WEBAPP_SOURCE.append("app"); private static final JHipsterDestination APP_DESTINATION = WEBAPP_DESTINATION.append("app"); + private static final JHipsterSource PIQURE_SOURCE = from("client/common/piqure"); + private static final String PRIMARY_APP = "home/infrastructure/primary"; private static final String ASSETS = "assets"; @@ -64,6 +66,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) { .addDevDependency(packageName("vite"), COMMON) .addDependency(packageName("react"), REACT) .addDependency(packageName("react-dom"), REACT) + .addDependency(packageName("piqure"), COMMON) .addScript(scriptKey("dev"), scriptCommand("npm-run-all --parallel dev:*")) .addScript(scriptKey("dev:vite"), scriptCommand("vite")) .addScript(scriptKey("build"), scriptCommand("npm-run-all build:*")) @@ -81,6 +84,9 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) { .addTemplate("index.tsx") .addTemplate("vite-env.d.ts") .and() + .batch(PIQURE_SOURCE, APP_DESTINATION) + .addTemplate("injections.ts") + .and() .add(WEBAPP_SOURCE.template("index.html"), WEBAPP_DESTINATION.append("index.html")) .add(SOURCE.append(TEST_PRIMARY).template("HomePage.spec.tsx"), to(TEST_PRIMARY).append("HomePage.spec.tsx")) .add(PRIMARY_APP_SOURCE.template("HomePage.tsx"), PRIMARY_APP_DESTINATION.append("HomePage.tsx")) @@ -171,6 +177,7 @@ private Consumer patchVitestConfig(JHipsterModuleProperti .add(text("plugins: ["), "plugins: [react(), ") .add(text("environment: 'node',"), "environment: 'jsdom',") .add(vitestCoverageExclusion(properties,"src/main/webapp/app/index.tsx")) + .add(vitestCoverageExclusion(properties,"src/main/webapp/app/injections.ts")) .and(); //@formatter:on } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactory.java b/src/main/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactory.java index 8b90f3a6272..4e4e03664bf 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactory.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactory.java @@ -30,6 +30,7 @@ public class VueModulesFactory { private static final JHipsterSource SOURCE = from("client/vue"); private static final JHipsterSource APP_SOURCE = from("client/vue/webapp/app"); + private static final JHipsterSource PIQURE_SOURCE = from("client/common/piqure"); private static final JHipsterSource DOCUMENTATION_SOURCE = SOURCE.append("documentation"); private static final JHipsterSource IMAGE_SOURCE = SOURCE.append("webapp/content/images"); @@ -60,7 +61,7 @@ public JHipsterModule buildVueModule(JHipsterModuleProperties properties) { .addDependency(packageName("vue"), VUE) .addDependency(packageName("axios"), VUE) .addDependency(packageName("vue-router"), VUE) - .addDependency(packageName("piqure"), VUE) + .addDependency(packageName("piqure"), COMMON) .addDevDependency(packageName("@vitejs/plugin-vue"), VUE) .addDevDependency(packageName("@vue/test-utils"), VUE) .addDevDependency(packageName("@vue/tsconfig"), VUE) @@ -89,9 +90,11 @@ public JHipsterModule buildVueModule(JHipsterModuleProperties properties) { .addTemplate("env.d.ts") .addTemplate("main.ts") .addTemplate("AppVue.vue") - .addTemplate("injections.ts") .addTemplate("router.ts") .and() + .batch(PIQURE_SOURCE, MAIN_DESTINATION) + .addTemplate("injections.ts") + .and() .batch(APP_SOURCE.append("home"), MAIN_DESTINATION.append("home")) .addTemplate("application/HomeRouter.ts") .addTemplate("infrastructure/primary/HomepageVue.vue") diff --git a/src/main/resources/generator/client/vue/webapp/app/injections.ts.mustache b/src/main/resources/generator/client/common/piqure/injections.ts.mustache similarity index 100% rename from src/main/resources/generator/client/vue/webapp/app/injections.ts.mustache rename to src/main/resources/generator/client/common/piqure/injections.ts.mustache diff --git a/src/main/resources/generator/dependencies/common/package.json b/src/main/resources/generator/dependencies/common/package.json index 6c125c9544e..2d1fd0d06b9 100644 --- a/src/main/resources/generator/dependencies/common/package.json +++ b/src/main/resources/generator/dependencies/common/package.json @@ -7,7 +7,8 @@ "i18next": "23.15.1", "i18next-browser-languagedetector": "8.0.0", "i18next-http-backend": "2.6.1", - "keycloak-js": "25.0.6" + "keycloak-js": "25.0.6", + "piqure": "2.0.0" }, "devDependencies": { "@babel/cli": "7.25.6", diff --git a/src/main/resources/generator/dependencies/vue/package.json b/src/main/resources/generator/dependencies/vue/package.json index 9f6877cceb7..81a4301e3b3 100644 --- a/src/main/resources/generator/dependencies/vue/package.json +++ b/src/main/resources/generator/dependencies/vue/package.json @@ -8,7 +8,6 @@ "i18next-vue": "5.0.0", "pinia": "2.2.2", "pinia-plugin-persistedstate": "4.0.2", - "piqure": "2.0.0", "vue": "3.5.9", "vue-router": "4.4.5" }, diff --git a/src/test/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.java b/src/test/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.java index 69eccdbc95f..b9a97624e26 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.java +++ b/src/test/java/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.java @@ -35,6 +35,7 @@ void shouldBuildModuleWithStyle() { .containing(nodeDependency("vite")) .containing(nodeDependency("react")) .containing(nodeDependency("react-dom")) + .containing(nodeDependency("piqure")) .containing(nodeScript("dev", "npm-run-all --parallel dev:*")) .containing(nodeScript("dev:vite", "vite")) .containing(nodeScript("build", "npm-run-all build:*")) @@ -64,7 +65,7 @@ void shouldBuildModuleWithStyle() { .and() .hasFiles("vite.config.ts") .hasFiles("src/main/webapp/index.html") - .hasPrefixedFiles("src/main/webapp/app", "index.css", "index.tsx", "vite-env.d.ts") + .hasPrefixedFiles("src/main/webapp/app", "index.css", "index.tsx", "vite-env.d.ts", "injections.ts") .hasFiles("src/test/webapp/unit/home/infrastructure/primary/HomePage.spec.tsx") .hasFile("src/main/webapp/app/home/infrastructure/primary/HomePage.tsx") .containing("import './HomePage.css';") diff --git a/src/test/resources/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.shouldBuildModuleWithStyle.vitest.config.ts.approved.txt b/src/test/resources/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.shouldBuildModuleWithStyle.vitest.config.ts.approved.txt index b75e04ba397..c155fa13132 100644 --- a/src/test/resources/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.shouldBuildModuleWithStyle.vitest.config.ts.approved.txt +++ b/src/test/resources/tech/jhipster/lite/generator/client/react/core/domain/ReactCoreModulesFactoryTest.shouldBuildModuleWithStyle.vitest.config.ts.approved.txt @@ -31,6 +31,7 @@ export default defineConfig({ include: ['src/main/webapp/**/*.ts?(x)'], exclude: [ ...configDefaults.coverage.exclude as string[], + 'src/main/webapp/app/injections.ts', 'src/main/webapp/app/index.tsx', ], provider: 'istanbul',