Hello, fellow Neosians,
after years of discussing, modeling, planning, scheming and finally programming, the PackageFactory is excited and glad to announce the first alpha version of the Component Engine .
It is designed as a type-safe, highly performant alternative to (and possible future replacement of) Fusion that treats presentational components as first-level, or even the only, citizens. Due to the layered package architecture, it supports several entry points:
- core of the AST and type system as well as the specification (in gherkin), framework for any language specific transpiler (packagefactory/component-engine)
- pure PHP transpilation and classes for PHP runtime; zero dependencies packagefactory/php-component-engine)
- Neos; requires Neos 9 and can do everything Neos specific, from inline editing to URI building and caching and can be used alongside Fusion (packagefactory/neos-component-engine)
- Full Neos; Additionally replaces the controller entry point for node rendering and out-of-band rendering fully replacing Fusion (packagefactory/neos-componentview - Packagist)
We didn’t write much documentation yet, but there is an extensive test suite that should already explain most of the behavior in readable format as behat/gherkin features.The alpha state means that
- the packages are stable enough to be experimented with in real-world projects (there is already a whole starship™ with dozens of node types and ~260 components running on it)
- there might be breaking changes before the final release, although we currently don’t plan any yet
- you can still propose ideas that might be considered for the release
The packages can be found on packagist (Packagist) and be installed via composer.
The source code lives at Codeberg (PackageFactory - Codeberg.org), where there is also a development distribution available.
Awesome thanks go to all PackageFactorists @wbehncke @Nezaniel @mficzel @Marc
Happy experimenting and when there are questions, feel free to ask <3
Slack channel: #component-engine