-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(release): dynamic release config via programmatic API #27204
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
☁️ Nx Cloud ReportCI is running/has finished running commands for commit 7d5806d. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 4 targets
Sent with 💌 from NxCloud. |
6bfa854
to
90591ee
Compare
@@ -174,7 +174,7 @@ export interface NxReleaseConventionalCommitsConfiguration { | |||
>; | |||
} | |||
|
|||
interface NxReleaseConfiguration { | |||
export interface NxReleaseConfiguration { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed for custom scripts which make use of the new ReleaseClient
API
): T { | ||
try { | ||
// Ensure both objects are valid JSON before attempting to merge values | ||
JSON.parse(JSON.stringify(source)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this check here would pass for numbers, strings, booleans etc only for below code to fail. Maybe thats fine, just pointing out :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this plus the author time checks from TS should be good enough
My conflict resolution via the github UI caused the formatting to fail, rebasing locally. I ran through the overall concept with Jason already so it's just pending final review |
f83f6e6
to
7d5806d
Compare
This pull request has already been merged/closed. If you experience issues related to these changes, please open a new issue referencing this pull request. |
Summary
This PR adds a new
ReleaseClient
class to the programmatic API which allows for users to dynamically create nx release configuration and combine it with any config in nx.json.This is particularly useful for large workspaces with many projects and lots of groups.
There are no changes to existing programmatic APIs and use-cases.
Example of new print-config output
The following command can additionally be used for debugging more advanced cases/nx internals:
Note for reviewers
^ strongly recommended settings for the diff view of this particular PR