Page MenuHomePhabricator

LESS in ResourceLoader can't parse two ampersands on one line
Closed, ResolvedPublic

Description

.foo {
  &:not( &-bar ) {
    ...
  }
}

should parse to

.foo:not( .foo-bar ) { ...

but in ResourceLoader it parses to

.foo:not( &-bar ) { ...

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change 461369 had a related patch set uploaded (by Esanders; owner: Esanders):
[mediawiki/core@master] Avoid ResourceLoader LESS parsing bug

https://gerrit.wikimedia.org/r/461369

The above patch works around the issue, it is not a fix.

less.php hasn't been touched in two years and has 88 open issues: https://github.com/oyejorge/less.php :/

Change 461369 merged by jenkins-bot:
[mediawiki/core@master] Avoid ResourceLoader LESS parsing bug

https://gerrit.wikimedia.org/r/461369

less.php hasn't been touched in two years and has 88 open issues: https://github.com/oyejorge/less.php :/

It is not compatible with PHP 7.1+ either. There are many broken issues with the Less.php implementation.

Krinkle changed the task status from Open to Stalled.Jun 6 2019, 10:20 AM
Krinkle edited projects, added Performance-Team (Radar), Upstream; removed Performance-Team.
Krinkle moved this task from Limbo to Watching on the Performance-Team (Radar) board.
Krinkle changed the task status from Stalled to Open.Jan 19 2023, 1:59 AM
Krinkle claimed this task.
Krinkle edited projects, added Performance-Team; removed Performance-Team (Radar).
Krinkle updated the task description. (Show Details)

Change 882187 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/libs/less.php@master] Misc clean up around Less_Ruleset for readability and less.js parity

https://gerrit.wikimedia.org/r/882187

Change 882188 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/libs/less.php@master] Less_Ruleset: Support nested parent selectors

https://gerrit.wikimedia.org/r/882188

Change 882187 merged by jenkins-bot:

[mediawiki/libs/less.php@master] Misc clean up around Less_Ruleset for readability and less.js parity

https://gerrit.wikimedia.org/r/882187

Change 882188 merged by jenkins-bot:

[mediawiki/libs/less.php@master] Less_Ruleset: Fix support for nested parent selectors

https://gerrit.wikimedia.org/r/882188

Change 887867 had a related patch set uploaded (by Krinkle; author: Krinkle):

[mediawiki/core@master] ResourceLoader: Update wikimedia/less.php to v3.2.1

https://gerrit.wikimedia.org/r/887867

Change 887867 merged by jenkins-bot:

[mediawiki/core@master] ResourceLoader: Update wikimedia/less.php to v3.2.1

https://gerrit.wikimedia.org/r/887867