Loading...
Loading...
Find and read source code for Dart or Flutter packages from project dependencies or pub.dev. Use when asked to inspect package implementation details, trace dependency code, locate package files by resolving `.dart_tool/package_config.json`, or inspect a package that is not currently installed by unpacking it with `dart pub unpack`.
npx skill4agent add hexsis-llc/skills pub-package-explorer.dart_tool/package_config.jsondart pub unpackpackage_config.json.dart_tool/package_config.jsonpackages[]namerootUripackageUrilib/rootUri + packageUrifile://PACKAGE="analyzer"
CONFIG=".dart_tool/package_config.json"
SOURCE_URI="$(jq -r --arg pkg "$PACKAGE" '
.packages[]
| select(.name == $pkg)
| (.rootUri + (if (.rootUri | endswith("/")) then "" else "/" end) + .packageUri)
' "$CONFIG")"SOURCE_PATH="$(printf '%s\n' "$SOURCE_URI" | sed 's#^file://##')"rglscat.dart_tool/package_config.jsonPACKAGE="analyzer" # or "analyzer:7.4.0"
OUTPUT_DIR="/tmp/pub-unpack"
mkdir -p "$OUTPUT_DIR"
dart pub unpack "$PACKAGE" --output "$OUTPUT_DIR"PACKAGE_NAME="${PACKAGE%%:*}"
UNPACKED_DIR="$(find "$OUTPUT_DIR" -maxdepth 1 -type d -name "${PACKAGE_NAME}-*" | sort | tail -n 1)"
ls "$UNPACKED_DIR"
ls "$UNPACKED_DIR/lib"
rg --files "$UNPACKED_DIR/lib"dart pub unpack--force--output<package>-<version>jq -r --arg pkg "$PACKAGE" '
.packages[]
| select(.name == $pkg)
| .rootUri
' .dart_tool/package_config.jsonjq -r --arg pkg "$PACKAGE" '
.packages[]
| select(.name == $pkg)
| "\(.rootUri)\t\(.packageUri)"
' .dart_tool/package_config.jsonpackage_config.jsondart pub unpack.dart_tool/package_config.jsondart pub getflutter pub getrootUri + packageUridart pub unpack