Удаление расширений прототипа Ember String

Проблема в том, что @ember/string устарел; это происходит после версии Ember 4.x? Я не вижу этот пакет в Ember 5.x… так что это будет лишь временное решение, пока Discourse быстро не перейдет на 5.x (что Дэвид упомянул здесь: Upgrading Discourse to Ember 4 - #14 by david)

@David, какое решение здесь правильное — использовать нативный JavaScript (как я сделал)?

Спасибо за отчет — мы не ожидали, что изменение в JQuery повлияет на расширения прототипов строк, поэтому мы разбираемся в этом :eyes:

Насколько я понимаю, устарели только расширения прототипов. То есть использовать что-то вроде "mystring".capitalize() больше не получится.

Но вы всё ещё сможете делать вот так:

import  { capitalize } from "@ember/string";

capitalize("mystring");

Поэтому я рекомендую вам сделать именно это в компоненте topic-list-previews :ok_hand:

(больше примеров «до/после» здесь)

Не переживай, но я тоже был удивлён :sweat_smile:

Я просмотрел репозитории all-the-themes и all-the-plugins, и оказалось, что нужно доработать лишь несколько публичных плагинов. Я создал PRы здесь: (cc @merefield @angus)

Годфри провёл расследование, чтобы понять, почему коммит с JQuery вызвал эту проблему, и его выводы изложены в этом PR. Таким образом, технически мы можем восстановить этот функционал, но для этого потребуется применить патч к внешней зависимости, что не является идеальным решением.

Учитывая сложность ситуации и то, что мы всё равно собираемся удалить их через несколько месяцев,我认为 сейчас имеет смысл решительно продолжить процесс удаления. Я оформил это в следующем PR:

Сообщите нам, если у вас возникнут вопросы или опасения.

Спасибо, Дэвид. Я согласен с этой стратегией. Очень любезно с вашей стороны предоставить PR. :pray: