Skip to content

Commit 6774e33

Browse files
adrumtimacdonald
andauthored
Automatically create hotFile parent directory (#334)
* automatically create hotFile parent directory * Formatting * Add logging * Use dedicated prefixed logger --------- Co-authored-by: Tim MacDonald <[email protected]>
1 parent 1ffbf14 commit 6774e33

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/index.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import os from 'os'
44
import { fileURLToPath } from 'url'
55
import path from 'path'
66
import 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'
88
import fullReload, { Config as FullReloadConfig } from 'vite-plugin-full-reload'
99

1010
interface 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

Comments
 (0)