設定ファイル
コード管理では、TypeScriptで設定を記述します。SDKが提供する関数を使うことで、型安全に設定を定義できます。
リポジトリ構造
ファイル構造に厳密な規約はありません。以下は一般的な構成例です。
種類別の管理
my-project/
├── .github/ # CI/CDの設定
├── basemachina.config.ts # プロジェクト設定
├── package.json
├── tsconfig.json
├── actions/ # アクション
│ ├── get-users.ts
│ ├── list-users.ts
│ └── js-action-codes/
│ └── get-user.ts # JavaScriptアクションのコード
├── views/ # ビュー
│ └── user-list/
│ └── index.tsx
└── shared/
└── params.ts # 共通パラメーター定義機能別の管理
my-project/
├── basemachina.config.ts
├── features/
│ └── user-management/ # ユーザー管理機能
│ ├── actions/
│ │ └── get-users.ts
│ └── views/
│ └── user-list/
│ └── index.tsxモノレポ構成にも対応しており、お客さんのサービスのリポジトリにベースマキナの設定を同居させることも可能です。
SDK関数
設定ファイルでは、以下のSDK関数を使用します。
defineConfig- プロジェクト全体の設定を定義するdefineAction- アクションを定義するreadFile- 外部ファイルの内容を読み込む
tsconfig.json
ダウンロードしたプロジェクトにはtsconfig.jsonが含まれており、SDKの設定を拡張しています。通常は変更不要です。
{
"extends": "@basemachina/sdk/tsconfig.json"
}この設定により、アクションやビューのコードで@basemachina/actionや@basemachina/viewの型定義が使用可能になります。