Remoção das extensões de protótipo de string do Ember

O problema é que @ember/string está obsoleto, parece que após o Ember 4.x? Não consigo ver este pacote no Ember 5.x… então isso seria apenas um paliativo até que o Discourse avance rapidamente para o 5.x (o que David mencionou aqui: Upgrading Discourse to Ember 4 - #14 by david)

@David qual é a decisão correta aqui - usar Javascript nativo (como eu fiz)?

Obrigado pelo relatório - não esperávamos que a alteração do JQuery afetasse as extensões do protótipo de string, então estamos investigando isso :eyes:

Pelo que entendi, são apenas as extensões de protótipo que estão obsoletas. Portanto, fazer algo como \"mystring\".capitalize() não será permitido.

Mas você ainda poderá fazer coisas como esta:

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

capitalize("mystring");

Então, é isso que eu recomendaria que você fizesse no componente topic-list-previews :ok_hand:

(mais exemplos antes/depois aqui)

4 curtidas

Sem problemas, mas foi uma surpresa para mim também :sweat_smile:

2 curtidas

Eu dei uma olhada em all-the-themes e all-the-plugins, e há apenas alguns plugins públicos que precisam ser corrigidos. Fiz PRs aqui: (cc @merefield @angus)

Godfrey investigou por que o commit do JQuery desencadeou isso, e suas descobertas estão neste PR: Bring back deprecated String prototype extensions by chancancode · Pull Request #24101 · discourse/discourse · GitHub. Portanto, é tecnicamente possível restaurarmos essa funcionalidade, mas envolve aplicar um patch a uma dependência upstream, o que não é ideal.

Dada a complexidade, e que removeríamos eles em alguns meses de qualquer maneira, acho que faz sentido apenas dobrar o esforço na remoção agora. Formalizei isso neste PR:

Nos avise se tiver alguma dúvida/preocupação.

4 curtidas

Obrigado, David. Concordo com a estratégia. Gentil da sua parte fornecer os PRs. :pray:

5 curtidas