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

Unexpected deprecation notice #2464

Closed
ghost opened this issue Jun 5, 2017 · 17 comments
Closed

Unexpected deprecation notice #2464

ghost opened this issue Jun 5, 2017 · 17 comments

Comments

@ghost
Copy link

ghost commented Jun 5, 2017

Output of bower -v && npm -v && node -v:

1.8.0
3.10.3
v6.3.1

Additional environment details (proxy, private registry, etc.):
N/A

Steps to reproduce the issue:

git clone git@github.com:cla-assistant/cla-assistant.git && (cd cla-assistant && npm i)

Describe the results you received:

npm WARN deprecated bower@1.8.0: ..psst! While Bower is maintained, we recommend Yarn and Webpack for *new* front-end projects! Yarn's advantage is security and reliability, and Webpack's is support for both CommonJS and AMD projects. Currently there's no migration path but we hope you'll help us figure out one.

Describe the results you expected:
No warning. No statement of recommendation for Yarn or Webpack.

Additional information:
You're stating public support for a package management tool with an unproven track record which is currently in development with close to 800 open issues. I question the merits behind this direction, especially for a package manager which downloads unexpected dependencies and closes issues before they're resolved. I have feelings about Webpack. But let's start with Yarn because Webpack at least is not still sitting on a point release.

Furthermore, if Bower is no longer a thing the candle which was lit for front-end package managers becomes absolved by an ecosystem (Node) which does not nor will have anytime soon support for ES6 modules - the future of how we will build JavaScript for the browser.

Related: #2452

@shelldandy
Copy link

bower died since 2013 just npm install your stuff

@ghost
Copy link
Author

ghost commented Jun 7, 2017

Node and browser are two very different things with very different goals. Backwards compatibility being one of them. Otherwise we wouldn't've had 17 different wrapper types prior to ES6. As far as I know Bower also has never forcefully removed a developers package (kik) and given it to a corporation. If everyone used the same tools there would be no choice and, hence, there would be little innovation. I stand firm on this issue.

@vanilla-thunder
Copy link

i do not understand the reason for recommending some other tools for different use cases.
Yarn is supposed to be better npm, as far as i understand, but npm is not an easy to use front end package manager, so is yarn.
Also yarn dropped bower support last year.
even composer is better for front end dependencies than yarn or webpack.

@shelldandy
Copy link

Like 95% of bower installable things also have a package.json file right there, so the install process wouldn't really be that different you may have to change some paths on your compilations tasks but thats about it 😄

@vanilla-thunder
Copy link

sure, most bower plugins might have it, but bower itself is more than just a repository. With bower you can manage almost everything, like templates and plugins for eCommerce plattforms, packages from private repositories, or even backend dependencies no matter in what language they are written in. Bower is an universal easy to use tool.

@ghost
Copy link
Author

ghost commented Jun 10, 2017

If you can't beat 'em, join them.

@ghost ghost closed this as completed Jun 10, 2017
@ghost
Copy link
Author

ghost commented Jun 10, 2017

With bower you can manage almost everything

FWIW I'm using NPM to manage front-end dependencies for a theme I created for Hugo. I kind of like the idea of not having to manage a bower.json (originally called package.json, before they switched) in addition to my other package manifest. I'm dropping support for bower in my fetch-inject module. Bower had a good vision, but NPM had the momentum.

I still disagree with promoting other tools. But I'm not going to hold an issue hostage on a deprecated tool. Thanks for all Bower has accomplished. May it go quietly into the night. Cheers.

@pedrosanta
Copy link

pedrosanta commented Jun 17, 2017

@jhabdas for more of that front-end quick dependency setup, given that basically I feel bower was 'sabotaged' from the inside, I've looked to http://duojs.org, or even https://cdnjs.com lately. Cheers.

@Grinderofl
Copy link

So I just now had to add a --silent flag to the npm part of the build scripts get an unmodified project to build on the build server because out of bloody nowhere, a random warning on top of the build log appeared which caused the entire process to be killed! Now we won't be notified if there's an actual error in the npm part of build :D

Was it really so difficult to make a new version and put the message there instead? Nope, it had to be added on top of every single version that I tried down to 1.1.0. Cheers for another reason to use JS-based tools even less...

@shelldandy
Copy link

@Grinderofl lol you do understand this is open source and no one owes you anything right? if you want control build it yourself, or make a fork 😄

im grateful for bower even though I don't use it anymore

@ghost
Copy link
Author

ghost commented Jun 23, 2017

I just thought of something super funny. Because of this deprecation NPM is about to become flooded with front-end packages which will never work on Node. Bahahaahaha. 🤣

@Mike3run Anytime a major corporation uses their power to push an open source project forward God kills a kitten. Think of the kittens.

@shelldandy
Copy link

shelldandy commented Jun 23, 2017 via email

@shelldandy
Copy link

npm install user/repo#branch

@sheerun
Copy link
Contributor

sheerun commented Jun 25, 2017

@jhabdas It isn't mentioned in yarn's release nodes (ping @arcanis), but I've implemented feature in 0.27.0 that allows installing packages without package.json. You can try it by:

npm install -g yarn@0.27.0
yarn add bestander/chrome-app-livereload

It might be buggy, but still it should allow installing bower packages without uploading them to npm.

@sheerun
Copy link
Contributor

sheerun commented Jun 25, 2017

Whoops, it seems 0.27.0 doesn't include this change yet. But I hope you get the idea.

@ghost
Copy link
Author

ghost commented Jun 25, 2017

@sheerun Totally. Great idea. Feels like this bower deprecation notice may push the onus onto Yarn to invent a new package repository. It was a subtle and sly way for Twitter to bone the community assuming they knew what they were doing (it's a cost center move, for sure).

Maybe jsDelivr could come to the rescue somehow. They're already crawling all of NPM and do some really slick HTTP/2 stuff which may help further speed up Yarn. Don't know what the right way forward is for the community but I have no qualms personally with bastardizing the package spec.

/cc @jimaek

@ghost
Copy link
Author

ghost commented Jun 25, 2017

Also, please read this if you haven't seen it yet: https://hackernoon.com/why-everyone-missed-the-most-important-invention-in-the-last-500-years-c90b0151c169. I promise it will elicit some creative ideas on how to manage packages in the future.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

5 participants