This commit progresses the migration from Vue CLI to Vite (#230). TypeScript migration: - Convert JavaScript Cypress tests and configurations to TypeScript. - Introduce `tsconfig.json` for Cypress, following official recommendation. Test execution: - Use Cypress CLI to run the tests. - Rename Cypress commands to reflect official naming conventions. - Start Vue server prior to Cypress execution, using `start-server-and-test` package based on official documentation. - Remove dependency on Vue CLI plugin ((`@vue/cli-plugin-e2e-cypress`). Configuration standardization (based on Cypress docs): - Delete unused `plugins/` directory. - Move test (spec) files to to the root directory. - Add official ESLint plugin (`eslint-plugin-cypress`). Changes for importing `vite.config.ts` into `cypress.config.ts`: - Add TypeScript import assertations to files importing JSON files. - Use ESM friendly way instead of `__dirname` to solve `ReferenceError: __dirname is not defined in ES module scrope`. Other changes: - Simplify comments in placeholder files. - Create Cypress specific `.gitignore` for enhanced maintainability, clarity and scalability. - Remove redundant `vue.config.cjs`.
16 lines
548 B
TypeScript
16 lines
548 B
TypeScript
import { defineConfig } from 'cypress';
|
|
import ViteConfig from './vite.config';
|
|
|
|
const CYPRESS_BASE_DIR = 'tests/e2e/';
|
|
|
|
export default defineConfig({
|
|
fixturesFolder: `${CYPRESS_BASE_DIR}/fixtures`,
|
|
screenshotsFolder: `${CYPRESS_BASE_DIR}/screenshots`,
|
|
videosFolder: `${CYPRESS_BASE_DIR}/videos`,
|
|
e2e: {
|
|
baseUrl: `http://localhost:${ViteConfig.server.port}/`,
|
|
specPattern: `${CYPRESS_BASE_DIR}/**/*.cy.{js,jsx,ts,tsx}`, // Default: cypress/e2e/**/*.cy.{js,jsx,ts,tsx}
|
|
supportFile: `${CYPRESS_BASE_DIR}/support/e2e.ts`,
|
|
},
|
|
});
|