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

Switch browserify to webpack or other bundler #11366

Labels
accepted There is consensus among the team that this change meets the criteria for inclusion archived due to age This issue has been archived; please open a new issue for any further discussion build This change relates to ESLint's build process core Relates to ESLint's core APIs and features

Comments

@g-plane
Copy link
Member

g-plane commented Feb 9, 2019

The problem you want to solve.
Browserify isn't under active development. Should we consider switching to webpack or other bundler?

This not only relates browserify only, but also other build tool. For example, we can use babel-loader or rollup-plugin-babel instead of babelify.

Your take on the correct solution to problem.

  1. Remove browserify from the build steps of ESLint.
  2. Add webpack or other bundler.
  3. Update the Karma config, and use some preprocessors if necessary.

Are you willing to submit a pull request to implement this change?
Yes.

@g-plane g-plane added build This change relates to ESLint's build process core Relates to ESLint's core APIs and features evaluating The team will evaluate this issue to decide whether it meets the criteria for inclusion labels Feb 9, 2019
@ilyavolodin
Copy link
Member

ESLint doesn't currently compile out of the box when using webpack or rollup (as far as I know). It needs some tweaking. Not really sure it's worth the change, since we only support web build for the website, and that works perfectly fine for now. But if you want to investigate - that's fine by me.

@g-plane
Copy link
Member Author

g-plane commented Feb 11, 2019

webpack has a concept of "mode" now, which simpilifies the configuration.

@ilyavolodin
Copy link
Member

"mode" is just a bundled set of configuration settings for debugging vs. production, so I'm not sure how this is going to help. What wasn't working, as far as I remember is loading rules from the file system.

@g-plane
Copy link
Member Author

g-plane commented Feb 12, 2019

We can generate a JavaScript file for loading rules when building with bundler.

@kaicataldo
Copy link
Member

kaicataldo commented Feb 13, 2019

There's been some previous discussion about this (see #9478), but it looks like discussion stalled. I would be all for switching out browserify in favor of Webpack. It sounds like @g-plane is willing to do this work and I'd also be willing!

@nzakas
Copy link
Member

nzakas commented Feb 18, 2019

There is an approved PR for this change: #11398

Are we comfortable with marking this issue as accepted and merging the PR?

@aladdin-add
Copy link
Member

Agreed. we had 5+ 👍 from the team members, and seems no objections.

@ilyavolodin ilyavolodin added accepted There is consensus among the team that this change meets the criteria for inclusion and removed evaluating The team will evaluate this issue to decide whether it meets the criteria for inclusion labels Feb 18, 2019
@eslint-deprecated eslint-deprecated bot locked and limited conversation to collaborators Aug 18, 2019
@eslint-deprecated eslint-deprecated bot added the archived due to age This issue has been archived; please open a new issue for any further discussion label Aug 18, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.