vite-plugin-browser-sync
Version:
Add BrowserSync in your Vite project
82 lines (81 loc) • 1.8 kB
TypeScript
import { Options } from "browser-sync";
import { Plugin } from "vite";
//#region src/types.d.ts
type BsMode = 'snippet' | 'proxy';
interface PartOptions {
/**
* Activate BrowserSync
* @default false
*/
enable?: boolean;
/**
* BrowserSync options
* @see https://browsersync.io/docs/options
*/
bs?: Options;
}
interface PartOptionsMode {
/**
* proxy (default): Browsersync will wrap your vhost with a proxy URL to view your site.
* snippet: Inject Browsersync inside your html page
*/
mode?: BsMode;
}
interface OptionsBuildWatch extends PartOptions, PartOptionsMode {
/**
* Activate BrowserSync
* @default true
*/
enable?: boolean;
}
interface OptionsDev extends PartOptions, PartOptionsMode {
/**
* Activate BrowserSync
* @default true
*/
enable?: boolean;
}
interface OptionsPreview extends PartOptions {}
interface Options$1 {
dev?: OptionsDev;
buildWatch?: OptionsBuildWatch;
preview?: OptionsPreview;
}
//#endregion
//#region src/index.d.ts
/**
* Vite plugin
*
* @example <caption>Basic Usage</caption>
* ```ts
* // vite.config.js / vite.config.ts
* import VitePluginBrowserSync from 'vite-plugin-browser-sync'
*
* export default {
* plugins: [VitePluginBrowserSync()]
* }
* ```
* @example <caption>With options</caption>
* ```ts
* // vite.config.js / vite.config.ts
* import VitePluginBrowserSync from 'vite-plugin-browser-sync'
*
* export default {
* plugins: [
* VitePluginBrowserSync({
* dev: {
* bs: {
* ui: {
* port: 8080
* },
* notify: false
* }
* }
* })
* ]
* }
* ```
*/
declare function VitePluginBrowserSync(options?: Options$1): Plugin;
//#endregion
export { VitePluginBrowserSync as default };