-
-
Notifications
You must be signed in to change notification settings - Fork 54
RFC wanted: Migration plan off of bower. #41
Comments
in broad strokes my thoughts are:
|
Until Ember Twiddle has support for addons, we will be relying on bower compatibility for all dependencies, including ember and ember-data. cc/ @joostdevries @alexspeller |
@Gaurav0 unless I'm missing something that seems somewhat orthogonal to ember-cli providing bower by default or not, as ember/ember-data etc are committed to continue publishing to bower, the earliest they may change this is at 3.0, but if they will or not is undecided. |
@stefanpenner Thanks for clarification. |
I think that in order to remove bower, it's important to make the NPM story better for CLI. Just the Ember CLI part, I'm not talking about fixing NPM's issues). For example, right now I can't |
yes but that isn't a requirement to continue decoupling, bower will continue to be optional etc. To address the NPM issue, the solution will be to resurrect @chadhietala's work, which we intend to actually do after we drop bower. As that was actually one of the biggest pain points for that effort (where ember/ember-data/loader/jquery etc came from) |
How can we decouple (and migrate off of) bower if there is no easy way to Do you have a link or more info about Chad's work? Are you referring to the
|
People can still use bower, ember-cli just wont enforce it for any core libraries. The complexity was for libraries related to bootstraping the app, loader/ember/test stuff etc. In the interim people can write wrapper add-ons, or us ember-browserify for top level deps.
yes, which basically just made browserify work at any addon level, and also made esnext flag "just work" on any level. Post de-bowering, we will explore ^ again. |
That seems like a really high barrier for front-end NPM libs. I get the need for browserify for CJS modules, but what if something is using globals or umd? For example, getting |
lgtm seems to have Typically things on npm, work reasonably with browserify, or if they ship es6 esnext:main, which in both scenarios would "just work" with chads work. Also note, bower support wont be provided by default, but it would exist as an addon. And when ember-cli discovers an addon that still depends on bower is used, it would warn but auto-install the compat add-on. |
@MiguelMadero you seem to be concerned about something, but migrating off bower (or leaving it) wont change your concerns. The state will remain basically the same, except that core dependencies will finally only use npm. Which will allow us to simplify the build, and let us resurrect chads work. (which this one aspect complicated quite abit), ultimately that work will give users a much better solution to your concerns then the current state. |
I'm probably missing something here. Do you mean it will "just work" after Chad's work is ready? Or is there a way to do this today? AFAIK, we don't process anything from vendor trees, right? All that said, I think the goal of this is different than what I was thinking. Sounds like the plan is to allow ember CLI to migrate off of bower and not (yet) to allow our apps to migrate off of bower. For that, I think Chad's work is the ultimate goal and there might other interim steps which we could discuss separately. |
The default ember-cli install will not require bower, if users use bower stuff we will try to detect and install a an add-on that brings it back (aka "just work"). We will encourage (when possible) users to avoid, and then continue to improve the experience, with the long term goal of not requiring bower at all for anyone anymore. |
I think this is the part that I think is important to cover and I was alluding to. Before we encourage users to avoid bower, I think we need to at least enable |
@MiguelMadero are you interested in fleshing out that material? As it seems valuable, but I also don't want to block this work on it. |
Sounds good. |
Related to ember-cli#41
@stefanpenner I created an RFC for this. You can see it on MiguelMadero@0d9dfd5 |
@MiguelMadero 👍 I hacked together an addon a couple months ago to eliminate all the funneling boilerplate in our internal apps/addons – it would be great to see first class support land in ember-cli itself, even if not in the immediate future |
\w emberjs/ember.js#13022 landed, this needs to be restarted |
I think we're roughly where we want to be ;) |
We need an RFC for the migration plan off of bower. This RFC should address:
Possible approaches:
Notes:
The text was updated successfully, but these errors were encountered: