ライブラリ / SDK
seek-oss/braid-design-system avatar
seek-oss/braid-design-system

Braid: skuとBraidProviderでテーマを切り替えるTypeScriptデザインシステム

SEEKグループのテーマ別デザインシステム。たとえば、すべての相対リンクが React Router リンクであることを確認したい場合は、次のようにします。 ローカル開発 このプロジェクトでは、開発の依存関係に pnpm を使用します。

スター 1,571フォーク 98TypeScriptMIT

ひと目でわかる

これは何?
SEEK Group向けのテーマ対応コンポーネントを、Vanilla Extract、pnpm、ランタイムアサーションで運用するBraidの構成。
誰に向いている?
Braid は MIT ライセンスのデザインシステムであり、React プロバイダー、必須の reset インポート、スタイル抽出とアサーション除去のためのビルド時ツールに依存しています。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

SEEK Group 向けのテーマ対応デザインシステム

Braid は SEEK Group 向けのテーマ対応デザインシステムであり、TypeScript で書かれ、MIT ライセンスで公開されています。README はこれをテーマ対応デザインシステムと説明し、リポジトリのメタデータが言語とライセンスを裏付けています。ホームページは GitHub Pages の seek-oss.github.io/braid-design-system にありますが、README 自体は、例で参照されている seekJobs と wireframe テーマ以外に、利用可能なコンポーネントやテーマを列挙していません。唯一明示されている統合要件は sku ビルドツールで、README は sku が Braid を標準でサポートするよう設定されていると述べています。カスタムビルド設定も可能ですが、セットアップノートによると、プロジェクト貢献者からの追加ガイダンスが必要です。リポジトリには 1571 のスターと 99 のフォークがありますが、README はコミュニティの採用状況やメンテナンス状態について言及していません。

sku と BraidProvider によるセットアップ

セットアップは sku プロジェクト向けに文書化されており、README は sku が Braid を標準でサポートしているため、このガイドが sku 向けに最適化されていることを強調しています。最初のステップは、npm install --save braid-design-system でライブラリをインストールすることです。次に、アプリケーションの最上部で、他の何よりも先に reset スタイルをインポートする必要があります。README は、CSS の順序問題を避けるために reset を最初に置く必要があると警告しています。続いて、seekJobs や wireframe などのテーマと BraidProvider コンポーネントをインポートします。BraidProvider は theme プロップとオプションの styleBody プロップを受け取ります。styleBody を false に設定すると、別のアプリに埋め込む際に body の背景色や margin/padding リセットを無効にできます。linkComponent プロップは、makeLinkComponent で作成したカスタムコンポーネントを受け入れ、相対リンクを React Router などのライブラリにルーティングできます。README は React Router を使った完全な例を TypeScript スニペット付きで示しています。

pnpm によるローカル開発

開発依存関係は pnpm で管理されています。README は、pnpm-lock.yaml に一致させるために pnpm でのインストールが必要であると述べ、pnpm install と pnpm start の2つのコマンドを挙げています。ローカル Storybook サーバーを起動するには、pnpm storybook を使用します。README は pnpm start が開始コマンドである以外の具体的な動作を説明しておらず、代替の開発サーバーやホットリロード設定についても言及していません。また、テストや lint の実行方法も説明していません。プロジェクト自身は pnpm を使用していますが、README は利用者が pnpm を必要とするかどうかは述べていません。

Vanilla Extract によるスタイリング

Braid のスタイリングは Vanilla Extract 上に構築されています。Vanilla Extract は TypeScript で CSS を記述し、ビルド時に再利用可能な原子 CSS クラスに抽出するツールです。これには、スタイルを収集するバンドラープラグインが必要で、ドキュメントに注入するか、別のスタイルシートとして生成します。README は Vanilla Extract の統合ガイドを参照し、SEEK は sku を使用してビルドの一部としてこの抽出を行っていると述べています。README には単体の設定例はなく、カスタムビルドではリンクされたドキュメントを参照する必要があります。また、テーマオブジェクトのインポート以外に、サポートされる CSS 機能やテーマの定義方法も列挙していません。

ランタイムアサーションと開発時警告

Braid は assert ライブラリを使用したランタイムチェックで、コンポーネントの正しい使用を強制します。これらのチェックが本番ビルドに含まれないように、README は unassert で assert 呼び出しを除去することを推奨しています。SEEK は sku を通じてこれを行い、sku は Babel と babel-plugin-unassert を使用します。Braid はまた、process.env.NODE_ENV に基づいて、非推奨などのソフトなメッセージの開発時・ビルド時警告を記録します。README はこれらのチェックを本番から除去するよう助言し、sku が webpack optimization を介して NODE_ENV を文字列に置き換え、ミニファイヤーがデッドコードを削除できるようにすると説明しています。README は具体的にどのアサーションが実行されるか、どの警告が存在するかを指定しておらず、メカニズムのみを説明しています。

ライセンスと貢献の道筋

このプロジェクトは MIT ライセンスで、2018 年の SEEK の著作権表示があります。ライセンスは、著作権表示が保持される限り、コピーの使用、複製、変更、結合、公開、配布、再ライセンス、販売の権利を許諾します。ソフトウェアは「現状のまま」提供され、保証はなく、請求や損害に対する責任を免責します。貢献者向けに、README は CONTRIBUTING.md を参照していますが、その文書の詳細は示していません。また、Storybook を利用したコンポーネントのスクリーンショットテストを提供する Chromatic に感謝しています。README は行動規範、issue テンプレート、リンク以外の貢献ガイドラインには言及していません。ライセンスはセキュリティサポート、メンテナンス、貢献の期待については扱っていません。

編集部の結論

Braid は MIT ライセンスのデザインシステムであり、React プロバイダー、必須の reset インポート、スタイル抽出とアサーション除去のためのビルド時ツールに依存しています。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート