{"version":3,"sources":["../src/index.ts","../src/devtools.ts"],"sourcesContent":["import type { Options } from '@vitejs/plugin-react';\nimport react from '@vitejs/plugin-react';\nimport type { Plugin } from 'vite';\nimport { reactDevtoolsPlugin } from './devtools';\n\ntype ReactPresetPlugin = {\n  /** Disabled React devtools in production */\n  removeDevtoolsInProd?: boolean;\n\n  /** Inject `React` into every file to not declare `import React from 'react';` everywhere */\n  injectReact?: boolean;\n\n  /** Pass options as-it-is to @vitejs/plugin-react */\n  reactPluginOptions?: Options;\n};\n\nexport default function reactPlugin({\n  removeDevtoolsInProd = false,\n  injectReact = true,\n  reactPluginOptions: reactRefreshOptions,\n}: ReactPresetPlugin = {}): Plugin[] {\n  return [\n    // @ts-ignore\n    react({ jsxRuntime: injectReact ? 'automatic' : 'classic', ...reactRefreshOptions }),\n    reactDevtoolsPlugin({ removeInProd: removeDevtoolsInProd }),\n  ];\n}\n","import type { Plugin } from 'vite';\n\nexport interface ReactDevtoolsPluginOptions {\n  removeInProd?: boolean;\n}\n\nexport function reactDevtoolsPlugin({\n  removeInProd = false,\n}: ReactDevtoolsPluginOptions = {}): Plugin {\n  const plugin: Plugin = {\n    name: 'react:devtools',\n\n    // Ensure that we resolve before everything else\n    enforce: 'pre',\n\n    // Run only on build\n    apply: 'build',\n\n    transformIndexHtml(code) {\n      if (removeInProd) {\n        return {\n          html: code,\n          tags: [\n            {\n              injectTo: 'body',\n              tag: `script`,\n              children: `if (typeof window.__REACT_DEVTOOLS_GLOBAL_HOOK__ === 'object') { window.__REACT_DEVTOOLS_GLOBAL_HOOK__.inject = function () {};};`,\n            },\n          ],\n        };\n      }\n      return code;\n    },\n  };\n\n  return plugin;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAkB;;;ACKX,6BAA6B;AAAA,EAClC,eAAe;AAAA,IACe,CAAC,GAAW;AAC1C,QAAM,SAAiB;AAAA,IACrB,MAAM;AAAA,IAGN,SAAS;AAAA,IAGT,OAAO;AAAA,IAEP,mBAAmB,MAAM;AACvB,UAAI,cAAc;AAChB,eAAO;AAAA,UACL,MAAM;AAAA,UACN,MAAM;AAAA,YACJ;AAAA,cACE,UAAU;AAAA,cACV,KAAK;AAAA,cACL,UAAU;AAAA,YACZ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;;;ADpBe,qBAAqB;AAAA,EAClC,uBAAuB;AAAA,EACvB,cAAc;AAAA,EACd,oBAAoB;AAAA,IACC,CAAC,GAAa;AACnC,SAAO;AAAA,IAEL,iCAAM,iBAAE,YAAY,cAAc,cAAc,aAAc,oBAAqB;AAAA,IACnF,oBAAoB,EAAE,cAAc,qBAAqB,CAAC;AAAA,EAC5D;AACF;","names":[]}