-
Notifications
You must be signed in to change notification settings - Fork 200
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
[WIP] Fix audit warnings wct browser legacy #533
Conversation
Integrations for WCT are failing, but I am unable to reproduce locally. Sadly, to fix the issues with Right now, the integration test is locally passing, but on CI the The weird thing is that I have not updated the version of |
I'm using I had to add Looking forward for this change. I have no idea why your CI is failing, though. |
I reverted the Bower changes. Getting closer on fixing the NPM version. However, running into a compilation performance issue. Extracted issue into #538, which is now blocking this PR, as the integration tests are all timing out on this issue. |
With #543 this branch now builds. However, there are 2 integration tests that are failing. These integration tests verify the behavior the polymer-3.x CLI templates. However, they run This can be resolved by publishing a new version of Other than that, this PR is ready to review @aomarks @usergenic |
@TimvdLippe I don't think we can upgrade lodash from 3.x to 4.x without revving WCT to 7.0. The question for breaking changes is not just whether it breaks Polymer tests, but whether it would break our other users tests. Lodash 4 has a pretty large number of breaking changes. This might apply to other upgrades as well, but the lodash breakages are the ones I'm most familiar with. |
@justinfagnani Yes, WCT 7 is inherent with this change. The impact analysis was mostly how much it would bother our users. E.g. if this change would even make sense if the upgrade is doable. If the impact would be large, an upgrade would just be infeasible. Luckily, while there are breakages, resolving should be doable. Therefore, I think this is feasible :) |
a63ec78
to
4ef2ea1
Compare
This includes the upgrade to Gulp 4 with a rewrite to gulp.series in the gulpfile.js
@TimvdLippe if we do a breaking change to WCT, I'd really rather we just drop all of the implicit dependencies and require that tests actually import the packages that they use. @usergenic is working on a new The only way I'd want to release a new version of |
Yes absolutely. The more I worked on this, the more I realized it's the wrong approach.
I think this is a good idea. The upgrade path would therefore be:
WDYT? |
How will this affect I'd like to create a compatibility list/matrix for |
@hastebrot That should be unaffected. We are just bumping the dependency version numbers |
@TimvdLippe Understood. I see you removed |
Can anything be done to help with this PR? |
@usergenic I think we can close this PR as superseded by #702, no? |
Superseded by some recent PRs. Upgrading lodash 3 would be a breaking change because it's actually injected into the response when running tests, and it's possible for a user to have test code that uses lodash. Thus, we can't remove the "low" vulnerability without a breaking release. |
This upgrades several packages with (critical) vulnerabilities. There is one 1 low vulnerability left in
stacky > lodash
. We maintained stacky (https://github.com/googlearchive/stacky), but it has been unmaintained for 2 years. Moreover,lodash
is actually never used in the code instacky
. Fixing this vulnerability therefore is easy: simply removelodash
fromstacky
, yet the package is no longer updated. Not sure what our options are in that regard.The following list shows the breaking changes in this PR:
mocha
Mocha updated from 3.4.2 to 5.2.0.
Changelists: https://github.com/mochajs/mocha/releases/tag/v4.0.0 and https://github.com/mochajs/mocha/releases/tag/v5.0.0
The breaking changes include removal of old Node versions.
This is not a problem as we support 8+ which still works.
Moreover, IE8, 9 and 10 are no longer supporter.
Again, we do not support these browsers, so this should not be breaking changes for our users.
Expected breaking change impact: None
Chai
Several API updates were made.
Changelist: https://github.com/chaijs/chai/releases/tag/4.0.0
I ran these changes on the Polymer repository.
Out of all tests, there was 1 usage of
sinon.reset()
.All other tests were happily passing.
Expected breaking change impact: Low⚠️
Sinon
Updated from 1.17.1 to 6.0.0.
Changelists: http://sinonjs.org/guides/migrating-to-2.0 and http://sinonjs.org/guides/migrating-to-3.0 and http://sinonjs.org/guides/migrating-to-4.0 and http://sinonjs.org/guides/migrating-to-5.0 and http://sinonjs.org/guides/migrating-to-6.0
There are no user-facing breaking changes for the upgrade to version 6.
The other versions introduce several error-throwing methods and some method removal.
None of these changes were impactful for the Polymer repository.
Expected breaking change impact: (Very) Low⚠️
Sinon-chai
Updated from 2.10.0 to 3.2.0.
Changelist: https://github.com/domenic/sinon-chai/releases/tag/v3.0.0
The breaking changes include removal of old Node versions.
This is not a problem as we support 8+ which still works.
Expected breaking change impact: None
Lodash
Updated from 3.10.1 to 4.17.10.
Changelist: https://github.com/lodash/lodash/wiki/Changelog#compatibility-warnings
These changes include quite some updates to methods.
However, Polymer core does not make use it and I was unable to find other usages of Lodash in our organisations: Polymer and PolymerElements.
(There are usages, but they are in node_modules fixtures of modulizer or implementation of our Node tooling)
Expected breaking change impact: (Very) Low⚠️
Async
Updated from 1.5.2 to 2.6.1.
Changelist: https://github.com/caolan/async/releases/tag/v2.0.0
I was unable to find any usage of this particular package in our test suites.
The Polymer core repository was doing fine without this.
Not sure what the purpose of this package is and what the impact of the method updates is.
Expected breaking change impact: (Very) Low⚠️
Fixes #418