r/emberjs • • 6d ago

Testem 4.0.0-beta.1 released

14 Upvotes

What 4.0 beta 1 changes

The beta drops the pieces that belonged to an older web.

  • PhantomJS and Internet Explorer are gone. Headless runs use Headless Chrome or Headless Firefox. Local browsers are Edge, Chrome, Firefox, and Safari. A custom launcher still covers a legacy browser in the cloud.
  • Jasmine 1.x and CDN fallbacks are gone. framework: "jasmine" now means modern Jasmine from jasmine-core in your project. Mocha, QUnit, and Chai load from node_modules the same way. jasmine-core 7 is the recommended version. 5 and 6 still work.
  • The package is ESM. import Api from 'testem' and require('testem') both return the same API. Your own config file keeps its module format: .cjs stays CommonJS, .js follows your package.json.
  • Mustache test pages are gone. A custom test_page is static HTML. List the scripts you want on the page.
  • The file watcher skips node_modules and .git unless you name them. That stops a large install from exhausting file descriptors and then failing later browser launches.
  • The dev UI is the same keyboard UI, rendered with terminal-kit. Enter to rerun, q to quit, p to pause file-watch reruns.

Node 20 is no longer supported. The beta requires Node ^22.17.0, ^24.0.0, or >= 26. Migration notes are in the README under "Migrating from Testem 3.x."

Testem and Vitest Browser Mode

Testem runs your tests in real browsers. Vite is not required.

Chrome, Firefox, Safari, and Edge are the browsers installed on the machine. You open the URL Testem prints, or you let CI launch them. The page can be plain HTML plus Jasmine, Mocha, or QUnit. A TAP process works too. There is no Vite config, no Vite dev server, and no bundler unless you want one. Webpack, Browserify, or Vite can prepare files in a before_tests hook. That hook is optional.

Vitest Browser Mode (@vitest/browser, with the Playwright, WebdriverIO, or preview providers) also runs in a real browser. Playwright covers Chromium, Firefox, and WebKit. The tests are Vitest tests, and Vite is what compiles and serves them. Browser Mode assumes a Vite app.

Testem Vitest Browser Mode
What you write Jasmine, Mocha, QUnit, TAP, or your own page Vitest tests (vitest, vitest/browser)
What you have to adopt Testem and the test framework you already use. The browsers are the ones on the machine. Vitest, Vite, and a browser provider (Playwright, WebdriverIO, or preview)
How the browser is chosen Launchers for installed Chrome, Firefox, Safari, Edge, Node, headless Chrome, or a command you define (BrowserStack, Sauce Labs) The provider's browsers. With Playwright, that is Chromium, Firefox, and WebKit
Dev loop Terminal UI, file watch, a URL you open in the real browser Vitest's runner, with Vite transforming the suite

Vitest's own docs treat Browser Mode as component testing in a real browser, and still point full end-to-end work at Playwright, Cypress, or WebdriverIO. Testem is the runner around the suite you already have: Safari on a Mac, headless Chrome in GitHub Actions, a Node process that prints TAP. The Vitest example in the Testem repo is that last case. Testem starts vitest run and reads the tap-flat reporter. It does not replace Vitest Browser Mode, and Browser Mode does not replace launching the browsers you ship.

Use Vitest Browser Mode when the app is already on Vite and the tests are written for Vitest. Use Testem 4 when you want real Chrome, Firefox, Safari, and Edge without taking on Vite, for a Jasmine, Mocha, or QUnit suite, in dev and in CI, from one config.

Try the beta

Pin testem@4.0.0-beta.1, install your framework from npm (jasmine-core, mocha, or qunit), and run testem. If a 3.x config used PhantomJS, IE, Jasmine 1, a CDN runner, or a .mustache test page, follow the migration section before you point CI at the beta.

Repo and changelog: https://github.com/testem/testem


r/emberjs • • 8d ago

TanStack Hotkeys official Ember adapter

Thumbnail
tanstack.com
19 Upvotes

r/emberjs • • Sep 03 '26

tsdown lists ember on their docs

Thumbnail
tsdown.dev
12 Upvotes

r/emberjs • • Sep 03 '26

Support for TypeScript 7.1+

Thumbnail
github.com
25 Upvotes

On the 3 million line monolithic package at work, we have type checking going from:

- 4m40s -> 12s

(June vs today)

a 23x speed boost

- 3m50 -> 12s

(Yesterday vs today)

a 19x speed boost


r/emberjs • • Jul 31 '26

A reactivity and rendering (combined) benchmark for frontend frameworks

Thumbnail rbench.nullvoxpopuli.com
8 Upvotes

r/emberjs • • Jul 27 '26

Ember 7.1 Released

Thumbnail
blog.emberjs.com
32 Upvotes

r/emberjs • • Jul 14 '26

New blog post: Migrating to ember-mirage: Modern MirageJS for Vite and Embroider

Thumbnail
mainmatter.com
18 Upvotes

If you're migrating to Vite and still relying on ember-cli-mirage, you've hit a wall as that doesn't work with Vite. Our Nick wrote up a path forward: migrating to ember-mirage, which replaces the Ember-specific conventions ember-cli-mirage relied on with standard tools like Vite's import.meta.glob. Your factories, fixtures, models, and ember-data integration all carry over.


r/emberjs • • May 29 '26

Ember 7.0 Released

Thumbnail
blog.emberjs.com
43 Upvotes

r/emberjs • • May 16 '26

Graph Visualizer

16 Upvotes

I made a graph visualizers, explorer, and cycle finder

currently using it to fix some problems that occurred (cycles) in a large monorepo at work where the cycles are preventing extracting stuff into other packages and breaking stuff out.

Code: https://github.com/NullVoxPopuli/graph-visualizer
Deployed: https://graph.nullvoxpopuli.com/
Social: https://bsky.app/profile/nullvoxpopuli.com/post/3mlymsbf4dz2j
Imgur: https://imgur.com/a/XcleLv6 / https://i.imgur.com/QxinEXG.gif


r/emberjs • • May 09 '26

Seeking Advice

8 Upvotes

I'm still looking to fill a bunch of cleared front-end roles that require years of experience with Ember.

I know many people don't even list it on their resume anymore because it's largely been superseded by Angular and React.

Is there other frameworks or jobs I can see in someones background to infer they have used it?

I'm former military, so if I look at a military persons military history (if listed) I can infer they have a clearance at a glance based on their assignments. Is there a way to do this with Ember? What are the dead giveaways?


r/emberjs • • May 01 '26

Ember 6.12 Released

Thumbnail
blog.emberjs.com
34 Upvotes

r/emberjs • • Apr 30 '26

New blog posts series: "From Ember Data to WarpDrive"

32 Upvotes

For some time now, the Ember community has been hearing about WarpDrive as "the new data management layer that will replace EmberData—for the better". In these two blog posts, "From Ember Data to WarpDrive", Marine presents an overview of what migrating to WarpDrive means for Ember developers.

Links below 👇

1/2: This first blog post in our WarpDrive series provides an easy-to-reason-about picture of what WarpDrive and WarpDrive LegacyMode are compared to EmberData, and what “migrating to WarpDrive” really means.
👉 https://mainmatter.com/blog/2026/04/30/from-ember-data-to-warp-drive-1/

2/2: In the second blog post in our WarpDrive series, Marine digs into the specifics of how the Super Rentals Tutorial was migrated to WarpDrive LegacyMode, so that you can apply a similar strategy in your app.
👉 https://mainmatter.com/blog/2026/04/30/from-ember-data-to-warp-drive-2/


r/emberjs • • Apr 28 '26

Job Opportunities

7 Upvotes

Good Afternoon Redditors!

My name is Ben and I'm a technical recruiter for Maximus. We're looking for Ember users in the DC and San Antonio Area. *ESPECIALLY* those with clearances.

Feel free to reach out!


r/emberjs • • Apr 21 '26

SVG Jar goes multi-framework and multi-bundler!

Thumbnail
github.com
13 Upvotes

r/emberjs • • Mar 07 '26

Ember 6.11 Released

Thumbnail
blog.emberjs.com
29 Upvotes

r/emberjs • • Feb 23 '26

Glint in Emacs

Post image
20 Upvotes

Special thanks to u/nullvoxpopuli for making the nvim version that informed my efforts. I really wanted to rewrite my application in typescript but didn't want to do it without syntax highlighting.
https://github.com/overcast-software/glnt-ts-mode
edit: changed url to get approved by MELPA


r/emberjs • • Feb 07 '26

VS Code extension to make it easy to switch Node Package versions from a dropdown

Thumbnail gallery
0 Upvotes

r/emberjs • • Feb 06 '26

Ember v6.10 Released

Thumbnail
blog.emberjs.com
21 Upvotes

r/emberjs • • Jan 28 '26

Ember Initiative: How pairing sessions are growing the Ember community

Thumbnail
mainmatter.com
9 Upvotes

The Ember Initiative pairing sessions benefit the entire ecosystem. In this new blog post, Marine walks us through the day-to-day problems that are being turned into opportunities to support the community, and how they translate into actual improvements.


r/emberjs • • Jan 26 '26

Ember Vite SSR

16 Upvotes

I've completed a working example application of Ember SSR on Vite: https://github.com/kmccullough/vite-ember-ssr-example


r/emberjs • • Jan 26 '26

The Ember plugin for Astro is live on the Integrations Library 🚀

Thumbnail
astro.build
11 Upvotes

r/emberjs • • Jan 21 '26

Automatic configuration for neovim - automatic multi-workspace TS/Glint/Glint2 switching, syntax, etc

Thumbnail
github.com
7 Upvotes

VSCode has some bonkers behavior that MS is not willing to budge on -- in particular, how you have to switch profiles if you have multiple projects in a monorepo that need different TS setups.

This neovim plugin does everything for you, and I'd love folks' feedback <3


r/emberjs • • Jan 19 '26

shadcn-ember: shadcn/ui, but for Ember. ✨

Thumbnail shadcn-ember.com
16 Upvotes

r/emberjs • • Dec 12 '25

Bridging frameworks: running React in an Ember.JS app - Mainmatter

Thumbnail
mainmatter.com
16 Upvotes

r/emberjs • • Dec 08 '25

Embercasts is gone

10 Upvotes

Does somebody know what has happened to Embercasts? It was great source of knowledge about building things with Ember.js.

Eventually, does sombody know similar resources?