0.6.0 • Published 9 months ago
vite-plugin-run v0.6.0
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 |