@knip/mcp 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -16,7 +16,7 @@ tidy.
|
|
|
16
16
|
|
|
17
17
|
Don't forget... Knip it before you ship it!
|
|
18
18
|
|
|
19
|
-
## VS Code Extension
|
|
19
|
+
## VS Code/Open VSX Extension
|
|
20
20
|
|
|
21
21
|
This one is for you.
|
|
22
22
|
|
|
@@ -32,6 +32,8 @@ check. We're starting out with [3 key features][4]:
|
|
|
32
32
|
|
|
33
33
|
Find [Knip on the VS Code Marketplace][5].
|
|
34
34
|
|
|
35
|
+
**EDIT:** Or find [Knip on the Open VSX Registry][6].
|
|
36
|
+
|
|
35
37
|
## MCP Server
|
|
36
38
|
|
|
37
39
|
Configuring Knip has always been a major headache to many. No more. Tell your
|
|
@@ -39,7 +41,7 @@ coding agent to "configure knip" and it will RTFM so you don't have to. Using a
|
|
|
39
41
|
newer model like Opus 4.5 or GPT 5.2 results in an optimized `knip.json` file
|
|
40
42
|
and an uncluttered codebase.
|
|
41
43
|
|
|
42
|
-
The [MCP Server is available][
|
|
44
|
+
The [MCP Server is available][7] separately and built into the VS Code
|
|
43
45
|
Extension.
|
|
44
46
|
|
|
45
47
|
## Language Server
|
|
@@ -51,25 +53,25 @@ information. Queries like "where is an export imported" or "is this import part
|
|
|
51
53
|
of a circular dependency" are just scratching the surface here.
|
|
52
54
|
|
|
53
55
|
Extensions for other IDEs can be built on top. See
|
|
54
|
-
[language-server/README.md][
|
|
56
|
+
[language-server/README.md][8]
|
|
55
57
|
|
|
56
58
|
## Screenshots
|
|
57
59
|
|
|
58
60
|
- [Lint Findings][3]
|
|
59
61
|
- [Imports & Exports][4]
|
|
60
|
-
- [Contention][
|
|
61
|
-
- [Circular Dependencies][
|
|
62
|
-
- [Conflicts][
|
|
63
|
-
- [Branching][
|
|
64
|
-
- [VS Code Extension Settings][
|
|
62
|
+
- [Contention][9]
|
|
63
|
+
- [Circular Dependencies][10]
|
|
64
|
+
- [Conflicts][11]
|
|
65
|
+
- [Branching][12]
|
|
66
|
+
- [VS Code Extension Settings][13]
|
|
65
67
|
|
|
66
68
|
### Lint Findings
|
|
67
69
|
|
|
68
|
-
![Lint Findings][
|
|
70
|
+
![Lint Findings][14]
|
|
69
71
|
|
|
70
72
|
### Imports & Exports
|
|
71
73
|
|
|
72
|
-
![hover][
|
|
74
|
+
![hover][15]
|
|
73
75
|
|
|
74
76
|
### Contention
|
|
75
77
|
|
|
@@ -81,7 +83,7 @@ branched/diamond-shaped import chains.
|
|
|
81
83
|
|
|
82
84
|
If an import is part of a circular dependency, Knip will display:
|
|
83
85
|
|
|
84
|
-
![Circular Dependencies][
|
|
86
|
+
![Circular Dependencies][16]
|
|
85
87
|
|
|
86
88
|
#### Conflicts
|
|
87
89
|
|
|
@@ -89,7 +91,7 @@ TypeScript shows direct conflicts when importing or re-exporting the same named
|
|
|
89
91
|
export from different files. Except when the problem is more subtle and the
|
|
90
92
|
chain spans more than one file. Knip warns:
|
|
91
93
|
|
|
92
|
-
![Conflicts][
|
|
94
|
+
![Conflicts][17]
|
|
93
95
|
|
|
94
96
|
#### Branching
|
|
95
97
|
|
|
@@ -97,28 +99,29 @@ Branched or diamond-shaped imports chains indicate unnecessary re-exports and
|
|
|
97
99
|
complexity. They help to untangle large codebases and shrink or get rid of
|
|
98
100
|
barrel files. Knip warns:
|
|
99
101
|
|
|
100
|
-
![Branching][
|
|
102
|
+
![Branching][18]
|
|
101
103
|
|
|
102
104
|
### VS Code Extension Settings
|
|
103
105
|
|
|
104
|
-
![VS Code Extension Settings][
|
|
106
|
+
![VS Code Extension Settings][19]
|
|
105
107
|
|
|
106
108
|
[1]: https://github.com/webpro-nl/knip/network/dependents
|
|
107
109
|
[2]: https://www.npmjs.com/package/knip
|
|
108
110
|
[3]: #lint-findings
|
|
109
111
|
[4]: #imports--exports
|
|
110
112
|
[5]: https://marketplace.visualstudio.com/items?itemName=webpro.vscode-knip
|
|
111
|
-
[6]: https://
|
|
112
|
-
[7]:
|
|
113
|
+
[6]: https://open-vsx.org/extension/webpro/vscode-knip
|
|
114
|
+
[7]: https://www.npmjs.com/package/@knip/mcp
|
|
115
|
+
[8]:
|
|
113
116
|
https://github.com/webpro-nl/knip/blob/main/packages/language-server/README.md
|
|
114
|
-
[
|
|
115
|
-
[
|
|
116
|
-
[
|
|
117
|
-
[
|
|
118
|
-
[
|
|
119
|
-
[
|
|
120
|
-
[
|
|
121
|
-
[
|
|
122
|
-
[
|
|
123
|
-
[
|
|
124
|
-
[
|
|
117
|
+
[9]: #contention
|
|
118
|
+
[10]: #circular-dependencies
|
|
119
|
+
[11]: #conflicts
|
|
120
|
+
[12]: #branching
|
|
121
|
+
[13]: #vs-code-extension-settings
|
|
122
|
+
[14]: /screenshots/editors-and-agents/diagnostics.webp
|
|
123
|
+
[15]: /screenshots/editors-and-agents/imports-exports.webp
|
|
124
|
+
[16]: /screenshots/editors-and-agents/circular-dependency.webp
|
|
125
|
+
[17]: /screenshots/editors-and-agents/conflict.webp
|
|
126
|
+
[18]: /screenshots/editors-and-agents/branch.webp
|
|
127
|
+
[19]: /screenshots/editors-and-agents/vscode-extension-settings.webp
|
|
@@ -57,7 +57,7 @@ as unlisted. And vice versa, if there are any ESLint plugins listed in
|
|
|
57
57
|
|
|
58
58
|
### Example: Vitest
|
|
59
59
|
|
|
60
|
-
The second example uses [the Vitest plugin][
|
|
60
|
+
The second example uses [the Vitest plugin][8]. Here's a minimal example of a
|
|
61
61
|
Vitest configuration file:
|
|
62
62
|
|
|
63
63
|
```ts title="vitest.config.ts"
|
|
@@ -293,7 +293,7 @@ node --loader tsx scripts/deploy.ts
|
|
|
293
293
|
playwright test -c playwright.web.config.ts
|
|
294
294
|
```
|
|
295
295
|
|
|
296
|
-
Please see [script parser][
|
|
296
|
+
Please see [script parser][9] for more details.
|
|
297
297
|
|
|
298
298
|
## Summary
|
|
299
299
|
|
|
@@ -315,4 +315,5 @@ Plugins are configured with two distinct types of files:
|
|
|
315
315
|
[5]: #command-line-arguments
|
|
316
316
|
[6]: ./entry-files.md
|
|
317
317
|
[7]: ../reference/plugins/eslint.md
|
|
318
|
-
[8]: ../
|
|
318
|
+
[8]: ../reference/plugins/vitest.md
|
|
319
|
+
[9]: ../features/script-parser.md
|
|
@@ -49,4 +49,13 @@ In that case, we could configure the ESLint and Cypress plugins like this:
|
|
|
49
49
|
Adapt the file patterns to your project, and the relevant `config` and `entry`
|
|
50
50
|
files and dependencies should no longer be reported as unused.
|
|
51
51
|
|
|
52
|
+
## Internal Workspace Dependencies
|
|
53
|
+
|
|
54
|
+
A note about repositories with multiple `package.json` files and **internal**
|
|
55
|
+
workspace packages: it is recommended to list all dependencies in each consuming
|
|
56
|
+
`package.json`, allowing Knip to do fine-grained reporting of both unused and
|
|
57
|
+
unlisted dependencies.
|
|
58
|
+
|
|
59
|
+
An alternative is to `ignoreDependencies: ["@internal/*"]`.
|
|
60
|
+
|
|
52
61
|
[1]: https://nx.dev/getting-started/tutorials/integrated-repo-tutorial
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knip/mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Knip MCP Server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,9 +14,6 @@
|
|
|
14
14
|
"src",
|
|
15
15
|
"docs"
|
|
16
16
|
],
|
|
17
|
-
"scripts": {
|
|
18
|
-
"prepack": "cp -r ../docs/src/content/docs ./docs"
|
|
19
|
-
},
|
|
20
17
|
"keywords": [
|
|
21
18
|
"knip",
|
|
22
19
|
"mcp",
|
|
@@ -31,10 +28,13 @@
|
|
|
31
28
|
"license": "ISC",
|
|
32
29
|
"dependencies": {
|
|
33
30
|
"@modelcontextprotocol/sdk": "^1.24.3",
|
|
34
|
-
"
|
|
35
|
-
"
|
|
31
|
+
"zod": "^4.1.11",
|
|
32
|
+
"knip": "^5.76.1"
|
|
36
33
|
},
|
|
37
34
|
"engines": {
|
|
38
35
|
"node": ">=18.18.0"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"release": "npm version patch --no-git-tag-version --no-workspaces-update && pnpm publish --access public --no-git-checks"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|