mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-04-21 17:47:22 +00:00
* refactor(mock): generate @podman-desktop/api mock from its definition instead of writing for each function and for each namespace the content reuse the .d.ts definition and wire automatically vi.fn() customize/override some classes implementation manually but most of it is generated fixes https://github.com/podman-desktop/podman-desktop/issues/14493 Signed-off-by: Florent Benoit <[email protected]>
67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
/**********************************************************************
|
|
* Copyright (C) 2023-2025 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
|
|
***********************************************************************/
|
|
|
|
import { join } from 'path';
|
|
import { builtinModules } from 'module';
|
|
|
|
const PACKAGE_ROOT = __dirname;
|
|
|
|
/**
|
|
* @type {import('vite').UserConfig}
|
|
* @see https://vitejs.dev/config/
|
|
*/
|
|
const config = {
|
|
mode: process.env.MODE,
|
|
root: PACKAGE_ROOT,
|
|
envDir: process.cwd(),
|
|
resolve: {
|
|
alias: {
|
|
'/@/': join(PACKAGE_ROOT, 'src') + '/',
|
|
},
|
|
},
|
|
build: {
|
|
sourcemap: 'inline',
|
|
target: 'esnext',
|
|
outDir: 'dist',
|
|
assetsDir: '.',
|
|
minify: process.env.MODE === 'production' ? 'esbuild' : false,
|
|
lib: {
|
|
entry: 'src/extension.ts',
|
|
formats: ['cjs'],
|
|
},
|
|
rollupOptions: {
|
|
external: ['@podman-desktop/api', ...builtinModules.flatMap(p => [p, `node:${p}`])],
|
|
output: {
|
|
entryFileNames: '[name].js',
|
|
},
|
|
},
|
|
emptyOutDir: true,
|
|
reportCompressedSize: false,
|
|
},
|
|
test: {
|
|
globals: true,
|
|
environment: 'node',
|
|
include: ['src/**/*.{test,spec}.?(c|m)[jt]s?(x)'],
|
|
globalSetup: [join(PACKAGE_ROOT, '..', '..', '__mocks__', 'vitest-generate-api-global-setup.ts')],
|
|
alias: {
|
|
'@podman-desktop/api': join(PACKAGE_ROOT, '..', '..', '__mocks__/@podman-desktop/api.js'),
|
|
},
|
|
},
|
|
};
|
|
|
|
export default config;
|