@decodelabs/vite-plugin-zest
v0.3.2
Published
Vite plugin for DecodeLabs Zest PHP integration
Downloads
30
Readme
Zest Vite Plugin
Usage
This plugin creates PHP config and manifest files that the main Zest library can consume. Ensure this plugin is installed in your Zest/Vite project to enable front end integration works as expected.
npm install -D @decodelabs/vite-plugin-zestApply the plugin using the usual Vite plugin configuration - use the buildOnExit option to trigger a Zest build when Vite dev server exits.
import zest from '@decodelabs/vite-plugin-zest'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
zest({
buildOnExit: true
})
],
})Merge to public dir
If you are using Zest in a standard server environment project which uses the contents of the git repository as the source of truth without a build step, you can merge the Zest build output into the public directory.
import zest from '@decodelabs/vite-plugin-zest'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
zest({
mergeToPublicDir: true
})
],
})This will alter your config to allow Zest to build directly into a subdirectoy of the public directory based on your outDir setting. Under normal circumstances Vite will either break URLs to processed assets or public assets depending on whether your base is absolute or relative - the plugin updates URLs as necessary to ensure they remain valid.
It will also inject your relative assets dir base into the modulepreload block in exported js files to ensure dynamic imports resolve correctly.
Public file cache buster
Vite does not currently add hashes to URLs pointing to public assets in generated chunks. This can cause issues with stale assets being served from the browser cache. To work around this, you can enable the publicCacheBuster option, which will append a query parameter to URLs pointing to public assets within CSS files.
import zest from '@decodelabs/vite-plugin-zest'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [
zest({
publicCacheBuster: true
})
],
})Licensing
Zest is licensed under the MIT License. See LICENSE for the full license text.
