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

chore(deps): update dependencies #338

Merged
merged 2 commits into from
May 22, 2020

Conversation

hamzahamidi
Copy link
Collaborator

@hamzahamidi hamzahamidi commented May 22, 2020

dependencies

  • "@typescript-eslint/parser": "^3.0.0"
  • "eslint": "^6.8.0"
  • "typescript": "^3.9.3"
  • "vue-eslint-parser": "~7.1.0"

devDependencies

  • "ajv": "^6.12.2"
  • "babel-jest": "^25.0.0"
  • "jest": "^25.0.0"
  • "jest-cli": "^25.0.0"
  • "prettier-eslint-cli": "^5.0.0"

@codecov-commenter
Copy link

codecov-commenter commented May 22, 2020

Codecov Report

Merging #338 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##            master      #338   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         2           
  Lines          208       208           
  Branches        42        42           
=========================================
  Hits           208       208           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fb19c6e...2b929c2. Read the comment docs.

@hamzahamidi hamzahamidi changed the title chore: update dependencies chore(dep): update dependencies May 22, 2020
@hamzahamidi hamzahamidi changed the title chore(dep): update dependencies chore(deps): update dependencies May 22, 2020
@hamzahamidi hamzahamidi merged commit 29e9d1e into prettier:master May 22, 2020
@hamzahamidi hamzahamidi deleted the build/update-dependencies branch May 22, 2020 16:32
@chrisbobbe
Copy link
Contributor

chrisbobbe commented May 22, 2020

Hi @hamzahamidi! I saw at #275 (comment) that you're taking over maintainership of this repo. Thanks a lot!

Thanks for these updates here. This one, in particular, looks like it's necessary for guaranteed support of ESLint 6:

-   "@typescript-eslint/parser": "^1.10.2",
+   "@typescript-eslint/parser": "^3.0.0",

because @typescript-eslint/parser at 1.10.2 has ESLint 5 as a peer dependency (link), and not ESLint 6.

@typescript-eslint/parser at 3.0.0 has moved on to ESLint 7, but, thankfully, it still has ESLint 6 as a peer dependency (link). (It also has ESLint 5.)

It looks like there were several automatically generated PRs from the in-between-maintainers times, that look like they would have granted ESLint 6 support (with ESLint 5 compatibility) before the 10.0.0 release of this package. This would have been done by using @typescript-eslint/parser at 2.x.x, which has ESLint 6 and 5 compatibility (2.34.0, 2.0.0). Those are #273, #274, #276, #282, #286, #290, #292, #294, #297, #299, #302, #303, #304, #308, #311, #314, #317, #320, #321, #323, #329, #330, and #333. (These auto-generated PRs easily fall through the cracks, especially when they also auto-close!) Anyway, no harm done, and I'm looking forward to the release of the commit in this PR.

Thanks again!

hamzahamidi added a commit that referenced this pull request May 24, 2020
perf: Trigger patch release since commit message in #338 was malformed.
hamzahamidi added a commit to hamzahamidi/prettier-eslint that referenced this pull request May 24, 2020
since commit message in prettier#338 was malformed.
hamzahamidi added a commit that referenced this pull request May 24, 2020
since commit message in #338 was malformed.
@zimme
Copy link
Member

zimme commented May 24, 2020

🎉 This PR is included in version 10.1.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

@zimme zimme added the released label May 24, 2020
@chrisbobbe
Copy link
Contributor

Thank you!!

chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request May 29, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request May 29, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request May 29, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.

Closes: zulip#4120
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request Jun 11, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.

Fixes: zulip#4120
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request Jun 11, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.

Also run `yarn yarn-deduplicate && yarn` as prompted by
`tools/test deps`.

Fixes: zulip#4120
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request Jul 13, 2020
We're not quite ready for ESLint 7 because several of our plugins
don't support it yet. Fair enough; 6.8.0 is the latest on ESLint 6.

Apart from that, I was aware of some specific minimum versions of
things we'll need, so I just made those tweaks on that basis:

- `prettier-eslint` at 10.1.1 is the minimum that I'm confident has
  full ESLint 6 support; see my comment there at
  prettier/prettier-eslint#338 (comment).

- `eslint-config-airbnb` at 18.1.0, I'd discovered earlier, has
  6.8.0 as a peer dep. I checked to see if 18.1.0 is the latest
  version, and it is.

Otherwise, I just followed the trail of peer dependency warnings
until I could run `rm -rf node_modules && yarn` without any
warnings. It's likely that this would have given the same outcome
for `prettier-eslint` and `eslint-config-airbnb`, but it's not what
I did for those.

Fixes: zulip#4120
chrisbobbe added a commit to chrisbobbe/zulip-mobile that referenced this pull request Aug 11, 2020
This reverts commit 01593b3.

We should redo the upgrade when we can take a version of
`prettier-eslint` in which `core-js` is re-introduced as a
dependency; prettier/prettier-eslint#348 is the closest issue for
that. The commands listed in 01593b3 should make it easy to redo
the upgrade mechanically, and without having to think about rebase
conflicts.

The version (11.0.0) of `prettier-eslint` that we got in 01593b3
was affected by a bug with symptoms quite similar to ones we see
with the Prettier VSCode extension (a.k.a. `esbenp.prettier-vscode`)
at version 5 and above [1]. We'll have to resolve the problem with
the VSCode extension at some point (see discussion for a likely way
we'll do that), since we can't assume it will always be fine to stay
below version 5, and version 5 causes problems because of an
intentional design change.

But, from experimentation, it appears that this time the problem is
just caused by `prettier-eslint` not having the right version of
`core-js`. At 10.1.0, the latest version before the problem starts
happening, we can remove
`node_modules/prettier-eslint/node_modules/core-js`, and we see the
problem. Version 10.1.1, which ships with the problem, removed
`core-js` as a dependency, and an issue with a different bad symptom
(prettier/prettier-eslint#348) was soon filed, and a PR
(prettier/prettier-eslint#359) came along to add `core-js` back in.

We can't just back up to version 10.1.0, because then we're at risk
of it not working with ESLint 6 [2]. So, just revert the entire
ESLint 6 upgrade.

[1] https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/SOLVED.3A.20Prettier.20auto-formatting/near/893164
[2] prettier/prettier-eslint#338 (comment)
gnprice pushed a commit to chrisbobbe/zulip-mobile that referenced this pull request Aug 11, 2020
This reverts commit 01593b3.

We should redo the upgrade when we can take a version of
`prettier-eslint` in which `core-js` is re-introduced as a
dependency; prettier/prettier-eslint#348 is the closest issue for
that. The commands listed in 01593b3 should make it easy to redo
the upgrade mechanically, and without having to think about rebase
conflicts.

The version (11.0.0) of `prettier-eslint` that we got in 01593b3
was affected by a bug with symptoms quite similar to ones we see
with the Prettier VSCode extension (a.k.a. `esbenp.prettier-vscode`)
at version 5 and above [1]. We'll have to resolve the problem with
the VSCode extension at some point (see discussion for a likely way
we'll do that), since we can't assume it will always be fine to stay
below version 5, and version 5 causes problems because of an
intentional design change.

But, from experimentation, it appears that this time the problem is
just caused by `prettier-eslint` not having the right version of
`core-js`. At 10.1.0, the latest version before the problem starts
happening, we can remove
`node_modules/prettier-eslint/node_modules/core-js`, and we see the
problem. Version 10.1.1, which ships with the problem, removed
`core-js` as a dependency, and an issue with a different bad symptom
(prettier/prettier-eslint#348) was soon filed, and a PR
(prettier/prettier-eslint#359) came along to add `core-js` back in.

We can't just back up to version 10.1.0, because then we're at risk
of it not working with ESLint 6 [2]. So, just revert the entire
ESLint 6 upgrade.

[1] https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/SOLVED.3A.20Prettier.20auto-formatting/near/893164
[2] prettier/prettier-eslint#338 (comment)
chrisbobbe added a commit to zulip/zulip-mobile that referenced this pull request Aug 12, 2020
A redo of 01593b3, after we reverted it in e3e8d9a.

One thing we realized [1] is that we don't have to wait for
`prettier-eslint` to fix the problem of its missing `core-js`
dependency; we can provide it ourselves. We do so by just adding it
directly to our own `dependencies`.

So, in addition to the commands listed in 01593b3, also run
`yarn add core-js@^3.1.4`. We choose ^3.1.4 because that's what was
there before prettier/prettier-eslint#338. The open PR I mention in
e3e8d9a (prettier/prettier-eslint#359) suggests ^3.6.5, but it
seems to do so at random; might as well approach as closely as
possible a configuration that we know works.

Now, we have the ESLint upgrade, and format-on-save works as
expected.

[1] https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/SOLVED.3A.20Prettier.20auto-formatting/near/982426

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

Successfully merging this pull request may close these issues.

4 participants