Publish Command
Publish any unpublished packages or package versions in your repository to
pub.dev. dry-run is enabled by default.
melos publish
--dry-run
Flags whether to publish the packages as a dry run (validate but do not
publish). Defaults to true.
# Publish packages with dry run
melos publish --dry-run
# Publish packages without dry run
melos publish --no-dry-run
Use --no-dry-run to disable.
--git-tag-version (-t)
Add any missing git tags for release. Tags are only created if --no-dry-run is also set.
melos publish --no-dry-run --git-tag-version
Note that tags are automatically created as part of melos version (unless
--no-git-tag-version is specified when running the version command) so this is
usually not required on melos publish unless you're doing a manual version and
publish of packages.
Hooks
Melos supports various command lifecycle hooks
that can be defined in your melos.yaml.
For example, if you need to run something such as a build runner automatically
before melos publish is run and then remove the generated files after
publishing is done, you can add pre and post hook scripts to your
melos.yaml file:
# melos.yaml
# ...
command:
publish:
hooks:
pre: dart pub run build_runner build
post: dart pub run build_runner clean
# ...
The pre-hook will run before melos publish and the post-hook will run after
melos publish is done. It only runs once, even if multiple packages are
published and it also runs when you are doing a dry-run publish.
You can detect whether it is a dry-run by checking the MELOS_PUBLISH_DRY_RUN
environment variable.

