prqlc CLI and prqlc other than CLI should be separate crates or, the `cli` feature of prqlc should not be the default

オープン
#4,946 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
30/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
rust
領域
cli

調査の方向性

Start by reading the prqlc crate’s feature and dependency configuration to see how the CLI dependencies affect downstream users’ MSRV. Compare the proposed crate split with disabling the cli feature by default, and check the project’s MSRV and CLI tests. Done means the project has chosen and implemented an approach that keeps the library’s MSRV independent of CLI dependencies.

索引モデルが issue の本文から書いたものです。

説明

compiler enhancement needs-discussion

MSRV will become increasingly important as cargo will soon recognize the rust-version field and resolve dependencies.

Currently the prqlc crate is a required dependency of downstream packages that want to incorporate PRQL, but the MSRV of prqlc itself is pushed up by the MSRV of the cli feature dependency, which is not needed downstream.

MSRVs are not configurable on a per-feature basis, so as long as prqlc has the cli feature, prqlc's MSRVs are at risk of being raised by the cli feature.
This is especially troublesome for maintaining MSRV because the clap crate is not very conservative about MSRV (https://docs.rs/clap/latest/clap/#aspirations).

I think we should choose one of the following options to improve the situation here:

  1. Split prqlc into two crates, CLI and other.
    1. prqlc-cli and prqlc
    2. prqlc and prqlc-core (or something else)
  2. Remove the cli feature from prqlc default features. And ignore the MSRV of the cli feature.
主要言語
Rust
スター
10.9k
フォーク
261
平均マージ
3日 21時間
マージ済み PR(30日)
84

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

PRQL/prql のほかの issue

PRQL/prql の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。