3P by neo 6달전 | favorite | 댓글 1개

Prettier 코드 포맷터의 성과와 향후 계획

  • Prettier는 자바스크립트 코드 포맷터로, 다양한 코딩 스타일을 세심하게 다루며 높은 채택률을 보임.
  • 삼항 연산자에 대한 작업이 완료되면 Prettier는 안정적인 상태에 도달하며, 이후 성능 개선에 집중할 예정임.
  • Prettier는 그동안 충분히 빠른 속도를 제공했으나, 경쟁 부족으로 인해 성능 향상에 큰 동기가 없었음.

성능 개선을 위한 경쟁과 보상

  • Prettier 팀은 Rust로 작성된 프로젝트가 Prettier 테스트 스위트의 95%를 통과할 경우 10,000달러의 보상을 제공하겠다고 발표함.
  • Vercel의 CEO Guillermo Rauch와 napi.rs가 추가 기금을 제공해 총 보상금이 22,500달러로 증가함.
  • Biome 프로젝트가 보상금을 획득하며, 단 3주 만에 여러 사람이 협력하여 호환성을 개선함.

Prettier의 경쟁력 강화

  • Biome 프로젝트는 Prettier와 호환되면서 훨씬 빠른 구현을 제공함으로써 Prettier에 성능 개선을 위한 도전을 제시함.
  • Fabio Spampinato가 Prettier의 CLI에서 많은 비효율성을 발견하고, 연말까지 이를 개선할 계획임.
  • Biome 프로젝트는 Prettier의 버그와 의문스러운 결정들을 발견하여 Prettier가 개선할 수 있는 기회를 제공함.

Prettier를 지원하는 기부금

  • Prettier는 다양한 기업과 개인의 기부를 통해 지속적인 성공을 거둠.
  • Indeed, Frontend Masters, Sentry, Salesforce, Airbnb, Cybozu 등의 기업과 Shintaro Kaneko, Suhail Doshi 등의 개인이 큰 금액을 기부함.
  • 이러한 기부금 덕분에 지난 2년간 매달 1.5k달러를 지급하여 Fisker Cheung과 Sosuke Suzuki가 Prettier 개발을 지속할 수 있었음.
  • 현재 예산으로는 8개월의 운영이 가능하며, 추가 기부를 요청함.

GN⁺의 의견

  • Prettier는 코드 포맷팅 분야에서 중요한 역할을 하며, 이번 성능 개선 경쟁을 통해 개발자 경험을 더욱 향상시키려는 노력이 돋보임.
  • Biome 프로젝트의 성공은 오픈 소스 생태계에서의 협력과 경쟁이 어떻게 긍정적인 변화를 이끌어낼 수 있는지를 보여줌.
  • 이 기사는 기술 커뮤니티 내에서 협력과 경쟁이 어떻게 상호 발전을 촉진하는지에 대한 흥미로운 사례를 제공함.
Hacker News 의견
  • Prettier 팀이 왜 다른 프로젝트에 자금을 지원하는지 궁금할 것입니다! 실제로 Prettier는 JavaScript 코드 포맷터로서 지배적인 위치를 차지하고 있으며, 경쟁 부족으로 인해 성능 개선이나 다양한 엣지 케이스 해결에 대한 동기가 부족했습니다.

    • Prettier 팀이 다른 프로젝트를 지원하는 이유에 대한 의문이 있음. Prettier가 JavaScript 코드 포맷터로서 독점적인 위치를 차지하고 있으나 경쟁 부재로 인해 성능 향상이나 특수한 경우에 대한 수정에 대한 동기 부여가 적었음을 지적.
  • 많은 사람들이 그 부분을 인정하지 않고 이유를 댓글로 달고 있습니다:

    • Biome 프로젝트가 모든 테스트를 매칭함으로써 Prettier의 많은 버그와 의문스러운 결정들을 발견했고, 이를 개선할 수 있을 것이라는 점을 의미함.
  • 이것에 대해 매우 흥분되어 있습니다.

    • Biome 팀이 Prettier와의 95% 호환성을 빠르게 달성한 것에 대해 감탄. Rust를 사용한 JavaScript 포맷팅의 최대 속도 향상을 기대하며, Python 포맷터인 ruff의 추세를 따르고 있음. Wasmer가 Biome을 WASIX로 컴파일하기 위해 $2,500의 바운티를 제공했으며, Biome이 Wasmer에서 곧 실행될 수 있기를 희망함.
  • 속도는 항상 환영받지만, Prettier가 좀 덜 독단적이었으면 좋겠습니다.

    • Prettier가 코드 포맷팅에 있어 너무 독단적이라고 느끼며, 특히 줄 길이에 대해 자신의 포맷팅을 유지하지 못하는 점에 불만을 표함. 다른 코드 포맷터에 비해 Prettier로 포맷된 코드가 덜 가독성이 좋다고 생각함.
  • 내 모든 eslint 플러그인들이 Prettier를 위해 완벽하게 괜찮은 린터들을 제거한 것에 대해 여전히 화가 납니다.

    • Prettier가 너무 강압적이고 이해하기 어렵다고 느끼며, 요청하지 않은 또 다른 도구라고 생각함.
  • 이것은 우리가 이제 다음 중요한 측면에 집중할 수 있음을 의미합니다: 성능. Prettier는 그 자체로 빠르지는 않지만 대부분의 사용 사례에 충분히 빠릅니다. 이것은 항상 불만족스러웠기 때문에 우리는 이에 대해 무언가를 하고 싶었습니다. 친근한 경쟁보다 더 좋은 방법은 없습니다.

    • Prettier의 성능에 대한 불만족을 해결하고자 Rust로 작성된 프로젝트에 $10k의 바운티를 걸어 Prettier 테스트 스위트의 95%를 통과하는 것을 목표로 함.
  • Rust로 포팅하는 것이 추세이긴 하지만, Prettier가 저장할 때마다 실행되기 때문에 속도 향상은 상당할 것입니다. 곧 Biome을 시도해볼 것입니다. Biome 프로젝트에 축하를 보냅니다!

    • Rust로의 포팅이 유행이며, 저장할 때마다 실행되는 Prettier의 속도 향상이 상당할 것으로 기대함. Biome 프로젝트에 대한 긍정적인 반응.
  • Biome에 대한 벤치마크가 어디에 있나요? Prettier보다 정확히 얼마나 더 나은 성능을 제공하나요?

    • Biome의 성능 벤치마크에 대한 질문이 있음. Prettier에 비해 얼마나 더 나은 성능을 제공하는지에 대한 궁금증.
  • 이 글은 자바스크립트 버전을 개선하기 위해 자신들을 동기 부여하기 위해 이 일을 했다고 말합니다?

    • 자바스크립트 버전을 개선하기 위한 동기 부여로 새로운 프로젝트를 시작한 것에 대한 의문이 있음.
  • 그래서 이것은 메인 구현체를 대체하는 것이 아닌가요? 그들은 단지 Rust로 작성된 호환 가능한 새 프로젝트에 자금을 지원한 것인가요?

    • Rust로 작성된 새로운 호환 가능한 프로젝트에 자금을 지원한 것이 메인 구현체를 대체하는 것이 아닌지에 대한 질문이 있음.