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

Update dependencies to enable Greenkeeper 🌴 #165

Merged
merged 6 commits into from
May 25, 2018
Merged

Conversation

greenkeeper[bot]
Copy link
Contributor

@greenkeeper greenkeeper bot commented May 24, 2018

Let’s get started with automated dependency management for airtap 💪

This pull request updates all your dependencies to their latest version. Having them all up to date really is the best starting point for keeping up with new releases. Greenkeeper will look out for further dependency updates and make sure to handle them in isolation and in real-time, but only after you merge this pull request.

Important: Greenkeeper will only start watching this repository’s dependency updates after you merge this initial pull request.


💥 Tests on this branch are failing. Here’s how to proceed.

To solve the issue, first find out which of the dependency’s updates is causing the problem. Then fix your code to accomodate the changes in the updated dependency. next-update is a really handy tool to help you with this.

Then push your changes to this branch and merge it.

🏷 How to check the status of this repository

Greenkeeper adds a badge to your README which indicates the status of this repository.

This is what your badge looks like right now 👉 Greenkeeper badge

🙈 How to ignore certain dependencies

You may have good reasons for not wanting to update to a certain dependency right now. In this case, you can change the dependency’s version string in the package.json file back to whatever you prefer.

To make sure Greenkeeper doesn’t nag you again on the next update, add a greenkeeper.ignore field to your package.json, containing a list of dependencies you don’t want to update.

// package.json
{
  
  "greenkeeper": {
    "ignore": [
      "package-names",
      "you-want-me-to-ignore"
    ]
  }
}
👩‍💻 How to update this pull request
  # Change into your repository’s directory
  git fetch
  git checkout greenkeeper/initial
  npm install-test
  # Adapt your code until everything works again
  git commit -m 'chore: adapt code to updated dependencies'
  git push origin greenkeeper/initial
✨ How do dependency updates work with Greenkeeper?

After you merge this pull request, Greenkeeper will create a new branch whenever a dependency is updated, with the new version applied. The branch creation should trigger your testing services and check whether your code still works with the new dependency version. Depending on the the results of these tests Greenkeeper will try to open meaningful and helpful pull requests and issues, so your dependencies remain working and up-to-date.

-  "underscore": "^1.6.0"
+  "underscore": "^1.7.0"

The above example shows an in-range update. 1.7.0 is included in the old ^1.6.0 range, because of the caret ^ character .
When the test services report success Greenkeeper will silently delete the branch again, because no action needs to be taken – everything is fine.

However, should the tests fail, Greenkeeper will create an issue to inform you about the problem immediately.

This way, you’ll never be surprised by a dependency breaking your code. As long as everything still works, Greenkeeper will stay out of your way, and as soon as something goes wrong, you’ll be the first to know.

-  "lodash": "^3.0.0"
+  "lodash": "^4.0.0"

In this example, the new version 4.0.0 is not included in the old ^3.0.0 range.
For version updates like these – let’s call them “out of range” updates – you’ll receive a pull request.

This means that you no longer need to check for new versions manually – Greenkeeper will keep you up to date automatically.

These pull requests not only serve as reminders to update: If you have solid tests and good coverage, and the pull requests passes those tests, you can very likely just merge it and release a new version of your software straight away :shipit:

To get a better idea of which ranges apply to which releases, check out the extremely useful semver calculator provided by npm.

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Good luck with your project and see you soon ✨

Your Greenkeeper bot 🌴

@greenkeeper greenkeeper bot added the dependencies Pull requests that update a dependency file label May 24, 2018
@vweevers vweevers added this to Backlog in Airtap May 24, 2018
package.json Outdated
@@ -5,10 +5,10 @@
"main": "lib/airtap.js",
"dependencies": {
"batch": "~0.6.1",
"browserify": "~13.3.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iirc we can't use the latest browserify, so this PR needs tweaking.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we use the latest browserify?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@feross browserify 13 still uses the buffer version that works in IE9 and IE10

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this means browserify no longer supports IE9 and IE10 right? How important is it for us to be able to test on those platforms? I personally don't care at all.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Longest discussion on a Greenkeeper PR ever? 😉

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, scratch "I don't care at all" from above comment.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to test memdown and level-js on IE10, because PouchDB targets IE10+.

👍

Copy link
Member

@feross feross May 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some additional context: browserify 14 was released in Jan 2017 (~1.5 years ago) and IE9 and IE10 haven't been supported in browserify since then. Perhaps it's still too early to drop support in other libraries (which manage to avoid using buffer and therefore still work in IE9 and IE10)

However, I'm curious when folks will feel comfortable dropping support, and what the criteria will be for knowing that it's time?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's continue the discussion here: #171

README.md Outdated
@@ -96,7 +96,7 @@ It includes advanced usage like how to run an additional server to support tests

Cross-browser Testing Platform and Open Source ♥ Provided by [Sauce Labs](https://saucelabs.com).

[![Sauce Labs logo](./doc/images/sauce-labs-logo.svg)](https://saucelabs.com)
[![Sauce Labs logo](./doc/images/sauce-labs-logo.svg)](https://saucelabs.com) [![Greenkeeper badge](https://badges.greenkeeper.io/airtap/airtap.svg)](https://greenkeeper.io/)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And we don't want this badge either. Kind of annoying that they PR that actually.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I always tweak the Greenkeeper PR to remove the badge

package.json Outdated
@@ -5,10 +5,10 @@
"main": "lib/airtap.js",
"dependencies": {
"batch": "~0.6.1",
"browserify": "~13.3.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we use the latest browserify?

package.json Outdated
"yamljs": "~0.3.0"
},
"devDependencies": {
"airtap-browsers": "0.0.1",
"cross-env": "~5.1.3",
"dependency-check": "^3.0.0",
"electron": "^1.8.2",
"electron": "^2.0.2",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This almost certainly contains breaking changes. Let's defer updating this

package.json Outdated
"tap-parser": "~5.4.0",
"watchify": "~3.10.0",
"wd": "~1.5.0",
"tap-parser": "~7.0.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also gotta wait with this one. See #54 and CHANGELOG.md:

We didn't update browserify to the latest version because it doesn't support IE9 or IE10. Nor did we update tap-parser to the latest since it doesn't work with PhantomJS.

@feross feross merged commit ffc3e01 into master May 25, 2018
Airtap automation moved this from Backlog to Done May 25, 2018
@greenkeeper greenkeeper bot deleted the greenkeeper/initial branch May 25, 2018 06:56
@vweevers vweevers mentioned this pull request May 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
Airtap
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

5 participants