const { Webpack } = require('@embroider/webpack');
return require('@embroider/compat').compatBuild(app, Webpack, {
// staticComponents: true,
// staticModifiers: true,
// staticHelpers: true,
skipBabel: [
{
package: 'qunit',
},
],
});- Find '@embroider/webpack' entry point
- Look at second arg to
compatBuild - ...?
FIXME: rename resolver -> telemetry ???
FIXME: Clean up logging shenanigans (e.g. console.log/info, debug)
FIXME: Figure out how to pass no-babel option to jscodeshift via codemod-cli
FIXME: Extract ember codemod buildtime resolver
FIXME: Optional angle-bracketification?
- Make telemetry pluggable
- Maybe Discourse can make their own Telemetry plugin
- Embroider telemetry plugin[1]
[1] Embroider compat tries to link up your modules by emitting the implicit imports.
- How does the angle bracket codemod work?
- Is this even possible?!?
{{ambiguous}} ->
1. <Ambiguous>
2. {{(ambiguous)}}
3. {{this.ambiguous}}
4. {{ambiguous}} //modifier
1. leave it alone
2. change to {{this.ambiguous}}
(3. error?)
enum DisambiguateResult {
LeaveIt,
ChangeIt,
CantDoIt,
}
enum Namespace {
Helper,
Component,
ComponentOrHelper,
Modifier,
}
function disambiguate(headName: string, namespace: Namespace, ...?): DisambiguateResult {
// ...
// SOMETHING SOMETHING PLUG IN EMBROIDER
}