Skip to content

Embroider Compatibility: animated-container's dynamic Tag breaks build #257

@scottmessinger

Description

@scottmessinger

Describe the bug
When building an app that uses ember-animated, embroider throw an error when trying to build:

Build Error (PackagerRunner) in node_modules/ember-animated/templates/components/animated-container.hbs

Module Error (from /Users/scottamesmessinger/code/commoncurriculum/v4/app/static-frontend/node_modules/@embroider/hbs-loader/src/index.js):
Unsafe dynamic component: cannot statically analyze this expression in node_modules/ember-animated/templates/components/animated-container.hbs

It appears the problematic behavior is here in ember-animated/addon/templates/components/animated-container.hbs

{{!--
  The @class is only there to support a deprecated usage.
--}}
{{#let (element this.tag) as |Tag|~}}
  <Tag class="animated-container {{@class}}" ...attributes >
    {{yield}}
  </Tag>
{{/let}}

To Reproduce

  • Install ember-animated (0.10.1
  • Build with embroider (0.39.1) with these options:
    staticAddonTestSupportTrees: true,
    staticAddonTrees: true,
    staticHelpers: true,
    staticComponents: true,
    splitAtRoutes: [...]

Expected behavior

  • Successful build!

Happy to submit a PR to fix this, but not sure how to handle dynamic tag names with Embroider.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions