diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/jest-backend.config.js | 5 | ||||
-rw-r--r-- | config/playwright.config.js | 66 | ||||
-rw-r--r-- | config/vite.config.js | 55 |
3 files changed, 126 insertions, 0 deletions
diff --git a/config/jest-backend.config.js b/config/jest-backend.config.js new file mode 100644 index 0000000..1a88d9a --- /dev/null +++ b/config/jest-backend.config.js @@ -0,0 +1,5 @@ +module.exports = { + "rootDir": "..", + "testRegex": "./test/backend.spec.js", +}; + diff --git a/config/playwright.config.js b/config/playwright.config.js new file mode 100644 index 0000000..5c574ee --- /dev/null +++ b/config/playwright.config.js @@ -0,0 +1,66 @@ +import { defineConfig, devices } from "@playwright/test"; + +const port = 30001; +export const url = `http://localhost:${port}`; + +export default defineConfig({ + // Look for test files in the "tests" directory, relative to this configuration file. + testDir: "../test/e2e/specs", + outputDir: "../private/playwright-test-results", + fullyParallel: false, + locale: "en-US", + + // Fail the build on CI if you accidentally left test.only in the source code. + forbidOnly: !!process.env.CI, + + // Retry on CI only. + retries: process.env.CI ? 2 : 0, + + // Opt out of parallel tests on CI. + workers: 1, + + // Reporter to use + reporter: [ + [ + "html", { + outputFolder: "../private/playwright-report", + open: "never", + } + ], + ], + + use: { + // Base URL to use in actions like `await page.goto('/')`. + baseURL: url, + + // Collect trace when retrying the failed test. + trace: "on-first-retry", + }, + + // Configure projects for major browsers. + projects: [ + { + name: "run-once setup", + testMatch: /setup-process\.once\.js/, + use: { ...devices["Desktop Chrome"] }, + }, + { + name: "specs", + use: { ...devices["Desktop Chrome"] }, + dependencies: [ "run-once setup" ], + }, + /* + { + name: "firefox", + use: { browserName: "firefox" } + },*/ + ], + + // Run your local dev server before starting the tests. + webServer: { + command: `node extra/remove-playwright-test-data.js && cross-env NODE_ENV=development node server/server.js --port=${port} --data-dir=./data/playwright-test`, + url, + reuseExistingServer: false, + cwd: "../", + }, +}); diff --git a/config/vite.config.js b/config/vite.config.js new file mode 100644 index 0000000..7f2dfb6 --- /dev/null +++ b/config/vite.config.js @@ -0,0 +1,55 @@ +import vue from "@vitejs/plugin-vue"; +import { defineConfig } from "vite"; +import visualizer from "rollup-plugin-visualizer"; +import viteCompression from "vite-plugin-compression"; +import VueDevTools from "vite-plugin-vue-devtools"; + +const postCssScss = require("postcss-scss"); +const postcssRTLCSS = require("postcss-rtlcss"); + +const viteCompressionFilter = /\.(js|mjs|json|css|html|svg)$/i; + +// https://vitejs.dev/config/ +export default defineConfig({ + server: { + port: 3000, + }, + define: { + "FRONTEND_VERSION": JSON.stringify(process.env.npm_package_version), + "process.env": {}, + }, + plugins: [ + vue(), + visualizer({ + filename: "tmp/dist-stats.html" + }), + viteCompression({ + algorithm: "gzip", + filter: viteCompressionFilter, + }), + viteCompression({ + algorithm: "brotliCompress", + filter: viteCompressionFilter, + }), + VueDevTools(), + ], + css: { + postcss: { + "parser": postCssScss, + "map": false, + "plugins": [ postcssRTLCSS ] + } + }, + build: { + commonjsOptions: { + include: [ /.js$/ ], + }, + rollupOptions: { + output: { + manualChunks(id, { getModuleInfo, getModuleIds }) { + + } + } + }, + } +}); |