praetorius / vite-asset-collector
Use AssetCollector to embed frontend assets generated by vite
Package info
github.com/s2b/vite-asset-collector
Type:typo3-cms-extension
pkg:composer/praetorius/vite-asset-collector
Requires
- php: >=8.2
- symfony/console: ^7.0
- typo3/cms-core: ^14.3 || ^13.4 || dev-main
- typo3/cms-fluid: ^14.3 || ^13.4 || dev-main
Requires (Dev)
- editorconfig-checker/editorconfig-checker: ^10.6
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^11
- saschaegerer/phpstan-typo3: ^1.10
- typo3/coding-standards: ^0.8
- typo3/testing-framework: ^8.0 || ^9.0 || dev-main
Suggests
- t3docs/fluid-documentation-generator: To update ViewHelper documentation with doc:viewhelpers
Provides
None
Conflicts
None
Replaces
None
- dev-main
- 1.x-dev
- 1.18.4
- 1.18.3
- 1.18.2
- 1.18.1
- 1.18.0
- 1.17.0
- 1.16.1
- 1.16.0
- 1.15.2
- 1.15.1
- 1.15.0
- 1.14.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- dev-bugfix/exceptionText
- dev-develop
- dev-feature/devServerEnv
- dev-task/pkgPaths
- dev-task/phpstanPhpunit
- dev-task/assetUriTest14
- dev-task/v14
- dev-Gregor-Agnes/main
- dev-s2b-patch-1
- dev-task/devServerPath
This package is auto-updated.
Last update: 2026-11-08 20:30:52 UTC
README
Vite AssetCollector allows you to use the modern frontend bundler Vite to build your TYPO3 project's frontend assets.
Documentation
Documentation on docs.typo3.org
tl;dr
composer req praetorius/vite-asset-collector npm install --save-dev vite vite-plugin-typo3
- Include PlugIn in vite config
- Add
Configuration/ViteEntrypoints.jsonto extension(s) - Add
<vite:asset entry="..." />to template - Run vite dev server
- Have fun!
Discussion & Support
You can join #vite on TYPO3 Slack to discuss anything about vite and TYPO3.
Feel free to contact me directly if you are interested in a (paid) workshop to introduce vite to your TYPO3 projects.
Development
Setup
composer install
Switching TYPO3 version
The extension supports multiple TYPO3 versions. To install the dependencies for a specific version locally (e. g. to run the tests or PHPStan against it), use the same command as CI:
composer update \
--with typo3/cms-core:^13.4 \
--with typo3/cms-fluid:^13.4 \
--with typo3/cms-extbase:^13.4 \
--with typo3/cms-backend:^13.4 \
--with typo3/cms-frontend:^13.4
Tests
composer test
composer test:unit
composer test:functional
Functional tests use SQLite, no database server needed.
Code quality
composer lint composer fix composer phpstan -- -c Build/CodeQuality/phpstan14.neon
Use the PHPStan configuration that matches the installed TYPO3 version.
Documentation
The documentation in Documentation/ is rendered with Docker:
docker run --rm -v $(pwd):/project ghcr.io/typo3-documentation/render-guides:latest --config=Documentation
The output is written to Documentation-GENERATED-temp/. CI fails on any rendering warning.
After changing ViewHelper arguments or docblocks, regenerate the ViewHelper reference:
composer doc:viewhelpers
Release workflow
Releases are published to GitHub and TER by GitHub Actions. Packagist picks up new tags automatically.
- Update the version in
composer.jsonandext_emconf.php, then commit and push the change:composer set-version 2.1.0
For pre-releases (e. g.2.1.0-rc1), set the version in both files manually. - Run the prepare release
workflow on
main, entering the version (and checking "Pre-release" if applicable). It verifies the versions in both files and creates a draft release with generated release notes. - Edit the release notes of the draft and publish it. This creates the tag. The publish workflow then uploads the release to TER (except pre-releases), using the release notes as upload comment, and attaches the TER ZIP file to the GitHub release.
Publishing to TER requires the repository secret TYPO3_API_TOKEN
(created at extensions.typo3.org with the scopes extension:read,extension:write).
If the upload fails, re-run the failed jobs in the Actions tab instead of publishing the release again.