Vladimir Klepov

Vladimir Klepov

@thoughtspile.bsky.social

Some front-end, some management, lots of rumbling https://thoughspile.github.io

46 followers72 following61 posts

LightningCSS, I don't understand. Postcss takes 150ms for a sizable project, esbuild minifier < 100ms. Is there a situation where this is a major problem? Also, no plugin / config compatibility with anything. Not sure I'm sold on this one.

Having completed 6 soft skills trainings, I'm ready to help you with code reviews. Instead of: > pointer-events: none break button Say: > Great job building this button! It seems to have a click issue, so you could make the button even better by fixing it. Feel free to reach out if you need help!

OK I think I solved the barrel file problem! 1. Only expose the barrel (not 3K deep modules) in package.json exports to please TS 2. Use vite plugin to look into the barrel and rewrite barrel import to deep imports 3. Use relative imports to bypass package.json exports check Should work

And it works indeed, the only issue is that now the browser is a bit upset with loading +300 deep files we actually use (note: again, the opposite of "barrel bad"). Vite should be able to prebundle them I think?

Speaking of frontend urban legends When someone says more SSR improves load timings people kinda go "oh but of course it does" In fact, it's not obvious SSR always outperforms CSR, like have you never seen a slow DB query or faulty backend service, maybe my backends are especially bad?

One of my worst career experiences was job seeking while struggling with depression. Nobody wants to hire someone with zero energy and a very negative attitude, and each rejection makes you more negative, and it kinda spirals. Not recommended.

Whenever I hear GPT will take over our jobs blah blah, I go to our Jira. It has feature requests like "make the wiggle do wiggle wiggle" and support requests with "app don't work please halp" and I feel pretty safe.

Ran some vanilla community detection on npm packages, very cool how it discovers e.g. polyfills, or eslint plugins by topology only. But now a large ecosystem can "capture" generic utilities it depends on, e.g. aws-sdk captures tslib, jest captures chalk. Maybe if I feed it more data...

Working on something fun! This are the top 3000 npm packages and their dependencies. We can see constellations of babel (green "bush" on the right), aws (red / pink blob on top), etc. Wonder if I can scale and cleanup this to see anything useful.

My first idea was to group packages by namespace (@angular/*) and prefix (react-dom -> react). It does find prominent communities, but is very dirty (everything now appears to depend on everything), and does nothing for the "utility swamp" that mostly consists of standalone libs

I really hope we'll leave the cjs vs esm war behind someday. It'll be something to scare junior devs, "at your age I had to wrap every file into a function so that I had something to eat" kind. Someday, just not yet.

State of npm, p7 Finding an npm package to solve a specific problem is hard. Npm is a trash bin, StackOverflow is dated, GPT hallucinates, social hype is gone when you need it. GitHub — ur best bet, but not perfect. Why is your average e-commerce better at suggestions than entire JS ecosystem?

I want: $ npm alternatives eslint-plugin-import I want: $ npm search 'restrict module dependencies' I don't want: "Hello reddit, have you seen a good library to blah blah" So you're telling me AI will replace npm, yet AI can't even navigate existing packages, huh?

State of npm, p6 Rockstar developer cult is strong in OSS. Once you see code in node_modules as a gift from gods of programming: - you feel you're not good enough to contribute - or, to *become* a god of programming, you create new projects over helping existing ones Bad mental model.

State of npm, p4 Magic combo of easy publishing and hard maintenance means that >90% of packages are garbage — not malware or spam, just not usable due to ⚠️ packaging errors 🪲 bugs 🤪 poor docs With no built-in way to tell garbage from a good deal, we turn elsewhere to differentiate them...

Specifically, we look at: - the library website - GitHub stars & activity - familiar packages and authors - social hype Reasonable, but these things have little to do with the actual package quality. The dominance of garbage packages actively harms the discoverability of new, quality packages.

Not to offend anybody, I've published my fair share of garbage packages. Call them zombie (the living dead) packages if you like. Point is, the ecosystem doesn't help you on your open source journey that much, you're on your own.

State of npm, p3 Publishing an npm package is so easy you can use npm for free file transfer / sharing. You'll need: email and a package.json with name and version. Put anything you want (it's funny dogs) to the folder, npm publish, et voila you can npm i it from any machine and get funny dogs.

State of npm, p2. JS ecosystem is evolving — good, but a pain for maintainers. You can't just put your cute 100-line lib to npm, you must - add TS - now go fight require vs esm war - now, support import maps - also, wrangle breaking changes in your dev deps No peace for the wicked.

State of npm, p1 I hear npm has 3 million packages. Good for an app developer: you can focus on the app, not the plumbing. For an aspiring open source author, not so fun. Unless you have a genius new way to solve a problem, you only have incremental improvements of existing libraries to make.

Self-introduction: 👴 Doing frontend since 2015 👨‍💼 Hopping around Russian big tech since 2018 🧑‍🏫 Built funky React stuff for a UI kit of a 50M+ DAU service ⚛️ Haven't touched React since 2022, no regrets 👷 Tech lead / engineering manager for 3 years now ✍️ Blogged a bit on thoughtspile.github.io

thoughtspile.github.ioVladimir Klepov as a CoderI write in-depth articles about web development — best known for my React series, but eager to explore other technologies.

OK my friends, old and new, this one looks livelier than masto, let's try here! I've been a bit pressed down with job and life for the last year, but maybe I can put a little something together in the holidays, so hop in.

You are up to date.