@magicmock/unplugin
v0.7.0
Published
Universal plugin for Magic Mock - works with Vite, Webpack, Rollup, and esbuild
Maintainers
Readme
@magicmock/unplugin
Universal bundler plugin for Magic Mock
Works with Vite, Webpack, Rollup, and esbuild.
Installation
pnpm add -D @magicmock/unpluginUsage
Vite
// vite.config.ts
import { defineConfig } from 'vite'
import MagicMock from '@magicmock/unplugin/vite'
export default defineConfig({
plugins: [MagicMock()],
})Webpack
// webpack.config.js
const MagicMock = require('@magicmock/unplugin/webpack')
module.exports = {
plugins: [MagicMock()],
}Rollup
// rollup.config.js
import MagicMock from '@magicmock/unplugin/rollup'
export default {
plugins: [MagicMock()],
}esbuild
// esbuild.config.js
import MagicMock from '@magicmock/unplugin/esbuild'
require('esbuild').build({
plugins: [MagicMock()],
})Options
interface MagicMockOptions {
/**
* Cache directory path
* @default '.request-cache'
*/
cacheDir?: string
/**
* Enable/disable the plugin
* @default true
*/
enabled?: boolean
}How It Works
- Injects client script into your HTML
- Sets up dev server endpoints for caching (
/api/__record,/api/__get-cache) - Intercepts fetch and XMLHttpRequest calls for recording and mocking
- Provides UI controls for toggling record/mock modes
- Supports GET, POST, PUT, DELETE methods with request body recording
License
MIT © Charley
