mimmi20/laminasviewrenderer-vite-url

Provides a Viewhelper to render urls for resources build with Vite

3.0.1 2025-08-02 07:41 UTC

README

Latest Stable Version Latest Unstable Version License

Code Status

codecov Average time to resolve an issue Percentage of issues still open Mutation testing badge

Introduction

This component provides a view helper to render urls for resources build with Vite

Requirements

This library requires PHP 8.3+.

Installation

Run

composer require mimmi20/laminasviewrenderer-vite-url

Prepare Vite

In your Vite config, you need to activate the manifest.

  publicDir: 'public',
  base: '/dist/',
  build: {
    // ...
    outDir: 'public/dist', // relative to the `root` folder
    manifest: true,
    // ...
    
    rollupOptions: {
      input: [
        path.resolve(__dirname, 'public/css/styles.css'),
        path.resolve(__dirname, 'public/scss/styles.scss'),
      ]
    }
  }

The required manifest file and the resorce files are created when running Vite's build command.

npx vite build

Config

This viewhelper needs a config to know where the public and the build directories are. The directories have to match the directories configured for Vite.

<?php
return [
    // ...
    'vite-url' => [
        'public-dir' => 'public', // <-- relative to the project root
        'build-dir' => 'dist',    // <-- relative to the public directory
    ],
    // ...
];

Usage

Now you may add a file build with Vite. It is nessesary to use the exact path, you use in the Vite config. Otherwise the file can not be found in the manifest.

    $this->headLink()->appendStylesheet($this->viteUrl()->file('public/css/styles.css'), 'screen', ['rel' => 'stylesheet']);
    $this->headLink()->appendStylesheet($this->viteUrl()->file('public/scss/styles.scss'), 'screen', ['rel' => 'stylesheet']);

License

This package is licensed using the MIT License.

Please have a look at LICENSE.md.