Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/subztep/vite-plugin-linker
Build and update a WIP module into the current running project.
https://github.com/subztep/vite-plugin-linker
npm-link vite-plugin
Last synced: 6 days ago
JSON representation
Build and update a WIP module into the current running project.
- Host: GitHub
- URL: https://github.com/subztep/vite-plugin-linker
- Owner: SubZtep
- License: unlicense
- Created: 2021-03-28T16:56:19.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-03-29T22:50:28.000Z (over 3 years ago)
- Last Synced: 2024-04-15T01:13:43.768Z (7 months ago)
- Topics: npm-link, vite-plugin
- Language: TypeScript
- Homepage:
- Size: 87.9 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vite-plugin-linker
On **win32** environment [**npm link**](https://docs.npmjs.com/cli/v7/commands/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.
## Install
```sh
$ npm i -D vite-plugin-linker
```## Workflow
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.
1. Detect source code changes in the module.
2. Run its build command.
3. Copy built files into the test project.
4. Clean node module cache in the test project.
5. Restart test project _Vite_ server.## Configuration
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.
```js
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",
}),
],
})
```## Options
| 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`. |## FAQ
### Why does this plugin run the build command?
One terminal window is enough to run test server and builds.
## License
[Unlicense](LICENSE)
> Restart _Vite_ server method is from [vite-plugin-restart](https://github.com/antfu/vite-plugin-restart) (MIT).