-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
(#5545) - remove lerna #5550
(#5545) - remove lerna #5550
Conversation
Oh I should also mention that this fully re-enables GreenKeeper, although we will still need to manually update versions in the sub-packages for changed dependencies (not dev dependencies) until I can fix the TODO described above. |
944e5c7
to
9d846ba
Compare
"pouchdb-promise": "5.5.0-prerelease", | ||
"pouchdb-replication": "5.5.0-prerelease", | ||
"pouchdb-utils": "5.5.0-prerelease" | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
devDependencies are no longer needed inside of the sub-packages, since everything is handled either at the top-level node_modules
or in packages/node_modules
. These devDependencies previously only existed so that lerna bootstrap
would work correctly.
Looks like this shaves about 30 seconds off of each build. :) |
Well unfortunately this broke the 0.10 build because of my too-clever-by-half "build in Node 6, test in Node 0.10" thing. Looks like Rollup expects |
Hm, this is a very hard problem to solve. I can't think of a way to extract just the test suite (which doesn't require Rollup), and then install it and run it in Node 0.10. Maybe it would be easier just to open a PR on Rollup to support 0.10. |
Uggg, I could solve this by just dumping all the devDeps into dependencies, because then |
'0.10' becomes entirely unsupported in 50 days, I think its fine for us to drop support |
Big 👍 to that. |
OK, removed 0.10 entirely and moved back to the old system of using the same Node for building and testing. |
lol wow |
I propose we move linting to a separate build entirely. There's no reason to run it for each and every build anyway. |
Oh for crying out loud, forgot that eslint runs after each test. Let's just add 0.11 and 0.12 to allowed failures for now. |
0c4db92
to
a3a3dd7
Compare
Now that Firefox is fixed, trying again... |
0.11 and 0.12 are failing in all tests because we run eslint. I decided to drop all of 0.10, 0.11, and 0.12 entirely. There's no easy way I can see to support 0.10-0.12 if eslint has decided their minimum baseline is 4. Maybe in the future we can figure out how to write a patch to do the "build in one version, test in another" thing again, but right now it's just getting too difficult to support anything less than 4. OTOH I added a test for Node 4 itself, so we're currently testing in 4, 5, and stable, with an allowed failure on stable. |
So I am 👍 on that, these node versions are going entirely unsupported (no security upgrades) very shortly so if its blocking improvements then happy to drop support. Would like to ping @yaronyg though, if you absolutely need |
All tests are passing except code coverage. I will look into it.
|
OK, had to fix Istanbul to not-ignore |
fast_finish: true | ||
include: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tiny nit, could we move this to the top of the matrix:
section, I was confused that allowed_failures had this section inside of it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
Had one tiny comment on the travis.yml but otherwise this is great, faster + lesss complicated builds is awesome. One other tiny question, so if we want to use a package in a submodule, we need to add it to both Would still like to hear from Yaron just in case, but 👍 maybe wait till monday before merging? |
lol ok just read #5583 so can ignore the question :) |
Made the .travis.yml change on the way in, see 9b51141 |
@daleharvey Unfortunately we can't move to Node 4. The reason is that we are running on JXcore which is the only version of node that currently runs on mobile phones and it is based on a hybrid of Node 0.10 and 0.12. We are updating it to do things like support the latest security patches for OpenSSL. But until we figure out some way to get mainline Node working on Android and iOS we have no option but to stick with JXcore. We are looking to put in resources that could monitor PouchDB failures on Node 0.10/0.12 and submit fixes. |
It turns out there were only a few changes needed to remove
lerna bootstrap
entirely:packages
topackages/node_modules
.gitignore
so that it only ignores the top-levelnode_modules
This change only removes Lerna. There are still some remaining TODOs that can be tackled in a future PR, such as not duplicating dependencies between sub-packages and the main package, but for now this is the simplest PR.