diigo-cache: own test toolchain; pnpm lint, pnpm test
vitest, @cloudflare/vitest-plugin, and typescript are devDependencies here instead of being borrowed from diigo-bookmarks through hand-made node_modules symlinks and a deep-path import. - lint: wrangler types, then tsc over src/ and tests/ (Cloudflare's documented typecheck shape: regenerate types, then tsc) - test: vitest run - tests/tsconfig.json per the vitest-plugin docs; the dangling typecheck script (tsconfig.check.json never existed) is gone Generated-by: Claude Opus 5.5
This commit is contained in:
1 parent
22ae9a2b61
commit
0cfa9d204e
4 files changed
+21
-12
No files matched your search
@@ -85,12 +85,13 @@ const ndjson = await env.DIIGO.dumpNdjson(4, 24);
|
||||
|
||||
## Test
|
||||
|
||||
pnpm test
|
||||
pnpm types # regenerate worker-configuration.d.ts (after wrangler.jsonc changes)
|
||||
pnpm lint # fails if those types are stale; tsc over src/ and tests/
|
||||
pnpm test # vitest
|
||||
|
||||
Runs the real worker and both DOs in the vitest pool, with `WEBAPP`
|
||||
bound to [a fake webapp](tests/fake-webapp.js) serving diigo-shaped
|
||||
items (`wrangler.tests.jsonc`). vitest is borrowed from
|
||||
`../diigo-bookmarks/node_modules` (see `vitest.config.ts`).
|
||||
Tests run the real worker and both DOs in the vitest pool, with
|
||||
`WEBAPP` bound to [a fake webapp](tests/fake-webapp.js) serving
|
||||
diigo-shaped items (`wrangler.tests.jsonc`).
|
||||
|
||||
## Run, deploy
|
||||
|
||||
|
||||
@@ -4,10 +4,14 @@
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "wrangler dev -c wrangler.jsonc -c ../webapp/wrangler.jsonc",
|
||||
"test": "vitest run",
|
||||
"typecheck": "tsc -p tsconfig.check.json"
|
||||
"types": "wrangler types",
|
||||
"lint": "wrangler types --check && tsc -p tsconfig.json && tsc -p tests/tsconfig.json",
|
||||
"test": "vitest run"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/vitest-plugin": "1.3.6",
|
||||
"typescript": "^5.9.0",
|
||||
"vitest": "4.1.11",
|
||||
"wrangler": "^4.148.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"types": ["@cloudflare/vitest-plugin/types"],
|
||||
"allowJs": true
|
||||
},
|
||||
"include": ["./**/*", "../worker-configuration.d.ts"]
|
||||
}
|
||||
@@ -1,9 +1,5 @@
|
||||
import { defineProject } from "vitest/config";
|
||||
// the plugin resolves from diigo-bookmarks's store (the one vitest
|
||||
// install on disk); direct-path import sidesteps pnpm's exports-map
|
||||
// restriction *for the config file*. cloudflareTest (the plugin form,
|
||||
// not the bare pool) is what provides the `cloudflare:test` module.
|
||||
import { cloudflareTest } from "../diigo-bookmarks/node_modules/.pnpm/@cloudflare+vitest-plugin@1.3.6_@cloudflare+workers-types@5.20261005.1_@types+node@26.6.4_@vi_7mty7nznaeeyt2ohspxbzj4p6m/node_modules/@cloudflare/vitest-plugin/dist/pool/index.mjs";
|
||||
import { cloudflareTest } from "@cloudflare/vitest-plugin";
|
||||
|
||||
export default defineProject({
|
||||
plugins: [
|
||||
|
||||
Reference in new issue
Block a user