-
Notifications
You must be signed in to change notification settings - Fork 51
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
Move modules to pouchdb org #232
Comments
That would be awesome! I'd be more than happy to help with the migration! |
👍 so many good projects! Willing to help out any doc changes etc :) |
I already switched the Launchpad project to git, but I can see that's still too large a threshold now. I'll start moving them to Github. As for adding others as npm authors, that should've happened long ago. On that too. |
The todo list. PRs welcome for documentation & test suite as soon as the respective projects for which that needs to be done are moved: Moved to Github(all modules have been moved) In pouchdb org & npm rightsThese projects are in the pouchdb organization on Github & have @nolanlawson and @daleharvey added as package maintainers. (done for all the projects) Documentation rst -> markdown and inside README.mdDocumentation is currently in: https://git.launchpad.net/python-pouchdb/tree/docs/js-plugins.rst?id=d5a4a276dca41b36231dc3a569213931125ff4e5 in the restructured text format. The docs for the plugins need to be moved towards the README.md file, meaning the text format needs to be converted. Also, the docs need to be checked + updated where necessary in this step.
Tests Python -> JSTests currently in: https://git.launchpad.net/python-pouchdb/tree/pouchdb/tests/plugins.py?id=d5a4a276dca41b36231dc3a569213931125ff4e5 . The test environment can be setup using
Add CIThe following modules don't have a test suite of their own, but before moving to github were 100% covered by the other modules' tests. At the very least they should run a linter on Travis, and preferably also those of the above ported tests that made them be covered for 100%. pouchdb-plugin-helper should simplify that.
Add documentationThese projects barely have a README.md doc of their own. But they should have. At least an example call for every function:
Migrate relevant bugs and blueprints |
Thanks a lot @marten-de-vries; awesome work and love the transparency about everything you're doing. :) |
Ok, first step of the migration is done. Now it's just making the projects more github-friendly. I.e., moving docs to README.md files, porting tests to JS, enabling Travis, adding Travis + dependency monitor badges, etc. |
@marten-de-vries thanks so much, this is awesome! |
@marten-de-vries let me know if I can help with the tests. I can also setup semantic-release if you are interested, that would mean that new releases get published automatically, based on very simple git message conventions, and it would also automatically create git tags & releases with changelogs. We are doing it all over Hoodie right now and are very happy with it. It's really, really cool, worth checking out if you haven't yet |
Never used package.json's would become something like: "script": {
"test": "./node_modules/.bin/pouchdb-plugin-helper test",
...
},
"devDependencies": {
"pouchdb-plugin-helper": "^1.0.0"
// no other dependencies necessary
} etc. All coverage, test & jshint config could then stay in one place. Additional commands could be |
For "jshint config", or solution at Hoodie is to try to avoid config files whenever possible, which is why we now use https://www.npmjs.com/package/standard everywhere. It's really cool once you get used to its conventions, it's just another thing you can stop thinking about :) For the And for the badges, yeah, you could write a tool :) But you could also setup one repo with clear commit messages, and then ask for help, so you don't need to do it all on your own. People like me would take the opportunity to get involved into a project with simple things like that :) |
I was actually looking into @bahmutov's dont-break recently in order to fix this. Seems doable, although there's one bug that needs to be fixed first, which is caused by leveldown being slow as molasses to download: bahmutov/dont-break#26 |
@nolanlawson Since I also want ES7 async/await in the tests to make porting from Python easier, I went ahead and started doing exactly that today. Should be able to publish that soon. @gr2m ES6/7 also makes using |
@marten-de-vries that's pretty neat; I love async/await. :) Also yeah, As for |
https://github.com/pouchdb/pouchdb-plugin-helper ; it's incomplete and probably not flexible enough to support at least every module I moved to github as part of this PR, but it's good enough for a 0.1.0 release & to be used by |
I just pushed |
This is mostly done, I'm happy to close this issue. Thanks @marten-de-vries ! |
I'm working on this again this week, so I'm opening it again to make bookkeeping easier (see the task lists a few comments above). I'll re-close it if it stalls again. If anyone wants to help, adopt one of the PR(s) below, or choose one of projects under 'add documentation' above and write some docs for it.
If no one helps, it'll be finished as well, it'll just take a bit longer. ;) |
Thanks @marten-de-vries! I’m heads down on shipping Hoodie, otherwise I’d help myself, but I’ll spread the word, maybe someone else finds time to help |
All the relevant Python code has now been ported. That leaves updating documentation. |
👏 |
Reclosing this issue. I'm going to merge the WIP PRs, then open follow up issues for the docs. Seeing raw reStructuredText in the README file is still an improvement over the current files, and it might add some urgency to porting that over anyway, which would not be a bad thing. |
* PouchDB plugin updates. (new replicator plug-in initial code - pretty much untested). Also validation update (will become 1.1.0). * A bunch of JS improvements (incl. replicator module (experimental)) & some improvements to coroutines (nesting them, most notably) * Improved docs + JS * Improvements to replicator + auth; documentation translations * Smaller JS modules. * Makes _users and _replicator databases system databases (sets extra protections for them like in CouchDB). No regressions, but JS test coverage isn't complete yet. * JS is all at 1.0.0 at least now & published. * Fixed a bug in pouchdb-wrappers * pouchdb-replicator update. * Improvements to pouchdb-replicator * Plug-in improvements * 2.1.2; moved to github * (pouchdb/express-pouchdb#232) - Modernize pouchdb-replicator * 2.1.3 * chore(package): update dependencies http://greenkeeper.io/ * chore(package): update pouchdb-plugin-helper to version 3.0.0 http://greenkeeper.io/ * chore(package): update random-uuid-v4 to version 0.0.6 https://greenkeeper.io/ * add pouchdb-replicator to the repo * convert tests to es2015 * remove packages
This lets you pass `debug` or mocha flags when running unit tests.
@marten-de-vries I really appreciate the modularization you've done with PouchDB Server, but it's a bit difficult to collaborate because most of those modules are on Bazaar. It would be a bit easier for the community if those modules were under the pouchdb organization, like express-pouchdb and pouchdb-server.
(I know I know, Github is a total monoculture these days, and it's a shame we took something beautiful and decentralized like Git and centralized it, but this just seems to be the way OSS is done nowadays, sadly. 😛)
Any chance of moving them over here? Also as a first step, it would be helpful to add me and daleharvey as npm owners, so that we can at least publish that way. :)
The text was updated successfully, but these errors were encountered: