From 2d2aa4564e48df6678b612a2785c3b2bbc72e9ea Mon Sep 17 00:00:00 2001 From: matthieulapatate Date: Thu, 24 Feb 2022 17:11:02 +0100 Subject: [PATCH 1/6] Improve front page react generation --- .../ViteReactApplicationService.java | 4 ++ .../core/domain/ViteReactDomainService.java | 30 +++++++++++++++ .../react/core/domain/ViteReactService.java | 1 + .../primary/ViteReactResource.java | 9 +++++ .../vue/core/domain/ViteVueDomainService.java | 2 +- .../common/primary/app/StyledApp.css.mustache | 23 ++++++++++++ .../common/primary/app/StyledApp.tsx.mustache | 35 ++++++++++++++++++ .../JHipster-Lite-neon-blue.png | Bin 0 -> 29257 bytes .../main/webapp/content.images/ReactLogo.png | Bin 0 -> 5347 bytes .../domain/ViteReactDomainServiceTest.java | 11 ++++++ 10 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.css.mustache create mode 100644 src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache create mode 100644 src/main/resources/generator/client/vite/react/src/main/webapp/content.images/JHipster-Lite-neon-blue.png create mode 100644 src/main/resources/generator/client/vite/react/src/main/webapp/content.images/ReactLogo.png diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java index b9ead8d3217..5086bbc93d6 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java @@ -16,4 +16,8 @@ public ViteReactApplicationService(ViteReactService viteReactService) { public void init(Project project) { viteReactService.init(project); } + + public void StyledInit(Project project) { + viteReactService.StyledInit(project); + } } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java index 9be25fdb37f..b4b2b12d730 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java @@ -29,6 +29,12 @@ public void init(Project project) { addJestSonar(project); } + @Override + public void StyledInit(Project project) { + init(project); + addStyledReactIndex(project); + } + public void addDevDependencies(Project project) { ViteReact .devDependencies() @@ -71,6 +77,30 @@ public void addViteReactFiles(Project project) { ViteReact.reactFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); } + public void addStyledReactIndex(Project project) { + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "StyledApp.tsx.mustache", + "src/main/webapp/app/common/primary/app", + "App.tsx" + ); + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "StyledApp.css.mustache", + "src/main/webapp/app/common/primary/app", + "App.css" + ); + projectRepository.add(project, getPath(SOURCE, "src/main/webapp/content.images"), "ReactLogo.png", "src/main/webapp/content/images"); + projectRepository.add( + project, + getPath(SOURCE, "src/main/webapp/content.images"), + "JHipster-Lite-neon-blue.png", + "src/main/webapp/content/images" + ); + } + public void addJestSonar(Project project) { String oldText = "\"cacheDirectories\": \\["; String newText = diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java index 9d493ba4f85..a841e10035d 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java @@ -4,4 +4,5 @@ public interface ViteReactService { void init(Project project); + void StyledInit(Project project); } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java index 1427af28917..f85e609086f 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java @@ -31,4 +31,13 @@ public void init(@RequestBody ProjectDTO projectDTO) { Project project = ProjectDTO.toProject(projectDTO); viteReactApplicationService.init(project); } + + @Operation(summary = "Add Vite+React with minimal CSS") + @ApiResponse(responseCode = "500", description = "An error occurred while adding Vite+React with minimal CSS") + @PostMapping("/styled") + @GeneratorStep(id = "vite-react-styled") + public void addStyledViteVue(@RequestBody ProjectDTO projectDTO) { + Project project = ProjectDTO.toProject(projectDTO); + viteReactApplicationService.StyledInit(project); + } } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java index a6e9f6ec187..deb9c98d4db 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java @@ -135,7 +135,7 @@ public void addAppFilesWithCss(Project project) { "JHipster-Lite-neon-green.png", "src/main/webapp/content/images" ); - projectRepository.add(project, getPath(SOURCE, "webapp/content/images"), "VueLogo.png", "src/main/webapp/content/images"); + projectRepository.add(project, getPath(SOURCE, "/webapp/content/images"), "ReactLogo.png", "src/main/webapp/content/images"); } public void addJestSonar(Project project) { diff --git a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.css.mustache b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.css.mustache new file mode 100644 index 00000000000..4203fb45f83 --- /dev/null +++ b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.css.mustache @@ -0,0 +1,23 @@ + #app { + font-family: Avenir, Helvetica, Arial, sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + color: #2c3e50; + margin-top: 60px; + } + a { + color: #42b983; + } + + label { + margin: 0 0.5em; + font-weight: bold; + } + + code { + background-color: #eee; + padding: 2px 4px; + border-radius: 4px; + color: #304455; + } diff --git a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache new file mode 100644 index 00000000000..61c05bcf08f --- /dev/null +++ b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache @@ -0,0 +1,35 @@ +import './App.css'; + +function App() { +return ( +
+
+ Vue logo +
+ JHipster logo +

Vue 3 + TypeScript + Vite

+

+ Recommended IDE setup: + VSCode + + + Volar +

+ +

+ + Vite Documentation + + | + Vue 3 Documentation +

+ +

+ Edit + src/main/webapp/app/common/primary/app/App.vue to test hot module replacement. +

+
+
+); +} + +export default App; diff --git a/src/main/resources/generator/client/vite/react/src/main/webapp/content.images/JHipster-Lite-neon-blue.png b/src/main/resources/generator/client/vite/react/src/main/webapp/content.images/JHipster-Lite-neon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdd16a55b04770e010108ee99abda25a7100a5c GIT binary patch literal 29257 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 X@eDJUQo;Ye2mwlRs Date: Fri, 25 Feb 2022 10:38:36 +0100 Subject: [PATCH 2/6] Refactor method names in service --- .../ViteReactApplicationService.java | 8 ++-- .../vite/react/core/domain/ViteReact.java | 22 ++++++++++ .../core/domain/ViteReactDomainService.java | 44 ++++++------------- .../react/core/domain/ViteReactService.java | 4 +- .../ViteReactApplicationServiceIT.java | 2 +- .../domain/ViteReactDomainServiceTest.java | 10 ++--- 6 files changed, 48 insertions(+), 42 deletions(-) diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java index 5086bbc93d6..0fdbd0c8bde 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationService.java @@ -13,11 +13,11 @@ public ViteReactApplicationService(ViteReactService viteReactService) { this.viteReactService = viteReactService; } - public void init(Project project) { - viteReactService.init(project); + public void addViteReact(Project project) { + viteReactService.addViteReact(project); } - public void StyledInit(Project project) { - viteReactService.StyledInit(project); + public void addStyledViteReact(Project project) { + viteReactService.addStyledViteReact(project); } } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java index b80923f9ea0..712ee18b865 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java @@ -70,4 +70,26 @@ public static Map reactFiles() { Map.entry("setupTests.ts", pathConfig) ); } + + public static Map reactStyledFiles() { + String pathApp = "src/main/webapp/app"; + String pathWebapp = "src/main/webapp"; + String pathPrimaryApp = "src/main/webapp/app/common/primary/app"; + String pathTestPrimaryApp = "src/test/javascript/spec/common/primary/app"; + String pathConfig = "src/main/webapp/config"; + String pathContentImage = "src/main/webapp/content.images"; + + return Map.ofEntries( + Map.entry("index.html", pathWebapp), + Map.entry("index.css", pathApp), + Map.entry("index.tsx", pathApp), + Map.entry("vite-env.d.ts", pathApp), + Map.entry("StyledApp.css", pathPrimaryApp), + Map.entry("StyledApp.tsx", pathPrimaryApp), + Map.entry("App.test.tsx", pathTestPrimaryApp), + Map.entry("setupTests.ts", pathConfig), + Map.entry("JHipster-Lite-neon-blue.png", pathContentImage), + Map.entry("ReactLogo.png", pathContentImage) + ); + } } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java index b4b2b12d730..253ac758335 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java @@ -20,21 +20,25 @@ public ViteReactDomainService(ProjectRepository projectRepository, NpmService np } @Override - public void init(Project project) { + public void addViteReact(Project project) { + addCommonViteReact(project); + addViteReactFiles(project); + } + + @Override + public void addStyledViteReact(Project project) { + addCommonViteReact(project); + addViteReactStyledFiles(project); + } + + public void addCommonViteReact(Project project) { addDevDependencies(project); addDependencies(project); addScripts(project); addFiles(project); - addViteReactFiles(project); addJestSonar(project); } - @Override - public void StyledInit(Project project) { - init(project); - addStyledReactIndex(project); - } - public void addDevDependencies(Project project) { ViteReact .devDependencies() @@ -77,28 +81,8 @@ public void addViteReactFiles(Project project) { ViteReact.reactFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); } - public void addStyledReactIndex(Project project) { - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "StyledApp.tsx.mustache", - "src/main/webapp/app/common/primary/app", - "App.tsx" - ); - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "StyledApp.css.mustache", - "src/main/webapp/app/common/primary/app", - "App.css" - ); - projectRepository.add(project, getPath(SOURCE, "src/main/webapp/content.images"), "ReactLogo.png", "src/main/webapp/content/images"); - projectRepository.add( - project, - getPath(SOURCE, "src/main/webapp/content.images"), - "JHipster-Lite-neon-blue.png", - "src/main/webapp/content/images" - ); + public void addViteReactStyledFiles(Project project) { + ViteReact.reactStyledFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); } public void addJestSonar(Project project) { diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java index a841e10035d..9269eb67a9f 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactService.java @@ -3,6 +3,6 @@ import tech.jhipster.lite.generator.project.domain.Project; public interface ViteReactService { - void init(Project project); - void StyledInit(Project project); + void addViteReact(Project project); + void addStyledViteReact(Project project); } diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java index 118e972e39c..f9dd155bd33 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java @@ -17,7 +17,7 @@ class ViteReactApplicationServiceIT { void shouldInit() { Project project = tmpProjectWithPackageJsonComplete(); - viteReactApplicationService.init(project); + viteReactApplicationService.addViteReact(project); ViteReactAssert.assertDependency(project); ViteReactAssert.assertScripts(project); diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java index d0a2308d0f9..ac77d1c0d72 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java @@ -36,7 +36,7 @@ void shouldInit() { Project project = tmpProject(); when(npmService.getVersionInViteReact(anyString())).thenReturn(Optional.of("0.0.0")); - viteReactDomainService.init(project); + viteReactDomainService.addViteReact(project); verify(npmService, times(2)).addDependency(any(Project.class), anyString(), anyString()); verify(npmService, times(15)).addDevDependency(any(Project.class), anyString(), anyString()); @@ -51,17 +51,17 @@ void shouldInitStylesIndex() { Project project = tmpProject(); when(npmService.getVersionInViteReact(anyString())).thenReturn(Optional.of("0.0.0")); - viteReactDomainService.addStyledReactIndex(project); + viteReactDomainService.addViteReactStyledFiles(project); - verify(projectRepository, times(2)).template(any(Project.class), anyString(), anyString()); - verify(projectRepository).add(any(Project.class), anyString(), anyString()); + verify(projectRepository, times(2)).template(any(Project.class), anyString(), anyString(), anyString()); + verify(projectRepository, times(2)).add(any(Project.class), anyString(), anyString(), anyString()); } @Test void shouldNotInit() { Project project = tmpProject(); - assertThatThrownBy(() -> viteReactDomainService.init(project)).isExactlyInstanceOf(GeneratorException.class); + assertThatThrownBy(() -> viteReactDomainService.addViteReact(project)).isExactlyInstanceOf(GeneratorException.class); } @Test From 9e36f52f974ec29bea4b92b26efbdbbe58d085d5 Mon Sep 17 00:00:00 2001 From: matthieulapatate Date: Fri, 25 Feb 2022 11:11:56 +0100 Subject: [PATCH 3/6] Split files into common and not common (styled) --- .../vite/react/core/domain/ViteReact.java | 24 +--------- .../core/domain/ViteReactDomainService.java | 44 +++++++++++++++++-- .../primary/ViteReactResource.java | 4 +- .../common/primary/app/StyledApp.tsx.mustache | 10 ++--- .../config/ViteReactBeanConfigurationIT.java | 2 +- 5 files changed, 49 insertions(+), 35 deletions(-) diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java index 712ee18b865..95352f34b09 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReact.java @@ -52,7 +52,7 @@ public static List files() { return List.of("tsconfig.json", "vite.config.ts", "jest.config.ts"); } - public static Map reactFiles() { + public static Map reactCommonFiles() { String pathApp = "src/main/webapp/app"; String pathWebapp = "src/main/webapp"; String pathPrimaryApp = "src/main/webapp/app/common/primary/app"; @@ -70,26 +70,4 @@ public static Map reactFiles() { Map.entry("setupTests.ts", pathConfig) ); } - - public static Map reactStyledFiles() { - String pathApp = "src/main/webapp/app"; - String pathWebapp = "src/main/webapp"; - String pathPrimaryApp = "src/main/webapp/app/common/primary/app"; - String pathTestPrimaryApp = "src/test/javascript/spec/common/primary/app"; - String pathConfig = "src/main/webapp/config"; - String pathContentImage = "src/main/webapp/content.images"; - - return Map.ofEntries( - Map.entry("index.html", pathWebapp), - Map.entry("index.css", pathApp), - Map.entry("index.tsx", pathApp), - Map.entry("vite-env.d.ts", pathApp), - Map.entry("StyledApp.css", pathPrimaryApp), - Map.entry("StyledApp.tsx", pathPrimaryApp), - Map.entry("App.test.tsx", pathTestPrimaryApp), - Map.entry("setupTests.ts", pathConfig), - Map.entry("JHipster-Lite-neon-blue.png", pathContentImage), - Map.entry("ReactLogo.png", pathContentImage) - ); - } } diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java index 253ac758335..ccd0f9c7d64 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java @@ -22,7 +22,7 @@ public ViteReactDomainService(ProjectRepository projectRepository, NpmService np @Override public void addViteReact(Project project) { addCommonViteReact(project); - addViteReactFiles(project); + addViteReactUnstyledFiles(project); } @Override @@ -37,6 +37,7 @@ public void addCommonViteReact(Project project) { addScripts(project); addFiles(project); addJestSonar(project); + addViteReactCommonFiles(project); } public void addDevDependencies(Project project) { @@ -77,12 +78,47 @@ public void addFiles(Project project) { ViteReact.files().forEach(file -> projectRepository.add(project, SOURCE, file)); } - public void addViteReactFiles(Project project) { - ViteReact.reactFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); + public void addViteReactCommonFiles(Project project) { + ViteReact.reactCommonFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); + } + + public void addViteReactUnstyledFiles(Project project) { + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "App.css", + "src/main/webapp/app/common/primary/app" + ); + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "App.tsx", + "src/main/webapp/app/common/primary/app" + ); } public void addViteReactStyledFiles(Project project) { - ViteReact.reactStyledFiles().forEach((file, path) -> projectRepository.template(project, getPath(SOURCE, path), file, path)); + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "StyledApp.css", + "src/main/webapp/app/common/primary/app", + "App.css" + ); + projectRepository.template( + project, + getPath(SOURCE, "src/main/webapp/app/common/primary/app"), + "StyledApp.tsx", + "src/main/webapp/app/common/primary/app", + "App.tsx" + ); + projectRepository.add(project, getPath(SOURCE, "src/main/webapp/content.images"), "ReactLogo.png", "src/main/webapp/content/images"); + projectRepository.add( + project, + getPath(SOURCE, "src/main/webapp/content.images"), + "JHipster-Lite-neon-blue.png", + "src/main/webapp/content/images" + ); } public void addJestSonar(Project project) { diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java index f85e609086f..ee65e2d4f8e 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ViteReactResource.java @@ -29,7 +29,7 @@ public ViteReactResource(ViteReactApplicationService viteReactApplicationService @GeneratorStep(id = "vite-react") public void init(@RequestBody ProjectDTO projectDTO) { Project project = ProjectDTO.toProject(projectDTO); - viteReactApplicationService.init(project); + viteReactApplicationService.addViteReact(project); } @Operation(summary = "Add Vite+React with minimal CSS") @@ -38,6 +38,6 @@ public void init(@RequestBody ProjectDTO projectDTO) { @GeneratorStep(id = "vite-react-styled") public void addStyledViteVue(@RequestBody ProjectDTO projectDTO) { Project project = ProjectDTO.toProject(projectDTO); - viteReactApplicationService.StyledInit(project); + viteReactApplicationService.addStyledViteReact(project); } } diff --git a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache index 61c05bcf08f..71195acdcae 100644 --- a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache +++ b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache @@ -4,10 +4,10 @@ function App() { return (
- Vue logo + React logo
JHipster logo -

Vue 3 + TypeScript + Vite

+

React 17 + TypeScript + Vite

Recommended IDE setup: VSCode @@ -16,11 +16,11 @@ return (

- - Vite Documentation + + React Documentation | - Vue 3 Documentation + React Official

diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java index e833b144aaa..dc3e394370c 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java @@ -9,7 +9,7 @@ import tech.jhipster.lite.generator.client.vite.react.core.domain.ViteReactDomainService; @IntegrationTest -class ViteReactBeanConfigurationIT { +class evViteReactBeanConfigurationIT { @Autowired ApplicationContext applicationContext; From fe96495d2ed9ec18bc8f12f3a007fa0891a70a8c Mon Sep 17 00:00:00 2001 From: matthieulapatate Date: Fri, 25 Feb 2022 11:59:08 +0100 Subject: [PATCH 4/6] Tests runing for style front page react --- .../vue/core/domain/ViteVueDomainService.java | 2 +- .../primary/rest/ViveVueResource.java | 4 ++-- .../ViteReactApplicationServiceIT.java | 13 +++++++++++++ .../domain/ViteReactDomainServiceTest.java | 12 ++++++++---- .../primary/ReactResourceIT.java | 18 ++++++++++++++++++ .../primary/rest/ViveVueResourceIT.java | 2 +- 6 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java index deb9c98d4db..a6e9f6ec187 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/domain/ViteVueDomainService.java @@ -135,7 +135,7 @@ public void addAppFilesWithCss(Project project) { "JHipster-Lite-neon-green.png", "src/main/webapp/content/images" ); - projectRepository.add(project, getPath(SOURCE, "/webapp/content/images"), "ReactLogo.png", "src/main/webapp/content/images"); + projectRepository.add(project, getPath(SOURCE, "webapp/content/images"), "VueLogo.png", "src/main/webapp/content/images"); } public void addJestSonar(Project project) { diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResource.java b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResource.java index 52373b99858..d07a80260fd 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResource.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResource.java @@ -15,11 +15,11 @@ @RestController @RequestMapping("/api/vite/vue") @Tag(name = "Vite - Vue") -class ViveVueResource { +class ViteVueResource { private final ViteVueApplicationService viteVueApplicationService; - public ViveVueResource(ViteVueApplicationService viteVueApplicationService) { + public ViteVueResource(ViteVueApplicationService viteVueApplicationService) { this.viteVueApplicationService = viteVueApplicationService; } diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java index f9dd155bd33..c080f5636da 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/application/ViteReactApplicationServiceIT.java @@ -26,4 +26,17 @@ void shouldInit() { ViteReactAssert.assertReactFiles(project); ViteReactAssert.assertJestSonar(project); } + + @Test + void shouldInitStyled() { + Project project = tmpProjectWithPackageJsonComplete(); + + viteReactApplicationService.addStyledViteReact(project); + ViteReactAssert.assertDependency(project); + ViteReactAssert.assertScripts(project); + ViteReactAssert.assertConfig(project); + ViteReactAssert.assertFiles(project); + ViteReactAssert.assertReactFiles(project); + ViteReactAssert.assertJestSonar(project); + } } diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java index ac77d1c0d72..3df05d70e27 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainServiceTest.java @@ -43,7 +43,7 @@ void shouldInit() { verify(npmService, times(6)).addScript(any(Project.class), anyString(), anyString()); verify(projectRepository, times(3)).add(any(Project.class), anyString(), anyString()); - verify(projectRepository, times(8)).template(any(Project.class), anyString(), anyString(), anyString()); + verify(projectRepository, times(10)).template(any(Project.class), anyString(), anyString(), anyString()); } @Test @@ -51,10 +51,14 @@ void shouldInitStylesIndex() { Project project = tmpProject(); when(npmService.getVersionInViteReact(anyString())).thenReturn(Optional.of("0.0.0")); - viteReactDomainService.addViteReactStyledFiles(project); + viteReactDomainService.addStyledViteReact(project); - verify(projectRepository, times(2)).template(any(Project.class), anyString(), anyString(), anyString()); - verify(projectRepository, times(2)).add(any(Project.class), anyString(), anyString(), anyString()); + verify(npmService, times(2)).addDependency(any(Project.class), anyString(), anyString()); + verify(npmService, times(15)).addDevDependency(any(Project.class), anyString(), anyString()); + verify(npmService, times(6)).addScript(any(Project.class), anyString(), anyString()); + + verify(projectRepository, times(3)).add(any(Project.class), anyString(), anyString()); + verify(projectRepository, times(8)).template(any(Project.class), anyString(), anyString(), anyString()); } @Test diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ReactResourceIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ReactResourceIT.java index 48490fe1585..08440a98b17 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ReactResourceIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/primary/ReactResourceIT.java @@ -42,4 +42,22 @@ void shouldInit() throws Exception { ViteReactAssert.assertReactFiles(project); ViteReactAssert.assertFiles(project); } + + @Test + void shouldInitStyled() throws Exception { + ProjectDTO projectDTO = readFileToObject("json/chips.json", ProjectDTO.class).folder(tmpDirForTest()); + Project project = ProjectDTO.toProject(projectDTO); + initApplicationService.init(project); + + mockMvc + .perform( + post("/api/vite/react/styled").contentType(MediaType.APPLICATION_JSON).content(TestUtils.convertObjectToJsonBytes(projectDTO)) + ) + .andExpect(status().isOk()); + + ViteReactAssert.assertDependency(project); + ViteReactAssert.assertScripts(project); + ViteReactAssert.assertReactFiles(project); + ViteReactAssert.assertFiles(project); + } } diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResourceIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResourceIT.java index 09883f894d2..f9f682660d8 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResourceIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/vue/core/infrastructure/primary/rest/ViveVueResourceIT.java @@ -19,7 +19,7 @@ @IntegrationTest @AutoConfigureMockMvc -class ViveVueResourceIT { +class ViteVueResourceIT { @Autowired MockMvc mockMvc; From 23366a4d0f5c4ed1aba5cfac66ed3f51395f2fb8 Mon Sep 17 00:00:00 2001 From: matthieulapatate Date: Fri, 25 Feb 2022 16:45:38 +0100 Subject: [PATCH 5/6] Delete code smell --- .../core/domain/ViteReactDomainService.java | 31 +++---------------- .../config/ViteReactBeanConfigurationIT.java | 2 +- tests-ci/generate.sh | 2 +- 3 files changed, 7 insertions(+), 28 deletions(-) diff --git a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java index ccd0f9c7d64..440e5c7d63a 100644 --- a/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java +++ b/src/main/java/tech/jhipster/lite/generator/client/vite/react/core/domain/ViteReactDomainService.java @@ -10,6 +10,7 @@ public class ViteReactDomainService implements ViteReactService { public static final String SOURCE = "client/vite/react"; + public static final String SOURCE_APP = "src/main/webapp/app/common/primary/app"; private final ProjectRepository projectRepository; private final NpmService npmService; @@ -83,35 +84,13 @@ public void addViteReactCommonFiles(Project project) { } public void addViteReactUnstyledFiles(Project project) { - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "App.css", - "src/main/webapp/app/common/primary/app" - ); - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "App.tsx", - "src/main/webapp/app/common/primary/app" - ); + projectRepository.template(project, getPath(SOURCE, SOURCE_APP), "App.css", SOURCE_APP); + projectRepository.template(project, getPath(SOURCE, SOURCE_APP), "App.tsx", SOURCE_APP); } public void addViteReactStyledFiles(Project project) { - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "StyledApp.css", - "src/main/webapp/app/common/primary/app", - "App.css" - ); - projectRepository.template( - project, - getPath(SOURCE, "src/main/webapp/app/common/primary/app"), - "StyledApp.tsx", - "src/main/webapp/app/common/primary/app", - "App.tsx" - ); + projectRepository.template(project, getPath(SOURCE, SOURCE_APP), "StyledApp.css", SOURCE_APP, "App.css"); + projectRepository.template(project, getPath(SOURCE, SOURCE_APP), "StyledApp.tsx", SOURCE_APP, "App.tsx"); projectRepository.add(project, getPath(SOURCE, "src/main/webapp/content.images"), "ReactLogo.png", "src/main/webapp/content/images"); projectRepository.add( project, diff --git a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java index dc3e394370c..e833b144aaa 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vite/react/core/infrastructure/config/ViteReactBeanConfigurationIT.java @@ -9,7 +9,7 @@ import tech.jhipster.lite.generator.client.vite.react.core.domain.ViteReactDomainService; @IntegrationTest -class evViteReactBeanConfigurationIT { +class ViteReactBeanConfigurationIT { @Autowired ApplicationContext applicationContext; diff --git a/tests-ci/generate.sh b/tests-ci/generate.sh index 123976edefc..8dfeb005600 100755 --- a/tests-ci/generate.sh +++ b/tests-ci/generate.sh @@ -157,7 +157,7 @@ elif [[ $application == 'reactapp' ]]; then sonar_back_front callApi "/api/frontend-maven-plugin" - callApi "/api/vite/react" + callApi "/api/vite/react/styled" elif [[ $application == 'vueapp' ]]; then springboot From 50f22ac44fd715711d585cceaff216a9f06794e3 Mon Sep 17 00:00:00 2001 From: matthieulapatate Date: Fri, 25 Feb 2022 18:10:32 +0100 Subject: [PATCH 6/6] Fix react test error --- .../main/webapp/app/common/primary/app/StyledApp.tsx.mustache | 2 +- .../javascript/spec/common/primary/app/App.test.tsx.mustache | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache index 71195acdcae..4510be1a5eb 100644 --- a/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache +++ b/src/main/resources/generator/client/vite/react/src/main/webapp/app/common/primary/app/StyledApp.tsx.mustache @@ -7,7 +7,7 @@ return ( React logo
JHipster logo -

React 17 + TypeScript + Vite

+

JHipster Lite Vite + React app

Recommended IDE setup: VSCode diff --git a/src/main/resources/generator/client/vite/react/src/test/javascript/spec/common/primary/app/App.test.tsx.mustache b/src/main/resources/generator/client/vite/react/src/test/javascript/spec/common/primary/app/App.test.tsx.mustache index a3c64a991be..515d10c0fb0 100644 --- a/src/main/resources/generator/client/vite/react/src/test/javascript/spec/common/primary/app/App.test.tsx.mustache +++ b/src/main/resources/generator/client/vite/react/src/test/javascript/spec/common/primary/app/App.test.tsx.mustache @@ -8,7 +8,7 @@ describe('App tests', () => { test('renders learn react link', () => { render(); - const linkElement = screen.getByText(/learn react/i); + const linkElement = screen.getByText("JHipster Lite Vite + React app"); expect(linkElement).toBeTruthy(); }); -}) \ No newline at end of file +})