vite-plugin-pac
v1.0.1
Published
A vite plugin to serve PAC (Proxy Auto-Configuration) script
Downloads
282
Maintainers
Readme
vite-plugin-pac 🚀
vite-plugin-pac
is a Vite plugin that serves PAC (Proxy Auto-Configuration) files during development. It provides a zero-configuration setup with sensible defaults, while also allowing customization of the PAC file's path and content.
✨ Features
- 🚀 Serves PAC files during development
- ⚡️ Zero-config setup with sensible defaults
- 🛠 Customizable path and content
- 📦 Lightweight with no dependencies
📥 Installation
Install the plugin with your favorite package manager:
# npm
npm install -D vite-plugin-pac
# yarn
yarn add -D vite-plugin-pac
# pnpm
pnpm add -D vite-plugin-pac
🔧 Usage
Add the plugin to your Vite configuration file:
// vite.config.ts
import { defineConfig } from "vite"
import { vitePluginPAC } from "vite-plugin-pac"
export default defineConfig({
plugins: [
vitePluginPAC({
path: "/proxy.pac", // Optional: Customize the PAC file path
content: `
function FindProxyForURL(url, host) {
// Example: Use a proxy
return "PROXY proxy.example.com:8080";
}
`, // Optional: Customize the PAC file content
}),
],
})
By default, the plugin will:
- 🌐 Serve a PAC file at
/proxy.pac
- 📝 Use default PAC content that directs traffic directly (no proxy).
⚙️ Options
The plugin supports the following options:
| Option | Type | Default Value | Description |
| --------- | -------- | ----------------------------------------- | ------------------------------ |
| path
| string
| /proxy.pac
| The URL path for the PAC file. |
| content
| string
| A default PAC script returning "DIRECT"
| The content of the PAC file. |
📃 Default PAC Content
function FindProxyForURL(url, host) {
// Default proxy configuration
return "DIRECT"
}
🛠 Development
⚡️ Build
To build the project, use:
npm run build
✅ Testing
To run tests, use:
npm test
🧹 Linting
To check for linting issues, use:
npm run lint
🤝 Contributing
Contributions are welcome! Feel free to open issues or submit pull requests on GitHub.
📄 License
This project is licensed under the MIT License. See the LICENSE file for more details.