MetaMask / MetaMask/metamask-extension

[State Sync Redesign 2.7] Remove `@metamask/obs-store` dependency

Open
#40,058 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

INVALID-ISSUE-TEMPLATE team-extension-platform
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

After `this.store`, `this.memStore`, and `publicConfigStore` are removed, `ComposableObservableStore` and `ObservableStore` have no consumers. Remove the dependency.

## Steps

1. Delete `app/scripts/lib/ComposableObservableStore.js` and its test
2. Remove `@metamask/obs-store` from `package.json`
3. Run `yarn lint:lockfile:dedupe:fix`
4. Run `yarn lavamoat:auto`
5. Run `yarn attributions:generate`

## Files

- `package.json`
- `yarn.lock`
- `lavamoat/`
- `attribution.txt`
- `app/scripts/lib/ComposableObservableStore.js`

## Risk

Low — no consumers remain.

## Dependencies

Issues 2.4, 2.5, Epic 1 Issue 1.1, and Epic 3 Issue 3.9 (Redux `metamask` slice removed, so no consumers of obs-store-derived state via Redux)

## Context

Part of [State Sync Redesign — Epic 2: Background cleanup].

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with app/scripts/lib/ComposableObservableStore.js and its test, then inspect package.json and the dependency references in yarn.lock, lavamoat/, and attribution.txt. Delete the unused store and test, remove @metamask/obs-store, and run yarn lint:lockfile:dedupe:fix, yarn lavamoat:auto, and yarn attributions:generate; done means the dependency and generated references are removed without consumer regressions.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, tooling
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.