innocenzi / vite-plugin-run

Run commands when Vite starts or a file changes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Runner plugin for Vite

version

A plugin for running commands when files change or when Vite starts.

npm i -D vite-plugin-run

 

Usage

Install vite-plugin-run and add it to your Vite configuration:

import { run } from 'vite-plugin-run'

export default defineConfig({
  plugins: [
    laravel(),
      vue(),
      run([
        {
          name: 'typescript transform',
          run: ['php', 'artisan', 'typescript:transform'],
          pattern: ['app/**/*Data.php', 'app/**/Enums/**/*.php'],
        },
        {
          name: 'build routes',
          run: ['php', 'artisan', 'routes:generate'],
          condition: (file) => file.includes('/routes/'),
        }
      ]),
  ],
})

You can either use a pattern or a condition to specify how the files changes should be detected.

When a file in your project changes, its path will be given as an argument to condition. If the function returns true, a shell command described by run will be executed.

 

Plugin options

Option Type Description Default
silent bool Whether to hide the commands output in the console true
skipDts bool Whether to skip HMR reloads when a .d.ts file changes true
input Runner[] List of runners []

Optionally, you can directly pass a runner or a list of runner to the plugin options.

 

Runner options

Option Type Description Default
startup bool Whether the command should run when Vite starts true
build bool Whether the command should run when Vite builds true
name string An identifier for the runner, used in logs
condition () => boolean A function that should return true for a file change to execute the runner
pattern string or string[] A minimatch pattern which files must match
run () => string[] or string[] A command executed when a file changed and the condition matches
onFileChanged () =>void A callback executed when a file changed and the condition matches
delay number Delay before the command is executed 50
throttle number Delay before the command can be re-executed 50



·

Built with ❤︎ by Enzo Innocenzi

About

Run commands when Vite starts or a file changes


Languages

Language:TypeScript 100.0%