Code Monkey home page Code Monkey logo

Comments (9)

webpro avatar webpro commented on June 19, 2024 1

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.

webpro avatar webpro commented on June 19, 2024 1

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.

webpro avatar webpro commented on June 19, 2024 1

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.

webpro avatar webpro commented on June 19, 2024 1

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.

webpro avatar webpro commented on June 19, 2024 1

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.

VladSez avatar VladSez commented on June 19, 2024 1

@webpro thanks for your effort, everything works now 🎉

from knip.

VladSez avatar VladSez commented on June 19, 2024

@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.

VladSez avatar VladSez commented on June 19, 2024

@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.

webpro avatar webpro commented on June 19, 2024

🚀 This issue has been resolved in v2.14.0. See Release 2.14.0 for release notes.

from knip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.