@@ -4,7 +4,7 @@ import os from 'os'
44import { fileURLToPath } from 'url'
55import path from 'path'
66import colors from 'picocolors'
7- import { Plugin , loadEnv , UserConfig , ConfigEnv , ResolvedConfig , SSROptions , PluginOption , Rollup } from 'vite'
7+ import { Plugin , loadEnv , UserConfig , ConfigEnv , ResolvedConfig , SSROptions , PluginOption , Rollup , createLogger } from 'vite'
88import fullReload , { Config as FullReloadConfig } from 'vite-plugin-full-reload'
99
1010interface PluginConfig {
@@ -97,6 +97,10 @@ export const refreshPaths = [
9797 'routes/**' ,
9898] . filter ( path => fs . existsSync ( path . replace ( / \* \* $ / , '' ) ) )
9999
100+ const logger = createLogger ( 'info' , {
101+ prefix : '[laravel-vite-plugin]'
102+ } )
103+
100104/**
101105 * Laravel plugin for Vite.
102106 *
@@ -212,6 +216,16 @@ function resolveLaravelPlugin(pluginConfig: Required<PluginConfig>): LaravelPlug
212216 if ( isAddressInfo ( address ) ) {
213217 viteDevServerUrl = userConfig . server ?. origin ? userConfig . server . origin as DevServerUrl : resolveDevServerUrl ( address , server . config , userConfig )
214218
219+ const hotFileParentDirectory = path . dirname ( pluginConfig . hotFile ) ;
220+
221+ if ( ! fs . existsSync ( hotFileParentDirectory ) ) {
222+ fs . mkdirSync ( hotFileParentDirectory , { recursive : true } )
223+
224+ setTimeout ( ( ) => {
225+ logger . info ( `Hot file directory created ${ colors . dim ( fs . realpathSync ( hotFileParentDirectory ) ) } ` , { clear : true , timestamp : true } )
226+ } , 200 )
227+ }
228+
215229 fs . writeFileSync ( pluginConfig . hotFile , `${ viteDevServerUrl } ${ server . config . base . replace ( / \/ $ / , '' ) } ` )
216230
217231 setTimeout ( ( ) => {
0 commit comments