Lars Graubner's Avatar

Lars Graubner

@larsgraubner.bsky.social

Building https://klokka.co – type-safe #React + #Node.js starter kit for scalable enterprise applications πŸš€

84 Followers  |  346 Following  |  147 Posts  |  Joined: 31.10.2024
Posts Following

Posts by Lars Graubner (@larsgraubner.bsky.social)

Iβ€˜d say there has to be a check whether the active session user is allowed to update the user.

26.01.2026 08:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Why is it possible to update another users info with a different session?

25.01.2026 22:42 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Image of code using ComponentProps to extend HTML element props

Image of code using ComponentProps to extend HTML element props

When I need to extend React props of HTML elements, I use ComponentProps. Very convenient 😊

15.08.2025 09:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What is the best way to monitor performance without OTEL?

11.08.2025 21:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
`vi.mock` Is a Footgun: Why `vi.spyOn` Should Be Your Default Which Vitest API is your favorite? There are so many great ones to choose from. test is a classic, vi.fn might have the best name, and expect is a great Swiss Army knife. Like a proud parent, I have…

Very in depth article about why you should favor spyOn instead of mock. Worth a read (and try). laconicwit.com/vi-mock-is-a...

08.08.2025 13:13 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
new Date("wtf") How well do you know JavaScript's Date class?

11/28 with more luck than skill πŸ˜‚ How much can you score?

24.07.2025 10:49 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

At first I was skeptical, but after some time configuration via CSS variables felt very intuitive 😊

24.07.2025 07:55 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
TODOs aren’t for doing

I wrote a blog post sophiebits.com/2025/07/21/t...

22.07.2025 00:57 β€” πŸ‘ 84    πŸ” 18    πŸ’¬ 3    πŸ“Œ 1

Thats sounds awesome! I vividly remember writing gulp tasks πŸ˜„

18.07.2025 10:00 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I'm starting to get a grep of how to handle CommonJS in an ESM Vite project. Nasty stuff πŸ˜„

05.07.2025 10:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

IMHO creating PRs that big is disrespectful to reviewers. Itβ€˜s hard to effectively review so much at once and wastes my time..

27.06.2025 11:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Have fun! 😊

27.06.2025 11:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It has the following features:

- Prevent double submissions
- Error auto-referencing for A11y
- Simple field and form error display
- Button spinner based on submit status

Works like a charm πŸš€

26.06.2025 08:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

My guilty pleasure is creating perfect abstractions and component apis πŸ˜… Really satisfied with my react-hook-form abstraction

26.06.2025 08:08 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It took me weeks to figure out that Hetzner blocks certain email ports for new accounts πŸ€¦β€β™‚οΈ

25.06.2025 09:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Selfish reasons for building accessible UIs All web developers know, at some level, that accessibility is important. But when push comes to shove, it can be hard to prioritize it above a bazillion other concerns when you’re trying to c…

'β€œeat your vegetables” is one of the least effective arguments in the world. [..]

I would like to list some of my personal, completely selfish reasons for building accessible UIs. No finger-wagging here: just good old hardheaded self-interest!'

nolanlawson.com/2025/06/16/s...

#a11y

24.06.2025 09:52 β€” πŸ‘ 57    πŸ” 17    πŸ’¬ 0    πŸ“Œ 1

The value of tests greatly increases when using AI for code generation. Let the AI check if it broke something by running the tests is so priceless πŸš€

21.06.2025 12:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Claude Code suits my workflow much better than Cursor. It might be because I'm using Neovim πŸ˜… The results are really impressive, but it's also quite slow and interrupts my workflow. I'll have to figure out the best way to integrate it 😊

21.06.2025 12:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

One pattern I like to use is constants for time amounts with self-describing names. No need for extensive comments πŸ™…β€β™‚οΈ

20.06.2025 12:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Are there any good guides on how to setup AWS SES properly? I manage to get it working, but not sure if everything is correct due to the massive amount of options πŸ™ƒ #AWS

18.06.2025 14:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Career advice for developers:

Write normal code. Just the basic good stuff. Don't be fancy, don't be clever. Don't use currying everywhere. You don't need Docker for everything. Also don't write dumb code. Please write good code. But make it normal. As unsurprising as possible.

Thank you

17.06.2025 09:16 β€” πŸ‘ 51    πŸ” 10    πŸ’¬ 4    πŸ“Œ 0

Not on my fun things to do list: handling DNS stuff πŸ˜…

16.06.2025 13:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Write flat tests. No "describe", no scenario nesting, no beforeEach/afterEach hooks (as a rule). Each test case is self-contained, listing all the setup it needs. Use Symbol.dispose for reliable cleanup. Use granular test cases.

☝️ These things will make your tests shine.

14.06.2025 11:33 β€” πŸ‘ 78    πŸ” 11    πŸ’¬ 9    πŸ“Œ 6

Great stack πŸš€

12.06.2025 15:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What are your favorite battle tested technologies? 😊

12.06.2025 12:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

I learned the hard way, that when importing a CommonJS package in an ESM app within the same monorepo, Vite requires different selectors for the package: optimizeDeps requires the package name and commonjsOptions requires a path. Wasted way too much time on this, but it finally works as expected πŸ™„

10.06.2025 08:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Release pnpm 10.12.1 Β· pnpm/pnpm Minor Changes Experimental. Added support for global virtual stores. When enabled, node_modules contains only symlinks to a central virtual store, rather to node_modules/.pnpm. By default, this c...

pnpm v10.12 is a huge release!

We’ve added many new features to the version catalogs system.

We also shipped a new experimental option that makes installation almost instant on most dev machines.

github.com/pnpm/pnpm/re...

08.06.2025 15:09 β€” πŸ‘ 98    πŸ” 11    πŸ’¬ 5    πŸ“Œ 3

Finally 😍

09.06.2025 07:22 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Sexy! πŸ˜„

07.06.2025 12:01 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Whenever I implement basic features, such as authentication, for my starter kit, I like to check out the Laravel documentation. They're implemented and documented quite well there 🎯

06.06.2025 11:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0