Make knip happier (#32721)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski
2026-03-05 21:42:08 +00:00
committed by GitHub
parent b2674e6fa4
commit 32037b0135
20 changed files with 168 additions and 198 deletions
+23 -56
View File
@@ -1,28 +1,16 @@
import { KnipConfig } from "knip";
// Specify this as knip loads config files which may conditionally add reporters, e.g. `@casualbot/jest-sonar-reporter'
process.env.GITHUB_ACTIONS = "1";
export default {
workspaces: {
"packages/shared-components": {
entry: ["src/index.ts"],
ignoreBinaries: [
// False positives
"vite",
"typedoc",
],
ignoreDependencies: [
// We import this in some tests, transitive dep of @playwright/test
"playwright-core",
// False positives
"@testing-library/jest-dom",
"@vitejs/plugin-react",
"expect",
"vitest-browser-react",
"vitest-sonar-reporter",
],
},
"packages/shared-components": {},
"packages/playwright-common": {
entry: ["playwright-screenshots.sh"],
ignoreDependencies: ["@playwright/test", "wait-on"],
ignoreDependencies: [
// Used in playwright-screenshots.sh
"wait-on",
],
},
"apps/web": {
entry: [
@@ -35,26 +23,13 @@ export default {
"test/**",
"res/decoder-ring/**",
"res/jitsi_external_api.min.js",
"res/themes/*/css/*.pcss",
],
ignore: [
// Keep for now
"src/hooks/useLocalStorageState.ts",
"src/hooks/useTimeout.ts",
"src/components/views/elements/InfoTooltip.tsx",
"src/components/views/elements/StyledCheckbox.tsx",
],
ignoreBinaries: [
// False positive
"webpack-dev-server",
],
ignoreDependencies: [
// Used by jest
"babel-jest",
// Used by babel
"@babel/runtime",
"@babel/plugin-transform-class-properties",
// Referenced in PCSS
"github-markdown-css",
// False positive
"sw.js",
// Used by webpack
@@ -62,11 +37,6 @@ export default {
"util",
// Embedded into webapp
"@element-hq/element-call-embedded",
// False-positive jest dep
"vitest-environment-jest-fixed-jsdom",
// We import this in some tests, transitive dep of @playwright/test
"playwright-core",
// Used by matrix-js-sdk, which means we have to include them as a
// dependency so that // we can run `tsc` (since we import the typescript
@@ -78,25 +48,22 @@ export default {
},
".": {
entry: ["scripts/**", "docs/**"],
ignoreBinaries: ["lint:types", "lint:js", "lint:style"],
ignoreDependencies: [
// Required for `action-validator`
"@action-validator/*",
// Used for git pre-commit hooks
"husky",
],
},
},
ignoreBinaries: [
// False positives
"playwright",
"build:storybook",
"test:storybook",
"test:unit",
"vendor:jitsi",
],
ignoreExportsUsedInFile: true,
nx: {
config: ["nx.json", "project.json", "{apps,packages,modules}/**/project.json", "package.json"],
compilers: {
pcss: (text: string) =>
[...text.matchAll(/(?<=@)import[^;]+/g)]
.map(([line]) => {
if (line.startsWith("import url(")) {
return line.replace("url(", "").slice(0, -1);
}
return line;
})
.join("\n"),
},
nx: {
config: ["{nx,package,project}.json", "{apps,packages,modules}/**/{package,project}.json"],
},
tags: ["-knipignore"],
} satisfies KnipConfig;