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
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 example that's currently being executed
in a script (when using melos exec
).
MELOS_PARENT_PACKAGE_VERSION
The version of the parent package of the example that's currently being executed
in a script (when using melos exec
).
MELOS_PARENT_PACKAGE_PATH
The path of the parent package of the example that's currently being executed
in 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 an example package exists in a directory that is a child of another package,
then its parent is the 'parent package'. For example; the package
firebase_auth
has an 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
.