# Ember CLI in 2018

**URL:** https://discuss.emberjs.com/t/ember-cli-in-2018/14304
**Category:** Ember CLI
**Created:** [February 27, 2018, 8:02pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304 "2018-02-27T20:02:57Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![twokul](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/twokul/32/13811_2.png) [@twokul](https://discuss.emberjs.com/u/twokul)
#### Post date: [February 27, 2018, 8:02pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/1 "2018-02-27T20:02:57Z")

</div>

Hey all!

Ember CLI core team would love to get your feedback on the 2018 roadmap: features, improvements, pain points, and anything that would improve your DX.

Here’s what we are planning to discuss during EmberConf:

- Tree-shaking/Code Splitting/Dynamic Imports/out-of the-box npm support (already underway)
- Yarn Workspace support
- Improved documentation (potentially merge with Emberjs website)
- Drop support for Node 4
- Remove broccoli-builder fork (this will let us take advantage of the system `$TMPDIR` and remove `tmp` folder)
- Deliver Module Unification
- Make errors more ergonomic (potentially introduce [error index](https://doc.rust-lang.org/error-index.html)).
- Web/Service Worker Support
- Better PWA support

_Updates based on the feedback_:

- Working sourcemaps (for small and large apps)
- Reducing build & reload times/easier debugging of slow build times (identify and reason about slow build steps; the ability to identify add-ons that don’t cache properly)
- Improved documentation:
  - how to write fast addons, use Broccoli, and on all the hooks
  - best practices
  - naming conventions (e.g. does ember-cli-\* and ember-\* actually mean anything?)
  - better blueprints (e.g. index.js could include all available hooks as blank functions)

- Plan forward for Ember Fastboot
- Plan forward for Ember Engines (difficult to understand; lazy loading should be much easier to setup)
- Plans for supporting the upcoming Babel 7
- Direct native npm imports
- Import Ember microlibs in Node.js

[Link to assembled discussion bullet points](https://paper.dropbox.com/doc/Ember-CLI-2018-Roadmap-discussion-bullet-points-778Yi4uGiC4QpTI5KkHoE)

We are looking forward to your feedback. If you have any questions, do reach out to us in Slack channel: [-ember-cli](https://slack.com/app_redirect?channel=C045BNHAP)

---

<div class="post-metadata">

### Author: ![HeroicEric](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/heroiceric/32/18432_2.png) [@HeroicEric](https://discuss.emberjs.com/u/HeroicEric)
#### Post date: [February 27, 2018, 9:17pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/2 "2018-02-27T21:17:59Z")

</div>

That stuff all sounds great 🙂

I think another area that would have a huge impact on our daily lives while working on ember apps is reducing the build time.

---

<div class="post-metadata">

### Author: ![Gaurav0](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/gaurav0/32/4704_2.png) [@Gaurav0](https://discuss.emberjs.com/u/Gaurav0)
#### Post date: [February 27, 2018, 10:16pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/3 "2018-02-27T22:16:56Z")

</div>

I’m glad better docs are on there. I would particularly like to see docs on how to write fast addons, use Broccoli, and on all the hooks.

---

<div class="post-metadata">

### Author: ![patocallaghan](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/patocallaghan/32/15612_2.png) [@patocallaghan](https://discuss.emberjs.com/u/patocallaghan)
#### Post date: [February 27, 2018, 10:36pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/4 "2018-02-27T22:36:18Z")

</div>

I’m excited to see a lot of these ship. Some things that come to mind:

- Easier debugging of slow build times. For instance, making it easier to identify and reason about slow build steps or the ability to identify addons that don’t cache properly.
- JS Sourcemaps improvements for large apps. They are currently extremely slow and pretty much unusable.
- Ember Engines (although probably not strictly an Ember CLI team concern)
- Also any plans for supporting the upcoming Babel 7

---

<div class="post-metadata">

### Author: ![deff](https://avatars.discourse-cdn.com/v4/letter/d/85f322/32.png) [@deff](https://discuss.emberjs.com/u/deff)
#### Post date: [February 27, 2018, 10:44pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/5 "2018-02-27T22:44:07Z")

</div>

Absolutely rebuild+reload times. Especially on bigger apps, waiting on each save, tens/hundreds of times a day, is a major waste of developer time and focus.

---

<div class="post-metadata">

### Author: ![brandynbennett](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/brandynbennett/32/13684_2.png) [@brandynbennett](https://discuss.emberjs.com/u/brandynbennett)
#### Post date: [February 27, 2018, 10:55pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/6 "2018-02-27T22:55:24Z")

</div>

I think all of that sounds amazing. Ya’ll are the best.

---

<div class="post-metadata">

### Author: ![broerse](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/broerse/32/9497_2.png) [@broerse](https://discuss.emberjs.com/u/broerse)
#### Post date: [February 27, 2018, 11:32pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/7 "2018-02-27T23:32:36Z")

</div>

This sounds good. Perhaps settle on some `deploy` default so ember-cli can optimize more based on what we are deploying. The `deploy` can than split vendor.js in a browser tread and Web/Service Worker treads to get even more speed.

---

<div class="post-metadata">

### Author: ![bgentry](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/bgentry/32/10102_2.png) [@bgentry](https://discuss.emberjs.com/u/bgentry)
#### Post date: [February 27, 2018, 11:38pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/8 "2018-02-27T23:38:06Z")

</div>

It’s pretty frequent for me to see huge variability in my first build times. Sometimes the time jumps from ~20s to around 60-70s. Sometimes that’s right after updating addons, but often it occurs from just a restart of `ember serve`.

In almost all cases, the time goes back down to the normal range just by blowing away `tmp` and `dist` and restarting `ember serve`.

It would be a huge quality-of-life improvement if I never had to deal with the rebuild process inexplicably taking way longer than a fresh build.

Otherwise the list of priorities sounds great! Keep up the good work. 👏

---

<div class="post-metadata">

### Author: ![Elisha.Ebenezer](https://avatars.discourse-cdn.com/v4/letter/e/e36b37/32.png) [@Elisha.Ebenezer](https://discuss.emberjs.com/u/Elisha.Ebenezer)
#### Post date: [February 28, 2018, 5:53am UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/9 "2018-02-28T05:53:37Z")

</div>

From my experience, I see ember-cli is extremely slow on windows, while the same app builds very fast on \*nix (including mac) environments.

We did follow the instructions for ember-cli-windows and the issue persists still. Another thing we notice is the “so-called” anti-virus kicks in every time we build ember apps.

Working in a corporate environment where we do not have any\* say on the exclusions, we have no choice but to wait for AV to complete it scanning (which takes around 10 - 15 minutes or more at times).

And these build times are the major roadblock to increasing ember utilization in a corporate world.

Any possibility of having anti-virus not to be too much suspicious on ember-cli would be of great help.

---

<div class="post-metadata">

### Author: ![oligriffiths](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/oligriffiths/32/15902_2.png) [@oligriffiths](https://discuss.emberjs.com/u/oligriffiths)
#### Post date: [February 28, 2018, 1:48pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/10 "2018-02-28T13:48:18Z")

</div>

I have some thoughts on ember data documentation [Thoughts on removing ember data from ember · GitHub](https://gist.github.com/oligriffiths/cff30253e2c2d7534494e6f11679fc7d)

I’d also like to see support for pagination of relationships in ED, a sorely missed feature.

---

<div class="post-metadata">

### Author: ![tsteuwer](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/tsteuwer/32/10887_2.png) [@tsteuwer](https://discuss.emberjs.com/u/tsteuwer)
#### Post date: [February 28, 2018, 4:59pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/11 "2018-02-28T16:59:42Z")

</div>

Ember engines are incredibly difficult to understand or at least time I read them they were so complex. I feel like lazy loading should be much easier than having to do all of this setup.

---

<div class="post-metadata">

### Author: ![rwjblue](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/rwjblue/32/9411_2.png) [@rwjblue](https://discuss.emberjs.com/u/rwjblue)
#### Post date: [February 28, 2018, 5:31pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/12 "2018-02-28T17:31:03Z")

</div>

> [@oligriffiths](#):
>
> I have some thoughts on ember data documentation [Thoughts on removing ember data from ember · GitHub](https://gist.github.com/oligriffiths/cff30253e2c2d7534494e6f11679fc7d)
> 
> I’d also like to see support for pagination of relationships in ED, a sorely missed feature.

FWIW, I believe the goal here is to specifically gather work items for ember-cli itself…

---

<div class="post-metadata">

### Author: ![Ahmad\_Musaffa](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/ahmad_musaffa/32/13691_2.png) [@Ahmad\_Musaffa](https://discuss.emberjs.com/u/Ahmad_Musaffa)
#### Post date: [February 28, 2018, 7:49pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/13 "2018-02-28T19:49:00Z")

</div>

Currently `environment.js`, `targets.js`, `coverage.js`, `deprecation-workflow.js`, `dotenv.js` all reside in the config folder. Would love to see `ember-cli-build.js` moved to the config folder as well. It will suite well there perhaps with a simpler file name like `build.js`.

---

<div class="post-metadata">

### Author: ![mehulkar](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/mehulkar/32/11259_2.png) [@mehulkar](https://discuss.emberjs.com/u/mehulkar)
#### Post date: [February 28, 2018, 9:52pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/14 "2018-02-28T21:52:22Z")

</div>

Awesome. Some ideas off the top of my head

- Better docs 💯
  - integration with Ember website
  - updated (or at least timestamped / version labeled) API docs
  - best practices
  - naming conventions (e.g. does `ember-cli-*` and `ember-*` actually mean anything?). Write it down so we at least know which addons are doing it wrong.
  - better blueprints (e.g. `index.js` could include all available hooks as blank functions)

Other than that, I don’t have any complaints or requirements from Ember CLI 🙂 good work to everyone involved!

These suggestions are coming from having written my first addon recently and having to end up reading the source code to understand what was going on.

---

<div class="post-metadata">

### Author: ![izelnakri](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/izelnakri/32/14062_2.png) [@izelnakri](https://discuss.emberjs.com/u/izelnakri)
#### Post date: [February 28, 2018, 10:17pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/15 "2018-02-28T22:17:04Z")

</div>

- Faster Build times, ambitious but amazing goal would be to make it 10x faster.

- Drop ember ES6 shimming, direct native npm imports.

- ember microlibs importable in node.js. People should be able to require or import EmberObject or Ember.Route or Ember.Component and play with it/debug it interactively in node or use them in their npm packages(particularly Ember.Object/computed properties could be very useful in backend ORMs).

- ember fastboot should be actively maintained with more focus on its development and advertising.

If we can get these things we will win the javascript space. I still believe that. This comes from someone who avoided Ember back in the days, I love ember since 2.0.

---

<div class="post-metadata">

### Author: ![rwjblue](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/rwjblue/32/9411_2.png) [@rwjblue](https://discuss.emberjs.com/u/rwjblue)
#### Post date: [February 28, 2018, 10:30pm UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/16 "2018-02-28T22:30:50Z")

</div>

> [@izelnakri](#):
>
> ember microlibs importable in node.js. People should be able to require or import EmberObject or Ember.Route or Ember.Component and play with it/debug it interactively in node or use them in their npm packages(particularly Ember.Object/computed properties could be very useful in backend ORMs).

We should spin up a separate thread about this specifically. This is largely already possible, but likely poorly documented and probably has rough edges we should discuss…

---

<div class="post-metadata">

### Author: ![gossi](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/gossi/32/15869_2.png) [@gossi](https://discuss.emberjs.com/u/gossi)
#### Post date: [March 1, 2018, 1:32am UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/17 "2018-03-01T01:32:18Z")

</div>

Module Unification 👍

---

<div class="post-metadata">

### Author: ![izelnakri](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/izelnakri/32/14062_2.png) [@izelnakri](https://discuss.emberjs.com/u/izelnakri)
#### Post date: [March 1, 2018, 5:38am UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/18 "2018-03-01T05:38:23Z")

</div>

> [@izelnakri](#):
>
> ember microlibs importable in node.js. People should be able to require or import EmberObject or Ember.Route or Ember.Component and play with it/debug it interactively in node or use them in their npm packages(particularly Ember.Object/computed properties could be very useful in backend ORMs).

done: [Ember microlibs & npm importability](https://discuss.emberjs.com/t/ember-microlibs-npm-importability/14318)

---

<div class="post-metadata">

### Author: ![oligriffiths](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.emberjs.com/oligriffiths/32/15902_2.png) [@oligriffiths](https://discuss.emberjs.com/u/oligriffiths)
#### Post date: [March 1, 2018, 5:55am UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/19 "2018-03-01T05:55:50Z")

</div>

I am dumb _sad face_

---

<div class="post-metadata">

### Author: ![ctusch](https://avatars.discourse-cdn.com/v4/letter/c/c77e96/32.png) [@ctusch](https://discuss.emberjs.com/u/ctusch)
#### Post date: [March 1, 2018, 9:21am UTC](https://discuss.emberjs.com/t/ember-cli-in-2018/14304/21 "2018-03-01T09:21:18Z")

</div>

Module unification would be the most important feature for us. We have about a thousand files now. Our current, unsatisfying workaround is to group the files using in-repo addons.

[Next page](https://discuss.emberjs.com/t/ember-cli-in-2018/14304.md?page=2)
