enso/app/gui/vite.test.config.ts
Adam Obuchowicz 4a249688e8
Unify Frontend App (#11287)
Fixes #10668
Fixes #8484

Summary of changes:
* `gui2` and `dashboard` are merged to `gui` directory. Various configs were merged (package.json, playwrigth, TS...). The src and e2e directories are split to `dashboard` and `project-view` for now.
* E2E tests run two servers on different ports. The tests are organized in projects. This is also to be changed soon, as we plan to [use better mocking in GUI/ProjectView](#9726)
* ESlint configs were merged to central `eslint.config.mjs`, and that file was moved to repository root. We kept the dashboard lints, but they can be relaxed. The dashboard code was changed to meet GUI lints.
* Also, the versions of linter plugins were bumped, and code fixed.
* The ide-desktop/client no longer has `dashboard` dependency - the only type used there was moved to common package.
* `common` package moved to `app`.
2024-10-11 18:23:02 +00:00

58 lines
1.5 KiB
TypeScript

/** @file Vite configuration for dashboard e2e tests' server. */
import { fileURLToPath } from 'node:url'
import { defineConfig, mergeConfig } from 'vite'
import { loadTestEnvironmentVariables } from 'enso-common/src/appConfig'
// =====================
// === Configuration ===
// =====================
loadTestEnvironmentVariables()
// This configuration file is for dashboard tests only.
process.env.CLOUD_BUILD = 'true'
const CONFIG = (await import('./vite.config')).default
export default mergeConfig(
CONFIG,
defineConfig({
resolve: {
alias: {
// eslint-disable-next-line @typescript-eslint/naming-convention
'@stripe/stripe-js/pure': fileURLToPath(
new URL('./e2e/dashboard/mock/stripe.ts', import.meta.url),
),
// eslint-disable-next-line @typescript-eslint/naming-convention
'@stripe/react-stripe-js': fileURLToPath(
new URL('./e2e/dashboard/mock/react-stripe.tsx', import.meta.url),
),
},
extensions: [
'.mock.mjs',
'.mock.js',
'.mock.mts',
'.mock.ts',
'.mock.jsx',
'.mock.tsx',
'.mock.json',
'.mjs',
'.js',
'.mts',
'.ts',
'.jsx',
'.tsx',
'.json',
],
},
define: {
// eslint-disable-next-line @typescript-eslint/naming-convention
'process.env.IS_IN_PLAYWRIGHT_TEST': JSON.stringify(`${true}`),
},
build: {
outDir: fileURLToPath(new URL('./mockDist', import.meta.url)),
},
}),
)