Skip to content

feat: Dart (Flutter) 言語サポート追加 #90

@makinzm

Description

@makinzm

概要

Dart(Flutter プロジェクト含む)の import 解析・アーキテクチャチェックを mille に追加したい。

Dart の import 分類ルール(設計済み)

パターン カテゴリ
import 'dart:async'; External(stdlib)
import 'package:my_app/domain/user.dart'; Internal(自パッケージ)
import 'package:flutter/material.dart'; External
import '../model/user.dart'; Internal(相対パス)
  • package_namepubspec.yamlname フィールドから取得
  • [resolve.dart] package_name = "my_app" で手動指定も可能

現状ブロックされている理由

tree-sitter-dart (0.1.0) は cc ^1.2 を要求するが、mille の既存依存に互換性がない。

tree-sitter-dart 0.1.0  → cc ^1.2
tree-sitter-javascript 0.21  → cc ~1.0.90(tree-sitter 0.22 経由)

cc を 1.2 に上げるには tree-sitter 本体を 0.24+ にする必要があるが、tree-sitter-kotlin の最新版 (0.3.8) が tree-sitter >=0.21, <0.23 を要求するため、全体のアップグレードができない。

依存関係の衝突まとめ

クレート 現在 必要 ブロッカー
tree-sitter 0.22 0.24+ tree-sitter-kotlin が <0.23 を要求
cc ~1.0.90 ^1.2 tree-sitter 0.22 系が ~1.0 にピン
tree-sitter-kotlin 0.3.8 0.4+? 未リリース

対応可能になるタイミング

実装予定(ブロック解消後)

  • Parser 実装(src/infrastructure/parser/dart.rs
  • Resolver 実装(src/infrastructure/resolver/dart.rs
  • DispatchingParser / DispatchingResolver 登録
  • E2E fixture + テスト
  • CI dogfooding ステップ追加
  • Website ドキュメント(ja + en)
  • README.md フィーチャーマトリックス更新

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions