Skip to content

Refactor publish command to be 98% async#1261

Merged
evocateur merged 6 commits into
lerna:masterfrom
evocateur:publish-performance
Feb 13, 2018
Merged

Refactor publish command to be 98% async#1261
evocateur merged 6 commits into
lerna:masterfrom
evocateur:publish-performance

Conversation

@evocateur

@evocateur evocateur commented Feb 12, 2018

Copy link
Copy Markdown
Member

This builds on #1260, utilizing the new Map-and-Set-based PackageGraph idioms. In the process, some algorithms were dramatically simplified, and performance improved noticeably (especially in the integration tests).

PublishCommand

  • Literally every callback except the superclass lifecycle replaced with Promise-based patterns.
  • Integration test now actually tests --conventional-commits completely, shaving off a few seconds of execution time on average.

ConventionalCommitUtilities

  • Use programmatic (async) conventional-commits APIs instead of synchronous CLI calls.
  • Now supports presets for conventional-recommended-bump, as long as they support the new preset API.
  • Only the default (conventional-commits-angular) is included as a dependency, anything custom will need to be installed by the consumer.

@evocateur evocateur changed the title Improve publish performance with Promises Refactor publish command to be 98% async Feb 12, 2018
@evocateur evocateur force-pushed the publish-performance branch 2 times, most recently from 47bf30e to 0c6028c Compare February 12, 2018 21:13
- Use programmatic (async) conventional-commits APIs
-- allows preset for recommended bump, woo
- Literally every callback except the superclass lifecycle replaced with
  Promise-based patterns.
- Integration test now actually tests --conventional-commits completely,
  shaving off a few seconds of execution time on average.
@evocateur evocateur added this to the v3.0.0 milestone Feb 12, 2018

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.`);
function getChangelogConfig(changelogPreset = "conventional-changelog-angular") {

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could just let conventional-changelog-preset-loader do the dirty work, but then we wouldn't get caching and more flexibility with scopes and such.

@evocateur evocateur merged commit 8fb38e4 into lerna:master Feb 13, 2018
@evocateur evocateur deleted the publish-performance branch February 13, 2018 00:20
@lock

lock Bot commented Dec 27, 2018

Copy link
Copy Markdown

This thread has been automatically locked because there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock Bot locked as resolved and limited conversation to collaborators Dec 27, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant