문제는 @ember/string가 더 이상 사용되지 않는 것인데, Ember 4.x 이후에 그런 것 같습니다. Ember 5.x에서는 이 패키지를 찾을 수 없으니, 이는 Discourse가 5.x로 빠르게 이전하기(대니얼이 여기서 언급했습니다: Upgrading Discourse to Ember 4 - #14 by david )까지의 임시 방편에 불과할 것입니다.
@David 여기서 올바른 선택은 무엇인가요 - 네이티브 JavaScript를 사용하는 것(제가 현재 하고 있는 것처럼)?
david
(David Taylor)
10월 25, 2023, 5:39오후
2
리포트 감사합니다 - JQuery 변경 사항이 문자열 프로토타입 확장 부분에 영향을 미칠 것이라고는 예상하지 못했기 때문에, 그 부분을 조사하고 있습니다
제 이해로는, 비권장 처리된 것은 프로토타입 확장 부분뿐입니다. 따라서 "mystring".capitalize()와 같은 코드는 사용할 수 없게 됩니다.
하지만 여전히 다음과 같은 방식으로 사용할 수 있습니다:
import { capitalize } from "@ember/string";
capitalize("mystring");
따라서 topic-list-previews 컴포넌트에서는 이 방식을 권장합니다
(더 많은 변경 전/후 예시는 여기 에서 확인하실 수 있습니다)
david
(David Taylor)
10월 26, 2023, 10:10오전
4
all-the-themes와 all-the-plugins를 살펴봤는데, 수정이 필요한 공개 플러그인이 몇 개뿐입니다. 다음 링크에 PR을 만들었습니다: (cc @merefield @angus )
Godfrey가 JQuery 커밋이 이 문제를 일으킨 이유를 조사해 주었고, 그 조사 결과는 이 PR 에 있습니다. 따라서 기술적으로는 이 기능을 복원할 수 있지만, 이는 이상적이지 않은 상류 의존성에 패치를 적용해야 한다는 것을 의미합니다.
복잡도가 높고, 몇 달 안에 어쨌든 이들을 제거할 예정이므로, 이제 제거를 더 단호하게 진행하는 것이 합리적이라고 생각합니다. 이 내용을 이 PR에서 공식화했습니다:
main ← string-prototype-extensions
merged 10:16AM - 26 Oct 23 UTC
These have been deprecated for some time, and the vast majority of themes/plugin… s have already removed their use. The prototype extensions were unexpectedly disabled as a side effect of 895036bd7a057f2430c5c917040319577fcf6b95 (more details in https://github.com/discourse/discourse/pull/24101).
Given that restoring the functionality now involves significant complexity, and would only be delaying the inevitable removal in a matter of months, we've decided to keep them disabled. This commit explicitly sets the flag in the ember environment config to make things clearer.
질문이나 우려 사항이 있으면 알려주세요.
데이비드, 감사합니다. 전략에 동의합니다. PR을 제공해 주셔서 감사합니다.