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

Upgrade minor/major versions of dependencies that don't require code changes #12445

Merged
merged 2 commits into from
Oct 4, 2020

Conversation

timvandermeij
Copy link
Contributor

The commit messages contain more information about the individual changes.

This dependency hasn't been updated in two years and the only place that
uses it is the `externaltest` target in the Gulpfile. We can simply
replace `fancy-log` usage there with `console.log` like we do in all
other places in the Gulpfile because we're not interested in the
timestamps here. Gulp already prints timestamps and these tests finish
within a second anyway.

Note that it remains in `package-lock.json` because other Gulp-related
packages have it as a dependency, but at least we're no longer depending
on it directly anymore now.
…changes

The changelogs of those dependencies showed no breaking changes for us.
Most of the time the major version bump was done to remove compatibility
with very outdated Node.js versions.

Only for `autoprefixer` and `gulp-postcss` a change was required, which
is including `postcss` in our `package.json` explicitly since it's now
a peer dependency of those packages.

Now only `acorn`,`systemjs`, `terser` and `yargs` are not the latest
versions because they require more work.
@timvandermeij
Copy link
Contributor Author

/botio test

@pdfjsbot
Copy link

pdfjsbot commented Oct 4, 2020

From: Bot.io (Linux m4)


Received

Command cmd_test from @timvandermeij received. Current queue size: 0

Live output at: http://54.67.70.0:8877/6fe77a95e71c784/output.txt

@pdfjsbot
Copy link

pdfjsbot commented Oct 4, 2020

From: Bot.io (Windows)


Received

Command cmd_test from @timvandermeij received. Current queue size: 0

Live output at: http://54.215.176.217:8877/71ba61117094fa5/output.txt

Copy link
Collaborator

@Snuffleupagus Snuffleupagus left a comment

Choose a reason for hiding this comment

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

r=me, with the comment addressed and all tests passing of course :-)

Thanks for updating all of these dependencies!

package.json Show resolved Hide resolved
@pdfjsbot
Copy link

pdfjsbot commented Oct 4, 2020

From: Bot.io (Linux m4)


Failed

Full output at http://54.67.70.0:8877/6fe77a95e71c784/output.txt

Total script time: 25.33 mins

  • Font tests: Passed
  • Unit tests: Passed
  • Regression tests: FAILED

Image differences available at: http://54.67.70.0:8877/6fe77a95e71c784/reftest-analyzer.html#web=eq.log

@pdfjsbot
Copy link

pdfjsbot commented Oct 4, 2020

From: Bot.io (Windows)


Failed

Full output at http://54.215.176.217:8877/71ba61117094fa5/output.txt

Total script time: 28.04 mins

  • Font tests: Passed
  • Unit tests: Passed
  • Regression tests: FAILED

Image differences available at: http://54.215.176.217:8877/71ba61117094fa5/reftest-analyzer.html#web=eq.log

@timvandermeij timvandermeij merged commit a1028e2 into mozilla:master Oct 4, 2020
@timvandermeij timvandermeij deleted the packages branch October 4, 2020 21:27
@Snuffleupagus
Copy link
Collaborator

Now only acorn, systemjs, terser and yargs are not the latest versions because they require more work.

Given that the intention is to simply remove systemjs altogether, which is unfortunately still blocked on https://bugzilla.mozilla.org/show_bug.cgi?id=1247687, we can probably just ignore that part (especially since the upgrade is non-trivial).

For the other ones, especially acorn which is an integral part of the build system, we should try to upgrade as soon as possible to e.g. have better support for modern ECMAScript features.

Would you happen to have some information about what the upstream changes are that prevents upgrading the acorn, terser, and yargs versions?

@timvandermeij
Copy link
Contributor Author

Yes, for acorn we require setting the ecmaVersion property explicitly when calling acorn.parse() for instance. This should be easy, but I didn't manage to get it working at a first try, so I left it out of this PR for now.

terser made the minify call asynchronous, which mostly means some rewriting, most likely also relatively easy to do.

yargs mainly changed the validation functions for the argument parser. I looked into this briefly before, but didn't get it working easily.

In summary, those three should be doable for us, it's just that I haven't had the time before to really look into them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants