Skip to content

Undefined class attribute is not filtered out with scopedStyleStrategy: 'class' #1005

@delucis

Description

@delucis

Astro Info

Astro                    v4.8.3
Node                     v18.18.0
System                   Linux (x64)
Package Manager          npm
Output                   static
Adapter                  none
Integrations             none

If this issue only occurs in one browser, which browser is a problem?

n/a / All

Describe the Bug

If a component sets the class attribute to undefined, this is stringified and included in build output when using scopedStyleStrategy: 'class', unlike behaviour for other attributes where setting them to undefinded causes the attribute to be omitted in build output.

For example, a component that does this:

<div class={undefined}>

Will render something like the following:

<div class="undefined astro-HASH">

What's the expected result?

The build output should not include undefined in the class attribute.

Link to Minimal Reproducible Example

https://stackblitz.com/edit/github-sgqbuf?file=src%2FTest.astro

Participation

  • I am willing to submit a pull request for this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    - P3: minor bugAn edge case that only affects very specific usage (priority)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions