To view all the dependencies of a flutter project, we can use the following command.

flutter pub deps -s list
- flutter 0.0.0
  - characters 1.3.0
  - collection 1.18.0
  - material_color_utilities 0.5.0
  - meta 1.10.0
  - vector_math 2.1.4
  - web 0.3.0
  - sky_engine any
- cupertino_icons 1.0.6
- sqlite3 2.2.0
  - collection ^1.15.0
  - ffi >=1.2.1 <3.0.0
  - js ^0.6.4
  - meta ^1.3.0
  - path ^1.8.0

In this example, we can see that sqlite3 package is using meta which can include any version from 1.3.0 to 2.0.0. We need to then find the meta package to see what the version is. If there are a lots of packages, it's difficult to check transitive dependencies this way. We can use pubviz to generate a visual dependency graph which clearly shows the effective version.

# install pubviz dart package
dart pub global activate pubviz

# add path to env if not added
export PATH="$PATH":"$HOME/.pub-cache/bin"

Then run pubviz inside the project directory.

dart pub global run pubviz -f html open

Flutter dependency graph

Here we can see the effective dependency versions of each packages clearly now.