On win32 environment npm link has some issues due the lack of file system link. This plugin resolves this issue and restart Vite server after module update for smooth development.
$ npm i -D vite-plugin-linker
There are two projects, one is the module you develop, the other one is the test Vite project. This plugin is running on the test project.
- Detect source code changes in the module.
- Run its build command.
- Copy built files into the test project.
- Clean node module cache in the test project.
- Restart test project Vite server.
Example vite.config.ts
of the test project where vite-plugin-pug
module is under development. Both projects are based on the same working directory.
import { defineConfig } from "vite"
import Pug from "vite-plugin-pug"
import Linker from "vite-plugin-linker"
export default defineConfig({
plugins: [
Pug(),
Linker({
watch: "../vite-plugin-pug/src",
exec: "cd ../vite-plugin-pug && npm run build",
dist: "../vite-plugin-pug/dist",
target: "./node_modules/vite-plugin-pug/dist",
}),
],
})
Name | Description |
---|---|
watch | Directory to watch for source code changes. |
exec | Command to execute after a file change event. |
dist | Build directory, the result of exec . |
target | Directory to copy files from dist . |
One terminal window is enough to run test server and builds.
Restart Vite server method is from vite-plugin-restart (MIT).