Skip to content

Update dependencies to enable Greenkeeper 🌴 #865

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

Merged
merged 11 commits into from
Jun 27, 2018
Merged

Conversation

greenkeeper[bot]
Copy link
Contributor

@greenkeeper greenkeeper bot commented Jun 26, 2018

Let’s get started with automated dependency management for parse-dashboard 💪

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 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 🌴

@flovilmart
Copy link
Contributor

flovilmart commented Jun 26, 2018

@acinader , @dplewis , @natanrolnik , I am no react expert but I managed to update the project with up to date dependencies. The biggest pain was moving react-router to the latest version as the logic completely changed.

As far as my tests go, all the dashboard is still fully functional, and al the routing work from the side bar. So that looks good. Don't hesitate to get the built result :)

Copy link
Contributor

@acinader acinader left a comment

Choose a reason for hiding this comment

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

@flovilmart I checked out, ran npm install and npm start. I get a white screen and this error in the console:

dashboard.bundle.js:1 Uncaught RangeError: Maximum call stack size exceeded
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
    at o (dashboard.bundle.js:1)
-> parse-dashboard git:(greenkeeper/initial) ✗ node --version
v8.11.3

I'll try and dig in some more and see if i can figure out what is going.

PS wow. nice.

oh, and pps: I have no react experience...yet

@flovilmart
Copy link
Contributor

@acinader awesome! Does npm run dev and npm run dashboard and npm run pig are ok for you?

@acinader
Copy link
Contributor

acinader commented Jun 26, 2018

npm run dev npm run dashboard work. npm run pig fails. no server even starts for it.

@flovilmart
Copy link
Contributor

What error do you have on the pig? I can repro the issue on npm start

@acinader
Copy link
Contributor

the build completes and then i get these warning and it just hangs there....

WARNING in configuration
The 'mode' option has not been set, webpack will fallback to 'production' for this value. Set 'mode' option to 'development' or 'production' to enable defaults for each environment.
You can also set it to 'none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/

WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB).
This can impact web performance.
Assets:
  PIG.bundle.js (935 KiB)

WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (244 KiB). This can impact web performance.
Entrypoints:
  PIG (935 KiB)
      PIG.bundle.js

WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/

@acinader
Copy link
Contributor

so to try and break down the problem, I ran:

./node_modules/.bin/http-server ./PIG -p 4041 -s and then hit http://localhost:4041/

I get the same error:

PIG.bundle.js:1 Uncaught RangeError: Maximum call stack size exceeded
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
    at i (PIG.bundle.js:1)
:4041/favicon.ico:1 Failed to load resource: the server responded with a status of 404 (Not Found)

@flovilmart
Copy link
Contributor

@acinader the last commit should be good, the code was caught in an infinite recursion due to the optimizations. Everything look ok now.

I've updated the configuration for webpack publish / production as they are exactly what webpack modes provide when setting 'production' https://webpack.js.org/concepts/mode/

@acinader
Copy link
Contributor

ok. after rm'ing node_modules and a fresh npm install, it works. now i'll test with our stuff and give it a workout 👍 nice.

@flovilmart
Copy link
Contributor

Thanks man! Really appreciated’ did a rough Q/À of the different features so better have a good other pair of eyes!

@acinader
Copy link
Contributor

was a good day for it.

so this looks good to me. i think we should get it out there.

@flovilmart flovilmart merged commit 76dd6f4 into master Jun 27, 2018
@greenkeeper greenkeeper bot deleted the greenkeeper/initial branch June 27, 2018 01:20
beiguancyc pushed a commit to beiguancyc/parse-dashboard that referenced this pull request Jul 10, 2018
* parse:
  Update dependencies to enable Greenkeeper 🌴 (parse-community#865)
  Ensure we traverse the payloadJSON properly (parse-community#861)
  Push Audiences improvements (parse-community#813)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants