diff --git a/generators/bootstrap/support/eslint-transform.ts b/generators/bootstrap/support/eslint-transform.ts index d3ecd912bdee..c60fb554aa8d 100644 --- a/generators/bootstrap/support/eslint-transform.ts +++ b/generators/bootstrap/support/eslint-transform.ts @@ -23,13 +23,14 @@ import { Minimatch } from 'minimatch'; import BaseGenerator from '../../base-core/index.js'; import { getPackageRoot } from '../../../lib/index.js'; +import { JS_PRETTIER_EXTENSIONS } from '../../generator-constants.js'; // eslint-disable-next-line import/prefer-default-export export const createESLintTransform = function ( this: BaseGenerator | void, transformOptions: { ignoreErrors?: boolean; extensions?: string } = {}, ) { - const { extensions = 'js,ts', ignoreErrors } = transformOptions; + const { extensions = JS_PRETTIER_EXTENSIONS, ignoreErrors } = transformOptions; const minimatch = new Minimatch(`**/*.{${extensions}}`, { dot: true }); const eslint = new ESLint.ESLint({ fix: true, diff --git a/generators/generator-constants.js b/generators/generator-constants.js index d4afcd7708d9..25c1ac814f24 100644 --- a/generators/generator-constants.js +++ b/generators/generator-constants.js @@ -118,4 +118,5 @@ export const SERVER_MAIN_SRC_DIR = `${MAIN_DIR}java/`; export const SERVER_MAIN_RES_DIR = `${MAIN_DIR}resources/`; export const SERVER_TEST_SRC_DIR = `${TEST_DIR}java/`; export const SERVER_TEST_RES_DIR = `${TEST_DIR}resources/`; -export const PRETTIER_EXTENSIONS = 'md,json,yml,html,cjs,mjs,js,ts,tsx,css,scss,vue,java'; +export const JS_PRETTIER_EXTENSIONS = 'cjs,mjs,js,cts,mts,ts'; +export const PRETTIER_EXTENSIONS = `md,json,yml,html,${JS_PRETTIER_EXTENSIONS},tsx,css,scss,vue,java`; diff --git a/generators/vue/__snapshots__/generator.spec.ts.snap b/generators/vue/__snapshots__/generator.spec.ts.snap index 713b16feca4d..fc328e41f4c2 100644 --- a/generators/vue/__snapshots__/generator.spec.ts.snap +++ b/generators/vue/__snapshots__/generator.spec.ts.snap @@ -446,10 +446,10 @@ exports[`generator - vue gateway-jwt-skipUserManagement(true)-withAdminUi(false) "clientRoot/tsconfig.vitest.json": { "stateCleared": "modified", }, - "clientRoot/vite.config.ts": { + "clientRoot/vite.config.mts": { "stateCleared": "modified", }, - "clientRoot/vitest.config.ts": { + "clientRoot/vitest.config.mts": { "stateCleared": "modified", }, } @@ -970,10 +970,10 @@ exports[`generator - vue gateway-oauth2-withAdminUi(true)-skipJhipsterDependenci "clientRoot/tsconfig.vitest.json": { "stateCleared": "modified", }, - "clientRoot/vite.config.ts": { + "clientRoot/vite.config.mts": { "stateCleared": "modified", }, - "clientRoot/vitest.config.ts": { + "clientRoot/vitest.config.mts": { "stateCleared": "modified", }, } @@ -1431,10 +1431,10 @@ exports[`generator - vue microservice-jwt-skipUserManagement(false)-withAdminUi( "clientRoot/tsconfig.vitest.json": { "stateCleared": "modified", }, - "clientRoot/vite.config.ts": { + "clientRoot/vite.config.mts": { "stateCleared": "modified", }, - "clientRoot/vitest.config.ts": { + "clientRoot/vitest.config.mts": { "stateCleared": "modified", }, "clientRoot/webpack/config.js": { @@ -1910,10 +1910,10 @@ exports[`generator - vue microservice-oauth2-withAdminUi(true)-skipJhipsterDepen "tsconfig.vitest.json": { "stateCleared": "modified", }, - "vite.config.ts": { + "vite.config.mts": { "stateCleared": "modified", }, - "vitest.config.ts": { + "vitest.config.mts": { "stateCleared": "modified", }, "webpack/config.js": { @@ -2542,10 +2542,10 @@ exports[`generator - vue monolith-jwt-skipUserManagement(false)-withAdminUi(true "tsconfig.vitest.json": { "stateCleared": "modified", }, - "vite.config.ts": { + "vite.config.mts": { "stateCleared": "modified", }, - "vitest.config.ts": { + "vitest.config.mts": { "stateCleared": "modified", }, } @@ -2976,10 +2976,10 @@ exports[`generator - vue monolith-oauth2-withAdminUi(false)-skipJhipsterDependen "tsconfig.vitest.json": { "stateCleared": "modified", }, - "vite.config.ts": { + "vite.config.mts": { "stateCleared": "modified", }, - "vitest.config.ts": { + "vitest.config.mts": { "stateCleared": "modified", }, } @@ -3419,10 +3419,10 @@ exports[`generator - vue monolith-session-skipUserManagement(true)-withAdminUi(f "tsconfig.vitest.json": { "stateCleared": "modified", }, - "vite.config.ts": { + "vite.config.mts": { "stateCleared": "modified", }, - "vitest.config.ts": { + "vitest.config.mts": { "stateCleared": "modified", }, } diff --git a/generators/vue/cleanup.js b/generators/vue/cleanup.js index a1c4d4990d32..db9ca64fe4c8 100644 --- a/generators/vue/cleanup.js +++ b/generators/vue/cleanup.js @@ -102,4 +102,8 @@ export default function cleanupOldFilesTask({ application } = {}) { this.removeFile('webpack/webpack.dev.js'); this.removeFile('webpack/webpack.prod.js'); } + if (this.isJhipsterVersionLessThan('8.1.1')) { + this.removeFile('vite.config.ts'); + this.removeFile('vitest.config.ts'); + } } diff --git a/generators/vue/files-vue.js b/generators/vue/files-vue.js index a5510008089e..06d221f00b02 100644 --- a/generators/vue/files-vue.js +++ b/generators/vue/files-vue.js @@ -30,8 +30,8 @@ export const vueFiles = { 'tsconfig.vitest.json', '.postcssrc.js', '.eslintrc.cjs', - 'vite.config.ts', - 'vitest.config.ts', + 'vite.config.mts', + 'vitest.config.mts', ], }), ], diff --git a/generators/vue/templates/vite.config.ts.ejs b/generators/vue/templates/vite.config.mts.ejs similarity index 94% rename from generators/vue/templates/vite.config.ts.ejs rename to generators/vue/templates/vite.config.mts.ejs index da63a2a01ab7..40cdcb463da6 100644 --- a/generators/vue/templates/vite.config.ts.ejs +++ b/generators/vue/templates/vite.config.mts.ejs @@ -17,10 +17,14 @@ limitations under the License. -%> import { fileURLToPath, URL } from 'node:url'; -import { dirname, join } from 'node:path'; import { existsSync } from 'node:fs'; -import { mergeConfig, defineConfig } from 'vite'; +import { +<%_ if (microfrontend) { _%> + mergeConfig, +<%_ } _%> + defineConfig, +} from 'vite'; import vue from '@vitejs/plugin-vue'; import copy from 'rollup-plugin-copy'; <%_ if (microfrontend) { _%> @@ -34,6 +38,9 @@ const getFileFromRepo = (file: string) => ? fileURLToPath(new URL(`../node_modules/${file}`, import.meta.url)) : fileURLToPath(new URL(`./node_modules/${file}`, import.meta.url)); +const { getAbsoluteFSPath } = await import('swagger-ui-dist'); +const swaggerUiPath = getAbsoluteFSPath(); + // eslint-disable-next-line prefer-const let config = defineConfig({ plugins: [ @@ -42,8 +49,8 @@ let config = defineConfig({ targets: [ { src: [ - `${require('swagger-ui-dist').getAbsoluteFSPath()}/*.{js,css,html,png}`, - `!${require('swagger-ui-dist').getAbsoluteFSPath()}/**/index.html`, + `${swaggerUiPath}/*.{js,css,html,png}`, + `!${swaggerUiPath}/**/index.html`, getFileFromRepo('axios/dist/axios.min.js'), fileURLToPath(new URL('./<%- this.relativeDir(clientRootDir, clientSrcDir) %>swagger-ui/index.html', import.meta.url)), ], diff --git a/generators/vue/templates/vitest.config.ts.ejs b/generators/vue/templates/vitest.config.mts.ejs similarity index 94% rename from generators/vue/templates/vitest.config.ts.ejs rename to generators/vue/templates/vitest.config.mts.ejs index 25880f3ae8fa..8fb40287a375 100644 --- a/generators/vue/templates/vitest.config.ts.ejs +++ b/generators/vue/templates/vitest.config.mts.ejs @@ -17,8 +17,8 @@ limitations under the License. -%> import { fileURLToPath } from 'node:url' -import { mergeConfig, defineConfig, configDefaults } from 'vitest/config'; -import viteConfig from './vite.config' +import { mergeConfig, defineConfig } from 'vitest/config'; +import viteConfig from './vite.config.mjs' export default mergeConfig( viteConfig,