barefootjs / twig
Twig rendering backend for the BarefootJS PHP runtime (barefootjs/php) -- TwigBackend implements the engine backend contract on an autoescaping Twig\Environment, ported from packages/adapter-perl/lib/BarefootJS/Backend/*.pm (see also the packages/adapter-jinja/python port's JinjaBackend).
Requires
- php: >=8.2
- barefootjs/php: 0.37.1
- twig/twig: ^3.10
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main
- v0.37.1
- v0.37.0
- v0.36.0
- v0.35.8
- v0.35.7
- v0.35.6
- v0.35.5
- v0.35.4
- v0.35.3
- v0.35.2
- v0.35.1
- v0.35.0
- v0.34.0
- v0.33.6
- v0.33.4
- v0.33.3
- v0.33.2
- v0.33.1
- v0.33.0
- v0.32.0
- v0.31.10
- v0.31.9
- v0.31.8
- v0.31.7
- v0.31.6
- v0.31.5
- v0.31.4
- v0.31.3
- v0.31.2
- v0.31.1
- v0.31.0
- v0.30.6
- v0.30.5
- v0.30.4
- v0.30.2
- v0.30.0
- v0.29.0
- v0.28.1
- v0.28.0
- v0.27.0
- v0.26.4
- v0.26.3
- v0.26.2
- v0.26.1
- v0.26.0
- v0.25.0
- v0.24.1
- v0.23.0
- v0.21.4
- v0.21.3
- v0.21.2
- v0.21.0
- v0.20.0
- v0.19.1
- v0.19.0
- v0.18.7
- v0.18.5
- v0.18.4
- v0.18.3
- v0.18.2
- v0.18.1
This package is auto-updated.
Last update: 2026-09-17 05:09:51 UTC
README
Twig rendering backend (Barefoot\TwigBackend) for the BarefootJS PHP
runtime.
This package targets twig/twig and pairs with the @barefootjs/twig
compile-time adapter, which emits .twig templates that call the runtime as
a bf object ({{ bf.scope_attr() }}, {{ bf.json(x) }},
{{ bf.spread_attrs(bag) }}).
The engine-agnostic runtime itself (Barefoot\BarefootJS, Evaluator,
SearchParams, Json) lives in a separate package,
packages/adapter-php (barefootjs/php on
Composer) -- see that package's README for the backend contract every PHP
engine adapter (Twig, Blade, ...) implements.
This package is maintained in the BarefootJS monorepo and is mirrored to a Packagist-facing repository only for Composer distribution.
- Source of truth: https://github.com/piconic-ai/barefootjs/tree/main/packages/adapter-twig/php
- Monorepo: https://github.com/piconic-ai/barefootjs
- npm adapter:
@barefootjs/twig - Runtime dependency:
barefootjs/php(packages/adapter-php)
Do not send implementation pull requests to the Packagist mirror. Send changes to the monorepo path above; the release workflow splits this directory and pushes the mirror automatically.
Tests
php tests/test_render.php
A live end-to-end Twig render (scope markers, hydration attrs, text slots,
autoescaping, spread_attrs, reserved-word mangling). Needs twig/twig
installed (composer install); skips gracefully with a notice (not a
failure) when vendor/autoload.php is absent. The engine-agnostic runtime's
own test suite (golden helper vectors, evaluator vectors, spread_attrs,
omit, render_child, ...) lives in
packages/adapter-php/tests — run with
php packages/adapter-php/tests/run.php.