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