I’m looking for a pattern for code that should run before Ember boots. I’m thinking of things like initializing tracking libraries and checking browser compatibility.
ember-cli-google-analytics injects an inline
<head>. I don’t love that because it violates Content-Security-Policy (unless you generate a cryptographic hash of the inline script contents and add that to the CSP definition).
Another option would be putting the code in
app/initializers/. I don’t love that (at least for the browser-compatibility detection) because the browser may never get to initializers.
I’m considering adding a
pre-boot/ directory that gets appended to
app.js without being wrapped in
require.define blocks so it executes immediately.
Does anyone have a pattern they really like?