I’m starting a brand new ember app for the first time in forever. I’m a huge fan of starting with guardrails in place for things that will be harder to add later, but easy to always follow along from beginning. I have a list of things I want to add right away, almost all of which I’ve used in the past:
I also would love to have some measure of performance testing automated from the beginning. I looked into scripting Ligthhouse to test this, which I can get to work, but it keeps reporting 15 seconds for Time to First Meaningful Paint on a brand new ember app, which doesn’t make any sense. Maybe I have something set up incorrectly.
I have some questions:
Does anyone do automated performance testing for the Ember apps? I’m thinking about payload size and time to first meaningful paint, but what other metrics are there that you like to automatically track regressions for?
What other “from the beginning” things would you add to a new ember app? I don’t think the type of application overly matters. I’d love to hear about whatever this questions means to you.
ember-sinon for a nice integration with sinon.js for mocking/stubbing/spying during tests
ember-cli-bundle-analyzer - a great visualization of the dependencies in your app to help you know where you can slim your app’s bundle size (by targeting the largest dependencies or seeing if test resources make it into the prod build on accident)
ember-auto-import because I almost always end up using it for something (and it removes the need for ember-sinon since it lets you just use sinon directly)
These two would be recent entrants. And really useful.
Also ember-router-scroll && ember-cli-head depending on the type of application.
As a side note, I would personally be rather sparse in what I install and delay that decision until when actually needed. It’s weird how the winds change as you move along in the project
I would like to second ember-cli-tailwind with the caveat that I would rather have it part of a larger design system instead of bing a part of a single project.
Honorable mentions that have not yet been called out:
ember-cli-deploy-json-config - perfect for deploying application through non standard channels (example: served from an .net application instead of static index.html)
For my perf testing, I was indeed testing dev and probably the wrong ember app. I fixed those issues. Now, I’m working with a with a new ember app (with some dummy content in the application template). Here’s my performance script: lighthouse-command-line.js · GitHub
In the Chrome Performance Audit normally, TTFP is 0.3 seconds. Using my script above, the report says 2.4 seconds. I really don’t know why that would be.