Lars Kappert Profile Banner
Lars Kappert Profile
Lars Kappert

@webprolific

Followers
1,356
Following
219
Media
379
Statuses
4,448

Independent developer/architect. I care & tweet about JavaScript, automation, tooling, performance & open source. Building .

The Netherlands
Joined November 2010
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@webprolific
Lars Kappert
21 days
Little did I know...
@webprolific
Lars Kappert
12 years
TypeScript: Just another language compiling into JavaScript. This time it's Microsoft. http://t.co/zVwCsGoa
0
2
18
5
0
237
@webprolific
Lars Kappert
10 months
@bunjavascript Expect: yes Want: no
8
2
227
@webprolific
Lars Kappert
9 months
✂️ OUT NOW: Knip v4 - Significant speed bump (up to 80%!) - Globbing with .gitignore files got a lot faster - Built-in compilers for Astro, MDX, Svelte & Vue - ...and more! Read all about it in the v4 release notes:
3
15
145
@webprolific
Lars Kappert
1 year
@JoeAttardi @ryanflorence I have this as a function stored in .bash_profile (or similar): mk() { mkdir -p "$@" && cd "$@" } And more related aliases for jumping around:
3
1
118
@webprolific
Lars Kappert
3 months
✅ Available for work! I sleep in monorepos, eat JavaScripts for breakfast & automate deliveries continuously to build the DX or UX your colleagues & customers deserve ❤️ Lars == JS/TS, frontend & tooling! Hyped & typed for my next gig, how can I help you? Tnx! Sharing = 🫶
0
32
83
@webprolific
Lars Kappert
9 months
Knip ❤️ Bun Bun is now a first-class citizen, and Knip will detect dependencies used in your Bun shell scripts (no worries, I'm from the future) ✂️ And I know the feelings are mutual when running knip on knip itself: time npx knip 2.3s time bunx --bun knip: 2.0s
@bunjavascript
Bun
9 months
Introducing the Bun Shell Cross-platform shell language & interpreter for shell scripting with JavaScript
Tweet media one
183
441
4K
1
0
66
@webprolific
Lars Kappert
4 months
✂️ Knip v5.18.0 is out! This one is all about the new --trace feature: ▶︎ Renders tree to trace where exports are used ▶︎ Follows re-exports, barrel files across workspaces! ▶︎ Debug issues reported by or with Knip ▶︎ Target specific files/exports (e.g. --target-file)
Tweet media one
5
5
62
@webprolific
Lars Kappert
4 months
✂️ Knip v5.17.0 is out! Honestly excited about the progress 😇 • More precise export → import mapping • Monorepo: improved module resolution across workspaces • Monorepo: source mapping (`dist/index.js` → `src/index.ts`) • New & improved plugins: UnoCSS, Lost Pixel,
5
5
62
@webprolific
Lars Kappert
10 months
@Swizec I don't think grinding is ever good advice. It should come from an intrinsic will of the person, after which it could be supported.
0
0
60
@webprolific
Lars Kappert
11 months
✂️ Update ✓ New domain: ✓ New docs in progress ✓ Published Knip v3 canary (expect v3.0.0 after the weekend) → Feel free to start using the docs and v3 canary, feedback most welcome. Here's excited for what's coming! ☀️
2
4
59
@webprolific
Lars Kappert
9 months
Can I ask for a favor? I need paid work. Available to make an impact and help out with frontend, APIs, performance, automation, tooling and DevOps/CI. Betting on JavaScript for well over 20 years. TypeScript is great. Not afraid of large codebases, major refactorings or
4
32
55
@webprolific
Lars Kappert
6 years
2
11
56
@webprolific
Lars Kappert
14 days
Cool new project that removes unused exports based on a tsconfig.json file: ts-remove-unused. Small + clear scope, nice! Added to the comparisons/alternatives page: @kazushikonosu created ts-remove-unused, go check it out:
0
8
54
@webprolific
Lars Kappert
7 months
✂️ Knip just got ~50% faster! By default, for free. Heck, even its own test suite went down from 3m48 to 1m42 😃 🚀 Grab v5.1.1 while it's hot 🔥
0
2
50
@webprolific
Lars Kappert
10 months
✨ Knip v3 is out now! Discover brand new docs & goodies at RT = more devs can enjoy & improve Knip ✂️
3
6
48
@webprolific
Lars Kappert
3 months
✂️ Knip just went from 79 to 52 dependencies btw.
2
2
47
@webprolific
Lars Kappert
1 year
@flybayer @switz213 > Hiring devops engineers is a waste of money Not seeing an abundance of facts nor respect here
1
0
45
@webprolific
Lars Kappert
8 months
✂️ Knip v5 is out! This tiny but mighty release is a great little improvement around unused exports in namespaces. v5.0.0 is release #300 , go check it out!
0
4
46
@webprolific
Lars Kappert
21 days
✂️ Render me an absolute fool, but I just want to see your codebases uncluttered. As an example, it just took 30 minutes to completely unravel Microsoft's Playwright codebase and set it up for tidyness. And so can you.
@webprolific
Lars Kappert
4 months
✂️ Knip is actively used by some cool & large companies: ▶︎ Algolia (→ @algolia ) ▶︎ Grafana (→ @grafana ) ▶︎ Microsoft (→ @OpenAtMicrosoft ) ▶︎ Shopify (→ @ShopifyEng ) Would be good to see such companies support projects like Knip! What can I do to make it happen?
3
1
30
2
2
42
@webprolific
Lars Kappert
1 year
Just published "Using OpenAI with JavaScript" In which I try to fill a gap for frontend people getting serious about OpenAI, but find everything is Python!
4
7
40
@webprolific
Lars Kappert
6 months
@NicoloRibaudo @jarredsumner > often Think you might be underestimating how many systems and servers use JSON as a transportation format, and will all straight up choke on comments in JSON. Better use a different extension, is that such a problem.
3
0
39
@webprolific
Lars Kappert
8 months
TypeScript Playground now has an experimental AST explorer. At this point I think I still prefer , but interesting to see where this is going.
Tweet media one
Tweet media two
2
1
37
@webprolific
Lars Kappert
9 months
✂️ New to Knip? - Enjoy! Boring stuff should be automated indeed. - Configuration issues? Feel free invite me to your PR or reproduction, I'm happy to assist! ❤️ - Is it slow in your large monorepo? v4 is on the way 🚀
0
4
36
@webprolific
Lars Kappert
6 months
✂️ In the next version of Knip: - knip --cache - knip --watch - knip-bun Recent updates include: - Improved support for CommonJS - New plugins: @tothemoonrepo , Wrangler (Cloudflare CLI) - Migrated dev setup to Bun + @biomejs - Tests still run in Node.js too - Improved docs
2
0
35
@webprolific
Lars Kappert
7 months
✂️ Knip v5.3.0 is out - the recent perf wins enabled by default - complete coverage like v3 for edge cases if you need it Feels like I've finally hit the sweet spot here, LFG
2
0
35
@webprolific
Lars Kappert
6 months
✂️ Knip v5.10.0 is out! 🆕 knip --cache 🆕 knip --watch 🆕 plugins: oclif, Cucumber.js (total: 60 plugins!) 🆙 knip --fix improved ⬇️ 63% reduction in # of dependencies (from 234 to 87) ℹ️ bug fixes The most major minor so far. Here's a quick walk-through: 👇
1
3
34
@webprolific
Lars Kappert
6 years
🇺🇳 TIL `Intl.NumberFormat` is awesome and has wide browser support
Tweet media one
0
11
32
@webprolific
Lars Kappert
10 years
Tweet media one
1
53
31
@webprolific
Lars Kappert
3 months
✂️ Sending my condolences. I'm here if you need to talk.
Tweet media one
0
0
30
@webprolific
Lars Kappert
6 months
✂️ Knip knips Knip Managed to reduce the number of its own dependencies with 63% (from 234 to 87)! Available in canary now, in v5.10.0 soon. Faster installations, much smaller footprint 👣
Tweet media one
0
0
30
@webprolific
Lars Kappert
4 months
✂️ Knip is actively used by some cool & large companies: ▶︎ Algolia (→ @algolia ) ▶︎ Grafana (→ @grafana ) ▶︎ Microsoft (→ @OpenAtMicrosoft ) ▶︎ Shopify (→ @ShopifyEng ) Would be good to see such companies support projects like Knip! What can I do to make it happen?
3
1
30
@webprolific
Lars Kappert
11 months
@housecor Disagree, REST is still a useful term, _because_ it's old and widely understood. Because half of us doesn't know what HATEOAS means, does not imply REST is a bad term. We can talk about education and implementation, but I don't think that should start with using "JsonApi".
5
0
27
@webprolific
Lars Kappert
2 months
@yagiznizipli pick your battles
0
0
29
@webprolific
Lars Kappert
1 year
My relationship with TypeScript
3
6
29
@webprolific
Lars Kappert
8 months
Thrilled to be working with the @gritdotio team starting next week! Their philosophy and goals couldn't be more aligned with my own 🤩 Thanks @morgantepell for the opportunity 🙏
@webprolific
Lars Kappert
9 months
So excited to share I'll be working with an awesome team soon! Will share more when I can. The help & feedback I got here are so heartwarming. Can't even begin to express my gratitude, thank you all ❤️ Trust me, it took a while to get over it and "just ask", but so glad I did.
2
0
28
10
0
28
@webprolific
Lars Kappert
9 months
So excited to share I'll be working with an awesome team soon! Will share more when I can. The help & feedback I got here are so heartwarming. Can't even begin to express my gratitude, thank you all ❤️ Trust me, it took a while to get over it and "just ask", but so glad I did.
@webprolific
Lars Kappert
9 months
Can I ask for a favor? I need paid work. Available to make an impact and help out with frontend, APIs, performance, automation, tooling and DevOps/CI. Betting on JavaScript for well over 20 years. TypeScript is great. Not afraid of large codebases, major refactorings or
4
32
55
2
0
28
@webprolific
Lars Kappert
4 months
✂️ Cooking
Tweet media one
1
0
28
@webprolific
Lars Kappert
3 months
✂️ LFG 🚀 What matters is the number of repos kept in check and the code/dependencies removed. GitHub says 1811 dependent repositories, 6118 stars. Considering Knip is a niche tool for the most diligent of developers, this is not bad, not bad at all :)
Tweet media one
@webprolific
Lars Kappert
3 months
✂️ Can't believe Knip is about to pass 500K downloads per week 🎉 However, full disclosure/PSA: based on supply and demand development has been slowing down for a while. Bug reports are still accepted, but proper reproductions required. Don't hold your breath for new features.
1
2
22
0
2
27
@webprolific
Lars Kappert
6 months
@jarredsumner But why, really? It'll cause breakage and confusion. I wonder if it's worth the trade-off.
2
0
26
@webprolific
Lars Kappert
7 months
✂️ Can't believe Knip had >1M npm downloads last month
3
0
26
@webprolific
Lars Kappert
1 year
@Randynamic_4 @kadena_io Thanks a lot, Randy & the Kadenians! Head's still spinning from Doug's dice 🎲🎲 and other mind-blowing Kadena videos I'm watching today. Let's go!
2
2
25
@webprolific
Lars Kappert
8 months
✂️ Knip milestones 🤯 - 200K downloads/week npm - 5K GitHub stars - Companies/projects using Knip: freeCodeCamp, Microsoft, SourceGraph Cody, Svelte, TanStack Query, Unkey, etc etc.
0
1
25
@webprolific
Lars Kappert
5 months
✂️ Knip update Happy to share I've completed a refactor to improve the dependency graph Knip uses internally to analyze your repo. Fixed a bug and made it easier to grasp along the way. Might be interesting to open this up in the future.
1
0
24
@webprolific
Lars Kappert
2 months
✂️ Here we are, if this doesn't cut it I don't know what does 🇳🇱 Ohhh btw not touching that list of projects using Knip 🤩 ✂️
Tweet media one
@webprolific
Lars Kappert
2 months
✂️ Another message from Knip's inbox Let's pronounce it Knip (not "nip")
5
0
8
1
0
24
@webprolific
Lars Kappert
5 months
✂️ The next release of Knip will be so good. If you've been frustrated with funky results then this one's for you. Squashing a whole category of bugs with unprecedented preciseness 🔪
2
1
24
@webprolific
Lars Kappert
10 months
✂️ Update! - Out now: Knip v3.3.3 - More speed 🚀 - Better peerDependencies handling - Better JSDoc handling - Better docs - JSONC Schema - .. 💡 Did you know... Knip is continuously tested against various projects before releases to prevent regressions
1
2
22
@webprolific
Lars Kappert
10 years
Tweet media one
1
18
22
@webprolific
Lars Kappert
3 months
✂️ Can't believe Knip is about to pass 500K downloads per week 🎉 However, full disclosure/PSA: based on supply and demand development has been slowing down for a while. Bug reports are still accepted, but proper reproductions required. Don't hold your breath for new features.
1
2
22
@webprolific
Lars Kappert
4 months
Thank you so much for the support @TkDodo ! You've been supportive throughout, and I couldn't appreciate it more ❤️ Here's to deleting more code! ✂️
0
0
21
@webprolific
Lars Kappert
10 months
✂️ Tiny flag, lots of opportunities 🔧 Starting today, you can add --fix to your Knip runs and it will remove unused exports, types and dependencies, so you don't have to. 🇳🇱 Flagged experimental, feel free to give it a shot! 🔧
0
2
21
@webprolific
Lars Kappert
10 months
@Stellate @mxstbr Why the name collision with ? That project is called Fuse.js as well, and it's not small or abandoned.
1
0
21
@webprolific
Lars Kappert
3 months
Waited for the right opportunity, but today I'm excited to share I'll be joining a #GoodCause 😊 @SeniorWebNL helps Dutch people use computers & internet, and I'll be giving them my all to do everything frontend & devops. This is close to my heart, feels good!
1
0
20
@webprolific
Lars Kappert
8 months
@jarredsumner Are you made of starlight Jarred
0
0
20
@webprolific
Lars Kappert
5 months
2
2
19
@webprolific
Lars Kappert
4 months
✂️ Planned for the coming weeks: tips & tricks to get the most out of Knip. Improve documentation, probably fix some bugs. Obviously the latest is the greatest, but I'd really recommend upgrading to v5.18 if you can. Sometimes I feel a tad bit sorry for early adopters when Knip
2
0
18
@webprolific
Lars Kappert
11 days
✂️ Today is a good day! This morning I woke up with the news that Microsoft supports me with a great one-time boost. All motivated & stoked now 🤩🚀 Thank you @microsoft for sponsoring me on @github . You can join them at my sponsors profile:
0
0
18
@webprolific
Lars Kappert
12 years
TypeScript: Just another language compiling into JavaScript. This time it's Microsoft. http://t.co/zVwCsGoa
0
2
18
@webprolific
Lars Kappert
24 days
✂️ Added a playground to the Knip website, hopefully gives newcomers a better feel of what it does.
1
3
18
@webprolific
Lars Kappert
7 months
Long overdue, but I have finally added a page dedicated to Knip's sponsors! Taking the opportunity for a big shout-out to all of them: ✂️ @sourcegraph ✂️  @birchilljp ✂️ @webdriverio ✂️ @getsentry ✂️ @voxpelli 🙏 Thank you all! 🧡
1
2
17
@webprolific
Lars Kappert
7 years
@dan_abramov Still plenty of folks subscribe to weeklies (see eg. ). Noticed quite some overlap between some of them, though.
0
1
17
@webprolific
Lars Kappert
3 months
Sad to see this is still controversial. Don't optimize DX by adding hooks. Give devs a choice. They can add hooks themselves or do it in IDE, whatever. Single source of truth is centralized CI, stable branch. "Don't make me think."
@mattpocockuk
Matt Pocock
3 months
We're talking about pre-commit hooks? Nice. I hate them. You should take as much compute time off your engineers as possible and put it on CI.
265
95
2K
2
0
17
@webprolific
Lars Kappert
1 month
✂️ Latest super cool projects using Knip: - Mocha - @PixiJS - XState - @RedwoodJS </proud>
2
0
17
@webprolific
Lars Kappert
10 months
✂️ Update! Did a major refactoring in Knip, paving the way for more optimizations that were not possible before (e.g. caching). 🚀 You can try it out today (v4 canary)!
1
3
16
@webprolific
Lars Kappert
9 months
Warning: do not use Knip and risk doing your job too well! 😅 Seriously, seeing tweets and PRs like this sparks so much joy ❤️
@sqs
Quinn Slack
9 months
warning: do not use a tool like + code search to delete a ton of unused code. It works too well. I just did this in , and my boss said if I end the week with net negative lines of code committed, I'm in deep trouble.
Tweet media one
4
0
28
1
0
16
@webprolific
Lars Kappert
4 months
Monorepos aren't easy. It's an investment. Don't just throw some tooling together that look nice at first sight. Set boundaries from the start, accept some cons, and at scale it can make you move so. much. faster. Monorepo engineer should even be a role maybe. Monorepolice 👮
@kentcdodds
Kent C. Dodds 🌌
4 months
Monorepos are the absolute worst
143
39
596
3
0
16
@webprolific
Lars Kappert
9 months
✂️ Knip v4.2.0 is out now! - New @netlify plugin (for Netlify Functions) - Much improved @eleven_ty plugin - Internal refactorings (early & often!) Massive shoutout to @uncentr , the front and center of this release, doing BOTH plugins 🚀
1
1
14
@webprolific
Lars Kappert
1 year
Knip ❤️ Astro ✂️ A fresh new Knip v2.34.0 brings you joy and... - Brand new Astro plugin 🚀 - Define Knip config as (async) function - Run Knip from another directory - Bugfixes++
1
0
16
@webprolific
Lars Kappert
7 months
pnpm is still the very bestest package manager, period
1
0
15
@webprolific
Lars Kappert
6 months
@NicoloRibaudo @jarredsumner Sure, but are we still talking about the JSON *standard* here?
1
0
14
@webprolific
Lars Kappert
4 months
✂️ knip --cache just got a lot more efficient & faster. Using the Node.js and Bun built-in (de)serializers, and less dependencies. Thanks y'all! Enjoy Knip v5.22 🔥
@webprolific
Lars Kappert
4 months
Is there any good solution out there to (de)serialize JS objects directly from/to files? The objects contain Sets and Maps. I have something that works well, but it's a two-step process: - (de)serializer to JSON - file-entry-cache (Prettier, ESLint use this too) Ideally, this
5
0
3
0
0
15
@webprolific
Lars Kappert
4 months
🎈If you like balloons, you can head over to my profile today and get some for free! Appreciate y'all, choose love ❤️
7
0
14
@webprolific
Lars Kappert
5 months
Are you that cutting ✂️ edge type of developer, using Node.js v22 and compiling your code with TypeScript v5.5 beta? Knip has your back 🫡 Knip v5.11.0 is out and tested against the above, while supporting the new Type Imports in JSDoc 😎
0
0
14
@webprolific
Lars Kappert
2 months
Use tsx, it's better than whatever else you're trying to run ts in Node.js. It just works™️
1
1
14
@webprolific
Lars Kappert
2 months
Replacing resolve with enhanced-resolve in knip: better performance, less dependencies
1
1
14
@webprolific
Lars Kappert
6 months
✂️ Cutting egg Easter update! Work in progress: 🐣 knip --cache 🐣 knip --watch The cache & watch features work across workspaces, when adding/deleting files, etc. etc. 🎬 Also had fun scripting a quick demo:
0
0
13
@webprolific
Lars Kappert
4 months
✂️ Sorry not sorry ✂️
Tweet media one
2
0
13
@webprolific
Lars Kappert
8 months
This platform has always been good to me. But eventually it's not the platform, it's the people. That's you! Thank you for being part of my journey, it's been wonderful ❤️
0
0
13
@webprolific
Lars Kappert
2 years
@rakyll Where can I apply? Love automation and removing things! Literally made this over the weekend:
1
0
13
@webprolific
Lars Kappert
2 months
✂️ Knip update! New plugins: - Ladle - React Cosmos - Rspack - Rsbuild (wip) - cypress-multi-reporter ALL contributed or sponsored 🙏 Additionally did some minor improvements & bug fixes 🔧 Enjoy, and have a nice day! ☀️
0
1
13
@webprolific
Lars Kappert
4 months
@JoshuaKGoldberg Sorry to hear this, Josh. You're one of my all-time favorites in the OSS community, and I've learned so much from you. Cliché but true: take care of yourself, before you can take care of others. Sincerely hope you'll somehow find that 2022 spirit back!
2
0
13
@webprolific
Lars Kappert
8 months
@mattpocockuk ts.createLanguageService().findReferences()
1
0
13
@webprolific
Lars Kappert
23 days
It's so liberating and efficient to optimize for deletion. Whatever you're building, the abstraction or coupling you're into, it'll all be obsolete sooner or later. Think with deletion in mind, lots of best practices & patterns auto-follow suit. Prepare for reality 🦋
1
2
13
@webprolific
Lars Kappert
10 months
✂️ Added a page about performance with Knip → Barrel files and star imports 🐢 → Workspace Sharing ♻️ → .gitignore files 🚫 Not "required knowledge", but might be good to realize if Knip runs slow on your codebase.
0
2
13
@webprolific
Lars Kappert
10 days
hell yeah
Tweet media one
1
0
13
@webprolific
Lars Kappert
7 months
✂️ Probably Knip's two most under-used features: - Auto-fix 🔧 - Tags 🏷️ 📙 Docs: 🔧 🏷️
2
1
13
@webprolific
Lars Kappert
1 year
Hi @thesegunadebayo , congrats on the Panda release! Will definitely keep an eye on it 🐼 Panda CSS:
0
2
13
@webprolific
Lars Kappert
10 months
🙏 Not my favorite thing to do, but here I am asking for sponsorships. Do you or your company value any of my open source projects (e.g. Knip, release-it)? It would mean the world to me if you could make this happen at your company! ❤️ 🚀 This means I can spend more time
0
10
12
@webprolific
Lars Kappert
9 months
Y'all ain't ready for Knip v4
Tweet media one
1
0
12
@webprolific
Lars Kappert
4 months
My most frequently used aliases: ​ alias g=git alias p=pnpm alias b=bun ​ alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.." alias -- -="cd -" # Go to previous dir with - alias cd.='cd $(readlink -f .)' # Go to real dir (i.e. if current
7
2
12
@webprolific
Lars Kappert
6 months
The new Set methods are great, you're going to use them more than you'd think (I know I will!). Sets become even more appealing with those methods included. Stage 4, most of the methods are already available in V8, Chrome, Safari.
@robpalmer2
Rob Palmer
6 months
ECMAScript excitement 😉 Congrats to @bakkoting on advancing Set Methods to Stage 4 this week @TC39 🎉 Set.prototype gains these methods: 🔶 intersection 🔶 union 🔶 difference 🔶 symmetricDifference 🔶 isSubsetOf 🔶 isSupersetOf 🔶 isDisjointFrom
8
61
357
0
0
12
@webprolific
Lars Kappert
5 months
✂️ Little lazy Sunday Knip update 1️⃣ Published @​knip/create-config to minimize install guide: $ npm init @​knip/config ^ Can be extended with more install/config helpers, etc. 2️⃣ Added features overview page:
0
0
12