Rails Action Text의 Trix 에디터, 독립적인 Gem으로 분리되어 업데이트 용이성 향상

How to use the new action_text-trix gem

작성자
GoRails Youtube
발행일
2025년 06월 04일

핵심 요약

  • 1 Rails Action Text의 Trix 에디터가 `action_text_trix`라는 별도 Gem으로 분리되어, Rails 릴리스와 독립적으로 Trix를 업데이트할 수 있게 되었습니다.
  • 2 이 변경으로 Trix의 보안 업데이트 및 기능 개선이 더 신속하게 이루어질 수 있으며, 기존의 import maps 사용 시 발생했던 CSS 및 버전 관리 문제를 해결합니다.
  • 3 기존 Rails 애플리케이션에 `action_text_trix` Gem을 추가하고, `vendor` 폴더의 Trix 관련 파일 및 `config/importmap.rb`의 Trix 핀 설정을 제거하여 적용할 수 있습니다.

도입

Rails의 최신 업데이트 중 하나로, Action Text에 내장되어 있던 Trix 에디터가 `action_text_trix`라는 독립적인 Gem으로 분리되었습니다. 이전에는 Trix의 JavaScript 및 CSS 파일이 Action Text와 함께 제공되어, Trix 버전을 업데이트하려면 새로운 Rails 릴리스가 필요했습니다. 이러한 종속성은 보안 업데이트나 기능 개선을 지연시키는 요인이 되었으나, Mike Delesio가 이를 별도 Gem으로 추출함으로써 Trix의 독립적인 업데이트가 가능해졌습니다. 이는 향후 새로운 에디터 도입을 위한 준비 단계일 수도 있습니다.

이번 Trix 에디터의 독립 Gem 분리는 여러 가지 중요한 이점을 제공합니다.

Trix 업데이트의 독립성 확보

  • 신속한 보안 및 기능 업데이트: Trix에 보안 업데이트나 새로운 기능이 추가될 경우, Rails 릴리스에 묶이지 않고 action_text_trix Gem을 통해 즉시 업데이트될 수 있습니다. 이는 Node 모듈과 함께 Gem이 빌드 및 릴리스되는 방식으로 이루어집니다.

  • Import Maps 문제 해결: 기존에는 import maps를 사용하는 경우, npm 패키지가 vendor 폴더에 다운로드되어 최신 버전을 사용할 수 있었지만, CSS 처리에서 복잡성이 있었습니다. 이제 독립 Gem을 통해 이러한 문제가 해소됩니다.

기존 애플리케이션 적용 방법

기존 Rails 애플리케이션에 action_text_trix Gem을 적용하는 과정은 다음과 같습니다.

  1. Gemfile에 추가: Gemfilegem 'action_text_trix'를 추가합니다.

  2. 기존 파일 제거: vendor 폴더 내의 기존 Trix JavaScript 및 CSS 파일(예: vendor/javascript/trix.js)을 삭제합니다.

  3. Import Map 설정 조정: config/importmap.rb 파일을 수정합니다.

    • 이전에 bin/importmap pin trix 명령어로 특정 Trix 버전을 고정했다면, 이 설정은 npm에서 Trix를 다운로드하여 Gem의 버전을 덮어쓸 수 있습니다.
    • 따라서 config/importmap.rb에서 Trix와 관련된 핀 설정(주석 포함)을 제거하여 Gem에서 제공하는 버전을 사용하도록 합니다. 이는 특히 bin/importmap 명령이 구버전을 감지하여 불필요한 취약점 경고를 발생시키는 것을 방지합니다.

버전 관리 전략

예시에서는 action_text_trix Gem을 2.1 버전으로 핀(pin)하여 2.2, 2.3 등 후속 업데이트를 쉽게 받을 수 있도록 했습니다. 이는 Trix가 시맨틱 버저닝(Semantic Versioning)을 따른다면 하위 호환성을 유지하면서 마이너 업데이트를 적용할 수 있다는 기대를 바탕으로 합니다.

결론

Trix 에디터가 Action Text에서 `action_text_trix` Gem으로 분리된 것은 Rails 생태계에 매우 긍정적인 변화입니다. 이로써 Action Text와 Trix가 각각 독립적으로 업그레이드될 수 있는 유연성을 확보하게 되었으며, 개발자들은 Trix의 최신 기능과 보안 패치를 더욱 신속하고 효율적으로 적용할 수 있게 되었습니다. 또한, 이 변경은 Jorge가 암시했던 새로운 에디터의 통합 방식에 대한 청사진을 제시하며, 향후 Rails의 에디터 관련 기능 발전에 대한 기대를 높입니다. 이 Gem은 Rails 버전에 대한 특정 의존성이 없어 모든 Rails 버전에서 사용할 수 있다는 점도 큰 장점입니다. "늦었다고 생각할 때가 가장 빠르다"는 말처럼, 이 개선은 오랫동안 필요했던 변화였으며, Rails 개발자들에게 환영받을 만한 업데이트입니다.

댓글 0

로그인이 필요합니다

댓글을 작성하거나 대화에 참여하려면 로그인이 필요합니다.

로그인 하러 가기

아직 댓글이 없습니다

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