mobxjs / mobx-state-tree

Full-featured reactive state management without the boilerplate

Home Page:https://mobx-state-tree.js.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spin off a new project for `mst-middlewares`

coolsoftwaretyler opened this issue · comments

The mst-middlewares package in this repository has been the source of many issues and confusion. In the June 2023 maintainers' meeting, we hypothesized that part of it is because the middlewares as provided are framed as a "nice-to-have" inside the MobX-State-Tree monorepo.

As we work to move away from a monorepo, the goal is to find a clearer path forward for mst-middlewares. By splitting it to its own project, we can more clearly define the scope of the middlewares, the level of maintenance of those projects, and delineate issues about MobX-State-Tree from issues about those middlewares.

Since users reasonably expect the MST middlewares package to live here, I want to leave this issue open for some discussion and thorough consideration before we decide where those projects ought to end up, and how we'll remove them from this repository in a responsible way.

Open to feedback, thoughts, volunteers, etc!

What's the plan here??
Can I just create a new repo and move the middleware parts? Then define the scope, and import middleware issues there??

Hey @chakrihacker - I don't think we've got a clear plan yet. @jamonholmgren and I are going to have a meeting this coming Friday, August 4th, 2023 to discuss.

But yes, I think the overall plan is to create a new repo (potentially within the MobX organization - but I don't know), and then make sure it's wired up to publish the separate npm package. Once we verify that's all working as expected, we can remove the nested codebase from MST itself, and probably transfer the issues over there.

For now, I think we should hold off until Jamon and I get a chance to talk it out and get aligned, but I would guess it's going to look something like that in the end state.

I'm going to assign this to myself for now so no one feels the need to move forward until the plan is totally clear.

I have just duplicated mst-middlewares from this commit into the GitHub repository at https://github.com/coolsoftwaretyler/mst-middlewares.

Up next I need to:

  1. Get access to mst-middlewares npm package
  2. Make sure I can deploy a version to that package
  3. Update any docs that point at the original location to point to the new repository
  4. Remove mst-middlewares package from this repo

Then we can remove our Lerna config and restructure the overall repo to be a standalone library.

Hey, we could have kept this under mobxjs org only right, any issues over there??

@chakrihacker - when Jamon and I planned out the migration, we considered it and he suggested we keep these things out of that organization. I'm not even sure if we have access.

I'm happy to transfer them over there, but we'd have to get access to do so. I do not have any access to that organization.

In the meantime, I can get you access to the new repos. Jamon and I are both maintainers there.