-
Notifications
You must be signed in to change notification settings - Fork 154
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
Finish monorepo merge #197
Comments
The way I added each repo was using this: That will bring in the repo with full history |
Awesome, thanks for sharing. |
Pouchdb-replicator #209 |
@garrensmith you're now an npm owner on all these packages FYI |
Thanks. Once I've fixed the replication url issue's in pouchdb-security I'll do another release. |
@garrensmith what’s the replication url issue? |
@gr2m pouchdb-server couldn't not handle a replication url that was a url with an auth header. That is how Fauxton will create a replication document. But it is now fixed. |
Can I try to continue your work Herr to finish up the mono repo? Or are you on it right now? Any thing else I need to know besides #197 (comment)? What about tests? |
I haven't done any more work on it. |
can you please let me know if this looks good: #236 I’m moving on with the other repositories |
I’m currently working on |
I don't mind. I rewrote the other plugins to use promises. But it is super tedious.
All misspelling thanks to my iPhone.
…________________________________
From: Gregor Martynus <notifications@github.com>
Sent: Wednesday, June 28, 2017 6:14:47 AM
To: pouchdb/pouchdb-server
Cc: garren smith; Mention
Subject: Re: [pouchdb/pouchdb-server] Finish monorepo merge (#197)
I’m currently working on pouchdb-auth which is using async/await for testing. I’ve already started to migrate it work with older node versions using Promises, but maybe we can just set node 7.6 as minimum version for testing? I would prefer the minimum version to be the current node maintenance version, but requiring 7.6 will speed up things. I don’t know if otherp ackages have async/await in their tests, too
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#197 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAK9AsK4P0SYCqs6YMa7FmYSzWFMC2WYks5sIdM3gaJpZM4MFQao>.
|
I rewrote |
I need help debugging some weird issue in #248 🙏 |
PRs done. I think there are more repositories that @marten-de-vries created for use in PouchDB Server only. I wonder if there is a good way to find them all? e.g. can we go trough all dependencies of pouchdb-server and filter packages where Marten is author? |
I started one PR for the remaing 3 modules, because the separate PRs had weird issues and I thought it might be some cross referencing foo: #250 |
Should the following plugin also be moved to the monorepo? All are dependencies of pouchdb-auth / pouchdb-security, and currently the situation is pretty dire when it comes getting a working combination of compatible versions. Having a single branch to run CI on would go a long way. |
Also what about:
They also depend on packages from the monorepo, and are themselves dependencies of the monorepo. Should we move them as well? |
|
With #288 we are finally seeing the light at the end of the tunnel. All dependencies of the monorepo that themselves have dependencies from the monorepo are now part of the monorepo (sorry it's a bit of a mouthful). Which means that we now get consistent builds with regards to module versions. I was planning to merge Next step is to decide on a release number. The following comments touch on this topic: #197 (comment), #197 (comment) Here are the version numbers of latest published release for all the modules that now live in the monorepo:
My personal opinion is that we should go with the path of least resistance and release as 4.x (basically skipping 3.x of In addition I have a bug fix for |
Awesome work. I agree, releasing a 4.0 seems to be the path of least resistance. I don't think there's anything inherently wrong about integrating browser builds for |
Actually I do need it 😛 I was planning to manually browserify the modules I need. Out of the packages I listed above, could you identify the definitive list of those that should get a browser build? If you have some idea of how the build process should work, that would be very helpful. When is the |
Why not just browserify them? It should work fine. Anyway, if you want browser js file builds, the following (in order of usefulness) were written with the browser in mind:
|
I mean, if we want to maintain browserified modules committed in the repo, how should we go at it? I've never maintained JavaScript libraries, so I'm not sure when those built files are updated, etc. |
Ah, I think the ideal process would mirror the That leaves the development branches clear, while still making it possible to download scripts on release. |
The release.sh of pouchdb does a lot more than the pouchdb-server one It creates git commits, git tags, etc. I'm not sure how releasing was tackled on |
I think the current process expected git commits/tags etc. to be made manually. Otherwise we would have seen scripts in the repo handling it. So 'upgrading' I did start to wonder about me having signed off on updating |
Do you mean in my commits? Normally in the PR that I made |
Ah, I remembered I read that pattern somewhere while reviewing but if it's test-only it's fine. Never mind then. 😄 |
Looks like we are in good shape for a release, wdyt @marten-de-vries? I checked and you have npm access to all vendored package, so if I didn't mess up too badly In addition it would be lovely if we can issue Github releases to host the browser builds like https://github.com/pouchdb/pouchdb/releases. I looked a bit what it would take to automate, but if I'm not wrong, it's done manually for Pouchdb? |
I think the Github release is done manually. But as there is a |
It all went pretty smoothly, including manually adding the JS bundles to the release. One thing that would make it easier in the future might be to have a global See also the release page. Now guess what? I get to close our most-commented issue! Thanks for making that possible, @loic and @gr2m. |
Awesome! Thanks a lot @marten-de-vries for shepherding this effort, and @gr2m for paving the way. |
🏁🏎️💨w00p w00p this is awesome, great work everyone, thanks for pushing it through |
The merge of
express-pouchdb
andpouchdb-server
worked out well, but it'd be even better to merge the other packages in too. Let's track them in this issue.pouchdb-show #244see finish up monorepo #250pouchdb-size #245see finish up monorepo #250pouchdb-vhost #248see finish up monorepo #250If any of these seem inappropriate to merge, let me know.
/cc @marten-de-vries @garrensmith
Process for each repository
Copy module into
packages/node_modules
move tests into
tests/$name
import .. from ...
withconst ... = require('...')
in
packages/node_modules/$name
: delete.gitignore
,.travis.yml
filesin
packages/node_modules/$name/package.json
removedependencies
,devDependencies
,scripts
andversion
(it gets added on release). Update all URLs in thepackage.json
file. If any of thedependencies
don’t exist inpouchdb-server
’spackage.json
, move them there.remove
$name
from the mono repo’spackage.json
git rebase master -s recursive -X ours
to keep commit historyAfter all repositories got merged
The text was updated successfully, but these errors were encountered: