Skip to content
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: Monodeploy v2 #202

Merged
merged 29 commits into from
Feb 19, 2021
Merged

feat: Monodeploy v2 #202

merged 29 commits into from
Feb 19, 2021

Conversation

noahnu
Copy link
Contributor

@noahnu noahnu commented Jan 16, 2021

Description

A complete rewrite of Monodeploy. This rewrite removes the dependency on lerna, and instead makes use of the Yarn Berry API to operate on yarn workspaces directly.

Related Issues

Checklist

  • This PR has sufficient documentation.
  • This PR has sufficient test coverage.
  • This PR title satisfies semantic convention.

Additional Comments

No additional comments.

Noah added 2 commits December 17, 2020 14:39
BREAKING CHANGE: Major rewrite of monodeploy. It is now a wrapper around Yarn Berry's API, and operates directly on yarn workspaces rather than lerna. It is no longer compatible with lerna monorepos. Migration instructions are available in the README. The API and CLI interface have completely changed. Please refer to the documentation for the new usage.
@noahnu noahnu changed the title Monodeploy v2 feat: Monodeploy v2 Jan 16, 2021
@noahnu noahnu requested a review from mcataford January 16, 2021 19:21
@noahnu noahnu marked this pull request as ready for review January 18, 2021 03:53
Copy link
Member

@mcataford mcataford left a comment

Choose a reason for hiding this comment

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

This is exciting! Gave it a first read, only had smol thoughts. Will give it another read tomorrow and will merge in some minor changes re:accounting for pre/postpack and prepublish scripts ASAP.

Otherwise this looks ah-mazing to me, the future really is now. 🚀

src/core/publishPackages.ts Outdated Show resolved Hide resolved
src/logging.ts Outdated Show resolved Hide resolved
src/utils/changelog.ts Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented Jan 31, 2021

Codecov Report

Merging #202 (cdef2bc) into master (6fac6cd) will decrease coverage by 44.76%.
The diff coverage is 49.89%.

@@             Coverage Diff             @@
##           master     #202       +/-   ##
===========================================
- Coverage   94.66%   49.89%   -44.77%     
===========================================
  Files           9       27       +18     
  Lines          75      485      +410     
  Branches        0      102      +102     
===========================================
+ Hits           71      242      +171     
- Misses          4      226      +222     
- Partials        0       17       +17     

Noah and others added 15 commits January 31, 2021 14:10
* chore: add yarnpkg/shell

* wip: lifecycle exec util

* wip: prepack postpack prepublish

* wip: cleanup

* fix: prepub -> prepare + placement

* wip: use internal lifecycle executor (#224)

* wip: use internal lifecycle executor

* test: lifecycle scripts

* test: add prepack cov

* feat: use toplevel script if not available in subworkspace

* test: add nested packs, cov prepack

* Revert "test: add nested packs, cov prepack"

This reverts commit 9aba7af.

* Revert "feat: use toplevel script if not available in subworkspace"

This reverts commit 09897f9.

Co-authored-by: Marc Cataford <c.marcandre@gmail.com>

* chore: yarnpkg/shell no longer needed

Co-authored-by: Noah <noah.negin-ulster@tophatmonocle.com>
* chore: better error handling

* feat: default to last successful tag

* refactor: pass full commit to changelog
* ci: add build in testlint

* ci: move up
* refactor: monodeploy as monorepo

* wip: revert typo

* refactor: split off logging

* chore: fix exclusions to avoid jest haste errs

* chore: lint

* build: missing dep, mb temp

* refactor: split off changelog

* ci: tweak fix

* chore: dead code, moved

* refactor: split off monodeploy-git (#233)

* refactor: split off types into own package (#234)

* refactor: split off stream into monodeploy-io

* refactor: add typescript types to package.jsons

* refactor: rename cli to monodeploy and monodeploy to node (#235)

* refactor: extract dependency graph helper (#236)

* refactor: extract publish and some io

* refactor: split off monodeploy-versions (#237)

* refactor: prepare monodeploy-versions

* refactor: fix imports

* refactor: clear up dead code

* refactor: package backup utils to monodeploy-io (#238)

* refactor: package backup utils -> io

* refactor: remove dead code

* refactor: move last of core, movable utils (#239)

* refactor: relocate last scraps

* refactor: dead code

* chore: unused deps

Co-authored-by: Marc Cataford <c.marcandre@gmail.com>
Co-authored-by: Marc Cataford <marc.cataford@tophatmonocle.com>
* test: toying with mockless tests

* test: commit msgs

* wip: add invariant skip

* chore: dead code

* test: more cov

* test: cov

* refactor: add tmpdir to paths

Co-authored-by: Noah <noah.negin-ulster@tophatmonocle.com>

* wip: test repo paths

* chore: unneeded dep

* chore: empty

* test: gitPush, config-agnostic cov

* wip: test utils

Co-authored-by: Noah <noah.negin-ulster@tophatmonocle.com>
* test: getDependents cov

* chore: mock data, private sample workspace

* test: private dependent cov

* test: cov dupe dependents
Noah and others added 4 commits February 12, 2021 18:08
* fix: fail publishing on publish error
* chore: update to node 14.15.5

* docs: add basic readmes for packages
* chore: typo

* chore: devDep for test

* test: cov

* refactor: extract test utils

* test: cov explicit strats

* refactor: test utils extraction

* chore: dead code

* chore: type

* refactor: extract config gen
Copy link
Member

@mcataford mcataford left a comment

Choose a reason for hiding this comment

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

Let's do it. 🚀

@mcataford mcataford merged commit 34ff9f9 into master Feb 19, 2021
@mcataford mcataford deleted the next/v2 branch February 19, 2021 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment