Asset management for SymPress WordPress packages, plugins, and themes.
The package registers classic scripts, script modules, and styles through a Composer library. It can run standalone in WordPress or through the optional Symfony kernel integration.
composer require sympress/assets- Scripts, script modules, and styles with one shared asset API
- Webpack manifest, Encore, array, and PHP file loaders
- Automatic versions from file paths or dependency extraction files
- Native script loading strategies:
defer,async,blocking - Style preload for non-critical CSS
- Resource hints for
preload,preconnect, anddns-prefetch - Protection from cache, minify, combine, defer, and delay optimizations
- Optional Symfony kernel integration with asset providers
<?php
use SymPress\Assets\AssetManager;
use SymPress\Assets\Script;
use SymPress\Assets\Style;
add_action(
AssetManager::ACTION_SETUP,
static function (AssetManager $assets): void {
$assets->register(
new Script('site', plugin_dir_url(__FILE__) . 'assets/site.js'),
new Style('site', plugin_dir_url(__FILE__) . 'assets/site.css'),
);
}
);Classic scripts use WordPress' native defer strategy by default. Styles remain
blocking unless Style::preload() is enabled for non-critical CSS.
When the Symfony kernel is not used, load inc/bootstrap.php once after the
Composer autoloader.
This package is licensed under GPL-2.0-or-later.
It contains code derived from inpsyde/assets. See NOTICE.md for
details.