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

DS-489 twig deprecations #2261

Merged
merged 9 commits into from
Jul 15, 2021
Merged

Conversation

remydenton
Copy link
Collaborator

Jira

https://pegadigitalit.atlassian.net/browse/DS-489

Summary

Replaces deprecated twig syntax and usages

Details

A subset of commits from #2258, this PR is all the work that should be 100% backward compatible and can be merged while still using twig 1.

How to test

Confirm no regressions in pattern lab

Dot notation does some fancy magic behind the scenes.  Read more here:
https://twig.symfony.com/doc/2.x/templates.html

Something that was added in Twig 2.x, when using foo.bar, it will check
for a `hasBar` method on the underlying object if `bar` is not a property
of it.  In this case, `hasClass` is a method, but not one we intend to
ever call.  This syntax makes that clear to twig, I think.
See https://twig.symfony.com/doc/1.x/deprecated.html#macros

> As of Twig 2.0, macros imported in a file are not available in child
> templates anymore (via an include call for instance). You need to
> import macros explicitly in each file where you are using them.
The implemented/extended classes here were deprecated well before this
code was originally written in 2018, in
#426.

In any case, \Twig\Extension\GlobalsInterface is needed to for the
getGlobals() method to work now.
See https://twig.symfony.com/doc/2.x/advanced.html
@github-actions github-actions bot added the type: feature List this PR in the 'Features' section of the release notes. label Jul 8, 2021
@colbytcook colbytcook temporarily deployed to feature/DS-489-twig-deprecations--branch-preview July 8, 2021 18:08 Inactive
@colbytcook
Copy link
Contributor

colbytcook commented Jul 9, 2021

@remydenton this all looks good, I didn't review the PHP files because I really can't tell if they are correct (maybe @andrewmriv can peek at them?). But I reviewed all the twig file updates and is seems like there was four types of changes, let me know if I got these correct.

Twig 1 to Twig 2 changes

  • sameas -> same as
  • extends [PATH] with macro -> extends [PATH] import [PATH] as [MACRO]
  • checking "true" requires is defined (blocks only)
  • accessing array values, this.props.[KEY] -> this.props['[KEY]']

@colbytcook colbytcook temporarily deployed to feature/DS-489-twig-deprecations--branch-preview July 12, 2021 23:08 Inactive
@colbytcook colbytcook temporarily deployed to feature/DS-489-twig-deprecations--branch-preview July 15, 2021 15:49 Inactive
@colbytcook colbytcook requested a deployment to feature/DS-489-twig-deprecations--branch-preview July 15, 2021 15:54 Abandoned
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature List this PR in the 'Features' section of the release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants