Files
TREK/knip.jsonc
T
Maurice 3fdae47041 chore: drop the exports the reworked server modules left without an importer
knip found them once the server lanes and the client ratchets met: re-exports
and helpers that moved into place-import, nest-rpc and auth-core but kept an
export nothing reads, the demo-denied helper the central MCP gate replaced,
and two settings keys only the selector uses. @OptionalAuth stays exported
as the documented opt-out and is marked @public. The baselines for knip and
the unused en keys drop to the merged tree.
2026-10-10 21:52:09 +02:00

73 lines
3.1 KiB
JSON

{
// knip over the three workspaces: unused files, exports, types and
// dependencies. scripts/ci/knip-ratchet.mjs (npm run lint:knip) holds what it
// finds today in scripts/ci/knip-baseline.json and fails on anything new.
// A false positive is fixed here, with the reason, never in the baseline.
"$schema": "https://unpkg.com/knip@6/schema.json",
// plugin-sdk is published on its own with its own lockfile and is not a
// root workspace; its test files would otherwise read as unlisted vitest.
"ignore": ["plugin-sdk/**"],
// test.yml runs `cd server && node --require tsconfig-paths/register`; knip
// resolves the workflow from the root, where server's dependency is not.
"ignoreUnresolved": ["tsconfig-paths/register"],
"workspaces": {
".": {
"entry": ["scripts/ci/*.mjs", "scripts/*.{cjs,mts}"],
"project": ["scripts/**/*.{mjs,cjs,mts}"],
// An optional peer of tsdown, which loads shared/tsdown.config.ts through
// it; nothing imports it by name. eslint and prettier are the workspaces'
// own copies: the shared scripts/lib takes them handed in, and its tests
// import the hoisted ones the server and shared declare.
"ignoreDependencies": ["unrun", "eslint", "prettier"]
},
"client": {
// The app, its scripts, the Playwright specs and the server launcher
// playwright.config.ts starts (`node e2e/server-launch.mjs`), and the tests.
"entry": [
"src/main.tsx",
"scripts/*.mjs",
"e2e/**/*.{ts,mjs}",
"src/**/*.test.{ts,tsx}",
"tests/**/*.{ts,tsx}"
],
"project": ["src/**/*.{ts,tsx}", "scripts/**/*.mjs", "tests/**/*.{ts,tsx}", "e2e/**/*.{ts,mjs}"]
},
"server": {
"entry": [
"src/index.ts",
"src/bootstrap.ts",
// Read by the MikroORM CLI and at boot, by path.
"src/mikro-orm.config.ts",
// Started with child_process.fork() by the plugin supervisor (nest/plugins/paths.ts).
"src/nest/plugins/runtime/plugin-host-entry.ts",
// The plugin-author-facing API the forked child exposes; its exported
// types are the contract for plugin code outside this repository.
"src/nest/plugins/runtime/plugin-sdk.ts",
// Found by the migrator and the seeder through a glob, never imported.
"src/db/migrations/*.ts",
"src/db/seeders/*.ts",
"scripts/**/*.{mjs,cjs,ts}",
"reset-admin.js",
"tests/**/*.ts"
],
"project": ["src/**/*.ts", "scripts/**/*.{mjs,cjs,ts}", "tests/**/*.ts"],
// The MikroORM command line (npx mikro-orm), configured by the
// "mikro-orm" block in server/package.json and never imported.
"ignoreDependencies": ["@mikro-orm/cli"]
},
"shared": {
"entry": [
// The package entry points tsdown builds, one per locale for the lazy chunks.
"src/index.ts",
"src/roadtrip/planning.ts",
"src/i18n/index.ts",
"src/i18n/*/index.ts",
// open-request-schemas.d.mts types the .mjs script beside it.
"scripts/*.{mjs,d.mts}",
"src/**/*.spec.ts"
],
"project": ["src/**/*.ts", "scripts/**/*.{mjs,mts}"]
}
}
}