@babel/template placeholder build error resurrection
See original GitHub issueSince the release of ember-get-config v1 (which uses @embroider/macros
v0.50.0) several people in the Discord are seeing the following errors at build time:
broccoliBuilderErrorStack: Error: @babel/template placeholder "APP": Expected string substitution
This seems to be the issue that was fixed by this commit and was included in the 0.43.0 release of @embroider/macros
.
In our app the issue is triggered by @embroider/macros
v0.41.0 which is included by the ember-element-helper addon. What’s strange is that that version of the macros didn’t cause issues until a v0.50.0 release was part of our node_modules folder.
I’m unfamiliar with how this works so my debugging efforts didn’t lead to something useful. Did anything change in the latest release that might explain this behavior? It probably worked by accident before and we should PR version bumps of the macro packages to all addons?
npm ls @embroider/macros
of our project:
├─┬ ember-auto-import@1.12.0
│ └─┬ @embroider/core@0.33.0
│ └── @embroider/macros@0.33.0
├─┬ ember-cli-moment-shim@3.8.0
│ └─┬ ember-get-config@1.0.0
│ └── @embroider/macros@0.50.1
└─┬ ember-power-select@4.1.7
└─┬ ember-basic-dropdown@3.1.0
├─┬ @ember/render-modifiers@2.0.2
│ └── @embroider/macros@0.50.1
├── @embroider/macros@0.47.2
├─┬ @embroider/util@0.47.2
│ └── @embroider/macros@0.47.2
└─┬ ember-element-helper@0.5.5
└─┬ @embroider/util@0.41.0
└── @embroider/macros@0.41.0
Discord discussion: https://discord.com/channels/480462759797063690/930822209725948004
Issue Analytics
- State:
- Created 2 years ago
- Reactions:17
- Comments:18 (8 by maintainers)
Top GitHub Comments
Ok, so 1.0 is released. Please spread the word, addons should depend on
"@embroider/macros": "^1.0.0"
. There are no breaking changes in 1.0.In the meantime, both yarn and npm now support overriding transitive dependencies. In the case of
@embroider/macros
it is safe to replace all of0.x
with^1.0.0
.NPM added overrides in 8.3. Yarn has resolutions.
Ah, this is the actual issue. The format of the data that ember-get-config is storing in the macros is what triggers the bug. It’s not really about version skew at all.
We could backport the fix and do patch releases, but we’d potentially need to manage 17 different patch releases, because the oldest embroider/macros mentioned here is 17 major releases behind.
I think the biggest thing we can do to help here is to cut a 1.0 release, so that the pain of asking addons to upgrade can happen once and then they’ll be on a series that we can actually support with patch releases going forward.
I had been waiting to release a 1.0 until after solving some known limitations, but we’re past the point where it’s practical to consider this stuff prerelease.