ernilambar / vitbolt
Vite integration for WordPress plugins
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/ernilambar/vitbolt
Requires
- php: >=7.4
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1
- phpunit/phpunit: ^9.0 || ^10.0
- wp-coding-standards/wpcs: ^3.3
This package is auto-updated.
Last update: 2026-02-25 04:55:17 UTC
README
Vite integration for WordPress plugins. Use the manifest (hashed build) or static (fixed filenames) approach.
Install
composer require ernilambar/vitbolt
Load
In your plugin bootstrap (e.g. before wp_enqueue_scripts):
require_once __DIR__ . '/vendor/ernilambar/vitbolt/init.php';
Usage
use Nilambar\Vitbolt\ViteHelper; $vite = new ViteHelper( 'my-plugin', plugins_url( '', __FILE__ ), plugin_dir_path( __FILE__ ), [ 'dev_server_url' => 'http://localhost:5173', 'build_dir' => 'build', 'output_pattern' => 'manifest', // or 'static' ] ); $vite->register_entry( 'my-plugin-admin', 'src/admin.js', [], true ); add_action( 'admin_enqueue_scripts', fn() => $vite->enqueue_entry( 'my-plugin-admin' ) );
- manifest: Production assets are read from
build/manifest.json(Vite default). - static: Production assets are loaded from
build/assets/{key}.jsandbuild/assets/{key}.css. Pass an optional 5th argument (static key) so dev uses the entry path (e.g.src/admin.js) and prod uses the short key (e.g.admin):
// Static mode with short keys (matches common Vite input keys). $vite->register_entry( 'my-plugin-admin', 'src/admin.js', [], true, 'admin' ); $vite->register_entry( 'my-plugin-front', 'src/front.js', [], true, 'front' );
Vite config for static with short keys:
import { defineConfig } from 'vite'; import { resolve } from 'path'; export default defineConfig({ build: { outDir: 'build', rollupOptions: { input: { admin: resolve(__dirname, 'src/admin.js'), front: resolve(__dirname, 'src/front.js'), }, output: { entryFileNames: 'assets/[name].js', chunkFileNames: 'assets/[name].js', assetFileNames: 'assets/[name].[ext]', }, }, }, });
Scripts
composer lint— PHPCScomposer format— PHPCS auto-fixcomposer test— PHPUnit
License
MIT