nystudio107 / craft-plugin-vite

Plugin Vite is the conduit between Craft CMS plugins and Vite, with manifest.json & HMR support
MIT License
12 stars 11 forks source link

fix: replace strpos with strrpos since file names could be kebap case #28

Closed DerFloe closed 2 months ago

DerFloe commented 2 months ago

Description

It seems to have been forgotten that vite uses base64 naming for the bundle prefix by default, which includes special characters such as - : https://rollupjs.org/configuration-options/#output-hashcharacters

This could lead to issues and should be addressed in the plugin's documentation, since otherwise the function does not extract the hash as intended.

In addition to that strpos might not be a proper function for determining the hash itself since the initial filename could be written in kebap case and strpos returns the first occurrence of a given character. Therefore my suggestion would be to take strrpos instead, as well as for determining the initial hashPos.

All in all it might even be better to give the developer the opportunity to define a custom hash prefix by for example an environment variable, since vite also allows custom naming of the output files using rollup. https://rollupjs.org/configuration-options/

Kind regards

Related issues

khalwat commented 2 months ago

Looks good, thanks