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

Deprecate and finally drop Bower support #406

Closed
parisk opened this issue Dec 13, 2016 · 8 comments
Closed

Deprecate and finally drop Bower support #406

parisk opened this issue Dec 13, 2016 · 8 comments
Assignees
Labels
breaking-change Breaks API and requires a major version bump type/proposal A proposal that needs some discussion before proceeding
Milestone

Comments

@parisk
Copy link
Contributor

parisk commented Dec 13, 2016

I think it's time to deprecate support for Bower gracefully and eventually drop it completely in the next major release (3.0.0).

This is a topic that has been discussed a little bit in the past, but I always argued against it since we had users that preferred to use xterm.js via Bower.

Eventually I changed my mind after seeing the weird things that can happen with the built files checked out in the repo and reading codemirror/codemirror5#4328 (comment), which actually states the fundamental design issue of Bower: it confuses source repositories (like this) with distribution mechanisms.

To the point, I propose taking the following steps to make sure that this goes as gracefully as possible for our users:

  1. Create a new xtermjs/bower repository, where we will point the xterm.js Bower package and push the built files of each release there (starting with the current one).
  2. Remove dist from this repository completely, ignore it from Git and include it in NPM distributions
  3. Stop updating the xtermjs/bower repository starting from version 3.0.0

/cc @Tyriar

@parisk parisk added the type/proposal A proposal that needs some discussion before proceeding label Dec 13, 2016
@Tyriar
Copy link
Member

Tyriar commented Dec 13, 2016

🎆 🎉 🎇

@parisk parisk added this to the 3.0.0 milestone Dec 13, 2016
@parisk parisk self-assigned this Dec 31, 2016
@kvanbere
Copy link

Just pulled xterm using bower, is this deprecation necessary? Probably wouldn't use it if it isn't available on bower.

@Tyriar
Copy link
Member

Tyriar commented Jan 23, 2017

@kvanberendonck bower puts additional burden on package maintainers (namely keeping compiled files in the tree and additional release steps) is the main reason for dropping. Any reason you don't use the npm package and bundle it with your bundler of choice?

@kvanbere
Copy link

We generally don't use npm except for build system dependencies. The build system spans across multiple related parts of the project, and each has its own set of bower dependencies and versions

@parisk
Copy link
Contributor Author

parisk commented Jan 24, 2017

@kvanberendonck the main issue with Bower it that it has adopted a practice which is problematic for projects like ours; it has equated the repository with the distribution of the package.

This means what @Tyriar said, maintaining compiled files in tree (which is quite confusing for new contributors), adding additional release steps (extra commit) and be always careful not to commit a new file in dist (as it cannot be .gitignored).

What we will do at first is create a new repository, which will replace the old one in bower (this requires no change by you).

Next from version 3.0.0, we will stop maintaining this repository completely, so you will have to change the way you download xterm.js.

What we could do though, is publish the build artifact as to our GitHub Releases, so you can use the tar/zip URL format in your dependencies.

@Tyriar
Copy link
Member

Tyriar commented May 20, 2017

Bower has been deprecated bower/bower#2298

We should have 2.6 as the last bower ready release imo.

This was referenced Jul 28, 2017
@Tyriar Tyriar added the breaking-change Breaks API and requires a major version bump label Aug 8, 2017
Tyriar added a commit to Tyriar/xterm.js that referenced this issue Aug 12, 2017
Tyriar added a commit to Tyriar/xterm.js that referenced this issue Aug 12, 2017
Tyriar added a commit to Tyriar/xterm.js that referenced this issue Aug 12, 2017
@Tyriar Tyriar closed this as completed Aug 17, 2017
@Greenek
Copy link

Greenek commented Jan 13, 2018

If anyone is looking for xterm.js>=3.0 in bower repo, you can use bower install --save xterm.js-next. It's my fork created for personal use, but I try to keep it updated.

@Tyriar
Copy link
Member

Tyriar commented Jan 13, 2018

@Greenek thanks for taking that up! 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change Breaks API and requires a major version bump type/proposal A proposal that needs some discussion before proceeding
Projects
None yet
Development

No branches or pull requests

4 participants