Remove bower and put dependencies elsewhere #34

Closed
danman01 opened this Issue Dec 20, 2017 · 8 comments

Comments

Projects
None yet
5 participants
@danman01

danman01 commented Dec 20, 2017

Ember is no longer supplied via Bower as of 2.11, and now the ember-cli will not automatically generate a bower.json file: https://ember-cli.com/managing-dependencies

It's "going the way of the dodo" 馃槶 馃惁

Things to think about:

  • should we remove Bower? If so, now or in the future?
  • if so, should we remain on npm vs yarn? Yehuda Katz prefers Yarn
    • why change? This looks top of people's priority list: npm is nondeterministic, whereas yarn is deterministic, meaning:

      nondeterministic = npm's behavior; two different npm installs on the same package.json might produce different results
      deterministic = yarn's behavior; two different yarn installs on the same package.json (and lockfile) always produce the same results.
      Deterministic just means reproducible results, both now and in the future, and implies that there's no random-ness involved. 1 + 1 has a deterministic result. Math.random() does not.

How to: https://gofore.com/stop-using-bower/

@danman01

This comment has been minimized.

danman01 commented Jan 30, 2018

Looks like we're still on ember 2.10, but when we upgrade to >~ 2.16 (#37) might be good to remove Bower and simplify our dependencies

@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Jan 30, 2018

we updated the ember version but haven't pushed up the code yet

@caleb-pearce

This comment has been minimized.

Contributor

caleb-pearce commented Jan 30, 2018

I think we should listen to the Ember maintainers on this one -- if they say it's deprecated we shouldn't use it. It's also one less thing that developers have to wonder about, and one less command for them to remember.

To me, switching to Yarn is a separate discussion. I don't think I'd be in favor though -- NPM seems to be way more common in the wild, which makes it a good thing for our devs to know.

@MicFin

This comment has been minimized.

Contributor

MicFin commented Jan 30, 2018

Doesn't look like too much heavy lifting to go from bower to npm.

I like the idea of minimizing our tooling, and for that reason I think npm > yarn

@payne-chris-r

This comment has been minimized.

Contributor

payne-chris-r commented Jan 30, 2018

I agree that we should do whatever Ember says to do. I thought that was yarn. Also, isn't the intent of the new package-lock.json file supposed to prevent this?

nondeterministic = npm's behavior; two different npm installs on the same package.json might produce different results
@MicFin

This comment has been minimized.

Contributor

MicFin commented Jan 30, 2018

@tvlangley in regards to the remaining bower files still in ember cli, see https://github.com/ember-cli/ember-cli/pull/6631

@payne-chris-r

This comment has been minimized.

Contributor

payne-chris-r commented Jan 30, 2018

I'm ok with whatever is easiest for the moment, but if it's not that much harder to go to npm than it is to go to whatever is recommended, I vote for whatever the community voted for.

@MicFin

This comment has been minimized.

Contributor

MicFin commented Jan 30, 2018

It's just opinion and the transition to either is incomplete. There are lots of voices on the "use npm and dont add tools when a tool you already use can do the job" side. And then also on the "but yarn is a tool thats really good at this" side too. Seems like Ember will end up landing on yarn but maybe not for many versions.

I think maybe for WDI, we should stick with using npm and not introduce another tool if we don't need to. Then when we need to, if we are still delivering ember material, we can adjust.

Might be a good topic for team meeting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment