This page is also available in English.

Continue in English

Blog

Note tecniche su come TinyDI è stato davvero progettato e costruito — trade-off reali, vicoli ciechi reali, senza marketing.

25 luglio 2026

Quello che il piano di rilascio non poteva prevedere: pubblicare per davvero

Il nome del pacchetto npm bloccato proprio al momento della pubblicazione, lo stallo tra OTP e CI che ne è seguito, e alcuni bug del docs-app rivelati solo da traffico reale (o da un browser vero).

24 luglio 2026

Perché niente reflect-metadata

La scelta "explicit over magic" dietro TinyDI: cosa offre la DI basata su reflection, cosa costa, e perché abbiamo collegato le dipendenze a mano.

24 luglio 2026

Progettare token type-safe senza generics espliciti

Come createToken permette a container.resolve(token) di inferire il tipo esatto del servizio, usando un phantom type che a runtime non esiste mai.

24 luglio 2026

Rilevare le dipendenze circolari

Come TinyDI intercetta A -> B -> C -> A al momento della risoluzione con un semplice stack di percorso, e perché il formato del messaggio d'errore è stato progettato così.

24 luglio 2026

Una gerarchia di errori, invece di throw new Error(...)

Perché TinyDI ha ContainerError, RegistrationError, ResolutionError e CircularDependencyError invece di un unico tipo di errore generico, e cosa ha davvero comportato questa decisione.

24 luglio 2026

Cosa non abbiamo ancora costruito (e perché)

Lifetime scoped, child container, risoluzione asincrona e plugin non fanno parte di TinyDI oggi — un minimalismo deliberato, non una dimenticanza, e cosa servirebbe per aggiungere ciascuno.

24 luglio 2026

Costruire un sito di documentazione senza framework

Perché questo sito è un generatore statico Node scritto a mano invece di 11ty/Astro/Next, e tre bug reali emersi solo aprendo un browser vero.

24 luglio 2026

Preparare TinyDI per npm: package.json, exports map e tree-shaking

Cosa comporta davvero pubblicare una libreria ESM/CJS a dipendenze zero: una build dual-package con tsup, una exports map a doppia condizione, e una stranezza del build tool che non era compito nostro risolvere.

per navigare per selezionare Esc per chiudere