Repository navigation
Expand file tree
/
Copy pathknip.jsonc
More file actions
80 lines (80 loc) · 3.73 KB
/
Copy pathknip.jsonc
File metadata and controls
80 lines (80 loc) · 3.73 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
{
"$schema": "https://unpkg.com/knip@6/schema.json",
// `@testSeam`: a test loads it through `vi.importActual`, which knip cannot resolve. `@sideEffect`: the
// export exists because constructing it does the work (a Pulumi resource), so nothing ever reads the name.
"tags": ["-testSeam", "-sideEffect"],
"workspaces": {
".": {
// `pnpm cella migrate` runs each migration's codemod by path, so nothing imports them.
"entry": ["cella/cella.config.ts", "cella/skills/**/*.mjs", "cella/migrations/*/*.ts"],
// Git hooks run lefthook; migration READMEs run their codemods with `pnpm exec tsx` from the root.
"ignoreDependencies": ["@evilmartians/lefthook", "tsx"],
// `pnpm -C a11y stack` runs the a11y workspace's script of that name. `cwebp` is the system WebP encoder the
// screenshots driver calls, installed with `brew install webp`.
"ignoreBinaries": ["stack", "cwebp"]
},
"a11y": {
// `openState` is the starting point of a hand-written script that checks a fix in the running app; the audit never imports it.
"entry": ["src/drive.ts"]
},
"backend": {
"entry": [
"scripts/*.ts",
// Loaded by readdir in scripts/scripts-discovery.ts.
"scripts/migrations/*.migration.ts",
"scripts/seeds/*.seed.ts",
"emails/index.ts",
"emails/preview-route.ts",
"tests/**/*.ts",
// Unused by cella itself; apps import it to derive search keywords from descriptions.
"src/utils/extract-keywords.ts",
// Opt-in draft lifecycle: no cella table declares `publishedAt`, apps add the column with this helper.
"src/db/utils/published-column.ts"
],
// The service image installs only `dependencies` (shared/src/keep-on-disk.ts). shared/src imports these, and the
// bundle loads them from disk or by name (pino transports), so they are listed here without an import in this workspace.
"ignoreDependencies": ["@opentelemetry/.+", "^pino(-.+)?$"]
},
"bench": {
// Artillery loads the processors from scenarios/*.yaml; data-setup imports every *.bench.ts.
"entry": ["src/processors/*.ts", "src/seeds/*.bench.ts"],
"ignoreDependencies": ["artillery", "artillery-plugin-ensure"]
},
"cdc": {
"entry": ["src/**/*.type-check.ts"],
"ignoreDependencies": ["@opentelemetry/.+", "^pino(-.+)?$"]
},
"frontend": {
// Unused here, imported by the apps: no import in cella is no reason to delete one of these.
// board-layout.tsx also keeps board-drag.ts and resizable-panels.tsx reachable.
"entry": [
// Vendored shadcn chart, kept whole for an app that wants it: its own story carries the rest,
// and nothing in cella renders the legend parts yet.
"src/modules/ui/chart.tsx",
"src/modules/common/board/board-layout.tsx",
"src/modules/common/board/board-panel.tsx",
"src/modules/common/date-tooltip.tsx",
"src/modules/common/dropdowner/dropdown-select-item.tsx",
"src/modules/common/form-fields/select-combobox/parent.tsx",
"src/modules/common/list-skeleton.tsx",
"src/modules/common/page/local-tab-nav.tsx",
"src/modules/marketing/about/faq.tsx",
"src/utils/clean-url.ts",
"src/utils/date-full.ts",
"src/utils/in-numbers-array.ts",
"src/utils/stable-array.ts"
]
},
"infra": {
"entry": ["index.ts", "tasks/*.ts", "boot/src/entry.ts"]
},
"shared": {
// pino resolves transport targets by name.
"ignoreDependencies": ["pino-opentelemetry-transport", "pino-pretty"]
},
"yjs": {
"entry": ["src/tests/integration/global-setup.ts"],
"ignoreDependencies": ["@opentelemetry/.+", "^pino(-.+)?$"]
}
}
}