Comments (9)
Thanks for your detailed reporting. I'm working on #140 which is related, and I'm planning to have a fix in the coming days.
from knip.
I've re-introduced the --include-entry-exports
flag in v2.14.0-next.0.
Any chance you could try it out on your project(s)?
You can install with e.g. npm install -D knip@next
from knip.
Thanks for trying so quickly.
Yeah I was kinda afraid of such results, that's why I did a pre-release first.
It is expected, but not desired. I think I need to make a difference between regular source code entry files versus entry files added by plugins. WIP :)
from knip.
I've released another next
pre-release.
I should add that for files referenced in scripts like this:
"module1": "tsx src/module1/index.ts"
The unused exports won't be reported. Maybe these should be added to entry
explicitly? E.g.:
{
"entry": ["src/*/index.ts"],
"project": ["src/**/*.ts"]
}
from knip.
Gave it a little more thought and I think it makes sense to include script files when using the --include-entry-exports
flag.
By the way, I didn't mean to say you should include scripts in both entry
config and npm scripts. Only in one place should be enough indeed.
from knip.
@webpro thanks for your effort, everything works now 🎉
from knip.
@webpro thanks for the quick fix
I have tried on the above example, it works as expected now
But I have tried on another project
and I am getting prettier
lint-staged
and vite
config files as reported
on knip: 2.13.0
I wasn't getting this
knip: 2.14.0-next.0
Unused exports (5)
default .prettierrc.cjs
default knip.ts
default lint-staged.config.cjs
LABELS src/cli/index.ts ---> this is reported correctly
default vite.config.ts
Is it expected?
from knip.
@webpro thank you, I have tried the latest version and it works as you mentioned, but in my opinion this behaviour is a bit confusing
in package.json
I have
{
"scripts": {
"start:cli": "tsx src/cli/index.ts",
"start:server": "tsx src/server/index.ts"
}
}
and in knip:
{
"entry": ["src/*/index.ts"],
"project": ["src/**/*.ts"]
}
and with this setup src/cli/index.ts
and src/server/index.ts
are not reported, if I remove these scripts from package.json
everything is reported correctly.
But, I think, it's useful to keep thoose scripts in package.json
, unfortunately this breaks knip --include-entry-exports
flag reporting
Is there any solution here?
from knip.
🚀 This issue has been resolved in v2.14.0. See Release 2.14.0 for release notes.
from knip.
Related Issues (20)
- Programatically Run HOT 1
- Re-exports with usage of barrel files isn't indexed correctly HOT 6
- Support for external plugins HOT 1
- Commitlint plugin: specifier.startsWith is not a function HOT 1
- commitlint plugin update breaks when `parserPreset` isn't a `string`
- SvelteKit Demo App $app/* unresolved HOT 2
- 5.14.0 breaks knip in git submodules
- Documentation Site Version Selector leads to 404 HOT 2
- Support local custom plugin HOT 1
- Support import.meta.resolve (in Pino v7+ transports) HOT 2
- Unused functions are not being detected HOT 5
- 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
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.