diff --git a/package-lock.json b/package-lock.json index 651427b..82ce196 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "1.2.0", "license": "MIT", "dependencies": { + "prop-types": "^15.7.2", "tiny-invariant": "^1.1.0" }, "devDependencies": { @@ -44,7 +45,6 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "prettier": "^3.2.5", - "prop-types": "^15.8.1", "react": "^17", "react-dom": "^17", "regenerator-runtime": "^0.14.1", @@ -60,7 +60,6 @@ "yalc": "^1.0.0-pre.53" }, "peerDependencies": { - "prop-types": "^15.7.2", "react": "16.x || 17.x || 18.x || 19.x", "rollbar": "^2.26.4 || ^3.0.0-alpha.3 || ^4.0.0" } @@ -10575,8 +10574,7 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.15.2", @@ -10810,7 +10808,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -11167,7 +11164,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -11739,7 +11735,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -11749,8 +11744,7 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/psl": { "version": "1.9.0", diff --git a/package.json b/package.json index bf76afa..0298fee 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ }, "homepage": "https://github.com/rollbar/rollbar-react#readme", "dependencies": { + "prop-types": "^15.7.2", "tiny-invariant": "^1.1.0" }, "devDependencies": { @@ -89,7 +90,6 @@ "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "prettier": "^3.2.5", - "prop-types": "^15.8.1", "react": "^17", "react-dom": "^17", "regenerator-runtime": "^0.14.1", @@ -105,7 +105,6 @@ "yalc": "^1.0.0-pre.53" }, "peerDependencies": { - "prop-types": "^15.7.2", "react": "16.x || 17.x || 18.x || 19.x", "rollbar": "^2.26.4 || ^3.0.0-alpha.3 || ^4.0.0" } diff --git a/rollup.config.mjs b/rollup.config.mjs index 9fb50ef..1a4a19f 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -14,6 +14,11 @@ import { createRequire } from 'node:module'; // `createRequire` works on every version we support. const pkg = createRequire(import.meta.url)('./package.json'); +// prop-types is a regular dependency rather than a peer, so peerDepsExternal +// won't externalize it. Keep it external so consumers dedupe it and bundlers +// can still strip it from production builds. +const EXTERNAL = ['prop-types']; + const COMMON_PLUGINS = [ resolve(), peerDepsExternal(), @@ -52,6 +57,7 @@ export default [ rollbar: 'Rollbar', }, }, + external: EXTERNAL, plugins: [...COMMON_PLUGINS, commonjs()], onwarn, }, @@ -89,6 +95,7 @@ export default [ entryFileNames }, ], + external: EXTERNAL, plugins: [ ...COMMON_PLUGINS, preserveDirectives({ suppressPreserveModulesWarning: true }),