You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: include unchanged dependents in release validation (#173)
* fix: include unchanged dependents in release validation
* fix: apply peer dependency validation without changes to ui
* fix: use set for major bumps check
* Address PR feedback
* rollback releaseSelections renaming
Copy file name to clipboardexpand all lines: src/release-specification.test.ts
+226-4
Original file line number
Diff line number
Diff line change
@@ -602,7 +602,7 @@ Your release spec could not be processed due to the following issues:
602
602
});
603
603
});
604
604
605
-
it('throws if there are any packages in the release with a major version bump using the word "major", but any of their dependents defined as "peerDependencies" are not listed in the release',async()=>{
605
+
it('throws if there are any packages in the release with a major version bump using the word "major", but any of their dependents defined as "peerDependencies" have changes since their latest release and are not listed in the release',async()=>{
606
606
awaitwithSandbox(async(sandbox)=>{
607
607
constproject=buildMockProject({
608
608
workspacePackages: {
@@ -657,7 +657,62 @@ ${releaseSpecificationPath}
657
657
});
658
658
});
659
659
660
-
it('throws if there are any packages in the release with a major version bump using a literal version, but any of their dependents defined as "peerDependencies" are not listed in the release',async()=>{
660
+
it('throws if there are any packages in the release with a major version bump using the word "major", but any of their dependents defined as "peerDependencies" are not listed in the release, even if they have no changes',async()=>{
Your release spec could not be processed due to the following issues:
695
+
696
+
* The following dependents of package 'a', which is being released with a major version bump, are missing from the release spec.
697
+
698
+
- b
699
+
700
+
Consider including them in the release spec so that they are compatible with the new 'a' version.
701
+
702
+
If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:
703
+
704
+
packages:
705
+
b: intentionally-skip
706
+
707
+
The release spec file has been retained for you to edit again and make the necessary fixes. Once you've done this, re-run this tool.
708
+
709
+
${releaseSpecificationPath}
710
+
`.trim(),
711
+
);
712
+
});
713
+
});
714
+
715
+
it('throws if there are any packages in the release with a major version bump using a literal version, but any of their dependents defined as "peerDependencies" have changes since their latest release and are not listed in the release',async()=>{
661
716
awaitwithSandbox(async(sandbox)=>{
662
717
constproject=buildMockProject({
663
718
workspacePackages: {
@@ -712,7 +767,62 @@ ${releaseSpecificationPath}
712
767
});
713
768
});
714
769
715
-
it('throws if there are any packages in the release with a major version bump using the word "major", but their dependents via "peerDependencies" have their version specified as null in the release spec',async()=>{
770
+
it('throws if there are any packages in the release with a major version bump using a literal version, but any of their dependents defined as "peerDependencies" are not listed in the release, even if they have no changes',async()=>{
Your release spec could not be processed due to the following issues:
805
+
806
+
* The following dependents of package 'a', which is being released with a major version bump, are missing from the release spec.
807
+
808
+
- b
809
+
810
+
Consider including them in the release spec so that they are compatible with the new 'a' version.
811
+
812
+
If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:
813
+
814
+
packages:
815
+
b: intentionally-skip
816
+
817
+
The release spec file has been retained for you to edit again and make the necessary fixes. Once you've done this, re-run this tool.
818
+
819
+
${releaseSpecificationPath}
820
+
`.trim(),
821
+
);
822
+
});
823
+
});
824
+
825
+
it('throws if there are any packages in the release with a major version bump using the word "major", but their dependents via "peerDependencies" have changes since their latest release and have their version specified as null in the release spec',async()=>{
716
826
awaitwithSandbox(async(sandbox)=>{
717
827
constproject=buildMockProject({
718
828
workspacePackages: {
@@ -768,7 +878,63 @@ ${releaseSpecificationPath}
768
878
});
769
879
});
770
880
771
-
it('throws if there are any packages in the release with a major version bump using a literal version, but their dependents via "peerDependencies" have their version specified as null in the release spec',async()=>{
881
+
it('throws if there are any packages in the release with a major version bump using the word "major", but their dependents via "peerDependencies" have their version specified as null in the release spec, even if they have no changes',async()=>{
Your release spec could not be processed due to the following issues:
917
+
918
+
* The following dependents of package 'a', which is being released with a major version bump, are missing from the release spec.
919
+
920
+
- b
921
+
922
+
Consider including them in the release spec so that they are compatible with the new 'a' version.
923
+
924
+
If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:
925
+
926
+
packages:
927
+
b: intentionally-skip
928
+
929
+
The release spec file has been retained for you to edit again and make the necessary fixes. Once you've done this, re-run this tool.
930
+
931
+
${releaseSpecificationPath}
932
+
`.trim(),
933
+
);
934
+
});
935
+
});
936
+
937
+
it('throws if there are any packages in the release with a major version bump using a literal version, but their dependents via "peerDependencies" have changes since their latest release and have their version specified as null in the release spec',async()=>{
772
938
awaitwithSandbox(async(sandbox)=>{
773
939
constproject=buildMockProject({
774
940
workspacePackages: {
@@ -818,6 +984,62 @@ Your release spec could not be processed due to the following issues:
818
984
819
985
The release spec file has been retained for you to edit again and make the necessary fixes. Once you've done this, re-run this tool.
820
986
987
+
${releaseSpecificationPath}
988
+
`.trim(),
989
+
);
990
+
});
991
+
});
992
+
993
+
it('throws if there are any packages in the release with a major version bump using a literal version, but their dependents via "peerDependencies" have their version specified as null in the release spec, even if they have no changes',async()=>{
Your release spec could not be processed due to the following issues:
1029
+
1030
+
* The following dependents of package 'a', which is being released with a major version bump, are missing from the release spec.
1031
+
1032
+
- b
1033
+
1034
+
Consider including them in the release spec so that they are compatible with the new 'a' version.
1035
+
1036
+
If you are ABSOLUTELY SURE these packages are safe to omit, however, and want to postpone the release of a package, then list it with a directive of "intentionally-skip". For example:
1037
+
1038
+
packages:
1039
+
b: intentionally-skip
1040
+
1041
+
The release spec file has been retained for you to edit again and make the necessary fixes. Once you've done this, re-run this tool.
0 commit comments