summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/jest-backend.config.js5
-rw-r--r--config/playwright.config.js66
-rw-r--r--config/vite.config.js55
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 }) {
+
+ }
+ }
+ },
+ }
+});