Référence de caisse
Cette page documente chaque caisse de l'espace de travail bext. Utilisez-le pour trouver où se trouve une fonctionnalité, quels types elle expose et comment les caisses dépendent les unes des autres. Pour la présentation de haut niveau et la matrice des indicateurs de fonctionnalités, voir Présentation de l'architecture.
L'espace de travail contient environ 38 caisses de niveau supérieur plus environ 33 caisses d'implémentation de référence sous crates/bext-impls/. La version des fonctionnalités par défaut relie V8 + le bundle bext - turbopack ; tout le reste est limité aux fonctionnalités, donc une construction minimale reste petite.
Serveur + noyau#
bext -serveur#
Binaire principal — serveur HTTP actix-web, routeur de mascarade, vhost.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-server |
| Binaire | bext-server |
| Cela dépend | bext -core, bext -license et toutes les caisses facultatives via des indicateurs de fonctionnalité |
Modules clés :
| Module | Responsabilité |
|---|---|
handler |
Gestionnaire de requêtes principal, pipeline SSR, cache de compression, répartition PRISM |
ssr_pipeline |
Répartition par framework ( PRISM, Next.js, Hono, gestionnaire de récupération, RSC) |
bundler |
Bun et bext - Invocation de turbopack |
bun_pool |
Pool de travailleurs Bun pour le chemin de compatibilité Next.js |
admin |
Panneau d'administration SPA + API JSON |
dev |
Serveur de développement (pont HMR, superposition d'erreurs, observateur de fichiers) |
cli |
CLI basée sur les applaudissements ( run, build, start, deploy, plugins, dx, cert ) |
auth_* |
Middleware d'authentification de base et d'authentification proxy |
cache_purge |
API d'invalidation de balise/chemin |
git_deploy |
Gestionnaire de hook git push-to-deploy |
h3 |
Écouteur HTTP/3 (QUIC) (dépendant des fonctionnalités) |
image_proxy_handler |
Transformations d'images à la volée |
upgrade |
Mise à niveau sans temps d'arrêt via le passage de socket |
bext -noyau#
Logique partagée sur le serveur, le plug-in NAPI et les outils CLI.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-core |
| Dépendances | Aucun dans l'espace de travail bext (feuille pour la logique de base) |
| Indicateurs de fonctionnalités clés | v8, plugins, redis, otel |
Modules clés :
| Module | Responsabilité |
|---|---|
transform |
Transformations du code source (voir Transformer le pipeline ) — inclut prism_compile.rs, la passe de pliage JSX au moment de la construction |
route |
Découverte d'itinéraires par convention de système de fichiers |
framework |
Registre Framework + détection ( Next.js, PRISM, Hono, Astro, etc.) |
cache |
Cache ISR, cache à l'échelle du locataire, protection contre les bousculades, périmé pendant la revalidation |
compress |
Compression Brotli, gzip, zstd |
stream |
Pipeline SSR de streaming avec transfert fragmenté |
html_rewrite |
Remplacement de l'îlot de serveur, extraction des indices de préchargement |
image |
Optimisation de l'image (redimensionnement, conversion de format, espaces réservés de flou) |
intern |
Stage en chaîne pour les chemins chauds |
islands / islands_first |
Comptabilité de l'îlot serveur |
js_bridge |
Pont NAPI pour bext-plugin |
flow |
Moteur d'exécution à fonctions durables "use flow" |
rsc |
Génération de charge utile des composants serveur React |
codegen |
Code généré pour les actions du serveur et les charges utiles de vol |
seo |
Génération de plan du site et de robots.txt |
auth |
Trait du fournisseur d'authentification + prise en charge JWT/cookie |
host_fns |
ABI de fonction hôte partagé avec les plugins V8/QuickJS |
observability |
Aides au traçage, journalisation structurée |
og |
Génération d'images à graphe ouvert |
scheduler |
Planificateur Cron + enregistrement des tâches |
static_router |
Routeur d'actifs statiques |
storage |
Trait KV-store + backend en mémoire |
worker |
Chignon-travailleur FFI |
bext -impls#
Implémentations de traits qui collent le noyau bext à des écosystèmes facultatifs.
Un répertoire de petites caisses d'adaptateurs. Chacun implémente un trait défini dans
bext-core ou bext-plugin-api. La version de base ne lie aucun d’entre eux ; Les fonctionnalités de bext-server choisissent celles que vous souhaitez.
| Caisse | Trait qu'il met en œuvre | Back-end |
|---|---|---|
bext-auth-jwt |
AuthProvider |
Vérificateur RS256/ES256 JWT |
bext-session-cookie |
SessionStore |
Session de cookies cryptés |
bext-session-redis |
SessionStore |
Session sauvegardée par Redis |
bext-tracer-stdout |
TracerProvider |
Traçage de ligne JSON vers la sortie standard |
bext-tracer-otlp |
TracerProvider |
Exportateur OpenTelemetry OTLP |
bext-cron |
Scheduler |
tokio-cron-planificateur |
bext-mailer-smtp |
Mailer |
SMTP par lettre |
bext-mailer-ses |
Mailer |
AWS SES |
bext-webhook-verifiers |
WebhookVerifier |
Stripe, GitHub, Slack, HMAC générique |
bext-flags-static |
FlagProvider |
Indicateurs de fonctionnalités TOML |
bext-flags-openfeature |
FlagProvider |
SDK OpenFeature |
bext-storage-s3 |
Storage |
Magasin d'objets compatible S3 |
bext-i18n-static |
I18nProvider |
Catalogue de messages JSON |
bext-i18n-fluent |
I18nProvider |
Projet Fluent ( .ftl ) |
bext-locking-memory |
Lock |
Mutex en cours |
bext-locking-redis |
Lock |
Verrouillage rouge |
bext-locking-pg |
Lock |
Verrous consultatifs Postgres |
bext-policy-cedar |
AuthzPolicy |
Cèdre AWS |
bext-policy-cel |
AuthzPolicy |
Langage d'expression commun |
bext-search-meili |
SearchClient |
Meilisearch |
bext-search-pg |
SearchClient |
Postgres FTS |
bext-transform-py |
Transform |
Transformations Pyodide (Python-in-WASM) - squelette |
bext-ratelimit-lua |
RateLimiter |
Seau Redis avec script Lua |
bext-workflow-pg |
Workflow |
Échafaudé pour les flux de travail durables Postgres |
bext-validate-jsonschema |
Validator |
Schéma JSON |
bext-validate-cue |
Validator |
CUE |
bext-router-legacy |
Router |
Matcheur d'itinéraire hérité (rétro-compatibilité) |
bext-tmpl-tera |
Template |
Téra |
bext-tmpl-handlebars |
Template |
Guidon |
bext-tmpl-liquid |
Template |
Liquide |
bext-pay-stripe |
Payments |
Bande |
bext-pay-lemonsqueezy |
Payments |
Pressé au Citron |
bext-experiment-hash |
Experiment |
Seau de hachage A/B |
Ceux-ci sont délibérément petits. Choisissez ceux dont vous avez besoin ; rien d'autre n'entre en ligne de compte.
bext-licence#
Validation de la clé de licence Ed25519 hors ligne.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-license |
| Toujours lié | Oui |
Types de clés : LicensePayload, Tier, Feature, validate_key(). Délai de grâce de 14 jours après expiration ; les fonctionnalités du moteur restent actives.
bext-keygen#
Utilitaire de génération de clé de licence (binaire).
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-keygen |
| Binaire | bext-keygen |
Outil interne. Signe les blobs LicensePayload avec la clé privée Ed25519.
PRISM / pipeline-cadre#
bext-turbopack#
API directe autour d'utoo / Turbopack — Bundle JSX/TSX → JS.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-turbopack |
| Activé par | Fonctionnalité bext-server turbopack (activée par défaut) |
Possède les sites d'appel Passe de compilation PRISM. Deux hooks appellent bext-core::transform::prism_compile :
compile_closure— source d'entrée lors de la compilation à la première demandetransform_with_analysis_opts— chaque importation transitive traversée par le bundler
Modules : direct (compiler les points d'entrée, l'intégration de transformation, la marche de clôture transitive et le TscRsPipeWorker qui pilote le sous-processus tsc-rs --pipe), prism (configuration du bundle spécifique à PRISM + échafaudage de test d'équivalence d'octets), registry (cache de module compilé),
watcher (observateur de fichiers invalidant le registre lors de l'enregistrement).
Le transpile TSX→JS réel est délégué au frontend tsc-rs ; Turbopack gère la résolution des modules, le parcours de fermeture transitive et l'assemblage de paquets. Le flux complet du temps de demande se trouve dans le Pipeline de rendu PRISM.
bext-v8#
Isolat rusty_v8 SSR.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-v8 |
| Activé par | Fonctionnalité bext-server v8 (activée par défaut) |
Modules : eval (isolat V8 + thread d'évaluation + caches de contexte chaud, utilisés à la fois par les compatibilités PRISM SSR et Next.js, avec la pompe de rendu en streaming vers la réponse HTTP), subprocess (client de pool de travailleurs hors processus + protocole de cadrage), multiplex (pilote coopératif exécutant N rendus par isolat), render_deadline (chien de garde in-V8 terminate_execution),
bridge (pont JS↔Rust + récupération de bouclage), prism_pool (pool de rendu PRISM en cours), pool (pool d'isolement React par site hérité),
snapshot (blob d'instantané de démarrage V8).
La topologie complète (configuration du processus, admission et contre-pression, chien de garde et disjoncteur, ainsi que l'autopsie du gel du 10/06/2026) se trouve dans le Piscine de rendu V8. Le même runtime isolé est réutilisé par bext-plugin-v8 pour le sandboxing des plugins. Voir Plugins V8.
bext - react -compilateur#
Intégration du compilateur SWC + React.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-react-compiler |
| Activé par | Fonctionnalité bext-server react-compiler (activée par défaut) |
Mémorisation automatique (compilateur React) pour les îlots clients et réduction des fonctions pures pour les chemins de code SSR uniquement. S'exécute dans le cadre des transformations source du bundler lorsque le compilateur React est activé dans bext.config.toml.
bext -css#
Moteur v4 Tailwind natif de Rust.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-css |
| Activé par | Fonctionnalité bext-server route-css (activée par défaut) |
Scanner utilitaire (parcourt les sources PRISM/JSX, extrait les noms de classe) et générateur de classe JIT. La sortie est un CSS de portée route extrait au moment de la construction et servi à partir du cache d’actifs. Aucun binaire de nœud tailwindcss n’est nécessaire.
bext -importation#
Scanner de directives « utiliser le serveur » / « utiliser le client » / « utiliser le cache » compatible AST.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-import |
Utilisé par le bundler pour découvrir les limites avant de diviser le graphique en bundles client/serveur. Alimente le chemin de compilation RSC [framework] type = "nextjs" et les îlots PRISM.
bext -proxy#
Sous-système de proxy inverse.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-proxy |
| Toujours lié | Oui |
Pools en amont, équilibrage de charge, disjoncteurs, tentatives, proxy gRPC, proxy WebSocket. Extrait de bext-server en 2026-04 pour réduire le temps de reconstruction incrémentiel.
Extensions#
bext -plugin-api#
Définitions de traits et types partagés. Délibérément léger.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-api |
| Dépendances | serde, serde_json (pas de caisses bext) |
Types publics :
| Taper | Description |
|---|---|
LifecyclePlugin |
Hooks de démarrage/arrêt/cache/rechargement du serveur |
MiddlewarePlugin |
Interception de requête/réponse |
TransformPlugin |
Transformation du code source |
CacheBackend |
Stockage de cache personnalisé |
PluginManifest |
Identité et capacités du plugin |
PluginCapability |
Énumération : Transformation, Middleware, CacheBackend, Cycle de vie |
SandboxType |
Énumération : Wasm, V8, QuickJs, Lua, Nsjail |
SandboxPermissions |
Listes autorisées d'URL, quotas de stockage, limites de mémoire/durée |
Les caisses d'invités WASM peuvent en dépendre sans avoir recours à Actix-Web, V8 ou quoi que ce soit d'autre de lourd.
bext -plugin#
Module complémentaire NAPI pour Bun (mode plugin natif).
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin |
Utilisé lorsque bext est invoqué en tant que module natif Node/Bun (la version héritée du « plugin ») au lieu d'en tant que serveur autonome. Expose
apply_source_transforms et le pool SSR sur NAPI.
bext -plugin-wasm#
wasmtime sandbox pour les plugins de cycle de vie WASM.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-wasm |
| Activé par | Caractéristique bext-server plugins |
Modules : adapter (pont de traits), host_functions (importations d'hôtes),
kv (stockage limité), queue (file d'attente de messages), runtime (gestion des instances wasmtime), sandbox (limitation de débit, application des quotas, liste d'autorisation d'URL).
bext-plugin-v8#
V8 isole le bac à sable pour le plugin JS.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-v8 |
| Activé par | Caractéristique bext-server plugins |
Niveau de plugin de première classe partageant le même moteur V8 que le pipeline SSR utilise (donc pas de temps d'exécution supplémentaire à expédier). Modèle de thread à thread épinglé par isolat, préemption du carburant via le chien de garde, ABI des fonctions JSON sur l'hôte. Voir Plugins V8.
bext -plugin-quickjs#
Bac à sable de l'interprète QuickJS.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-quickjs |
| Cela dépend | bext -plugin-api, rquickjs |
| Activé par | Caractéristique bext-server plugins |
Optimisé pour une empreinte réduite et une interprétation déterministe. Modules :
api (enregistrement mondial JS — console, bext.storage, bext.fetch,
bext.config, bext.metric ), runtime (environnement d'exécution QuickJS avec limites de mémoire, limites de pile et application du délai d'expiration basé sur les interruptions).
bext -plugin-lua#
Exécution du plug-in Lua 5.4.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-lua |
| Cela dépend | bext -plugin-api, mlua |
| Activé par | Caractéristique bext-server plugins |
Pour les auteurs de middleware qui préfèrent Lua. En mode bac à sable via le mode sans échec de mlua et une table de fonctions hôte similaire à la liaison V8.
bext -plugin-nsjail#
Bac à sable au niveau du processus avec IPC JSON-over-stdio.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-plugin-nsjail |
| Cela dépend | bext -plugin-api |
| Activé par | Caractéristique bext-server plugins |
Modules : config (détection d'interprète depuis shebang/extension), ipc (protocole de ligne JSON avec une longueur de ligne maximale de 10 Mo), runtime (gestion des processus enfants), sandbox (configuration de l'espace de noms Linux lorsqu'il est disponible).
Réseaux + protocoles#
bext -tls#
Fourniture et gestion automatiques des certificats TLS.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-tls |
| Activé par | Caractéristique bext-server tls |
Types de clés : AcmeClient (Let's Encrypt / ZeroSSL), SniCertResolver (SNI multidomaine), OcspStapler (agrafage OCSP en arrière-plan),
RenewalManager (renouvellement automatique), CertStore ( SQLite -stockage sauvegardé), OnDemandProvisioner (mise à disposition à première demande),
MtlsConfig (certificats client TLS mutuels).
bext -temps réel#
Hub de pub/sub SSE et WebSocket.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-realtime |
| Indicateurs de fonctionnalités | redis (relais inter-instances) |
| Activé par | Caractéristique bext-server realtime |
Types de clés : BextHub (courtier central), TopicAuth (règles d'autorisation par sujet), SseStream, WsSession, RedisRelay (nécessite
Fonctionnalité redis).
bext -waf#
Pare-feu d’applications Web .
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-waf |
| Activé par | Caractéristique bext-server waf |
Types de clés : WafDecision (Autoriser/Bloquer/RateLimit/Challenge),
WafRequest, RuleEngine (SQLi/XSS/détection de traversée), IpFilter (listes CIDR), GeoBlocker, BotDetector, DdosGuard,
EnhancedRateLimiter, WafAuditLog.
bext -ebpf#
Accélération au niveau du noyau eBPF.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-ebpf |
| Plate-forme | Linux uniquement (pas d'opérations sur d'autres plateformes) |
| Activé par | Caractéristique bext-server ebpf |
Modules : xdp (filtrage de paquets), tracing_probes (demande d'uprobes en cascade), tcp (intelligence de connexion via sock_ops), seccomp (liste autorisée d'appels système pour les sandbox de plug-in), capability (détection des capacités Linux).
bext -php#
PHP SAPI intégré pour l'exécution PHP en cours de processus.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-php |
| Nécessite | PHP 8.2+ avec --enable-embed --enable-zts |
| Activé par | Caractéristique bext-server php |
Types de clés : PhpPool (pool de threads de nœuds de calcul PHP), PhpState (descripteur de niveau supérieur pour AppState).
bext-protocole-mqtt#
Courtier de passerelle MQTT 5.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-protocol-mqtt |
| Activé par | Caractéristique bext-server protocol-mqtt |
Routage des sujets, QoS 0/1/2, sessions persistantes, messages conservés. Ponts vers bext-realtime afin que les clients SSE/WebSocket puissent s'abonner au même espace de noms de sujet.
bext -protocole-grpc#
Prise en charge de gRPC propriétaire.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-protocol-grpc |
| Activé par | Caractéristique bext-server protocol-grpc |
registre de services basé sur tonique, gestion des codecs, transcodage gRPC-Web afin que les navigateurs puissent appeler les mêmes services sans couche proxy.
bext -protocole- caldav#
Prise en charge du protocole CalDAV / CardDAV.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-protocol-caldav |
| Activé par | Caractéristique bext-server protocol-caldav |
Méthodes WebDAV, iCalendar, vCard. Utile pour les surfaces CRM/calendrier.
Compatibilité nginx#
bext - nginx -compatible#
Analyseur et convertisseur nginx.conf.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-nginx-compat |
| Activé par | Caractéristique bext-server nginx-compat |
Modules : lexer, ast (configuration nginx AST), convert (configuration AST → bext), detect (détection automatique de nginx.conf sur disque). Alimente le « mode mascarade » dans lequel bext remplace nginx sans aucun changement de configuration du côté de l'opérateur.
bext - nginx -cale#
Remplacement binaire nginx.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-nginx-shim |
| Binaire | nginx (en cas de lien symbolique) |
| Activé par | Caractéristique bext-server nginx-compat |
Imite l'interface de ligne de commande nginx : fichier PID, rechargement SIGHUP, génération de remplacement systemd. Permet à bext de s'asseoir derrière l'existant
Flux de travail systemctl reload nginx.
Adaptateurs de framework#
Chaque adaptateur implémente le trait FrameworkAdapter de bext-core. La détection examine les fichiers package.json/config ; créer des shells sur la propre CLI du framework ; serve exécute la sortie produite via bext SSR ou sous la forme d'un ensemble d'actifs statiques.
| Caisse | Chemin | Détecte |
|---|---|---|
bext-framework-astro |
crates/bext-framework-astro |
astro.config.{js,ts,mjs} |
bext-framework-qwik |
crates/bext-framework-qwik |
Projet de ville Qwik |
bext-framework-solidstart |
crates/bext-framework-solidstart |
Projet SolidStart |
bext-framework-sveltekit |
crates/bext-framework-sveltekit |
Projet SvelteKit |
PRISM est et non un adaptateur de framework - il appartient à bext-core (la passe de compilation) et à bext-turbopack (les sites d'appel). Next.js et Hono sont gérés en ligne dans le pipeline SSR de bext-server plutôt que via un adaptateur de caisse.
Outillage / DX#
bext -dx#
Moteur d’expérience développeur.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-dx |
Format TOML/lint, plugin/infra/route graph, provenance env, magasin secret. Partagé par la CLI bext et la bext-lsp.
bext -lsp#
Serveur de langue pour bext.config.toml.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-lsp |
Réutilise les règles bext -dx afin que VS Code, Zed, nvim et Helix partagent tous un seul moteur de diagnostic. Complétions, survols, "aller à la définition du plugin".
bext -tui#
Tableau de bord de gestion des terminaux.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-tui |
Interface utilisateur de déploiement en direct/diffusion de journaux basée sur Ratatui. Utile pour les serveurs sans tête sur lesquels vous souhaitez regarder un déploiement à partir d'un TTY.
bext-banc-historique#
Magasin d’historique des performances.
| Propriété | Valeur |
|---|---|
| Chemin | crates/bext-bench-history |
Base de données d'historique de performances basée sur SQLite, utilisée par le tableau de bord de référence et le détecteur de régression CI. Stocke les numéros de référence par validation (SSR µs/req, TTFB, taille du bundle, etc.) afin que les régressions soient interceptées avant leur expédition.
Faisceaux d'essai#
Vivez sous harnesses/ (la plupart sont également membres de l'espace de travail et partagent donc des artefacts de build) :
| Harnais | Chemin | Ce qu'il couvre |
|---|---|---|
| conformité | harnesses/conformance |
Suite de tests de conformité Next.js + spécification HTTP |
| écosystème | harnesses/ecosystem |
Tests d'intégration pour les 6 adaptateurs de framework |
| sécurité | harnesses/security |
Fuzzing, tests d'intrusion, sortie sandbox |
| jsx-fusillade | harnesses/jsx-shootout |
Banc de débit SSR à 5 moteurs ( PRISM, Marko, Solid, React, Rust) |
| harnais-plug-in | harnesses/plugin-harness |
Tests de conformité du plugin sandbox |
| banc de cache | harnesses/cache-bench |
Test de référence du cache ISR |
| ssr-dev | harnesses/ssr-dev |
Harnais de serveur de développement SSR PRISM contre ~/dev/apps/app |
| Sites | harnesses/sites |
Sites de montage autonomes PRISM utilisés par les tests d'intégration |
| chignon | harnesses/bun |
Harnais de compatibilité d'exécution Bun |
| t3 | harnesses/t3 |
Intégration de la pile T3 (Next.js + tRPC + Prisma) |
| nginx -compatible | harnesses/nginx-compat |
Corpus de test d'importation nginx.conf |
| navigateur | harnesses/browser |
Tests de bout en bout du navigateur sans tête |
| compagnon | harnesses/companion |
Tests de fumée pour l'application compagnon de bureau |
| exemples ssr | harnesses/ssr-examples |
Scénarios SSR de référence pour la documentation |
Caisses binaires#
| Caisse | Chemin | Description |
|---|---|---|
| bext -serveur | crates/bext-server |
Binaire du serveur principal |
| bext-keygen | crates/bext-keygen |
Outil de génération de clé de licence (interne) |
| bext - nginx -cale | crates/bext-nginx-shim |
Remplacement binaire nginx instantané |
Combinaisons d'indicateurs de fonctionnalités#
# Community (free) — minimal build, ~45s cold compile
cargo build --release -p bext-server --no-default-features
# Default — V8 + Turbopack + route-css + react-compiler
cargo build --release -p bext-server
# Pro — security + performance features
cargo build --release -p bext-server \
--features "waf,h3-quic,redis,otel,plugins,nginx-compat,realtime,websocket-proxy"
# Enterprise — everything
cargo build --release -p bext-server --all-features
# Custom — pick what you need
cargo build --release -p bext-server --features "waf,redis,plugins"
Une construction minimale prend environ 45 secondes sur un MacBook Pro M2. La construction complète de la production avec v8 + turbopack + route-css + react-compiler + nginx-compat + tls + redis + realtime + waf + php + h3-quic prend
~5 minutes à froid et ~30 secondes à chaud. Voir Présentation de l'architecture pour le tableau complet des indicateurs de fonctionnalités.
bext-plugin-api dépend uniquement de serde et serde_json de par sa conception — les caisses invitées WASM peuvent en dépendre sans avoir recours à actix-web, V8 ou bext -core. Conservez les nouveaux types partagés dans bext-plugin-api ou bext-core, jamais dans des caisses de fonctionnalités.
En rapport#
- Présentation de l'architecture — structure de l'espace de travail, graphique de dépendances et matrice d'indicateurs de fonctionnalités
- Transformer le pipeline — comment
bext-core::transforms'intègre dans le chemin de compilation - Piscine de rendu V8 — Topologie
bext-v8et modèle de résilience du pool - Frontend TypeScript (tsc-rs) — les caisses tsc-rs consommées par
bext-core - Extensions — comment les caisses sandbox du plug-in (
bext-plugin-*) sont utilisées - Contribuer — discipline de superposition et comment ajouter une nouvelle caisse