{"_id":"@metamask/messenger","_rev":"4660040","name":"@metamask/messenger","description":"A type-safe message bus library","dist-tags":{"latest":"1.1.1"},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"time":{"modified":"2026-04-10T21:53:47.000Z","created":"2025-08-21T13:46:13.098Z","1.1.1":"2026-04-03T12:13:53.598Z","1.1.0":"2026-04-01T20:34:37.185Z","1.0.0":"2026-03-26T19:21:04.125Z","0.3.0":"2025-09-16T20:34:44.478Z","0.2.0":"2025-09-04T15:05:57.679Z","0.1.0":"2025-08-21T13:46:13.098Z"},"users":{},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"versions":{"1.1.1":{"name":"@metamask/messenger","version":"1.1.1","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","bin":{"messenger-generate-action-types":"./dist/generate-action-types/cli.mjs"},"scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:all":"ts-bridge --project tsconfig.build.json --verbose --clean","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"dependencies":{"@metamask/utils":"^11.9.0","yargs":"^17.7.2"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@ts-bridge/cli":"^0.6.4","@types/jest":"^29.5.14","@types/yargs":"^17.0.32","deepmerge":"^4.2.2","eslint":"^9.39.1","execa":"^5.0.0","immer":"^9.0.6","jest":"^29.7.0","ts-jest":"^29.2.5","typedoc":"^0.25.13","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.3.3"},"peerDependencies":{"typescript":">=5.0.0"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@1.1.1","gitHead":"45f1e510754b135adb65efee32d477bb3dce2273","dist":{"shasum":"e7b03bebaba9d39351a739ce3846596809411e2f","size":55535,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-1.1.1.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_1.1.1_1775218433436_0.46698087278375966"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-03T12:13:53.598Z","publish_time":1775218433598,"_source_registry_name":"default","_cnpm_publish_time":1775218433598},"1.1.0":{"name":"@metamask/messenger","version":"1.1.0","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","bin":{"messenger-generate-action-types":"./dist/generate-action-types/cli.mjs"},"scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:all":"ts-bridge --project tsconfig.build.json --verbose --clean","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"dependencies":{"@metamask/utils":"^11.9.0","yargs":"^17.7.2"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@ts-bridge/cli":"^0.6.4","@types/jest":"^29.5.14","@types/yargs":"^17.0.32","deepmerge":"^4.2.2","eslint":"^9.39.1","execa":"^5.0.0","immer":"^9.0.6","jest":"^29.7.0","ts-jest":"^29.2.5","typedoc":"^0.25.13","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.3.3"},"peerDependencies":{"eslint":">=8","typescript":">=5.0.0"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@1.1.0","gitHead":"92d33e219ecd6e8c6b025ded0308833e2b1eacd7","dist":{"shasum":"6fe5ed8a2e8a1c8d5eea98306cff961f73b86d5b","size":55467,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-1.1.0.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_1.1.0_1775075676993_0.05472589133995687"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-04-01T20:34:37.185Z","publish_time":1775075677185,"_source_registry_name":"default","_cnpm_publish_time":1775075677185},"1.0.0":{"name":"@metamask/messenger","version":"1.0.0","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:all":"ts-bridge --project tsconfig.build.json --verbose --clean","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@ts-bridge/cli":"^0.6.4","@types/jest":"^29.5.14","deepmerge":"^4.2.2","immer":"^9.0.6","jest":"^29.7.0","ts-jest":"^29.2.5","typedoc":"^0.25.13","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.3.3"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@1.0.0","gitHead":"4ed97951a61311efaa7e8eb3cca1c763fa60dfb1","dist":{"shasum":"045418bba832b1c2d9b0b736b30564d1773cf9be","size":34145,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-1.0.0.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_1.0.0_1774552863973_0.9607212125254325"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-03-26T19:21:04.125Z","publish_time":1774552864125,"_source_registry_name":"default","_cnpm_publish_time":1774552864125},"0.3.0":{"name":"@metamask/messenger","version":"0.3.0","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","publish:preview":"yarn npm publish --tag preview","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@types/jest":"^27.4.1","deepmerge":"^4.2.2","immer":"^9.0.6","jest":"^27.5.1","sinon":"^9.2.4","ts-jest":"^27.1.4","typedoc":"^0.24.8","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.2.2"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@0.3.0","gitHead":"33dd8d627b70610242d33db7048c067848a5526e","dist":{"shasum":"cd4b40d820d27afe463cc7925c8ed7006fb5e860","size":34069,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-0.3.0.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_0.3.0_1758054884286_0.6322151013382751"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-16T20:34:44.478Z","publish_time":1758054884478,"_source_registry_name":"default","_cnpm_publish_time":1758054884478},"0.2.0":{"name":"@metamask/messenger","version":"0.2.0","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","publish:preview":"yarn npm publish --tag preview","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@types/jest":"^27.4.1","deepmerge":"^4.2.2","immer":"^9.0.6","jest":"^27.5.1","sinon":"^9.2.4","ts-jest":"^27.1.4","typedoc":"^0.24.8","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.2.2"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@0.2.0","gitHead":"12d11df94da5f6de830811ffdddd23c17eca88df","dist":{"shasum":"2954cc3d893532b11766516ee284997557de8c65","size":33432,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-0.2.0.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_0.2.0_1756998357471_0.5138982466577577"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-04T15:05:57.679Z","publish_time":1756998357679,"_source_registry_name":"default","_cnpm_publish_time":1756998357679},"0.1.0":{"name":"@metamask/messenger","version":"0.1.0","description":"A type-safe message bus library","keywords":["MetaMask","Ethereum"],"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"repository":{"type":"git","url":"https://github.com/MetaMask/core.git"},"license":"MIT","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"main":"./dist/index.cjs","types":"./dist/index.d.cts","scripts":{"build":"ts-bridge --project tsconfig.build.json --verbose --clean --no-references","build:docs":"typedoc","changelog:update":"../../scripts/update-changelog.sh @metamask/messenger","changelog:validate":"../../scripts/validate-changelog.sh @metamask/messenger","publish:preview":"yarn npm publish --tag preview","since-latest-release":"../../scripts/since-latest-release.sh","test":"NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter","test:clean":"NODE_OPTIONS=--experimental-vm-modules jest --clearCache","test:verbose":"NODE_OPTIONS=--experimental-vm-modules jest --verbose","test:watch":"NODE_OPTIONS=--experimental-vm-modules jest --watch"},"devDependencies":{"@metamask/auto-changelog":"^3.4.4","@types/jest":"^27.4.1","deepmerge":"^4.2.2","immer":"^9.0.6","jest":"^27.5.1","sinon":"^9.2.4","ts-jest":"^27.1.4","typedoc":"^0.24.8","typedoc-plugin-missing-exports":"^2.0.0","typescript":"~5.2.2"},"engines":{"node":"^18.18 || >=20"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@metamask/messenger@0.1.0","gitHead":"102964701f19e66c959917249070e89a17cfc842","dist":{"shasum":"3ceb310573b8b32c328a92c67da7199564444523","size":32700,"noattachment":false,"key":"/@metamask/messenger/-/@metamask/messenger-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@metamask/messenger/download/@metamask/messenger-0.1.0.tgz"},"_npmUser":{"name":"metamaskbot","email":"metamask-npm@consensys.net"},"directories":{},"maintainers":[{"name":"danfinlay","email":"dan@danfinlay.com"},{"name":"gudahtt","email":"markjstacey@gmail.com"},{"name":"kumavis","email":"aaron@kumavis.me"},{"name":"metamaskbot","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/messenger_0.1.0_1755783972935_0.9873544179340465"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-08-21T13:46:13.098Z","publish_time":1755783973098,"_source_registry_name":"default","_cnpm_publish_time":1755783973098}},"readme":"# `@metamask/messenger`\n\nA type-safe message bus library.\n\nThe `Messenger` class allows registering functions as 'actions' that can be called elsewhere, and it allows publishing and subscribing to events. Both actions and events are identified by namespaced strings.\n\n## Installation\n\n`yarn add @metamask/messenger`\n\nor\n\n`npm install @metamask/messenger`\n\n## Contributing\n\nThis package is part of a monorepo. Instructions for contributing can be found in the [monorepo README](https://github.com/MetaMask/core#readme).\n","_attachments":{},"homepage":"https://github.com/MetaMask/core/tree/main/packages/messenger#readme","bugs":{"url":"https://github.com/MetaMask/core/issues"},"license":"MIT"}