New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@metamask-previews/composable-controller

Package Overview
Dependencies
Maintainers
2
Versions
507
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask-previews/composable-controller - npm Package Compare versions

Comparing version 5.0.1-preview.eb2135e to 6.0.1-preview-07ab424

27

CHANGELOG.md

@@ -10,5 +10,16 @@ # Changelog

## [6.0.1]
### Fixed
- Fix `types` field in `package.json` ([#4047](https://github.com/MetaMask/core/pull/4047))
## [6.0.0]
### Added
- **BREAKING**: Add ESM build ([#3998](https://github.com/MetaMask/core/pull/3998))
- It's no longer possible to import files from `./dist` directly.
- Add and export functions `isBaseControllerV1` and `isBaseController`, which are type guards for validating controller instances ([#3904](https://github.com/MetaMask/core/pull/3904))
- `ComposableController` now accommodates `BaseControllerV1` controllers that use a messenger (specifically, which have a `messagingSystem` property which is an instance of `RestrictedControllerMessenger`), by subscribing to the `stateChange` event of the messenger instead of using the `subscribe` method on the controller ([#3964](https://github.com/MetaMask/core/pull/3964))

@@ -18,8 +29,14 @@ ### Changed

- **BREAKING:** Passing a non-controller into `controllers` constructor option now throws an error ([#3904](https://github.com/MetaMask/core/pull/3904))
- **BREAKING:** The `AllowedActions` parameter of the `ComposableControllerMessenger` type is narrowed from `string` to `never`, as `ComposableController` does not use any external controller actions. ([#3904](https://github.com/MetaMask/core/pull/3904))
- Subscribe to the `stateChange` events of `BaseControllerV1` controllers that have a `messagingSystem` class field with an assigned instance of the `RestrictedControllerMessenger` class. ([#3964](https://github.com/MetaMask/core/pull/3964))
- **BREAKING:** The `AllowedAction` parameter of the `ComposableControllerMessenger` type is narrowed from `string` to `never`, as `ComposableController` does not use any external controller actions ([#3904](https://github.com/MetaMask/core/pull/3904))
- **BREAKING:** Bump `@metamask/base-controller` to `^5.0.0` ([#4039](https://github.com/MetaMask/core/pull/4039))
- This version has a number of breaking changes. See the changelog for more.
- Relax `payload` in `ComposableControllerStateChangeEvent` to use `Record<string, any>` rather than `Record<string, unknown>` ([#3949](https://github.com/MetaMask/core/pull/3949))
- Bump `@metamask/json-rpc-engine` to `^8.0.0` ([#4039](https://github.com/MetaMask/core/pull/4039))
### Removed
- **BREAKING:** Remove `ControllerList` as an exported type. ([#3904](https://github.com/MetaMask/core/pull/3904))
- **BREAKING:** Remove `flatState` getter from `ComposableController` ([#3877](https://github.com/MetaMask/core/pull/3877))
- This method was confusing to use in practice. Consumers should use the `ComposableController` state directly.
- **BREAKING:** Remove `ControllerList` as an exported type ([#3904](https://github.com/MetaMask/core/pull/3904))
- There is no replacement.

@@ -110,3 +127,5 @@ ## [5.0.1]

[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@5.0.1...HEAD
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@6.0.1...HEAD
[6.0.1]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@6.0.0...@metamask/composable-controller@6.0.1
[6.0.0]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@5.0.1...@metamask/composable-controller@6.0.0
[5.0.1]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@5.0.0...@metamask/composable-controller@5.0.1

@@ -113,0 +132,0 @@ [5.0.0]: https://github.com/MetaMask/core/compare/@metamask/composable-controller@4.0.0...@metamask/composable-controller@5.0.0

18

dist/types/ComposableController.d.ts

@@ -12,3 +12,3 @@ import { BaseController, BaseControllerV1 } from '@metamask/base-controller';

*/
export declare type BaseControllerV1Instance = BaseControllerV1<any, any>;
export type BaseControllerV1Instance = BaseControllerV1<any, any>;
/**

@@ -23,3 +23,3 @@ * A universal subtype of all controller instances that extend from `BaseController` (formerly `BaseControllerV2`).

*/
export declare type BaseControllerInstance = {
export type BaseControllerInstance = {
name: string;

@@ -35,3 +35,3 @@ state: StateConstraint;

*/
export declare type ControllerInstance = BaseControllerV1Instance | BaseControllerInstance;
export type ControllerInstance = BaseControllerV1Instance | BaseControllerInstance;
/**

@@ -49,16 +49,16 @@ * Determines if the given controller is an instance of `BaseControllerV1`

export declare function isBaseController(controller: ControllerInstance): controller is BaseController<string, StateConstraint, RestrictedControllerMessenger<string, ActionConstraint, EventConstraint, string, string>>;
export declare type ComposableControllerState = {
export type ComposableControllerState = {
[name: string]: Record<string, any>;
};
export declare type ComposableControllerStateChangeEvent = {
export type ComposableControllerStateChangeEvent = {
type: `${typeof controllerName}:stateChange`;
payload: [ComposableControllerState, Patch[]];
};
export declare type ComposableControllerEvents = ComposableControllerStateChangeEvent;
declare type AnyControllerStateChangeEvent = {
export type ComposableControllerEvents = ComposableControllerStateChangeEvent;
type AnyControllerStateChangeEvent = {
type: `${string}:stateChange`;
payload: [ControllerInstance['state'], Patch[]];
};
declare type AllowedEvents = AnyControllerStateChangeEvent;
export declare type ComposableControllerMessenger = RestrictedControllerMessenger<typeof controllerName, never, ComposableControllerEvents | AllowedEvents, never, AllowedEvents['type']>;
type AllowedEvents = AnyControllerStateChangeEvent;
export type ComposableControllerMessenger = RestrictedControllerMessenger<typeof controllerName, never, ComposableControllerEvents | AllowedEvents, never, AllowedEvents['type']>;
/**

@@ -65,0 +65,0 @@ * Controller that can be used to compose multiple controllers together.

{
"name": "@metamask-previews/composable-controller",
"version": "5.0.1-preview.eb2135e",
"version": "6.0.1-preview-07ab424",
"description": "Consolidates the state from multiple controllers into one",

@@ -28,3 +28,3 @@ "keywords": [

"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"types": "./dist/types/index.d.ts",
"files": [

@@ -45,7 +45,7 @@ "dist/"

"dependencies": {
"@metamask/base-controller": "^4.1.1"
"@metamask/base-controller": "^5.0.1"
},
"devDependencies": {
"@metamask/auto-changelog": "^3.4.4",
"@metamask/json-rpc-engine": "^7.3.3",
"@metamask/json-rpc-engine": "^8.0.1",
"@types/jest": "^27.4.1",

@@ -59,3 +59,3 @@ "deepmerge": "^4.2.2",

"typedoc-plugin-missing-exports": "^2.0.0",
"typescript": "~4.8.4"
"typescript": "~4.9.5"
},

@@ -62,0 +62,0 @@ "engines": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc