From 4ab747fc072e341c5cc083dbfb7a7fdc7fd3d25c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Mino?= Date: Mon, 29 Jul 2024 00:08:32 +0200 Subject: [PATCH 1/2] chore(vite): use vite-tsconfig-paths to simplify vite configuration --- .../react/core/domain/ReactCoreModulesFactory.java | 2 +- .../client/vue/core/domain/VueModulesFactory.java | 1 + .../generator/client/react/vite.config.ts.mustache | 10 ++-------- .../generator/client/vue/vite.config.ts.mustache | 9 ++------- .../generator/dependencies/common/package.json | 1 + .../generator/dependencies/react/package.json | 3 +-- .../client/vue/core/domain/VueModulesFactoryTest.java | 1 + 7 files changed, 9 insertions(+), 18 deletions(-) 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 5dfd05cdb55..2b716c72006 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 @@ -47,7 +47,7 @@ public JHipsterModule buildModule(JHipsterModuleProperties properties) { .addDevDependency(packageName("typescript"), COMMON) .addDevDependency(packageName("ts-node"), REACT) .addDevDependency(packageName("vite"), COMMON) - .addDevDependency(packageName("vite-tsconfig-paths"), REACT) + .addDevDependency(packageName("vite-tsconfig-paths"), COMMON) .addDevDependency(packageName("vitest"), COMMON) .addDevDependency(packageName("vitest-sonar-reporter"), COMMON) .addDependency(packageName("react"), REACT) 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 7abcd72c9f3..852087e35ee 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 @@ -60,6 +60,7 @@ public JHipsterModule buildVueModule(JHipsterModuleProperties properties) { .addDevDependency(packageName("jsdom"), COMMON) .addDevDependency(packageName("typescript"), COMMON) .addDevDependency(packageName("vite"), COMMON) + .addDevDependency(packageName("vite-tsconfig-paths"), COMMON) .addDevDependency(packageName("vitest"), COMMON) .addDevDependency(packageName("vitest-sonar-reporter"), COMMON) .addDevDependency(packageName("vue-tsc"), VUE) diff --git a/src/main/resources/generator/client/react/vite.config.ts.mustache b/src/main/resources/generator/client/react/vite.config.ts.mustache index 15e40107966..5d5c5803aa2 100644 --- a/src/main/resources/generator/client/react/vite.config.ts.mustache +++ b/src/main/resources/generator/client/react/vite.config.ts.mustache @@ -1,18 +1,12 @@ import { defineConfig } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; import react from '@vitejs/plugin-react'; -import path from 'path'; export default defineConfig({ - plugins: [react()], + plugins: [react(), tsconfigPaths()], build: { outDir: '../../../{{projectBuildDirectory}}/classes/static', }, - resolve: { - alias: [ - { find: '@', replacement: path.resolve(__dirname, 'src/main/webapp/app') }, - { find: '@assets', replacement: path.resolve('src/main/webapp/assets') }, - ], - }, root: 'src/main/webapp', server: { port: 9000, diff --git a/src/main/resources/generator/client/vue/vite.config.ts.mustache b/src/main/resources/generator/client/vue/vite.config.ts.mustache index 7168cfb58e3..e69a85715e8 100644 --- a/src/main/resources/generator/client/vue/vite.config.ts.mustache +++ b/src/main/resources/generator/client/vue/vite.config.ts.mustache @@ -1,15 +1,10 @@ import { defineConfig } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; import vue from '@vitejs/plugin-vue'; -import path from 'path'; // https://vitejs.dev/config/ export default defineConfig({ - resolve: { - alias: { - '@': path.resolve(__dirname, './src/main/webapp/app'), - }, - }, - plugins: [vue()], + plugins: [vue(), tsconfigPaths()], build: { outDir: '../../../{{projectBuildDirectory}}/classes/static', }, diff --git a/src/main/resources/generator/dependencies/common/package.json b/src/main/resources/generator/dependencies/common/package.json index 2810e86179b..b51c5060575 100644 --- a/src/main/resources/generator/dependencies/common/package.json +++ b/src/main/resources/generator/dependencies/common/package.json @@ -43,6 +43,7 @@ "ts-jest": "29.2.3", "typescript": "5.5.4", "vite": "5.3.5", + "vite-tsconfig-paths": "4.3.2", "vitest": "2.0.4", "vitest-sonar-reporter": "2.0.0" } diff --git a/src/main/resources/generator/dependencies/react/package.json b/src/main/resources/generator/dependencies/react/package.json index 0fa3d80d457..8a4d13845b8 100644 --- a/src/main/resources/generator/dependencies/react/package.json +++ b/src/main/resources/generator/dependencies/react/package.json @@ -20,7 +20,6 @@ "eslint-plugin-react": "7.35.0", "react-scripts": "5.0.1", "sass": "1.77.8", - "ts-node": "10.9.2", - "vite-tsconfig-paths": "4.3.2" + "ts-node": "10.9.2" } } diff --git a/src/test/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactoryTest.java b/src/test/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactoryTest.java index f4fbb313d92..1355869a40f 100644 --- a/src/test/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactoryTest.java +++ b/src/test/java/tech/jhipster/lite/generator/client/vue/core/domain/VueModulesFactoryTest.java @@ -39,6 +39,7 @@ void shouldCreateVueModule() { .containing(nodeDependency("jsdom")) .containing(nodeDependency("typescript")) .containing(nodeDependency("vite")) + .containing(nodeDependency("vite-tsconfig-paths")) .containing(nodeDependency("vitest")) .containing(nodeDependency("vitest-sonar-reporter")) .containing(nodeDependency("vue-tsc")) From 02de9498a9ec4cc569e49d356b310eda94e47820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Mino?= Date: Mon, 29 Jul 2024 00:12:02 +0200 Subject: [PATCH 2/2] chore(vitest): use vite-tsconfig-paths to simplify vitest configuration --- .../generator/client/react/vitest.config.ts.mustache | 4 ---- src/main/resources/generator/client/vue/tsconfig.json | 4 +++- .../generator/client/vue/vitest.config.ts.mustache | 7 ++----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/resources/generator/client/react/vitest.config.ts.mustache b/src/main/resources/generator/client/react/vitest.config.ts.mustache index 69366491a58..0b008487c5e 100644 --- a/src/main/resources/generator/client/react/vitest.config.ts.mustache +++ b/src/main/resources/generator/client/react/vitest.config.ts.mustache @@ -3,13 +3,9 @@ import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; import react from '@vitejs/plugin-react'; -import path from 'path'; export default defineConfig({ plugins: [react(), tsconfigPaths()], - resolve: { - alias: [{ find: '@', replacement: path.resolve(__dirname, 'src/main/webapp/app') }], - }, test: { reporters: ['verbose', 'vitest-sonar-reporter'], outputFile: { diff --git a/src/main/resources/generator/client/vue/tsconfig.json b/src/main/resources/generator/client/vue/tsconfig.json index 6a6b790d416..39819fba5ca 100644 --- a/src/main/resources/generator/client/vue/tsconfig.json +++ b/src/main/resources/generator/client/vue/tsconfig.json @@ -7,6 +7,7 @@ "strict": true, "jsx": "preserve", "skipLibCheck": true, + "allowJs": true, "sourceMap": true, "resolveJsonModule": true, "esModuleInterop": true, @@ -22,7 +23,8 @@ "src/main/webapp/**/*.d.ts", "src/main/webapp/**/*.tsx", "src/main/webapp/**/*.vue", - "src/test/javascript/spec/**/*.ts" + "src/test/javascript/spec/**/*.ts", + "src/test/javascript/spec/**/*.vue" ], "exclude": ["./node_modules"] } diff --git a/src/main/resources/generator/client/vue/vitest.config.ts.mustache b/src/main/resources/generator/client/vue/vitest.config.ts.mustache index 53a3ab8fe5a..2c846542b8e 100644 --- a/src/main/resources/generator/client/vue/vitest.config.ts.mustache +++ b/src/main/resources/generator/client/vue/vitest.config.ts.mustache @@ -1,14 +1,11 @@ /// import { defineConfig } from 'vite'; +import tsconfigPaths from 'vite-tsconfig-paths'; import vue from '@vitejs/plugin-vue'; -import path from 'path'; export default defineConfig({ - plugins: [vue()], - resolve: { - alias: [{ find: '@', replacement: path.resolve(__dirname, 'src/main/webapp/app') }], - }, + plugins: [vue(), tsconfigPaths()], test: { reporters: ['verbose', 'vitest-sonar-reporter'], outputFile: {