diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6cef459..b9da900 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,8 @@ jobs: - name: Build run: pnpm run build + env: + VITE_BASE_PATH: /eagle-plugin-mini-map/ - name: Upload artifact uses: actions/upload-pages-artifact@v3 diff --git a/.gitignore b/.gitignore index fc0a62f..87eb13d 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,7 @@ dist-ssr *.njsproj *.sln *.sw? + +# Test fixtures copied to public during build +public/tests + diff --git a/package.json b/package.json index a8e8a40..ca4c259 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dev": "vite", "dev:eagle": "vite build --watch", "type-check": "tsc --noEmit", - "build": "tsc -b && vite build", + "build": "cp -r tests public/tests && tsc -b && vite build", "test": "vitest run", "lint": "eslint --fix .", "lint:check": "eslint .", diff --git a/src/eagle/mock.ts b/src/eagle/mock.ts index 4075c93..26bf3e7 100644 --- a/src/eagle/mock.ts +++ b/src/eagle/mock.ts @@ -1,13 +1,16 @@ import manifest from "../../public/manifest.json"; import type { Eagle, EagleTheme, Item } from "./types"; +// Use BASE_URL to properly handle GitHub Pages deployment +const fixtureUrl = `${import.meta.env.BASE_URL}tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg`; + const mockItem: Item = { id: "mock-item", name: "Test Image", ext: "jpg", width: 3681, height: 5522, - url: "/tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg", + url: fixtureUrl, isDeleted: false, annotation: "Sky tree", tags: ["travel"], @@ -19,10 +22,10 @@ const mockItem: Item = { modifiedAt: Date.now(), noThumbnail: false, noPreview: false, - filePath: "/tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg", - fileURL: "/tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg", - thumbnailPath: "/tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg", - thumbnailURL: "/tests/fixtures/MJXX6FDDBW3FZ.info/DSC02497.jpg", + filePath: fixtureUrl, + fileURL: fixtureUrl, + thumbnailPath: fixtureUrl, + thumbnailURL: fixtureUrl, metadataFilePath: "", save: async () => Promise.resolve(true), moveToTrash: async () => Promise.resolve(true), diff --git a/vite.config.ts b/vite.config.ts index a68760e..f78147e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,6 @@ import { defineConfig } from "vite"; // https://vite.dev/config/ export default defineConfig({ - base: "./", // for Eagle Plugin + base: process.env.VITE_BASE_PATH || "./", // for Eagle Plugin plugins: [react(), tailwindcss()], });