All five errors gone. Both were real resolution bugs rather than dead code that happened to be noisy — the unreachable parts were unreachable for the wrong reason. officerdb's export map gave the wildcard no extension: "./types": "./src/types.ts" explicit entries carry it "./*": "./src/*" the wildcard did not so `officerdb/soulseek/schema` resolved to `src/soulseek/schema`, which is not a file, while `src/soulseek/schema.ts` sat right there. Now "./src/*.ts". Verified every subpath still resolves at RUNTIME with Bun.resolveSync — an exports map is exactly the thing where a typecheck fix can break the running app, and three of the four paths are load-bearing. types.ts inferred EmailAccount* and PushDevice* from `./schema`, the aggregator that drizzle-kit reads — where both tables are commented out because they belong to plugins. But inferring a TYPE has nothing to do with whether the table exists in the live database: these describe rows the plugin's own code passes around, and that code compiles whether or not the plugin is installed. Reading them off the aggregator coupled the two, so commenting a plugin out of schema.ts broke the build of code that was already unreachable. They now come from ./email/schema and ./notify/schema directly — the same move the query modules made when the split landed, and the thing that lets a table leave the aggregator without breaking anything. src/databases/CLAUDE.md already describes this as the rule; types.ts was the one file that had not followed it. Verified: bunx tsgo --noEmit, zero output. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
25 lines
658 B
JSON
25 lines
658 B
JSON
{
|
|
"name": "officerdb",
|
|
"version": "0.0.1",
|
|
"main": "src/index.ts",
|
|
"type": "module",
|
|
"exports": {
|
|
".": "./src/index.ts",
|
|
"./types": "./src/types.ts",
|
|
"./db": "./src/db.ts",
|
|
"./schema": "./src/schema.ts",
|
|
"./secret-store": "./src/secret-store.ts",
|
|
"./*": "./src/*.ts"
|
|
},
|
|
"scripts": {
|
|
"generate": "drizzle-kit generate --config=drizzle.config.ts",
|
|
"push": "drizzle-kit push --config=drizzle.config.ts",
|
|
"migrate": "drizzle-kit migrate --config=drizzle.config.ts",
|
|
"studio": "drizzle-kit studio --config=drizzle.config.ts"
|
|
},
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"definitions": "workspace:*"
|
|
}
|
|
}
|