Live verification during planning surfaced two facts that change the
shipping strategy:
1. tree-sitter-dart@1.0.0's prebuilt wasm uses the pre-`dylink.0` format
and fails to load in web-tree-sitter@0.26.x (the version this project
uses). Verified by directly loading the upstream wasm and catching
the failure in getDylinkMetadata.
2. The grammar source itself is sound — rebuilding with the current
tree-sitter-cli@0.26.x + wasi-sdk-29 toolchain produces a working
dylink.0-format wasm that parses every construct the extractor needs.
Revised packaging: ship the freshly-built wasm as a workspace-internal
package (@understand-anything/tree-sitter-dart-wasm) rather than
depending on the broken upstream npm artifact. No loader changes
required; existing TreeSitterPlugin resolves it the same way it
resolves other tree-sitter packages.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the brainstormed design for landing deep Dart support at parity with
the recent Kotlin add (PR #347): LanguageConfig + tree-sitter WASM grammar
(tree-sitter-dart@1.0.0, verified ships a prebuilt .wasm in its tarball) +
DartExtractor + ~22 vitest cases. Six file changes, no edits to shared
schemas/registries.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>