コンテンツにスキップ

インポート解決設定

mille は言語ごとにインポートを「内部(Internal)」か「外部(External)」かに分類します。 [resolve.*] セクションでこの解決ロジックを設定します。

[resolve.typescript]

キー説明
tsconfigtsconfig.json へのパス。compilerOptions.paths のエイリアスを内部インポートとして解決します。
[resolve.typescript]
tsconfig = "./tsconfig.json"

TypeScript / JavaScript のインポート分類:

インポート分類
import X from "./module"内部
import X from "../module"内部
import X from "@/module" (tsconfig のパスエイリアス)内部
import X from "react"外部
import fs from "node:fs"外部

[resolve.go]

キー説明
module_nameGo モジュール名(go.mod と一致)。mille initgo.mod から自動生成します。
[resolve.go]
module_name = "github.com/myorg/my-go-app"

[resolve.python]

キー説明
src_rootPython ソースツリーのルートディレクトリ(mille.toml からの相対パス)
package_names内部パッケージ名のリスト。これらで始まるインポートが内部として分類されます。
[resolve.python]
src_root = "."
package_names = ["domain", "usecase", "infrastructure"]

Python のインポート分類:

インポート分類
from .sibling import X(相対インポート)内部
import domain.entitypackage_names に一致)内部
import os, import sqlalchemy外部

[resolve.java]

Java と Kotlin で共通して使用します。

キー説明
module_nameプロジェクトのベースパッケージ(例: com.example.myapp)。このプレフィックスで始まるインポートが内部として分類されます。
pom_xmlpom.xml へのパス。module_name 未設定時に groupId.artifactId を使用。
build_gradlebuild.gradle へのパス。module_name 未設定時に group + rootProject.name を使用。
[resolve.java]
module_name = "com.example.myapp"

Java のインポート分類:

インポート分類
import com.example.myapp.domain.User内部
import static com.example.myapp.util.Helper.method内部
import java.util.List, import org.springframework.*外部