podman-desktop/packages/renderer/vite.config.js
Fred Bricon ba9518d7ec fix(svelte): migrate HMR configuration for Svelte 5 compatibility
Moved HMR configuration from vite plugin's 'hot' option to compilerOptions.hmr
in svelte.config.js as required by Svelte 5, which has HMR integrated in core.

This fixes the warning: "[vite-plugin-svelte] svelte 5 has hmr integrated in
core. Please remove the vitePlugin.hot option and use compilerOptions.hmr instead"

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Signed-off-by: Fred Bricon <[email protected]>
2026-03-23 15:37:53 +01:00

81 lines
2.4 KiB
JavaScript

/**********************************************************************
* Copyright (C) 2023 Red Hat, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
***********************************************************************/
/* eslint-env node */
import { join } from 'path';
import * as path from 'path';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import { svelteTesting } from '@testing-library/svelte/vite';
import { defineConfig } from 'vite';
import { fileURLToPath } from 'url';
import tailwindcss from '@tailwindcss/vite';
let filename = fileURLToPath(import.meta.url);
const PACKAGE_ROOT = path.dirname(filename);
// https://vitejs.dev/config/
export default defineConfig({
mode: process.env.MODE,
root: PACKAGE_ROOT,
resolve: {
alias: {
'/@/': join(PACKAGE_ROOT, 'src') + '/',
},
},
plugins: [tailwindcss(), svelte({ configFile: '../../svelte.config.js' }), svelteTesting()],
optimizeDeps: {
exclude: ['tinro', '@podman-desktop/api'],
},
test: {
retry: 3, // Retries failing tests up to 3 times
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
globals: true,
environment: 'jsdom',
alias: [
{ find: '@testing-library/svelte', replacement: '@testing-library/svelte/svelte5' },
{
find: /^monaco-editor$/,
replacement: `${PACKAGE_ROOT}/../../node_modules/monaco-editor/esm/vs/editor/editor.api`,
},
{ find: '@floating-ui/dom', replacement: `${PACKAGE_ROOT}/__mocks__/@floating-ui/dom.ts` },
],
server: {
deps: {
inline: ['@fortawesome/fontawesome-free/css/all.min.css'],
},
},
deps: {
inline: ['moment'],
},
setupFiles: ['./vite.tests.setup.js'],
},
base: '',
server: {
fs: {
strict: true,
},
},
build: {
sourcemap: true,
outDir: 'dist',
assetsDir: '.',
emptyOutDir: true,
reportCompressedSize: false,
},
});