{"id":22743,"library":"vite-plugin-mock-replace","title":"vite-plugin-mock-replace","description":"Vite plugin (0.0.3, early development) that replaces source files with mock implementations during testing (vitest, Storybook). Supports extension-based (my-file.ts → my-file.mock.ts) and directory-based (__mocks__/my-file.ts) overrides. Requires vite >=5.0.0 and vitest >=1.0.0 as peer dependencies. Lightweight alternative to manual module mocking with zero-config auto-resolution.","status":"active","version":"0.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/jarlef/vite-plugin-mock-replace","tags":["javascript","vite","vitest","testing","mock","replace","typescript"],"install":[{"cmd":"npm install vite-plugin-mock-replace","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-mock-replace","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-mock-replace","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency: plugin runs inside Vite's build/dev pipeline","package":"vite","optional":false},{"reason":"peer dependency: plugin is designed for testing with vitest","package":"vitest","optional":false}],"imports":[{"note":"ESM-only package; CJS require will fail at runtime.","wrong":"const mockReplace = require('vite-plugin-mock-replace')","symbol":"default","correct":"import mockReplace from 'vite-plugin-mock-replace'"},{"note":"Package exports default only – named import not available.","wrong":"import { mockReplace } from 'vite-plugin-mock-replace'","symbol":"mockReplace","correct":"import mockReplace from 'vite-plugin-mock-replace'"},{"note":"Types are included but no named type export from this package; use Vite's Plugin type.","wrong":"import { Plugin } from 'vite-plugin-mock-replace'","symbol":"Plugin type","correct":"import type { Plugin } from 'vite'"}],"quickstart":{"code":"// vitest.config.ts\nimport { defineConfig } from 'vitest/config';\nimport react from '@vitejs/plugin-react';\nimport mockReplace from 'vite-plugin-mock-replace';\n\nexport default defineConfig({\n  plugins: [\n    react(),\n    mockReplace(), // auto-replaces files with .mock.ts or __mocks__/\n  ],\n  test: {\n    globals: true,\n    environment: 'node',\n  },\n});","lang":"typescript","description":"Minimal vitest configuration enabling mock file replacement for testing."},"warnings":[{"fix":"Upgrade Vite to >=5.0.0 and Vitest to >=1.0.0.","message":"Requires Vite >=5.0.0 and Vitest >=1.0.0; older versions will fail to load the plugin.","severity":"breaking","affected_versions":"<0.0.3"},{"fix":"Ensure mock files are adjacent to source with .mock suffix or inside __mocks__ folder.","message":"Plugin modifies Vite's resolve logic; mock files must follow naming convention exactly (e.g., .mock.ts, not .spec.ts).","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Use only with vitest or Vite-based environments (Storybook).","message":"Only works during build/serve with Vite; not for Jest or other test runners.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"npm install -D vite-plugin-mock-replace","cause":"Package was not installed (dev dependency missing).","error":"Cannot find module 'vite-plugin-mock-replace'"},{"fix":"Update Vite: npm install vite@latest","cause":"Using an older Vite version (<5.0.0).","error":"Error: The plugin 'vite-plugin-mock-replace' requires Vite >=5.0.0"},{"fix":"Change to: import mockReplace from 'vite-plugin-mock-replace'","cause":"Incorrect import: using named import instead of default.","error":"TypeError: mockReplace is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}