diff --git a/.gitignore b/.gitignore index 816b845..65141d6 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,5 @@ cache/* !cache/images/.keepme !cache/smartcrop/.keepme uploaded-images/* -!uploaded-images/keepme \ No newline at end of file +!uploaded-images/keepme +uploaded_files \ No newline at end of file diff --git a/package.json b/package.json index a503630..e1049bd 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,12 @@ "start": "docker-compose up -d db && node .", "typecheck:back": "npx tsc --noEmit --target es6 --lib es2021,dom -p tsconfig-back.json", "typecheck:front": "npx tsc --noEmit --target es6 --lib es2015,dom -p tsconfig-front.json", + "prebuild": "rm -rf dist/*", "build": "sealgen build", "watch": "multiple-scripts-tmux -p watch", "reset-db": "docker-compose down && docker-compose up -d", "install-test-deps": "npx playwright install firefox", + "pretest-cmd": "npm run build", "test-cmd": "vitest --config ./src/back/vitest.config.ts", "test-cmd-once": "vitest run --config ./src/back/vitest.config.ts", "test": "npm run test-cmd -- --ui", @@ -51,7 +53,6 @@ "sealious": "^0.18.3", "stimulus": "^2.0.0", "tempstream": "^0.3.15", - "unplugin-auto-import": "^0.17.5", "vitest": "^1.1.0" }, "devDependencies": { diff --git a/src/back/app.ts b/src/back/app.ts index 7e99495..7cadc5e 100644 --- a/src/back/app.ts +++ b/src/back/app.ts @@ -13,7 +13,7 @@ import { PORT, } from "./config.js"; import ADMIN_CREDENTIALS from "./default-admin-credentials.js"; -import { module_dirname } from "./util.js"; +import { module_dirname } from "./utils/module_dirname.js"; const locreq = _locreq(module_dirname(import.meta.url)); declare module "koa" { diff --git a/src/back/config.ts b/src/back/config.ts index 424ff4d..3fdde0a 100644 --- a/src/back/config.ts +++ b/src/back/config.ts @@ -1,5 +1,6 @@ import _locreq from "locreq"; -import { module_dirname } from "./util.js"; +import { module_dirname } from "./utils/module_dirname.js"; + const locreq = _locreq(module_dirname(import.meta.url)); export const SEALIOUS_SANITY = Boolean(process.env.SEALIOUS_SANITY); export const PORT = process.env.SEALIOUS_PORT diff --git a/src/back/index.ts b/src/back/index.ts index e5de13e..0b7be54 100644 --- a/src/back/index.ts +++ b/src/back/index.ts @@ -3,7 +3,8 @@ import _locreq from "locreq"; import TheApp from "./app.js"; import { PORT, SEALIOUS_SANITY } from "./config.js"; import { mainRouter } from "./routes/index.js"; -import { module_dirname } from "./util.js"; +import { module_dirname } from "./utils/module_dirname.js"; + const locreq = _locreq(module_dirname(import.meta.url)); export const the_app = new TheApp(); diff --git a/src/back/test_utils/with-prod-app.ts b/src/back/test_utils/with-prod-app.ts index 54d3f65..b936c5f 100644 --- a/src/back/test_utils/with-prod-app.ts +++ b/src/back/test_utils/with-prod-app.ts @@ -1,12 +1,12 @@ import _locreq from "locreq"; import { v4 as uuid } from "uuid"; +import { module_dirname } from "../utils/module_dirname.js"; const locreq = _locreq(module_dirname(import.meta.url)); import { SMTPMailer } from "sealious"; import { TestUtils } from "sealious"; import TheApp from "../app.js"; import { mainRouter } from "../routes/index.js"; -import { module_dirname } from "../util.js"; import getPort from "get-port"; import { MAILCATCHER_API_PORT, diff --git a/src/back/util.ts b/src/back/util.ts index 0a1a0d3..f036c01 100644 --- a/src/back/util.ts +++ b/src/back/util.ts @@ -1,6 +1,5 @@ import type { BaseContext } from "koa"; import qs from "qs"; -import { dirname } from "node:path"; export async function sleep(time: number) { return new Promise((resolve) => setTimeout(resolve, time)); @@ -21,7 +20,3 @@ export function UrlWithNewParams( ): string { return `${ctx.path}?${qs.stringify(query_params)}`; } - -export function module_dirname(module_url: string): string { - return dirname(module_url).replace(/^file:\/\//, ""); -} diff --git a/src/back/utils/module_dirname.ts b/src/back/utils/module_dirname.ts new file mode 100644 index 0000000..0bb1a5a --- /dev/null +++ b/src/back/utils/module_dirname.ts @@ -0,0 +1,5 @@ +import { dirname } from "node:path"; + +export function module_dirname(module_url: string): string { + return dirname(module_url).replace(/^file:\/\//, ""); +} diff --git a/src/back/vitest.config.ts b/src/back/vitest.config.ts index a431442..a1b4547 100644 --- a/src/back/vitest.config.ts +++ b/src/back/vitest.config.ts @@ -1,8 +1,7 @@ import { defineConfig } from "vitest/config"; -const exclude = ["docker_node_modules", "node_modules", "dist", "lib", "webhint"]; - -import AutoImport from "unplugin-auto-import/vite"; +// we're testing from the build 'dist' directory +const exclude = ["docker_node_modules", "node_modules", "src", "lib", "webhint"]; export default defineConfig({ test: { @@ -14,14 +13,7 @@ export default defineConfig({ exclude, enabled: true, all: true, - include: ["src/**", "test?(-*).?(c|m)[jt]s?(x)"], + include: ["dist/**"], }, }, - plugins: [ - AutoImport({ - include: [/\.tsx?$/], - imports: [{ tempstream: [["TempstreamJSX", "React"]] }], - dts: false, - }), - ], });