vite.config.mts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import path from 'path';
  2. import { pathToFileURL } from 'url';
  3. import { loadEnv } from 'vite';
  4. import { defineConfig } from 'vitest/config';
  5. import { vendureDashboardPlugin } from './vite/vite-plugin-vendure-dashboard.js';
  6. /**
  7. * This config is used for local development
  8. */
  9. export default ({ mode }: { mode: string }) => {
  10. process.env = { ...process.env, ...loadEnv(mode, process.cwd()) };
  11. const adminApiHost = process.env.VITE_ADMIN_API_HOST ?? 'http://localhost:3000';
  12. const adminApiPort = process.env.VITE_ADMIN_API_PORT ? +process.env.VITE_ADMIN_API_PORT : 'auto';
  13. process.env.IS_LOCAL_DEV = adminApiHost.includes('localhost') ? 'true' : 'false';
  14. console.log('Admin API Connection Info', {
  15. adminApiHost,
  16. adminApiPort,
  17. isLocalDev: process.env.IS_LOCAL_DEV,
  18. });
  19. const vendureConfigPath = process.env.VITEST
  20. ? // This should always be used for running the tests
  21. './sample-vendure-config.ts'
  22. : // This one might be changed to '../dev-server/dev-config.ts' to test ui extensions
  23. './sample-vendure-config.ts';
  24. return defineConfig({
  25. test: {
  26. globals: true,
  27. environment: 'jsdom',
  28. },
  29. plugins: [
  30. vendureDashboardPlugin({
  31. vendureConfigPath: pathToFileURL(vendureConfigPath),
  32. adminUiConfig: { apiHost: adminApiHost, apiPort: adminApiPort },
  33. gqlOutputPath: path.resolve(__dirname, './src/lib/graphql/'),
  34. tempCompilationDir: path.resolve(__dirname, './.temp'),
  35. }) as any,
  36. ],
  37. });
  38. };