Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUGFIX beta] [DEPRECATION] Deprecate @foo={{helper}} #19499

Merged
merged 1 commit into from
Apr 22, 2021

Commits on Apr 22, 2021

  1. [BUGFIX beta] [DEPRECATION] Deprecate @foo={{helper}}

    Per [RFC 496](https://github.com/emberjs/rfcs/blob/master/text/0496-handlebars-strict-mode.md#3-no-implicit-invocation-of-argument-less-helpers),
    this commit deprecates the implicit invocation of argument-less
    helpers and requires explicit parenthesis if:
    
    1. Non-strict mode, AND
    2. `helper` is a free variable (not `this.helper`, `@helper` or
       a local variable), AND
    3. No arguments are provided to the helper, AND
    4. It's in a component invocation's named argument position (not
       `<div id={{helper}}>` or `<Foo bar={{helper}}>`), AND
    5. Not parenthesized (not `@foo={{(helper)}}`), AND
    6. Not interpolated (not `@foo="{{helper}}"`).
    
    The cases in real apps where all of the above are true should be
    quite rare, as most helpers take at least one argument.
    
    This is probably not the most efficient/minimal changes to the
    compiler infrastructure, but I chose to optimize for making the
    change easier to remove/rollback (i.e. adding new nodes instead
    of changing existing ones) as we won't be needing this for very
    long.
    
    This also bumps `@glimmer/*` to latest which also brings in the
    bugfix commit glimmerjs/glimmer-vm#1293.
    chancancode committed Apr 22, 2021
    Configuration menu
    Copy the full SHA
    62e2816 View commit details
    Browse the repository at this point in the history