Comments (4)
Do you mean that the output in the VS Code terminal can be collapsed if indented, or are you copying the contents into the VS Code editor manually? I guess the latter, just checking to be sure about expectations here.
from knip.
What I do is that I redirect knip's output to a file: npx knip > knip-output.txt
and then open that file in VSCode. Copy-pasting the output of the command to VSCode could be complicated when there are so many lines of output that the terminal I'm using contains only the end of the output.
Here's an example of what I'd like the output to be:
Unused files (3)
src/devtools/index.ts
src/middleware/index.ts
src/utils/index.ts
Unused devDependencies (2)
@types/jest package.json
husky package.json
Unused exports (5)
default unknown config/preprocessor.js:3:17
connect unknown src/devtools/devtoolsMiddleware.ts:145:29
useStore unknown src/react/index.ts:7:37
useSelector unknown src/react/index.ts:7:47
useAction unknown src/react/index.ts:7:60
Unused exported types (11)
ReduxAction interface src/devtools/devtoolsMiddleware.ts:13:18
MessageState interface src/devtools/devtoolsMiddleware.ts:18:18
Message interface src/devtools/devtoolsMiddleware.ts:27:18
NextAction interface src/devtools/devtoolsMiddleware.ts:3:18
DevToolsStore type src/devtools/devtoolsMiddleware.ts:41:13
DevTools interface src/devtools/devtoolsMiddleware.ts:47:18
Action interface src/devtools/devtoolsMiddleware.ts:8:18
ActionsObject type src/types/index.ts:12:13
Actions type src/types/index.ts:13:13
BoundActions type src/types/index.ts:14:13
FuncTypeWithoutFirstArg type src/types/index.ts:7:13
Unused exported class members (4)
getChildContext default src/preact/components/Provider.tsx:7:3
getChildContext default src/react/components/Provider.tsx:12:3
childContextTypes default src/react/components/Provider.tsx:9:10
contextTypes Connect src/react/components/connect.tsx:9:10
Making lines distinguishable would also simplify parsing the command output to perform post-processing. Ideally, we would have a JSON format output, but that would be another feature request which would also be very closes to the out-of-scope issue #41.
from knip.
Thanks for the feedback!
A JSON reporter already exists: https://knip.dev/features/reporters/
It's also possible to create a custom reporter to print exactly what you want.
Maybe I could add an --indent
argument or something, I'll think about it.
from knip.
Gave it another thought and decided not to work on it myself now.
I would be happy to discuss/review a PR that introduces this. Knip supports custom reporters as well.
By the way, for you or future me: there's also https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#grouping-log-lines for expandable groups to do something similar in GitHub Actions.
Thanks for the input!
from knip.
Related Issues (20)
- Default import name being used to determine if export is used HOT 7
- Re-exported enum members incorrectly reported as unused HOT 7
- False positive when using a dynamic default importing HOT 2
- Module '"knip"' has no exported member 'KnipConfig'. Did you mean to use 'import KnipConfig from "knip"' instead? HOT 2
- "ignore" file working even though it shouldn't based on the docs HOT 4
- [Svelte@5] Knip fails to resolve `*.svelte.(j|t)s` files HOT 4
- Run the script only against the staged files. HOT 2
- `ignore` is not applied for Auto-fix HOT 1
- Not working with @emotion/styled during string interpolation HOT 1
- 'TypeError: importItems.importedAs.entries is not a function' error when using --cache, but not without the cache HOT 2
- Dependency reported as "unused" even if it's used with require.resolve(...) HOT 5
- Fails to run due to TypeError in `graphql-codegen` HOT 3
- `No "exports" main defined` error with `estree-walker` when using `mdx-js` plugin HOT 4
- "RangeError: Maximum call stack size exceeded" with self import HOT 1
- Binary reported even `ignoreBinaries` is used. HOT 1
- Links are broken all over the docs HOT 2
- Stricter check for `--workspace` paths HOT 3
- `ignoreBinaries` config not respected anymore HOT 6
- Path mapping configuration not respected for .json files HOT 4
- React Rouer V6 lazy api how to ignore HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from knip.