Trix 통합 방식의 개선
과거 Trix는 Rails Action Text에 번들되어 업데이트가 Rails 릴리스에 종속되었고, 이는 보안 및 기능 업데이트를 지연시켰습니다. 또한, npm 패키지나 수동 vendoring 방식은 자산 관리 및 잠재적 취약점 문제를 야기했습니다.
Rails는 이러한 문제를 해결하고자 Trix를 action_text-trix
라는 별도의 Gem으로 추출했습니다. 이 Gem은 Action Text와 독립적으로 Trix를 업데이트할 수 있게 하여 보안 패치 및 기능 개선을 빠르게 적용할 수 있도록 합니다.
Rails 앱 적용 가이드
새로운 Rails 앱
bin/rails action_text:install
명령으로 action_text-trix
Gem이 자동으로 추가되며, Importmap 또는 ESBuild 사용 시 JS/CSS 종속성이 자동으로 관리됩니다.
기존 Rails 앱
- Gem 추가:
Gemfile
에action_text-trix
Gem을 추가하고bundle install
을 실행합니다. - 기존 Trix 파일 제거: 이전에 수동으로 추가한
trix.js
,trix.css
파일을 삭제합니다. - Importmap 설정 수정:
config/importmap.rb
에서pin "trix", to: "trix.js"
라인을 제거하거나 주석 처리하여 Gem 버전을 사용하도록 합니다.
호환성 및 주요 이점
action_text-trix
Gem은 Rails 버전에 대한 특정 종속성이 없어 Railties만 있다면 어떤 Rails 버전에서도 사용 가능합니다. 이 변화는 Trix 통합을 간소화하고 자산 관리를 단순화하며, Trix 업그레이드 및 다른 에디터로의 교체를 더욱 용이하게 합니다.