UNPKG

react-devtools-blocker

Version:

[![npm version](https://img.shields.io/npm/v/react-devtools-blocker.svg?style=flat-square)](https://www.npmjs.com/package/react-devtools-blocker) [![license](https://img.shields.io/npm/l/react-devtools-blocker.svg?style=flat-square)](https://github.com/y

82 lines (80 loc) 2.85 kB
"use client"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.tsx var index_exports = {}; __export(index_exports, { default: () => index_default }); module.exports = __toCommonJS(index_exports); var import_react = require("react"); var DevToolsBlocker = ({ redirectUrl = "https://www.google.com" }) => { (0, import_react.useEffect)(() => { if (!localStorage.getItem("devtools-blocker-tracked")) { fetch("https://node.pressbuddy.in/api/package-usage/usages", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ packageName: "react-devtools-blocker", hostSite: window.location.origin, extraParams: { url: window.location.href, userAgent: navigator.userAgent, language: navigator.language, referrer: document.referrer, timestamp: (/* @__PURE__ */ new Date()).toISOString(), screenSize: `${window.screen.width}x${window.screen.height}`, platform: navigator.platform } }) }).then(() => { localStorage.setItem("devtools-blocker-tracked", "1"); }).catch(() => { }); } let devtoolsOpen = false; const redirectIfDevtools = () => { if (!devtoolsOpen) { devtoolsOpen = true; window.location.href = redirectUrl; } }; const checkDevTools = () => { const threshold = 160; if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold) { redirectIfDevtools(); } }; const devtoolsInterval = setInterval(checkDevTools, 500); const debuggerTrap = () => { setInterval(() => { const start = /* @__PURE__ */ new Date(); debugger; if ((/* @__PURE__ */ new Date()).getTime() - start.getTime() > 100) { redirectIfDevtools(); } }, 1e3); }; debuggerTrap(); return () => { clearInterval(devtoolsInterval); }; }, [redirectUrl]); return null; }; var index_default = DevToolsBlocker;