emberjs / ember-cli-babel

Ember CLI plugin for Babel
MIT License
153 stars 119 forks source link

Never emit Ember global on ember versions that don't support it #515

Open ef4 opened 3 months ago

ef4 commented 3 months ago

For bad historic reasons, if you disable AMD compilation with compileModules: false, it opts you into the using the Ember global via modulesAPIPolyfill and debug-macros. This is a problem because we absolutely do want to disable AMD compilation as we move toward strict-es-modules, but the Ember global has been gone since 4.0.

It's possible to work around the modulesAPIPolyfill issue by explicitly turning the polyfill off. But it's impossible to work around the debug-macros problem, because we don't want to turn them off, we want to keep them on but tell them to use imports instead of globals.

In both cases, it's a bad default that emits code that could never possibly work. This PR makes Ember 4.0 the hard cutoff, after which we will never emit globals, because they don't work there anyway.