Configuration
Defaults
Knip has good defaults and aims for “zero config”. But sometimes Knip will need some help to not report incorrect things.
Here’s a simplified version of the default configuration:
Entry files are the starting point for Knip to find more source files and
external dependencies. The resulting set of used files is matched against the
set of project
files to determine which files are unused.
Location
This is where Knip looks for a configuration file:
knip.json
knip.jsonc
.knip.json
.knip.jsonc
knip.ts
knip.js
knip.config.ts
knip.config.js
"knip"
property inpackage.json
Use --config path/to/knip.json
for a different file path.
Customize
Maybe your project structure does not match the default entry
and project
files. Here’s an example custom configuration to include .js
files in the
scripts
folder:
If you override the entry
file patterns, you may also want to override
project
file patterns. The set of project files is used to determine what
files are unused.
The values you set override the default values, they are not merged.
Knip looks in many places for entry files. Learn more about this in the next page about entry files.
What’s next?
The best way to understand Knip and what it can do for you is to read the pages in the “Understanding Knip” sections, starting with entry files.
Want to learn more about some of the main features?
- Working with monorepos & workspaces.
- Using a framework like Astro, Svelte or Nuxt? See compilers to include
.astro
or.vue
files. - Learn more about production mode.
Having troubles configuring Knip?
This website can be searched using the search bar at the top (Ctrl+/
or
Ctrl+K
)
ISC License © 2024 Lars Kappert