Tovább a tartalomhoz

Scripts referencia

Az ElyOS egy Bun workspaces alapú monorepo. A root package.json tartalmazza a fő parancsokat, amelyek a workspace csomagok scriptjeit hívják meg.

elyos-core/
├── package.json # Root scripts (bun --filter használattal)
├── apps/
│ └── web/
│ └── package.json # @elyos/core scripts
└── packages/
└── database/
└── package.json # @elyos/database scripts

Fontos: A root scripteket bárhonnan futtathatod a monorepo-ban. Az apps/web specifikus scriptjeit csak az apps/web könyvtárból.


Lokáció: Root Futtatja: apps/webdev script

Elindítja a SvelteKit dev szervert lokális .env fájllal (Varlock nélkül).

Terminál
bun app:dev

Mit csinál:

  • Betölti a ../../.env fájlt (root .env)
  • Elindítja a Vite dev szervert (http://localhost:5173)
  • Hot module replacement (HMR) engedélyezve

Mikor használd: Lokális fejlesztéshez, gyors iterációhoz.


Lokáció: Root Futtatja: apps/webdev:varlock script

Elindítja a SvelteKit dev szervert Varlock-kal (Infisical secrets).

Terminál
bun app:dev:varlock

Mit csinál:

  • Varlock betölti a secreteket az Infisical-ból
  • Validálja az env változókat
  • Elindítja a Vite dev szervert

Mikor használd: Ha az éles környezethez hasonló konfigurációt szeretnél tesztelni.


Lokáció: Root Futtatja: apps/webbuild script

Production build készítése.

Terminál
bun app:build

Mit csinál:

  • SvelteKit production build (vite build)
  • Adapter-node kimenet: apps/web/build/
  • Statikus asszetek: apps/web/build/client/

Lokáció: apps/web Futtatja: preview script

Elindítja a production build-et lokálisan.

Terminál
cd apps/web
bun preview

Mit csinál:

  • Elindítja az Express + Socket.IO szervert (server.js)
  • Kiszolgálja a build-elt alkalmazást
  • Port: process.env.PORT vagy 3000

Előfeltétel: Előbb futtasd a bun app:build parancsot.


Lokáció: Root Futtatja: apps/webcheck script

TypeScript és Svelte típusellenőrzés.

Terminál
bun app:check

Mit csinál:

  • svelte-kit sync — generálja a SvelteKit típusokat
  • svelte-check — ellenőrzi a Svelte komponenseket
  • tsc — TypeScript típusellenőrzés

Mikor használd: Commit előtt, CI/CD-ben.


Lokáció: apps/web

Folyamatos típusellenőrzés watch módban.

Terminál
cd apps/web
bun check:watch

Lokáció: Root Futtatja: packages/databasedb:init script

Első indítás — teljes adatbázis inicializálás.

Terminál
bun db:init

Mit csinál:

  1. db:generate — migrációk generálása
  2. db:migrate — migrációk futtatása
  3. db:seed — seed adatok betöltése

Mikor használd: Első telepítéskor vagy teljes reset után.


Lokáció: Root Futtatja: packages/databasedb:generate script

Drizzle migrációk generálása a séma változásokból.

Terminál
bun db:generate

Mit csinál:

  • Összehasonlítja a src/schemas/ fájlokat az adatbázissal
  • Generál SQL migrációs fájlokat a drizzle/ mappába

Mikor használd: Séma módosítás után (új tábla, oszlop, index, stb.).


Lokáció: Root Futtatja: packages/databasedb:migrate script

Függőben lévő migrációk futtatása.

Terminál
bun db:migrate

Mit csinál:

  • Futtatja az összes új migrációt a drizzle/ mappából
  • Frissíti a __drizzle_migrations táblát

Lokáció: Root Futtatja: packages/databasedb:seed script

Seed adatok betöltése.

Terminál
bun db:seed

Mit csinál:

  • Futtatja a src/seeds/ mappában lévő seed scripteket
  • Létrehozza az admin felhasználót (ADMIN_USER_EMAIL alapján)
  • Betölti az alapértelmezett alkalmazásokat, szerepköröket, stb.

Lokáció: Root Futtatja: packages/databasedb:studio script

Drizzle Studio megnyitása.

Terminál
bun db:studio

Mit csinál:

  • Elindítja a Drizzle Studio web felületet
  • Böngészőben megnyitja: https://local.drizzle.studio
  • Vizuális adatbázis böngésző és szerkesztő

Lokáció: Root Futtatja: packages/databasedb:reset script

Adatbázis teljes visszaállítása.

Terminál
bun db:reset

Mit csinál:

  1. Eldobja az összes táblát
  2. Újra futtatja a migrációkat
  3. Betölti a seed adatokat

Figyelem: Minden adat elvész!


Lokáció: Root

Csak a PostgreSQL konténer indítása.

Terminál
bun docker:db

Mit csinál:

  • Elindítja a postgres szolgáltatást
  • Port: 5432
  • Adatok: docker/postgres-data/ (perzisztens)

Mikor használd: Lokális fejlesztéshez, ha csak az adatbázisra van szükséged.


Lokáció: Root

Teljes stack indítása (ElyOS + PostgreSQL).

Terminál
bun docker:up

Mit csinál:

  • Build-eli a Docker image-et
  • Elindítja az app és postgres szolgáltatásokat
  • Detached módban (-d)

Elérhető: http://localhost:3000


Lokáció: Root

Teljes újraépítés cache nélkül.

Terminál
bun docker:rebuild

Mit csinál:

  • --no-cache build
  • Újraindítja a konténereket

Mikor használd: Ha a cache-elt rétegek problémát okoznak.


Lokáció: Root

Összes konténer leállítása.

Terminál
bun docker:down

Mit csinál:

  • Leállítja és eltávolítja a konténereket
  • A volume-ok megmaradnak (adatok nem vesznek el)

Lokáció: Root

Konténer naplók követése.

Terminál
bun docker:logs

Mit csinál:

  • Valós időben követi a konténerek naplóit
  • Ctrl+C a kilépéshez

Lokáció: Root

Docker image build (multi-platform).

Terminál
bun docker:build

Tag: elyos/core:latest


Lokáció: Root

AMD64 (x86_64) platform specifikus build.

Terminál
bun docker:build:amd64

Tag: elyos/core:latest-amd64, elyos/core:0.1.0-amd64


Lokáció: Root

ARM64 (Apple Silicon, ARM szerverek) platform specifikus build.

Terminál
bun docker:build:arm64

Tag: elyos/core:latest-arm64, elyos/core:0.1.0-arm64


bun docker:save:amd64 / bun docker:save:arm64

Szekció neve “bun docker:save:amd64 / bun docker:save:arm64”

Lokáció: Root

Docker image mentése .tar fájlba.

Terminál
bun docker:save:amd64

Kimenet: docker/elyos-core.tar

Mikor használd: Offline telepítéshez, image megosztáshoz.


Lokáció: apps/web

Összes teszt futtatása egyszer.

Terminál
cd apps/web
bun test

Mit csinál:

  • Vitest unit tesztek
  • --run mód (nem watch)

Lokáció: apps/web

Tesztek watch módban.

Terminál
cd apps/web
bun test:watch

Mit csinál:

  • Újrafuttatja a teszteket fájl változáskor
  • Interaktív mód

Lokáció: apps/web

Csak property-based tesztek futtatása.

Terminál
cd apps/web
bun test:pbt

Mit csinál:

  • Csak a Property szót tartalmazó teszteket futtatja
  • fast-check alapú tesztek

Lokáció: apps/web

Prettier és ESLint ellenőrzés.

Terminál
cd apps/web
bun lint

Mit csinál:

  • prettier --check . — formázás ellenőrzés
  • eslint . — kód minőség ellenőrzés

Lokáció: apps/web

Automatikus kód formázás.

Terminál
cd apps/web
bun format

Mit csinál:

  • prettier --write . — formázza az összes fájlt

Lokáció: apps/web

Interaktív csomag frissítés.

Terminál
cd apps/web
bun package:update

Mit csinál:

  • bun update -i — interaktív frissítő
  • Kiválaszthatod, melyik csomagokat frissíted

Terminál
# 1. Függőségek
bun install
# 2. Env fájl
cp .env.example .env
# Szerkeszd a .env fájlt
# 3. Adatbázis
bun docker:db
bun db:init
# 4. Dev szerver
bun app:dev
Terminál
# 1. Módosítsd a packages/database/src/schemas/ fájlokat
# 2. Generálj migrációt
bun db:generate
# 3. Futtasd a migrációt
bun db:migrate
# 4. (Opcionális) Seed újrafuttatása
bun db:seed
Terminál
# 1. Build
bun app:build
# 2. Preview
cd apps/web
bun preview
Terminál
# 1. Env fájl (csak bootstrap credentials)
cp .env.example .env
# INFISICAL_CLIENT_ID és INFISICAL_CLIENT_SECRET
# 2. Indítás
bun docker:up
# 3. Naplók
bun docker:logs