Rails Action Text와 Trix: 새로운 action_text-trix Gem으로 독립적인 업데이트 구현

Rails Decouples Trix From Action Text Into action_text-trix gem

작성자
HackerNews
발행일
2025년 09월 12일

핵심 요약

  • 1 Trix가 `action_text-trix` Gem으로 분리되어 Action Text와 독립적으로 업데이트 가능해져 보안 및 기능 개선이 빨라졌습니다.
  • 2 새로운 Rails 앱에서는 `action_text:install` 명령으로 자동으로 Gem이 설치되며, 기존 앱은 수동 설정 제거 후 Gem을 추가해야 합니다.
  • 3 이러한 변화는 Trix 통합을 간소화하고 자산 관리를 용이하게 하며, 다른 에디터로의 전환을 더 쉽게 만듭니다.

도입

Action Text는 Rails 애플리케이션에 WYSIWYG 에디터를 쉽게 구축할 수 있도록 지원하는 강력한 도구입니다. Basecamp에서 개발한 Trix는 메시지, 댓글, 기사 등 웹 앱에서 사용되는 간단한 문서를 작성하기 위한 정교한 문서 모델과 임베디드 첨부 파일을 지원하는 에디터입니다. 이 글은 Rails에서 Action Text와 Trix의 통합 방식이 어떻게 개선되었는지 설명합니다.

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 앱

  1. Gem 추가: Gemfileaction_text-trix Gem을 추가하고 bundle install을 실행합니다.
  2. 기존 Trix 파일 제거: 이전에 수동으로 추가한 trix.js, trix.css 파일을 삭제합니다.
  3. Importmap 설정 수정: config/importmap.rb에서 pin "trix", to: "trix.js" 라인을 제거하거나 주석 처리하여 Gem 버전을 사용하도록 합니다.

호환성 및 주요 이점

action_text-trix Gem은 Rails 버전에 대한 특정 종속성이 없어 Railties만 있다면 어떤 Rails 버전에서도 사용 가능합니다. 이 변화는 Trix 통합을 간소화하고 자산 관리를 단순화하며, Trix 업그레이드 및 다른 에디터로의 교체를 더욱 용이하게 합니다.

결론

Rails는 Trix 에디터의 통합 방식에 중요한 변화를 주어, Trix를 `action_text-trix` Gem으로 분리했습니다. 이로써 Trix와 Action Text는 독립적으로 업데이트될 수 있게 되었으며, 이는 특히 보안 패치 적용 속도를 크게 향상시킵니다. 기존 및 신규 Rails 애플리케이션 모두에서 Trix의 설치 및 관리가 간소화되었으며, 자산 관리의 복잡성이 줄어들고 에디터 교체 유연성이 증대되었습니다. 이는 Rails 개발자들이 WYSIWYG 에디터를 더욱 효율적이고 안전하게 활용할 수 있도록 돕는 중요한 개선점입니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!