Fork @filecoin-foundation/ui-filecoin into a new FilOzone repo to remove dependency on the FF monorepo
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- react, typescript
調査の方向性
まず現在の @filecoin-foundation/ui-filecoin 依存関係とそのソースを確認し、次に filecoin-cloud の 60 個のインポート元ファイル、src/styles/globals.css、src/components/SiteLayout.tsx を調査します。これらの consumer を、filecoin-pay-explorer の apps/explorer/ および globals.css と比較します。独立した FilOzone パッケージが存在し、両方のアプリケーションがそれを使用し、fork に関する通知が掲載され、ownership と公開に関する決定が記録されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Background
filecoin.cloud depends on @filecoin-foundation/ui-filecoin (^0.9.0), a React component library that lives inside the Filecoin Foundation monorepo at FilecoinFoundationWeb/filecoin-foundation. That monorepo also houses FF's public marketing sites (fil.org, ffdweb.org, uxit.fil.org), so the library is bundled together with unrelated website content.
Two structural problems have emerged:
- No maintainers. The FF UXIT team was wound down ~1–2 months ago and FF has no front-end engineers on staff. Per Gary (FF), IT ownership fell to Baldemar Loza, who isn't a UI/frontend engineer. The FF monorepo's CI has been failing for several months.
- Releases are bottlenecked by unrelated content. Because the library shares a repo + build/deploy pipeline with the public sites, an unrelated failure (e.g. a markdown syntax error on an FF marketing page) can block shipping a library fix that FOC needs.
This came to a head with #319 (prerelease Curio versions mis-rendered in the SP list). The fix required a change in the FF library (PR #2337), and getting that merged required two additional, unrelated PRs (#2343, #2344) just to unblock the monorepo. Discussion: Slack thread, analysis gist. Reaffirmed as a decision in the FOC WBR/ORR (Jun 17).
How deeply we depend on it
The dependency is pervasive. In filecoin-cloud (current main):
- 60 files with 135 import statements from
@filecoin-foundation/ui-filecoin. - ~50 distinct entry points used, spanning primitives and app-level systems:
- Primitives:
Button,Card/CardGrid/SimpleCard/LinkCard,Badge,Heading,Icon/IconButton,Container,Input,Checkbox,PageHeader,PageSection,SectionContent,Search/SearchInput,SlideOver,TextLink/*,CTALink,ButtonRow,FilterButton. - Systems/wrappers:
Navigation/*(menu, mobile nav, links, hooks),Footer/LegalSection,Network/*(NetworkSelector,useNetwork),Table/*(TanstackTable,CompactAddress,ID,SoftwareVersion,YesNoStatus),Markdown/*, state cards (EmptyStateCard,LoadingStateCard,ErrorStateCard),LogoSection/*,Section. - Global wiring:
src/styles/globals.cssdoes@import "@filecoin-foundation/ui-filecoin/styles", andsrc/components/SiteLayout.tsxcallssetUIConfig(...).
- Primitives:
filecoin-pay-explorer depends on it just as heavily (~40+ imports in apps/explorer/, plus @import ".../styles" in globals.css and a documented convention to build on ui-filecoin primitives). pdp-explorer does not use it.
So this isn't a leaf dependency — the design system, navigation, network selector, and table infrastructure all come from it, across two FOC apps.
Decision: fork into a new FilOzone repo
Three paths were floated (see gist):
- FF gets maintainers for the monorepo.
- FF extracts the library into its own repo and FOC WG co-maintains it.
- FOC forks the library.
Given FF has no maintainers and no near-term plan, we'll proceed with forking ui-filecoin into a new standalone repo in the FilOzone org, published as a package that both filecoin-cloud and filecoin-pay-explorer depend on. A dedicated repo (rather than inlining into filecoin-cloud) avoids forking twice and gives both consumers a single source of truth. (Options 1/2 remain preferable if FF engages — Steve is raising it with FF leadership; this fork is the defensive path forward.)
Tasks
- Confirm with FF (Gary / Baldemar Loza) that there's no library maintainer and no objection to forking. (Steve)
- Create the new repo in the FilOzone org (name TBD — e.g.
ui-filecoin/foc-ui) and seed it from the current@filecoin-foundation/ui-filecoinsource. - PR a notice ini FilecoinFoundationWeb/filecoin-foundation about the forked library so in case anyone engages with maintaining it in the FF repo, they become aware of the work that has happened in the fork.
- Decide publishing: npm package under a FilOzone-controlled scope vs. consumed directly.
- Migrate
filecoin-cloudto the forked package (60 files / 135 imports; includesstyles,setUIConfig,useNetwork/NetworkSelectorglobal wiring). - Migrate
filecoin-pay-explorer(apps/explorer/) to the forked package. - Name an owner/maintainer for the forked library (UXIT — Mirha, Charly, Barbara — did the original integration and are gone).
- Decide whether to carry the in-flight #319 fix (FF PR #2337) into the fork.
- 主要言語
- TypeScript
- スター
- 4
- フォーク
- 10
- 平均マージ
- 4時間 10分
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
FilOzone/filecoin-cloud のほかの issue
-
Link Checker Reportオープンbroken-links
難易度 2/5 1〜3時間 初心者へのやさしさ 58/100
FilOzone/filecoin-cloud#393 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 43/100
FilOzone/filecoin-cloud#391 ·
メンテナーはふだん 1 日以内に返信
-
Link Checker Reportオープンbroken-links
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
FilOzone/filecoin-cloud#315 ·
メンテナーはふだん 1 日以内に返信
-
No validation for network configuration JSON (contract addresses, duplicate active versions, schema)再び着手できるかも @DarkLord017 が 350 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
FilOzone/filecoin-cloud#48 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
FilOzone/filecoin-cloud の issue をすべて見る
似ている issue
-
Codex使用可 コード
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ryuki-moro/Nicomaru#218 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
sveltejs/svelte-eslint-parser#1008 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
silverbucket/inbox-rs#351 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: The H2 series' and the H3C's fan 3 is labelled "Chamber Fan", Bambu calls it the exhaust fanオープンarea:ui
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
bug front P2
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
invoicerr-app/invoicerr#964 ·
メンテナーはふだん 1 日以内に返信