Ruby-modulbundlare
Bygg Ruby-moduler som en modern frontendgraf.
Klenod ger Ruby ett importsystem inspirerat av ES-moduler. Importerna skapar en dependencygraf för uppdateringar i utvecklingsläget, produktionsbundles, och alla filtyper som dina plugins förstår.
Card = import("./Card.haml")
Styles = import("./Card.css")
Logo = import("./logo.svg")
Config = import("./config.toml")
gem install klenod— Installeraklenod build— Byggklenod graph dist/klenod.bundle— InspekteraImporter definierar grafen
Ruby-moduler använder import-anrop inspirerade av ES-moduler. Varje importerad modul blir ett explicit beroende i applikationsgrafen.
Levande utveckling
När en kodfil ändras uppdaterar Klenod den delen av grafen och invalidaterar dess beroenden. Moduler evalueras igen först när applikationen behöver dem.
Byggtidsberoenden stannar kvar
Produktionsläget laddar den serialiserade grafen med klenod-runtime. Byggplugins, kompilatorer och deras beroenden behöver inte följa med applikationen.
Alla filer kan vara moduler
Plugins bestämmer hur filer löses upp, transformeras och ser ut vid runtime. Plugins gör det möjligt att importera Haml, CSS, JavaScript, bilder, data eller egna format.
Arkitektur
En graf. Tydliga faser.
Samla före evaluering
Klenod kan läsa importeade filer, transformera källkod och generera assets utan att köra applikationskod.
Relativa sökvägar
Importer resolvas från modulen som deklarerar dem. Kanoniska modul-ID:n gör varje beroende entydigt.
Ramverksneutralt
Plugins anpassar källfiler till komponenter och runtime-värden. Rendering och applikationspolicy stannar i ramverket.
Inspekterbart resultat
Exportera grafen, följ source maps och se vilka moduler och assets som kan nås från en entrypoint.
Redo att bygga
Bygg din första Klenod-app.
Börja med en Ruby-entrypoint, importera ett beroende och lägg till plugins när applikationen växer.