Skip to content

wakamsha/learn-react

Repository files navigation

learn-react

The Sandbox for learning React.

Workspaces

apps

Sub package 概要 備考
catalog 当該プロジェクトにある様々な Story コンポーネントを import することで、一覧表示および動作確認が出来ます。 https://learn-react.wakamsha.net/
doc 各種サブパッケージ・コードベースの JSDoc コメントからドキュメントページを生成します。生成処理には TypDoc を使っています。 https://typedoc.org/net/
react-router-ssr ReactRouter (ex-Remix)を用いた SSR アプリケーションの実装デモを管理します。 https://reactrouter.com/
routing ReactRouter を用いたアプリケーションの実装デモを管理します。 https://reactrouter.com/
statement 様々な状態管理ライブラリと React を組み合わせたアプリケーションの実装デモを管理します。 MobX
Unstated Next
Constate

packages

Sub package 概要 備考
builder 各サブパッケージをビルドするためのスクリプトを管理します。ビルドには Vite を使います。 https://vitejs.dev/
core 当リポジトリ横断(共通)で使用する Components, Constants, Hooks, Helpers を管理します。
icon SVG ファイルを読み込み、そこから SVG アイコン の dom を返す React コンポーネントを生成します。
try React 単体の機能な振る舞いについての実装デモを管理します。
tsconfig 各サブパッケージが参照する tsconfig.json を管理します。

Prerequisites

Module Ver.
Node.js ./.node-version を参照
pnpm ./.package.json を参照

Node.js

本リポジトリで利用可能な Node.js のバージョンは ./.node-version ファイルにて管理しているため、開発者にはこのファイルをサポートしている Node.js バージョン管理ツールの利用を推奨します。以下は推奨するバージョン管理ツールの例です。

pnpm

本リポジトリではパッケージマネージャーに pnpm を使用します。corepack コマンドを実行して pnpm を有効化します。

corepack enable pnpm

Install dependencies

pnpm install

Setup

pnpm prepare
# - `@learn-react/icon` パッケージで管理している SVG ファイルから SVG アイコンコンポーネント用のオブジェクトデータを生成します。
# - `@learn-react/builder` パッケージをビルドして、 Apps ワークスペース配下のパッケージをビルドできるようにします。

これで @learn-react/core/components/dataDisplay/Icon コンポーネントが使えるようになります。また、 Apps ワークスペース配下の各パッケージをビルドできるようになります。

Develop

Package (application) structure

アプリケーションとしてビルド・起動するパッケージは以下の通り:

  • @learn-react/catalog
  • @learn-react/esnext
  • @learn-react/routing
  • @learn-react/statement

上記以外は API や共通ライブラリの実装となっており、単独で利用することはありません。

Run

pnpm (catalog|esnext|rr-ssr|routing|statement) start
# e.g. pnpm catalog start

上記コマンドで指定のアプリケーションが起動し、web ブラウザも自動で立ち上がります。起動中はファイルの変更を検知して自動的にリビルド、リロードされます。

Build

Package (application) structure

アプリケーションとしてビルドするパッケージは以下の通り:

  • @learn-react/catalog
  • @learn-react/doc
  • @learn-react/esnext
  • @learn-react/react-router-ssr
  • @learn-react/routing
  • @learn-react/statement

Build

pnpm (catalog|doc|esnext|rr-ssr|routing|statement) build
# e.g. pnpm catalog build

Lint

pnpm lint

Format

pnpm format

About

for learning React

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •