got vitest working

run via npm run test -w web
This commit is contained in:
Elijah Morgan 2025-01-11 19:59:35 -05:00
parent 02e4104932
commit f7be8b834b
12 changed files with 42 additions and 39 deletions

View file

@ -8,7 +8,8 @@
"name": "limbo-wasm",
"version": "0.0.11",
"workspaces": [
"packages/*"
"node",
"web"
],
"devDependencies": {
"@playwright/test": "^1.49.1",
@ -21,6 +22,9 @@
"wasm-pack": "^0.13.1"
}
},
"node": {
"version": "0.0.11"
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.24.2",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
@ -46,11 +50,11 @@
"license": "MIT"
},
"node_modules/@limbo-wasm/node": {
"resolved": "packages/node",
"resolved": "node",
"link": true
},
"node_modules/@limbo-wasm/web": {
"resolved": "packages/web",
"resolved": "web",
"link": true
},
"node_modules/@playwright/test": {
@ -1464,10 +1468,24 @@
"license": "ISC"
},
"packages/node": {
"version": "0.0.11"
"version": "0.0.11",
"extraneous": true
},
"packages/web": {
"version": "0.0.11"
"version": "0.0.11",
"extraneous": true
},
"web": {
"version": "0.0.11",
"devDependencies": {
"@playwright/test": "^1.49.1",
"@vitest/ui": "^2.1.8",
"happy-dom": "^16.3.0",
"playwright": "^1.49.1",
"vite": "^6.0.7",
"vite-plugin-wasm": "^3.4.1",
"vitest": "^2.1.8"
}
}
}
}

View file

@ -1,29 +0,0 @@
import { defineConfig } from "vite";
import wasm from "vite-plugin-wasm";
export default defineConfig({
publicDir: "./html",
root: ".",
plugins: [wasm()],
test: {
globals: true,
environment: "happy-dom",
setupFiles: ["./test/setup.js"],
include: ["test/*.test.js"],
},
server: {
headers: {
"Cross-Origin-Embedder-Policy": "require-corp",
"Cross-Origin-Opener-Policy": "same-origin",
"Cross-Origin-Resource-Policy": "cross-origin",
},
},
worker: {
format: "es",
rollupOptions: {
output: {
format: "es",
},
},
},
});

View file

@ -2,7 +2,7 @@
<html>
<body>
<script type="module">
import { VFSInterface } from './packages/web/dist/opfs-interface.js';
import { VFSInterface } from './src/opfs-interface.js';
window.VFSInterface = VFSInterface;
</script>
</body>

View file

@ -10,5 +10,19 @@
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
}
},
"scripts": {
"dev": "vite",
"test": "vitest --sequence.shuffle=false",
"test:ui": "vitest --ui"
},
"devDependencies": {
"@playwright/test": "^1.49.1",
"@vitest/ui": "^2.1.8",
"happy-dom": "^16.3.0",
"playwright": "^1.49.1",
"vite": "^6.0.7",
"vite-plugin-wasm": "^3.4.1",
"vitest": "^2.1.8"
}
}

View file

@ -21,7 +21,7 @@ afterAll(async () => {
test("basic read/write functionality", async () => {
const { page } = testEnv;
const result = await page.evaluate(async () => {
const vfs = new window.VFSInterface("./opfs-worker.js");
const vfs = new window.VFSInterface("../src/opfs-worker.js");
let fd;
try {
fd = await vfs.open("test.txt", {});
@ -47,7 +47,7 @@ test("basic read/write functionality", async () => {
test("larger data read/write", async () => {
const { page } = testEnv;
const result = await page.evaluate(async () => {
const vfs = new window.VFSInterface("./opfs-worker.js");
const vfs = new window.VFSInterface("../src/opfs-worker.js");
let fd;
try {
fd = await vfs.open("large.txt", {});
@ -74,7 +74,7 @@ test("larger data read/write", async () => {
test("partial reads and writes", async () => {
const { page } = testEnv;
const result = await page.evaluate(async () => {
const vfs = new window.VFSInterface("./opfs-worker.js");
const vfs = new window.VFSInterface("../src/opfs-worker.js");
let fd;
try {
fd = await vfs.open("partial.txt", {});
@ -113,7 +113,7 @@ test("partial reads and writes", async () => {
test("file size operations", async () => {
const { page } = testEnv;
const result = await page.evaluate(async () => {
const vfs = new window.VFSInterface("./opfs-worker.js");
const vfs = new window.VFSInterface("../src/opfs-worker.js");
let fd;
try {
fd = await vfs.open("size.txt", {});