Eliminación de extensiones de prototipo de string de Ember

El problema es que @ember/string está obsoleto, ¿aparece después de Ember 4.x? No puedo ver este paquete en Ember 5.x… así que esto sería solo un parche hasta que Discourse se actualice rápidamente a la versión 5.x (como insinuó David aquí: Upgrading Discourse to Ember 4 - #14 by david)

@David, ¿cuál es la decisión correcta aquí? ¿Usar JavaScript nativo (como he hecho)?

Gracias por el informe; no esperábamos que el cambio de JQuery afectara las extensiones del prototipo de cadenas, así que estamos investigando eso :eyes:

Según lo que entiendo, solo las extensiones del prototipo están obsoletas. Por lo tanto, hacer algo como \"mystring\".capitalize() no estará permitido.

Pero aún podrás hacer cosas como esta:

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

capitalize("mystring");

Así que eso es lo que te recomendaría que hicieras en el componente topic-list-previews :ok_hand:

(más ejemplos de antes/después aquí)

4 Me gusta

No te preocupes, pero también me sorprendió :sweat_smile:

2 Me gusta

Heché un vistazo a all-the-themes y all-the-plugins, y solo hay un par de plugins públicos que necesitan ser arreglados. Hice PRs aquí: (cc @merefield @angus)

Godfrey investigó por qué el commit de JQuery desencadenó esto, y sus hallazgos están en este PR. Por lo tanto, es técnicamente posible restaurar esta funcionalidad, pero implica aplicar un parche a una dependencia upstream que no es ideal.

Dada la complejidad y que de todos modos los eliminaríamos en unos meses, creo que tiene sentido redoblar los esfuerzos para eliminarlos ahora. He formalizado eso en este PR:

Háganos saber si tiene alguna pregunta o inquietud.

4 Me gusta

Gracias David. Estoy de acuerdo con la estrategia. Muy amable de tu parte proporcionar PRs. :pray:

5 Me gusta