klenod.

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.

module.rb
Card = import("./Card.haml")
Styles = import("./Card.css")
Logo = import("./logo.svg")
Config = import("./config.toml")
01 gem install klenod— Installera
02 klenod build— Bygg
03 klenod graph dist/klenod.bundle— Inspektera
Kom igång →
01

Importer definierar grafen

Ruby-moduler använder import-anrop inspirerade av ES-moduler. Varje importerad modul blir ett explicit beroende i applikationsgrafen.

02

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.

03

Byggtidsberoenden stannar kvar

Produktionsläget laddar den serialiserade grafen med klenod-runtime. Byggplugins, kompilatorer och deras beroenden behöver inte följa med applikationen.

04

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.