frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Chibi Izumi: Phased dependency injection for TypeScript

https://github.com/7mind/izumi-chibi-ts
11•pshirshov•5d ago

Comments

pshirshov•42m ago
A bit surprised (and delighted) to see this on the front page.

Essentially, this is a greatly simplified port of distage (my library implementing phased DI for Scala).

Most of the job was done by Claude, the primary point was to showcase phased DI for Typescript, which has many annoyances and limitations, especially when it comes to reflection.

My contributions here were

(a) the approach itself: first we turn functions and constructors into runtime-inspectable entities called Functoids, then we trace binding dependencies from requested roots, do conflict resolution and build a DAG of operations, then we produce instances by traversing the graph in topological order.

(b) a bit unconventional approach to Typescript reflection, which is manual but comes with compile-time validation.

There are many benefits of phased approach to DI, one of the most important benefits is that you can have "configurable apps" (think use-flags for your applications) which are sound, free of logical conflicts and validated early (in case of Scala we even do it at compile time).

Also this approach is extremely easy to comprehend and reproduce (even Claude can do it with some guidance and interventions; I've done ports to several other languages, some with LLM assistance, some manually). While most DIs (especially single-phased ones) are hard to comprehend, maintain and port to other languages/runtimes, for this approach you need to have just one concept implemented - Functoid. The DAG-forming logic fits in 200-300 lines of code and would look the same in any language.

traspler•25m ago
What's the "Non-invasive" metric? How is it less invasive than TSyringe or just as non-invasive as Awilix?
pshirshov•22m ago
> What's the "Non-invasive" metric?

You can use it with code you can't modify (decorators are just convenience helpers, you can do same through bindings DSL with bit less type safety).

TSyringe depends on reflect-metadata and, if my understanding is correct, forces you to use its decorators.

The comparison table is completely subjective and made with just several glances at the readmes of the mentioned libraries. The point was to showcase phased DI for Typescript.

80year old grandmother becomes oldest woman to finish Ironman World Championship

https://bigislandnow.com/2025/10/19/80-year-old-grandmother-becomes-oldest-woman-to-finish-ironma...
74•austinallegro•1h ago•30 comments

Eating Stinging Nettles

https://rachel.blog/2018/04/29/eating-stinging-nettles/
17•rzk•49m ago•8 comments

Show HN: qqqa – a fast, stateless LLM-powered assistant for your shell

https://github.com/matisojka/qqqa
39•iagooar•1h ago•33 comments

Mathematical Exploration and Discovery at Scale

https://terrytao.wordpress.com/2025/11/05/mathematical-exploration-and-discovery-at-scale/
82•nabla9•3h ago•19 comments

Ratatui – App Showcase

https://ratatui.rs/showcase/apps/
432•AbuAssar•9h ago•126 comments

Solarpunk is happening in Africa

https://climatedrift.substack.com/p/why-solarpunk-is-already-happening
913•JoiDegn•16h ago•443 comments

AI Slop vs. OSS Security

https://devansh.bearblog.dev/ai-slop/
25•mooreds•41m ago•3 comments

What the hell have you built

https://wthhyb.sacha.house/
248•sachahjkl•4h ago•167 comments

Dillo, a multi-platform graphical web browser

https://github.com/dillo-browser/dillo
354•nazgulsenpai•18h ago•145 comments

End of Japanese community

https://support.mozilla.org/en-US/forums/contributors/717446
668•phantomathkg•10h ago•489 comments

ChatGPT terms disallow its use in providing legal and medical advice to others

https://www.ctvnews.ca/sci-tech/article/openai-updates-policies-so-chatgpt-wont-provide-medical-o...
323•randycupertino•18h ago•318 comments

Firefox profiles: Private, focused spaces for all the ways you browse

https://blog.mozilla.org/en/firefox/profile-management/
284•darkwater•1w ago•146 comments

Recursive macros in C, demystified (once the ugly crying stops)

https://h4x0r.org/big-mac-ro-attack/
103•eatonphil•11h ago•52 comments

NY school phone ban has made lunch loud again

https://gothamist.com/news/ny-smartphone-ban-has-made-lunch-loud-again
357•hrldcpr•23h ago•261 comments

Why aren't smart people happier?

https://www.theseedsofscience.pub/p/why-arent-smart-people-happier
386•zdw•20h ago•468 comments

Vacuum bricked after user blocks data collection – user mods it to run anyway

https://www.tomshardware.com/tech-industry/big-tech/manufacturer-issues-remote-kill-command-to-nu...
314•toomanyrichies•4d ago•111 comments

Show HN: Flutter_compositions: Vue-inspired reactive building blocks for Flutter

https://github.com/yoyo930021/flutter_compositions
25•yoyo930021•6h ago•9 comments

I was right about dishwasher pods and now I can prove it [video]

https://www.youtube.com/watch?v=DAX2_mPr9W8
477•hnaccount_rng•1d ago•341 comments

Show HN: CoordConversions NPM Module for Map Coordinate Conversions

https://github.com/matthewcsimpson/CoordConversions
5•smatthewaf•1w ago•0 comments

The state of SIMD in Rust in 2025

https://shnatsel.medium.com/the-state-of-simd-in-rust-in-2025-32c263e5f53d
212•ashvardanian•18h ago•125 comments

New gel restores dental enamel and could revolutionise tooth repair

https://www.nottingham.ac.uk/news/new-gel-restores-dental-enamel-and-could-revolutionise-tooth-re...
529•CGMthrowaway•17h ago•197 comments

Chibi Izumi: Phased dependency injection for TypeScript

https://github.com/7mind/izumi-chibi-ts
11•pshirshov•5d ago•3 comments

Ruby and Its Neighbors: Smalltalk

https://noelrappin.com/blog/2025/11/ruby-and-its-neighbors-smalltalk/
203•jrochkind1•21h ago•119 comments

Carice TC2 – A non-digital electric car

https://www.caricecars.com/
246•RubenvanE•22h ago•181 comments

The Basic Laws of Human Stupidity (1987) [pdf]

https://gandalf.fee.urv.cat/professors/AntonioQuesada/Curs1920/Cipolla_laws.pdf
104•bookofjoe•13h ago•39 comments

A new oral history interview with Ken Thompson

https://computerhistory.org/blog/a-computing-legend-speaks/
42•oldnetguy•5d ago•4 comments

App Store web has exposed all its source code

https://www.reddit.com/r/webdev/comments/1onnzlj/app_store_web_has_exposed_all_its_source_code/
251•redbell•2d ago•113 comments

Scientists growing colour without chemicals

https://www.forbes.com/sites/maevecampbell/2025/06/20/dyeing-for-fashion-meet-the-scientists-grow...
32•caiobegotti•4d ago•19 comments

The shadows lurking in the equations

https://gods.art/articles/equation_shadows.html
281•calebm•22h ago•84 comments

I want a good parallel language [video]

https://www.youtube.com/watch?v=0-eViUyPwso
84•raphlinus•2d ago•43 comments