Environment Variables

These variables are available as environment variables in scripts run by melos exec. They can also automatically replaced/injected on melos exec commands e.g. melos exec --file-exists="./test_driver/MELOS_PARENT_PACKAGE_NAME_e2e.dart" --scope="*example*" -- echo hello

Defined by Melos#

MELOS_ROOT_PATH#

The path to the mono-repo root

MELOS_PACKAGE_NAME#

The name of the package that's currently executing a script (when using melos exec)

MELOS_PACKAGE_VERSION#

The version of the package that's currently executing a script (when using melos exec)

MELOS_PACKAGE_PATH#

The path of the package that's currently executing a script (when using melos exec).

MELOS_PARENT_PACKAGE_NAME#

The name of the parent package of the current package that's currently executing a script (when using melos exec).

MELOS_PARENT_PACKAGE_VERSION#

The version of the parent package of the current package that's currently executing a script (when using melos exec).

MELOS_PARENT_PACKAGE_PATH#

The path of the parent package of the current package that's currently executing a script (when using melos exec).

MELOS_PUBLISH_DRY_RUN#

Whether the current publish is a dry run or not. This is true when running melos publish --dry-run and false otherwise.

What is a 'parent package'#

If a package exists in a directory that is also a child of another package, then its parent is the 'parent package'. For example; the package firebase_auth has a example directory that is also a package, when running a melos exec script in the example package then the parent package would be firebase_auth.

Note, this 'parent package' functionality only currently works when the 'child package' name ends with example

User Defined#

MELOS_PACKAGES#

Define a comma delimited list of package names that Melos should focus on. This will act as the scope global package filter, and it will override the scope for all the filtering options defined in the packageFilters section.

MELOS_SDK_PATH#

The path to the Dart/Flutter SDK to use. This environment variable has precedence over the sdkPath option in melos.yaml, but is overridden by the command line option --sdk-path.