nsarrazin HF Staff commited on
Commit
d0c8b66
·
unverified ·
1 Parent(s): c4c0dc8

fix(config): test setup update (#1430)

Browse files

* fix test setup

* exclude vite config from type check

Files changed (4) hide show
  1. package.json +1 -1
  2. scripts/setupTest.ts +37 -0
  3. tsconfig.json +2 -1
  4. vite.config.ts +7 -2
package.json CHANGED
@@ -11,7 +11,7 @@
11
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12
  "lint": "prettier --plugin-search-dir . --check . && eslint .",
13
  "format": "prettier --plugin-search-dir . --write .",
14
- "test": "MONGODB_URL=mongodb://127.0.0.1:27017/ vitest",
15
  "updateLocalEnv": "node --loader ts-node/esm scripts/updateLocalEnv.ts",
16
  "populate": "vite-node --options.transformMode.ssr='/.*/' scripts/populate.ts",
17
  "prepare": "husky"
 
11
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12
  "lint": "prettier --plugin-search-dir . --check . && eslint .",
13
  "format": "prettier --plugin-search-dir . --write .",
14
+ "test": "vitest",
15
  "updateLocalEnv": "node --loader ts-node/esm scripts/updateLocalEnv.ts",
16
  "populate": "vite-node --options.transformMode.ssr='/.*/' scripts/populate.ts",
17
  "prepare": "husky"
scripts/setupTest.ts ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { vi } from "vitest";
2
+ import dotenv from "dotenv";
3
+ import { resolve } from "path";
4
+ import fs from "fs";
5
+
6
+ // Load the .env file
7
+ const envPath = resolve(__dirname, "../.env");
8
+ dotenv.config({ path: envPath });
9
+
10
+ // Read the .env file content
11
+ const envContent = fs.readFileSync(envPath, "utf-8");
12
+
13
+ // Parse the .env content
14
+ const envVars = dotenv.parse(envContent);
15
+
16
+ // Separate public and private variables
17
+ const publicEnv = {};
18
+ const privateEnv = {};
19
+
20
+ for (const [key, value] of Object.entries(envVars)) {
21
+ if (key.startsWith("PUBLIC_")) {
22
+ publicEnv[key] = value;
23
+ } else {
24
+ privateEnv[key] = value;
25
+ }
26
+ }
27
+
28
+ vi.mock("$env/dynamic/public", () => ({
29
+ env: publicEnv,
30
+ }));
31
+
32
+ vi.mock("$env/dynamic/private", () => ({
33
+ env: {
34
+ ...privateEnv,
35
+ MONGODB_URL: "mongodb://127.0.0.1:27017/",
36
+ },
37
+ }));
tsconfig.json CHANGED
@@ -10,7 +10,8 @@
10
  "sourceMap": true,
11
  "strict": true,
12
  "target": "ES2018"
13
- }
 
14
  // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
15
  //
16
  // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
 
10
  "sourceMap": true,
11
  "strict": true,
12
  "target": "ES2018"
13
+ },
14
+ "exclude": ["vite.config.ts"]
15
  // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
16
  //
17
  // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
vite.config.ts CHANGED
@@ -1,10 +1,10 @@
1
  import { sveltekit } from "@sveltejs/kit/vite";
2
- import { defineConfig, type PluginOption } from "vite";
3
  import Icons from "unplugin-icons/vite";
4
  import { promises } from "fs";
 
5
 
6
  // used to load fonts server side for thumbnail generation
7
- function loadTTFAsArrayBuffer(): PluginOption {
8
  return {
9
  name: "load-ttf-as-array-buffer",
10
  async transform(_src, id) {
@@ -37,4 +37,9 @@ export default defineConfig({
37
  server: {
38
  open: "/",
39
  },
 
 
 
 
 
40
  });
 
1
  import { sveltekit } from "@sveltejs/kit/vite";
 
2
  import Icons from "unplugin-icons/vite";
3
  import { promises } from "fs";
4
+ import { defineConfig } from "vitest/config";
5
 
6
  // used to load fonts server side for thumbnail generation
7
+ function loadTTFAsArrayBuffer() {
8
  return {
9
  name: "load-ttf-as-array-buffer",
10
  async transform(_src, id) {
 
37
  server: {
38
  open: "/",
39
  },
40
+ test: {
41
+ setupFiles: ["./scripts/setupTest.ts"],
42
+ deps: { inline: ["@sveltejs/kit"] },
43
+ globals: true,
44
+ },
45
  });