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

feat!: require ESLint as a peer dependency #3852

Merged
merged 2 commits into from Apr 22, 2019

Conversation

@sodatea
Copy link
Member

sodatea commented Apr 19, 2019

BREAKING CHANGE:
Users will have to explicitly list their required ESLint version in the
project's package.json.

The major concern behind this change is that ESLint release schedule is
never aligned with Vue CLI's.
See https://eslint.org/blog/2019/04/eslint-v6.0.0-alpha.0-released
So even if we upgraded our built-in ESLint version to v5, we'll see a
new major release of ESLint in the coming months. Meanwhile the built-in
ESLint version can't be easily upgraded again without bumping Vue CLI's
major version number. This could become a maintenance nightmare.

BREAKING CHANGE:
Users will have to explicitly list their required ESLint version in the
project's package.json.

The major concern behind this change is that ESLint release schedule is
never aligned with Vue CLI's.
See https://eslint.org/blog/2019/04/eslint-v6.0.0-alpha.0-released
So even if we upgraded our built-in ESLint version to v5, we'll see a
new major release of ESLint in the coming months. Meanwhile we can't
easily upgrade the built-in ESLint version again without bumping our
major version number. This could become a maintenance nightmare.
@sodatea

This comment has been minimized.

Copy link
Member Author

sodatea commented Apr 19, 2019

Note:
If I recall correctly, the babel-eslint dependency in @vue/cli-plugin-eslint is only used for support of dynamic import parsing in ESLint.

babel/babel-eslint#711
Bad news: babel-eslint v11 requires a peer dependency of @babel/core, which, will definitely confuses those who don't need babel support in their projects.

Good news:
ESLint does not support dynamic import only because it is still a stage-3 proposal.
According to the TC39 meeting notes in March https://github.com/rwaldron/tc39-notes/blob/master/es10/2019-03/mar-28.md#dynamic-import-for-stage-4-in-june
The proposal is likely to move to stage 4 in June. Hopefully ESLint will follow up soon and then we can get rid of this extraneous dependency (Well, will need to move it to @vue/cli-plugin-babel, actually).

@sodatea sodatea merged commit 42c2b71 into vuejs:next-major Apr 22, 2019
7 checks passed
7 checks passed
ci/circleci: cli-ui Your tests passed on CircleCI!
Details
ci/circleci: group-1 Your tests passed on CircleCI!
Details
ci/circleci: group-2 Your tests passed on CircleCI!
Details
ci/circleci: group-3 Your tests passed on CircleCI!
Details
ci/circleci: group-4 Your tests passed on CircleCI!
Details
ci/circleci: install Your tests passed on CircleCI!
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
sodatea added a commit that referenced this pull request Apr 30, 2019
BREAKING CHANGE:
Users will have to explicitly list their required ESLint version in the
project's package.json.

The major concern behind this change is that ESLint release schedule is
never aligned with Vue CLI's.
See https://eslint.org/blog/2019/04/eslint-v6.0.0-alpha.0-released
So even if we upgraded our built-in ESLint version to v5, we'll see a
new major release of ESLint in the coming months. Meanwhile we can't
easily upgrade the built-in ESLint version again without bumping our
major version number. This could become a maintenance nightmare.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.