Repository navigation
Expand file tree
/
Copy pathknip.jsonc
More file actions
138 lines (138 loc) · 5.88 KB
/
Copy pathknip.jsonc
File metadata and controls
138 lines (138 loc) · 5.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
{
"$schema": "https://unpkg.com/knip@6/schema.json",
// Exported types are part of our contracts even before they have consumers.
"rules": { "types": "off", "nsTypes": "off" },
// These executables are supplied by the OS or installed separately from npm.
"ignoreBinaries": ["eas", "file", "mkfifo", "pkill", "pkg-config", "plutil", "sips"],
"workspaces": {
".": {
// Keep vendored reference repositories outside the root project.
"project": ["*.{js,mjs,cjs,ts,mts,cts}", ".github/**/*.cjs"],
"entry": [
// CodeRabbit loads its configuration by filename.
".coderabbit.config.ts",
".github/scripts/thread-transfer-report.cjs",
],
"vite": { "entry": [".github/**/*.test.cjs"] },
"vitest": { "entry": [".github/**/*.test.cjs"] },
},
"scripts": {
// Knip loads its preprocessor through a CLI option; native verification and
// worktree setup (from t3.json) run directly. release-desktop.yml bundles the
// Windows verify script with esbuild through a path knip does not trace, and
// electron-builder loads the macOS signer by path.
"entry": [
"knip-schemas.ts",
"mobile-native-client.ts",
"setup-worktree.ts",
"sign-macos.ts",
"verify-windows-desktop-artifact.ts",
],
"ignoreDependencies": ["esbuild"],
// The `t3` npm package's files: copied into the package, never imported.
"ignore": ["npm-launcher/**"],
},
"apps/server": {
// Vite+ pack entries and the launcher used by installed background services.
"entry": [
"src/bin.ts!",
"src/claude-history-worker.ts!",
"scripts/cli.ts",
"scripts/evaluate-thread-titles.ts",
"scripts/fetch-expo-schema.ts",
"scripts/measure-pr-preview.ts",
"scripts/probe-claude-fork-local-rollback-replay.ts",
"scripts/update-test-shard-weights.ts",
"scripts/verify-background-live.ts",
"src/provider/testFixtures/*.mjs",
// graphqlgen reads its config.
"graphql.config.ts",
],
// The generated operations export every selection's class.
"ignoreIssues": { "**/*.graphql.ts": ["exports", "types", "namespaceMembers"] },
// Keep the transitive Effect runtime pinned for standalone npm installs.
// The Vite+ web build prerequisite.
// Native and disk-loaded provider packages stay external to the bundle; the
// CLI archive and desktop sidecar stage them from this manifest.
"ignoreDependencies": ["@effect/platform-node-shared", "@t3tools/web", "@napi-rs/keyring"],
},
"apps/desktop": {
// Electron loads these bundles by filename rather than importing them.
"entry": [
"gnome-extension/extension.js!",
"src/electron/WindowsForegroundFocusWorker.ts!",
"src/snapShot/GlobalShiftShortcutWorker.ts!",
"src/snapShot/RegionSnapShotWorker.ts!",
"src/snapShot/SnapShotAccessibilityWorker.ts!",
"src/boot.ts!",
"src/compileCache.ts!",
"src/main.ts!",
"src/preload.ts!",
"src/preview-pick-preload.ts!",
"src/preview-pip-preload.ts!",
"src/mac-permission-preload.ts!",
"src/preview/Annotation.css!",
],
// The injected runtime resolves Playwright by string; release tooling runs
// electron-builder from this workspace, outside its package scripts.
"ignoreDependencies": ["playwright-core", "electron-builder"],
},
"apps/web": {
// Worktree setup (scripts/setup-worktree.ts) runs this directly, and evidence
// fixtures run under node.
"entry": ["scripts/warm-dep-cache.ts", "test/fixtures/**/*.mjs"],
// UI component modules are copied and adapted as cohesive sets. Keep their
// named subcomponents even before they have callers; the file audit still
// reports an entire component module when nothing imports it.
"ignoreIssues": { "src/components/ui/*.tsx": ["exports", "nsExports", "duplicates"] },
},
"apps/marketing": {
// `astro check` runs from the typecheck task in vite.config.ts, which knip does not read.
"ignoreDependencies": ["@astrojs/check"],
},
"apps/mobile": {
// Expo loads plugins and the fingerprint config by string; Metro embeds the browser entry in the native WebView.
"entry": [
"index.ts!",
"fingerprint.config.js",
"plugins/*.cjs",
"scripts/generate-device-stream.mts",
"src/features/devices/device-stream.browser.ts!",
"src/features/browser/preview-stream.browser.ts!",
],
// Fonts are configured as asset paths; Expo autolinks the native packages.
"ignoreDependencies": [
"@expo-google-fonts/dm-sans",
"@t3tools/mobile-review-diff-native",
"@t3tools/mobile-terminal-native",
],
},
"apps/mobile/modules/t3-source-text": {
// React Native codegen discovers component specifications by filename.
"entry": ["src/*NativeComponent.ts!"],
},
"infra/relay": {
"entry": ["alchemy.run.ts!", "src/persistence/schema.ts!"],
},
"packages/*": {
// These workspace packages are private to this monorepo.
"includeEntryExports": true,
},
"packages/effect-acp": {
"includeEntryExports": true,
"entry": ["test/fixtures/*.ts"],
// Generated upstream protocol definitions are retained as a complete set.
"ignoreIssues": { "src/_generated/**": ["exports", "types"] },
},
"packages/effect-codex-app-server": {
"includeEntryExports": true,
"entry": ["test/fixtures/*.ts"],
"ignoreIssues": { "src/_generated/**": ["exports", "types"] },
},
"packages/source-control-github": {
// graphqlgen reads its config; the generated operations export every selection's class.
"entry": ["graphql.config.ts"],
"ignoreIssues": { "**/*.graphql.ts": ["exports", "types", "namespaceMembers"] },
},
},
}