Fix: Add semantic-release-replace-plugin for migration version placeholders (fixes #823) #824
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #823
Fix
semantic-release-replace-pluginto automatically replace@@CURRENT_VERSIONand@@RELEASE_VERSIONplaceholders in migration scripts during the release process@semantic-release/gitassets to includemigrations/*.jsso replaced files are committedsemantic-release@@CURRENT_VERSIONvalue in_ariaLevelmigration scripts.@@CURRENT_VERSIONand@@RELEASE_VERSIONplaceholders can be used moving forward.Manually delete release 6.69.0 and tag 6.69.0. See #824 (comment)
Context
Migration scripts can use version placeholders (
@@CURRENT_VERSION,@@RELEASE_VERSION) which should be replaced during release. This was proposed in adapt-migrations issue #48, but the core plugin was never configured to perform the replacement.The adapt-migrations package (v1.4.0+) has a runtime fallback for this, but the proper solution is to have semantic-release replace the placeholders during the release process, so the committed migration files have actual version numbers.
How it works
During release, the plugin replaces:
@@CURRENT_VERSION→${lastRelease.version}(previous release version)@@RELEASE_VERSION→${nextRelease.version}(version being released)