70 lines
1.9 KiB
TypeScript
Executable File
70 lines
1.9 KiB
TypeScript
Executable File
import { Plugin, UserConfig, ConfigEnv } from 'vite';
|
|
import { Config as FullReloadConfig } from 'vite-plugin-full-reload';
|
|
interface PluginConfig {
|
|
/**
|
|
* The path or paths of the entry points to compile.
|
|
*/
|
|
input: string | string[];
|
|
/**
|
|
* Laravel's public directory.
|
|
*
|
|
* @default 'public'
|
|
*/
|
|
publicDirectory?: string;
|
|
/**
|
|
* The public subdirectory where compiled assets should be written.
|
|
*
|
|
* @default 'build'
|
|
*/
|
|
buildDirectory?: string;
|
|
/**
|
|
* The path to the "hot" file.
|
|
*
|
|
* @default `${publicDirectory}/hot`
|
|
*/
|
|
hotFile?: string;
|
|
/**
|
|
* The path of the SSR entry point.
|
|
*/
|
|
ssr?: string | string[];
|
|
/**
|
|
* The directory where the SSR bundle should be written.
|
|
*
|
|
* @default 'bootstrap/ssr'
|
|
*/
|
|
ssrOutputDirectory?: string;
|
|
/**
|
|
* Configuration for performing full page refresh on blade (or other) file changes.
|
|
*
|
|
* {@link https://github.com/ElMassimo/vite-plugin-full-reload}
|
|
* @default false
|
|
*/
|
|
refresh?: boolean | string | string[] | RefreshConfig | RefreshConfig[];
|
|
/**
|
|
* Utilise the valet TLS certificates.
|
|
*
|
|
* @default false
|
|
*/
|
|
valetTls?: string | boolean;
|
|
/**
|
|
* Transform the code while serving.
|
|
*/
|
|
transformOnServe?: (code: string, url: DevServerUrl) => string;
|
|
}
|
|
interface RefreshConfig {
|
|
paths: string[];
|
|
config?: FullReloadConfig;
|
|
}
|
|
interface LaravelPlugin extends Plugin {
|
|
config: (config: UserConfig, env: ConfigEnv) => UserConfig;
|
|
}
|
|
type DevServerUrl = `${'http' | 'https'}://${string}:${number}`;
|
|
export declare const refreshPaths: string[];
|
|
/**
|
|
* Laravel plugin for Vite.
|
|
*
|
|
* @param config - A config object or relative path(s) of the scripts to be compiled.
|
|
*/
|
|
export default function laravel(config: string | string[] | PluginConfig): [LaravelPlugin, ...Plugin[]];
|
|
export {};
|