-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathknip.jsonc
More file actions
136 lines (136 loc) · 6.06 KB
/
Copy pathknip.jsonc
File metadata and controls
136 lines (136 loc) · 6.06 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
{
"$schema": "https://unpkg.com/knip@6/schema.json",
// Agent skill collections ship standalone scripts that nothing in the
// project imports; they are tooling for coding agents, not project code.
"ignore": [".agents/**"],
// aube is provided by the packageManager field rather than a dependency.
"ignoreBinaries": ["aube"],
"ignoreDependencies": [
// tsdown invokes attw through its built-in package validation.
"@arethetypeswrong/cli",
// These binaries are invoked from shell files in .husky/.
"@commitlint/cli",
"nano-staged",
],
// Upstream exports two dictionary helpers for its tests, which are not part of the vendored
// runtime copy.
"ignoreIssues": {
"tools/oxlint/anti-slop/shared/dictionary-types.ts": ["exports", "types"],
},
// The Oxlint plugin's default config glob (`.oxlintrc.json` at each workspace root) no longer
// matches: every workspace's `lint`/`lint:fix` script points at tooling/oxc/{packages,apps}.oxlintrc.json
// instead, which themselves extend tooling/oxc/base.oxlintrc.json.
"oxlint": {
"config": ["tooling/oxc/*.oxlintrc.json"],
},
"workspaces": {
".": {
// Loaded by Oxlint from base.oxlintrc.json as a local JavaScript plugin.
"entry": ["tools/oxlint/anti-slop/index.ts"],
},
"packages/i18n": {
// Every i18n:* script is invoked directly (`node scripts/x.ts`) from package.json rather
// than imported, so each is its own entry point. lunaria.config.ts is discovered by
// @lunariajs/core's own filesystem convention, not imported.
"entry": ["src/index.ts", "scripts/*.ts", "lunaria.config.ts"],
},
"packages/mail": {
// The template compiler is invoked directly (`node scripts/compile-templates.ts`) from
// package.json rather than imported, so it is its own entry point. maizzle.config.ts is
// discovered by Maizzle's own `render()` call by filesystem convention (it walks up from
// the template path), not imported by anything in src/.
"entry": ["src/index.ts", "scripts/*.ts", "maizzle.config.ts"],
// Resolved by Maizzle's Tailwind integration from the package name, not imported
// directly: it registers itself as the `@maizzle/tailwindcss` plugin for `css.inline`.
"ignoreDependencies": ["@maizzle/tailwindcss"],
},
"apps/mail-preview": {
// maizzle.config.ts is discovered by the Maizzle CLI by filesystem convention, not
// imported by anything.
"entry": ["maizzle.config.ts"],
"ignoreDependencies": [
// Consumed through the emails/ symlink and turbo's ^build ordering, never imported.
"@agent-zero/mail",
// Resolved by Maizzle's Tailwind integration from the package name (same as
// packages/mail).
"@maizzle/tailwindcss",
],
},
"apps/docs": {
// A Docus app: Nuxt discovers the config and app.config from the
// filesystem; nothing imports them. The docus layer is referenced only
// as the `extends: ['docus']` string in nuxt.config.ts, which knip
// cannot trace to the dependency.
"entry": ["nuxt.config.ts", "app/app.config.ts"],
"ignoreDependencies": ["docus"],
},
"apps/dashboard": {
// Nuxt 4 keeps application code in app/, which knip's Nuxt plugin does
// not scan, and Nuxt auto-imports components, composables, and utils.
// Nitro likewise discovers server routes from the filesystem, and Nuxt
// discovers the local feature modules under `modules/` (which sits at the
// project root rather than under app/, matching apps/marketing), so knip
// cannot see who references them either.
"entry": [
"app/app.vue",
// Loaded by `@onmax/nuxt-better-auth` from its configured `clientConfig` path.
"app/auth.config.ts",
"app/error.vue",
"app/pages/**/*.vue",
"app/layouts/**/*.vue",
"app/middleware/**/*.ts",
"app/plugins/**/*.ts",
"app/types/**/*.ts",
"app/utils/**/*.ts",
"modules/**/*.vue",
"modules/**/*.ts",
"config/**/*.ts",
"i18n/i18n.config.ts",
"golar.config.ts",
"server/**/*.ts",
// Loaded by `@onmax/nuxt-better-auth` from its configured `serverConfig` path.
"server/auth.config.ts",
],
// The `nuxt` Vitest environment resolves to vitest-environment-nuxt,
// which `@nuxt/test-utils` ships as its own dependency. @nuxt/icon
// loads the lucide collection by name at build time, so no source file
// imports @iconify-json/lucide directly.
"ignoreDependencies": ["vitest-environment-nuxt", "@iconify-json/lucide"],
// Nuxt resolves ~ to the app/ source directory and ~~ to the project root.
"paths": {
"~/*": ["app/*"],
"~~/*": ["*"],
},
},
"apps/marketing": {
// Same shape as apps/dashboard: Nuxt 4 keeps application code in app/, which knip's Nuxt
// plugin does not scan, and Nuxt auto-imports components and composables. `modules/` sits at
// the project root (matching wolfstar.rocks) rather than under app/, as do
// `i18n/i18n.config.ts` and `content.config.ts` (Nuxt Content and wolfstar.rocks' own
// convention). All of them are discovered by Nuxt/Nuxt Content from those locations, not
// imported by anything.
"entry": [
"app/app.vue",
"app/error.vue",
"app/pages/**/*.vue",
"app/layouts/**/*.vue",
"app/composables/**/*.ts",
"modules/**/*.vue",
"modules/**/*.ts",
"config/**/*.ts",
"i18n/i18n.config.ts",
"content.config.ts",
"golar.config.ts",
"pwa-assets.config.ts",
],
// The `nuxt` Vitest environment resolves to vitest-environment-nuxt, which
// `@nuxt/test-utils` ships as its own dependency. @nuxt/icon loads the lucide collection by
// name at build time, so no source file imports @iconify-json/lucide directly.
"ignoreDependencies": ["vitest-environment-nuxt", "@iconify-json/lucide"],
"paths": {
"~/*": ["app/*"],
"~~/*": ["*"],
},
},
},
}