Skip to content

Commit 9c47fc9

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 9c47fc9

File tree

4 files changed

+445
-2
lines changed

4 files changed

+445
-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: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
{
2+
"$schema": "https://unpkg.com/knip@5/schema.json",
3+
"workspaces": {
4+
".": {
5+
"entry": ["scripts/*.ts"],
6+
"project": ["scripts/**/*.ts"],
7+
"ignore": ["node_modules/**", "**/dist/**", "**/lib/**", "**/.next/**", "**/generated/**"],
8+
"ignoreDependencies": ["@yarnpkg/sdks", "husky", "ts-node"]
9+
},
10+
"packages/*": {
11+
"ignore": ["**/dist/**", "**/lib/**", "**/__test__/**"]
12+
},
13+
"packages/commons/*": {
14+
"ignore": ["**/dist/**", "**/lib/**", "**/__test__/**"]
15+
},
16+
"packages/fern-docs/bundle": {
17+
"entry": ["src/app/**/*.{ts,tsx}", "src/pages/**/*.{ts,tsx}", "server.ts"],
18+
"project": ["src/**/*.{ts,tsx}"],
19+
"ignore": ["**/.next/**", "**/dist/**"],
20+
"ignoreDependencies": [
21+
"@storybook/*",
22+
"critters",
23+
"glslify-loader",
24+
"glslify-import",
25+
"raw-loader",
26+
"@chromatic-com/storybook"
27+
]
28+
},
29+
"packages/fern-docs/components": {
30+
"entry": ["src/**/*.tsx", "src/**/*.ts"],
31+
"project": ["src/**/*.{ts,tsx}"],
32+
"ignore": ["**/dist/**", "**/__test__/**"]
33+
},
34+
"packages/fern-docs/mdx": {
35+
"ignore": ["**/dist/**"]
36+
},
37+
"packages/fern-docs/edge-config": {
38+
"ignore": ["**/dist/**"]
39+
},
40+
"packages/fern-docs/icons-cdn": {
41+
"ignore": ["**/dist/**"]
42+
},
43+
"packages/fern-docs/search-ui": {
44+
"ignore": ["**/dist/**"]
45+
},
46+
"packages/fern-docs/search-server/*": {
47+
"ignore": ["**/dist/**"]
48+
},
49+
"packages/fern-dashboard": {
50+
"entry": ["src/app/**/*.{ts,tsx}", "sentry.*.config.ts"],
51+
"project": ["src/**/*.{ts,tsx}"],
52+
"ignore": ["**/.next/**", "**/dist/**"],
53+
"ignoreDependencies": ["glslify-loader", "glslify-import", "raw-loader"]
54+
},
55+
"packages/fdr-sdk": {
56+
"ignore": ["**/dist/**", "**/__test__/**"]
57+
},
58+
"packages/fai-sdk": {
59+
"ignore": ["**/dist/**"]
60+
},
61+
"packages/fdr-lambda-sdk": {
62+
"ignore": ["**/dist/**"]
63+
},
64+
"packages/cdk": {
65+
"entry": ["src/**/*.ts", "scripts/**/*.ts"],
66+
"project": ["src/**/*.ts", "scripts/**/*.ts"],
67+
"ignore": ["**/dist/**", "**/cdk.out/**"]
68+
},
69+
"packages/snippets": {
70+
"ignore": ["**/dist/**"]
71+
},
72+
"packages/search-widget": {
73+
"entry": ["src/**/*.{ts,tsx}"],
74+
"project": ["src/**/*.{ts,tsx}"],
75+
"ignore": ["**/dist/**"],
76+
"ignoreDependencies": ["postcss-nesting", "style-loader"]
77+
},
78+
"packages/configs": {
79+
"ignore": ["**/*"]
80+
},
81+
"packages/migration-lambda-docs": {
82+
"ignore": ["**/dist/**"]
83+
},
84+
"packages/workers/proxy": {
85+
"ignore": ["**/dist/**"]
86+
},
87+
"servers/fdr": {
88+
"ignore": ["**/dist/**", "**/__test__/**"],
89+
"ignoreDependencies": ["nodemon", "@sentry/cli"]
90+
},
91+
"servers/fdr-lambda": {
92+
"ignore": ["**/dist/**"]
93+
},
94+
"servers/fdr-lambda-docs": {
95+
"ignore": ["**/dist/**"]
96+
},
97+
"servers/fern-bot": {
98+
"entry": ["src/functions/**/*.ts"],
99+
"project": ["src/**/*.ts"],
100+
"ignore": ["**/dist/**"]
101+
},
102+
"servers/mdx-bundler": {
103+
"entry": ["src/**/*.ts"],
104+
"project": ["src/**/*.ts"],
105+
"ignore": ["**/dist/**"]
106+
},
107+
"servers/self-hosted": {
108+
"entry": ["src/**/*.ts"],
109+
"project": ["src/**/*.ts"],
110+
"ignore": ["**/dist/**", "**/__test__/**"]
111+
},
112+
"servers/fai-reindexing": {
113+
"entry": ["src/**/*.ts"],
114+
"project": ["src/**/*.ts"],
115+
"ignore": ["**/dist/**"]
116+
},
117+
"servers/*-deploy": {
118+
"entry": ["bin/**/*.ts"],
119+
"project": ["bin/**/*.ts"],
120+
"ignore": ["**/cdk.out/**"]
121+
}
122+
},
123+
"ignore": [
124+
"**/*.d.ts",
125+
"**/node_modules/**",
126+
"**/dist/**",
127+
"**/lib/**",
128+
"**/.next/**",
129+
"**/generated/**",
130+
"**/cdk.out/**",
131+
"servers/fai/**",
132+
"servers/fai-discord/**",
133+
"fern/**",
134+
"**/*.config.{js,mjs,cjs,ts}",
135+
"**/.storybook/**",
136+
"playwright-*/**"
137+
],
138+
"ignoreDependencies": [
139+
"@types/*",
140+
"vitest",
141+
"eslint-*",
142+
"stylelint-*",
143+
"depcheck",
144+
"dotenv",
145+
"globals",
146+
"@babel/*",
147+
"@tailwindcss/*",
148+
"tailwindcss",
149+
"jsdom",
150+
"@testing-library/*",
151+
"vite"
152+
],
153+
"ignoreExportsUsedInFile": true,
154+
"includeEntryExports": true,
155+
"rules": {
156+
"files": "error",
157+
"dependencies": "error",
158+
"devDependencies": "error",
159+
"unlisted": "error",
160+
"exports": "error",
161+
"types": "error",
162+
"duplicates": "error",
163+
"unresolved": "off",
164+
"binaries": "off",
165+
"enumMembers": "off",
166+
"classMembers": "off"
167+
}
168+
}

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 --no-config-hints",
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)