Skip to content

Commit 4d3fdb6

Browse files
committed
CI: Knip
Lets try using knip to detected dead code, at this point there are too many issues found to safely address so the GHA does not run automatically/block merging
1 parent 5c8da00 commit 4d3fdb6

File tree

4 files changed

+511
-2
lines changed

4 files changed

+511
-2
lines changed

.github/workflows/ci-platform.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,3 +135,17 @@ jobs:
135135
run: |
136136
chmod +x scripts/typecheck-all.sh
137137
./scripts/typecheck-all.sh
138+
139+
knip:
140+
needs: check-platform-changes
141+
if: needs.check-platform-changes.outputs.platform_changed == 'true'
142+
runs-on: ubuntu-latest
143+
continue-on-error: true
144+
steps:
145+
- uses: actions/checkout@v4
146+
147+
- name: Install
148+
uses: ./.github/actions/install
149+
150+
- name: Run Knip (Dead Code Analysis)
151+
run: pnpm knip

knip.json

Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
{
2+
"$schema": "https://unpkg.com/knip@5/schema.json",
3+
"workspaces": {
4+
".": {
5+
"entry": ["scripts/*.ts"],
6+
"project": ["scripts/**/*.ts"],
7+
"ignore": [
8+
"node_modules/**",
9+
"**/dist/**",
10+
"**/lib/**",
11+
"**/.next/**",
12+
"**/generated/**"
13+
],
14+
"ignoreDependencies": ["@yarnpkg/sdks", "husky", "ts-node"]
15+
},
16+
"packages/*": {
17+
"entry": ["src/index.ts"],
18+
"project": ["src/**/*.{ts,tsx}"],
19+
"ignore": ["**/dist/**", "**/lib/**", "**/__test__/**"]
20+
},
21+
"packages/commons/*": {
22+
"entry": ["src/index.ts"],
23+
"project": ["src/**/*.{ts,tsx}"],
24+
"ignore": ["**/dist/**", "**/lib/**", "**/__test__/**"]
25+
},
26+
"packages/fern-docs/bundle": {
27+
"entry": ["src/app/**/*.{ts,tsx}", "src/pages/**/*.{ts,tsx}", "server.ts"],
28+
"project": ["src/**/*.{ts,tsx}"],
29+
"ignore": ["**/.next/**", "**/dist/**"],
30+
"ignoreDependencies": [
31+
"@storybook/*",
32+
"chromatic",
33+
"storybook",
34+
"critters",
35+
"glslify-loader",
36+
"glslify-import",
37+
"raw-loader",
38+
"@chromatic-com/storybook"
39+
]
40+
},
41+
"packages/fern-docs/components": {
42+
"entry": ["src/**/*.tsx", "src/**/*.ts"],
43+
"project": ["src/**/*.{ts,tsx}"],
44+
"ignore": ["**/dist/**", "**/__test__/**"],
45+
"ignoreDependencies": [
46+
"@storybook/*",
47+
"chromatic",
48+
"storybook",
49+
"@chromatic-com/storybook",
50+
"eslint-plugin-storybook"
51+
]
52+
},
53+
"packages/fern-docs/mdx": {
54+
"entry": ["src/index.ts"],
55+
"project": ["src/**/*.{ts,tsx}"],
56+
"ignore": ["**/dist/**"]
57+
},
58+
"packages/fern-docs/edge-config": {
59+
"entry": ["src/index.ts"],
60+
"project": ["src/**/*.ts"],
61+
"ignore": ["**/dist/**"]
62+
},
63+
"packages/fern-docs/icons-cdn": {
64+
"entry": ["src/index.ts"],
65+
"project": ["src/**/*.ts"],
66+
"ignore": ["**/dist/**"]
67+
},
68+
"packages/fern-docs/search-ui": {
69+
"entry": ["src/index.ts"],
70+
"project": ["src/**/*.{ts,tsx}"],
71+
"ignore": ["**/dist/**"]
72+
},
73+
"packages/fern-docs/search-server/*": {
74+
"entry": ["src/index.ts"],
75+
"project": ["src/**/*.ts"],
76+
"ignore": ["**/dist/**"]
77+
},
78+
"packages/fern-dashboard": {
79+
"entry": ["src/app/**/*.{ts,tsx}", "sentry.*.config.ts"],
80+
"project": ["src/**/*.{ts,tsx}"],
81+
"ignore": ["**/.next/**", "**/dist/**"],
82+
"ignoreDependencies": [
83+
"glslify-loader",
84+
"glslify-import",
85+
"raw-loader",
86+
"@rsdoctor/*",
87+
"@rspack/*",
88+
"next-rspack",
89+
"monaco-editor"
90+
]
91+
},
92+
"packages/fdr-sdk": {
93+
"entry": [
94+
"src/index.ts",
95+
"src/navigation/index.ts",
96+
"src/api-definition/index.ts",
97+
"src/docs/index.ts",
98+
"src/client/FdrClient.ts",
99+
"src/client/types.ts",
100+
"src/utils/traversers/index.ts",
101+
"src/converters/index.ts"
102+
],
103+
"project": ["src/**/*.ts"],
104+
"ignore": ["**/dist/**", "**/__test__/**"]
105+
},
106+
"packages/fai-sdk": {
107+
"entry": ["src/index.ts"],
108+
"project": ["src/**/*.ts"],
109+
"ignore": ["**/dist/**"]
110+
},
111+
"packages/fdr-lambda-sdk": {
112+
"entry": ["src/index.ts"],
113+
"project": ["src/**/*.ts"],
114+
"ignore": ["**/dist/**"]
115+
},
116+
"packages/cdk": {
117+
"entry": ["src/**/*.ts", "scripts/**/*.ts"],
118+
"project": ["src/**/*.ts", "scripts/**/*.ts"],
119+
"ignore": ["**/dist/**", "**/cdk.out/**"]
120+
},
121+
"packages/snippets": {
122+
"entry": ["src/index.ts"],
123+
"project": ["src/**/*.ts"],
124+
"ignore": ["**/dist/**"]
125+
},
126+
"packages/search-widget": {
127+
"entry": ["src/**/*.{ts,tsx}"],
128+
"project": ["src/**/*.{ts,tsx}"],
129+
"ignore": ["**/dist/**"],
130+
"ignoreDependencies": [
131+
"css-loader",
132+
"mini-css-extract-plugin",
133+
"postcss-loader",
134+
"postcss-nesting",
135+
"sass-loader",
136+
"style-loader",
137+
"ts-loader",
138+
"webpack-cli"
139+
]
140+
},
141+
"packages/configs": {
142+
"ignore": ["**/*"]
143+
},
144+
"packages/migration-lambda-docs": {
145+
"entry": ["src/index.ts"],
146+
"project": ["src/**/*.ts"],
147+
"ignore": ["**/dist/**"]
148+
},
149+
"packages/workers/proxy": {
150+
"entry": ["src/index.ts"],
151+
"project": ["src/**/*.ts"],
152+
"ignore": ["**/dist/**"]
153+
},
154+
"servers/fdr": {
155+
"entry": ["src/server.ts"],
156+
"project": ["src/**/*.ts"],
157+
"ignore": ["**/dist/**", "**/__test__/**"],
158+
"ignoreDependencies": ["nodemon", "@sentry/cli"]
159+
},
160+
"servers/fdr-lambda": {
161+
"entry": ["src/index.ts"],
162+
"project": ["src/**/*.ts"],
163+
"ignore": ["**/dist/**"]
164+
},
165+
"servers/fdr-lambda-docs": {
166+
"entry": ["src/index.ts"],
167+
"project": ["src/**/*.ts"],
168+
"ignore": ["**/dist/**"]
169+
},
170+
"servers/fern-bot": {
171+
"entry": ["src/functions/**/*.ts"],
172+
"project": ["src/**/*.ts"],
173+
"ignore": ["**/dist/**"]
174+
},
175+
"servers/mdx-bundler": {
176+
"entry": ["src/**/*.ts"],
177+
"project": ["src/**/*.ts"],
178+
"ignore": ["**/dist/**"]
179+
},
180+
"servers/self-hosted": {
181+
"entry": ["src/**/*.ts"],
182+
"project": ["src/**/*.ts"],
183+
"ignore": ["**/dist/**", "**/__test__/**"]
184+
},
185+
"servers/fai-reindexing": {
186+
"entry": ["src/**/*.ts"],
187+
"project": ["src/**/*.ts"],
188+
"ignore": ["**/dist/**"]
189+
},
190+
"servers/*-deploy": {
191+
"entry": ["bin/**/*.ts"],
192+
"project": ["bin/**/*.ts"],
193+
"ignore": ["**/cdk.out/**"]
194+
}
195+
},
196+
"ignore": [
197+
"**/*.d.ts",
198+
"**/node_modules/**",
199+
"**/dist/**",
200+
"**/lib/**",
201+
"**/.next/**",
202+
"**/generated/**",
203+
"**/cdk.out/**",
204+
"servers/fai/**",
205+
"servers/fai-discord/**",
206+
"fern/**",
207+
"**/*.config.{js,mjs,cjs,ts}",
208+
"**/.storybook/**",
209+
"playwright-*/**"
210+
],
211+
"ignoreDependencies": [
212+
"@types/*",
213+
"vitest",
214+
"eslint-*",
215+
"stylelint-*",
216+
"depcheck",
217+
"prisma",
218+
"@prisma/client",
219+
"sass",
220+
"dotenv",
221+
"dotenv-cli",
222+
"globals",
223+
"@babel/*",
224+
"@swc/*",
225+
"@tailwindcss/*",
226+
"tailwindcss",
227+
"jsdom",
228+
"@testing-library/*",
229+
"vite",
230+
"@vitejs/*"
231+
],
232+
"ignoreExportsUsedInFile": true,
233+
"includeEntryExports": true
234+
}

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"dashboard:dev:inspect": "turbo dashboard:dev:inspect",
1919
"dashboard:dev:turbopack": "turbo dashboard:dev:turbopack",
2020
"dashboard:pull": "VERCEL_ORG_ID=team_6FKOM5nw037hv8g2mTk3gaH7 VERCEL_PROJECT_ID=prj_7PayvneDidzQ3RW6SUFMTN88chaa vercel pull --environment=development && cp .vercel/.env.development.local packages/fern-dashboard/.env.local",
21+
"knip": "knip",
2122
"depcheck": "turbo depcheck",
2223
"docs:build": "turbo docs:build",
2324
"docs:dev": "turbo docs:dev",
@@ -165,6 +166,7 @@
165166
"immer": "^9.0.15",
166167
"is-ci": "^3.0.1",
167168
"jsonc-parser": "~2.2.1",
169+
"knip": "^5.79.0",
168170
"lint-staged": "^13.0.3",
169171
"playwright": "^1.50.1",
170172
"prettier": "catalog:",

0 commit comments

Comments
 (0)