Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚧 Moving to monorepo #2530

Closed
8 of 9 tasks
danielkcz opened this issue Oct 18, 2020 · 11 comments
Closed
8 of 9 tasks

🚧 Moving to monorepo #2530

danielkcz opened this issue Oct 18, 2020 · 11 comments
Labels

Comments

@danielkcz
Copy link
Contributor

danielkcz commented Oct 18, 2020

We want to move together mobx-react & mobx-react-lite (more later maybe) into this repo to ease on issue duplication and to provide better idea of where to find help.

  • Transfer existing issues and disable issue reporting in those repos.
  • Move API documentation from respective repos to mobx.js.org.
  • Sort out pending PRs (merge or close).

  • Restructure this repo to monorepo.
  • Modify changesets tool to work in monorepo.
  • Figure out how to set up CI for the monorepo to run tests (help wanted).
  • Build ESM dev/prod bundles for the browser consumption
  • Move mobx-react codebase to this repo and archive it.
  • Move mobx-react-lite codebase to this repo and archive it.
@danielkcz danielkcz pinned this issue Oct 18, 2020
@spion
Copy link

spion commented Oct 18, 2020

Does this include closed issues? I was looking for a past discussion in mobx-react-lite and i am not able to read or find it.

edit: specifically it was https://github.com/mobxjs/mobx-react/issues/744 and is now only available through google cache AFAICT

@danielkcz
Copy link
Contributor Author

danielkcz commented Oct 19, 2020

Yea. I suppose it will block access to closed issues as well. Not the best, but what can you do :) I've transferred that issue and converted to discussion for you: #2531

@danielkcz
Copy link
Contributor Author

If anyone is feeling on working on the documentation migration, help is certainly wanted. I will be able to get to this in a week or more.

@jeremy-coleman
Copy link
Contributor

I would like to see the 3 versions align if possible. It would make keeping compatible versions a non issue.

@danielkcz
Copy link
Contributor Author

I would like to see the 3 versions align if possible. It would make keeping compatible versions a non issue.

Nah, that doesn't make much sense. These packages are not that tightly coupled. The mobx is the main one here and when a major version happens, it might affect others. But not the other way around. Changes to binding packages hardly warrant publishing mobx even without changes.

@Bnaya
Copy link
Member

Bnaya commented Oct 29, 2020

related proposal: move to yarn2
I've been tracking yarn 2 progress, and when using nodeLinker (and not pnp) it's a drop-in replacement for yarn 1,
And actively maintained, and support additional goodies

@danielkcz
Copy link
Contributor Author

@Bnaya Can you elaborate on what would be the benefit of that? I tried to toy with Yarn2 shortly after its release and was a bit confused about it.

@jeremy-coleman
Copy link
Contributor

Freddy i know they arent coupled , but what is the downside? The latest versions should always maintain cross compatibility and mobx now supports proxy/no proxy runtimes in the same version, so i only see benefits, but maybe Im missing something?

@danielkcz
Copy link
Contributor Author

I already said downside. Making a change to the binding package is not a good reason to publish the other two as well. Especially if the change is compatible and works with previous versions. This pattern makes sense for example to UI libraries where dependencies are harder to track and follow due to many packages. Similarly Babel with numerous plugins it's easier to track compatibility that way.

@Bnaya
Copy link
Member

Bnaya commented Oct 29, 2020

@Bnaya Can you elaborate on what would be the benefit of that? I tried to toy with Yarn2 shortly after its release and was a bit confused about it.

While yarn 1 workspaces could work just fine,
It's, maintenance involvement is minimal, (eg: yarnpkg/yarn#7807)

And since it's release yarn 2 have gained several stability milestones:
babel & jest have are now using it
the node modules linker is fully operational (babel & jest using it)
It has many new super small features such as:
https://yarnpkg.com/configuration/manifest/#publishConfig

I've opened a PR for that:
#2573

@danielkcz
Copy link
Contributor Author

And it's done. It was a rather tough chore, but everything seems to be working now. If I broke something I wasn't aware of, let me know :)

Hopefully, everything will be easier to maintain now when it's in a single spot.

Documentation for mobx-react(-lite) is still in their respective READMEs, but given the simplicity of the API layer, it can wait till someone is in the mood to integrate that with main docs.

@danielkcz danielkcz unpinned this issue Nov 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants