A community WASM plugin for proto that manages Dart SDK versions.
Requires proto >= 0.46.0
NOTE: If you are using the proto-flutter-plugin, you don't need this plugin in most cases — Flutter bundles Dart.
proto plugin add dart "github://KonstantinKai/proto-dart-plugin"
proto install dartOr add manually to .prototools:
[plugins.tools]
dart = "github://KonstantinKai/proto-dart-plugin"# Install Dart
proto install dart 3.7
# Use Dart
proto run dart -- --version
# List available versions
proto versions dart
# Pin a version in the current directory
proto pin dart 3.7The plugin automatically detects Dart versions from:
pubspec.yaml/pubspec.yml— readsenvironment.sdkfield (supports version constraints)
Configure in .prototools under [tools.dart]:
[tools.dart]
# Custom download URL template (default: official Dart archive)
# Placeholders: {channel}, {version}, {platform}, {arch}
dist-url = "https://storage.googleapis.com/dart-archive/channels/{channel}/release/{version}/sdk/dartsdk-{platform}-{arch}-release.zip"| Platform | Architecture | Notes |
|---|---|---|
| Linux | x64 | All versions |
| Linux | x86 (ia32) | < 3.8.0 only |
| Linux | arm | >= 1.12.0 |
| Linux | arm64 | >= 1.23.0 |
| Linux | riscv64 | Stable >= 3.3.0, beta >= 3.0.0-290.2.beta |
| macOS | x64 | All versions |
| macOS | x86 (ia32) | < 2.8.0 only |
| macOS | arm64 | >= 2.14.1 |
| Windows | x64 | All versions |
| Windows | x86 (ia32) | < 2.8.0 only |
| Windows | arm64 | Stable >= 3.3.0, beta >= 3.2.0-42.2.beta |
- Supports version aliases:
stable,beta,latest - Only includes stable and beta channel versions
- Respects platform and architecture compatibility when listing versions
Dart plugin does not support hooks.
Build the plugin:
cargo build --target wasm32-wasip1If you find this plugin useful, please give it a star on GitHub — it helps others discover the project!