idleberg / wordpress-vite-assets
Injects assets from a Vite manifest to the Wordpress head, supports themes and plugins
Fund package maintenance!
Buy Me A Coffee
Installs: 12 845
Dependents: 0
Suggesters: 0
Security: 0
Stars: 142
Watchers: 4
Forks: 14
Open Issues: 0
Requires
- php: >=8.1
- idleberg/vite-manifest: ^1.2.1
Requires (Dev)
- brainmaestro/composer-git-hooks: ^3.0.0
- codeception/codeception: ^5.0.4
- codeception/module-asserts: ^3.0.0
- friendsofphp/php-cs-fixer: ^3.11
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.9
- shipmonk/composer-dependency-analyser: ^1.6
- szepeviktor/phpstan-wordpress: ^1.1
This package is auto-updated.
Last update: 2025-05-04 22:37:11 UTC
README
Adds assets from a Vite manifest to the WordPress head, supports themes and plugins.
Table of contents
Installation
composer require idleberg/wordpress-vite-assets
Usage
To get you going, first instantiate the class exposed by this library
new Assets(string $manifestPath, string $baseUri, string $algorithm = "sha256");
Parameters
$manifestPath
Type: string
Specifies the path to the manifest.
$baseUri
Type: string
Specifies the base URI for the assets in the manifest.
$algorithm
Type: "sha256"
|"sha384"
|"sha512"
| ":manifest:"
Default: "sha256"
Specifies the algorithm used for hashing the assets. This will be used for subsource integrity when printing script or style tags.
Tip
You can use ":manifest:"
in conjunction with vite-plugin-manifest-sri, a plug-in that calculates the hashes at build-time and adds them to the manifest.
Example
// functions.php use Idleberg\WordPress\ViteAssets\Assets; $baseUrl = get_stylesheet_directory_uri(); $manifest = "path/to/manifest.json"; $entryPoint = "index.ts"; $viteAssets = new Assets($manifest, $baseUrl); $viteAssets->inject($entryPoint);
Methods
inject()
Usage: inject(array|string $entrypoints, array $options = [])
Injects tags for entries specified in the manifest to the page header
- script entrypoint
- preloads for imported scripts
- style tags
getScriptTag()
Usage: getScriptTag(string $entrypoint, array $options = [])
Returns the script tag for an entry in the manifest
getStyleTags()
Usage: getStyleTags(string $entrypoint, array $options = [])
Returns the style tags for an entry in the manifest
getPreloadTags()
Usage: getPreloadTags(string $entrypoint)
Returns the preload tags for an entry in the manifest
Options
option.action
Type: null | string
Allows overriding the default action for the inject()
method.
Warning
It's unlikely that you want to change the default action, so don't override unless you know what you're doing!
Example
// plugin.php $viteAssets->inject("index.ts", [ "action" => "admin_head" ]);
option.crossorigin
Type: boolean | "anonymous" | "use-credentials"
Toggles crossorigin
attribute on script and style tags, or assigns a value
option.integrity
Type: boolean
Toggles integrity
attribute on script and style tags
option.priority
Type: int | array
Allows overriding the priority for the inject()
method. It allows granular control when provided as an array:
Example
// functions.php $viteAssets->inject("index.ts", [ "priority" => [ "scripts" => 10, "preloads" => 0, "styles" => 20 ] ]);
License
This work is licensed under The MIT License.