@@ -29,6 +29,7 @@ void describe('release lifecycle', async () => {
2929
3030 let cantaloupePackageName : string ;
3131 let platypusPackageName : string ;
32+ let brandNewPackageName : string ;
3233
3334 before ( async ( ) => {
3435 await import ( '../start_npm_proxy.js' ) ;
@@ -43,10 +44,12 @@ void describe('release lifecycle', async () => {
4344 * It seeds the local npm proxy with a few releases of these packages.
4445 * When its done, the state of the git refs and npm dist-tags should be as follows:
4546 *
46- * third release commit ● <- HEAD, [email protected] , cantaloupe@latest 47+ * third release commit ● <- HEAD, [email protected] , cantaloupe@latest, [email protected] , brand-new-package@latest 4748 * |
4849 * minor bump of cantaloupe only ●
4950 * |
51+ * add brand-new-package ●
52+ * |
5053 * second release commit ● <- [email protected] , platypus@latest 5154 * |
5255 * minor bump of platypus only ●
@@ -82,6 +85,8 @@ void describe('release lifecycle', async () => {
8285 `${ testNameNormalized } -cantaloupe-${ shortId } ` . toLocaleLowerCase ( ) ;
8386 platypusPackageName =
8487 `${ testNameNormalized } -platypus-${ shortId } ` . toLocaleLowerCase ( ) ;
88+ brandNewPackageName =
89+ `${ testNameNormalized } -brand-new-package-${ shortId } ` . toLocaleLowerCase ( ) ;
8590
8691 await gitClient . init ( ) ;
8792 await gitClient . switchToBranch ( 'main' ) ;
@@ -123,6 +128,11 @@ void describe('release lifecycle', async () => {
123128 await gitClient . commitAllChanges ( 'Version Packages (second release)' ) ;
124129 await runPublishInTestDir ( ) ;
125130
131+ await npmClient . initWorkspacePackage ( brandNewPackageName ) ;
132+ await setPackageToPublic (
133+ path . join ( testWorkingDir , 'packages' , brandNewPackageName ) ,
134+ ) ;
135+
126136 await commitVersionBumpChangeset (
127137 testWorkingDir ,
128138 gitClient ,
@@ -146,6 +156,12 @@ void describe('release lifecycle', async () => {
146156 '1.2.0' ,
147157 'latest' ,
148158 ) ;
159+ await expectDistTagAtVersion (
160+ npmClient ,
161+ brandNewPackageName ,
162+ '1.0.0' ,
163+ 'latest' ,
164+ ) ;
149165 } ) ;
150166
151167 void it ( 'can deprecate and restore packages using npm metadata' , async ( ) => {
@@ -158,6 +174,7 @@ void describe('release lifecycle', async () => {
158174 const releaseDeprecator1 = new ReleaseDeprecator (
159175 'HEAD' ,
160176 'the cantaloupe is rotten' ,
177+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
161178 githubClient ,
162179 gitClient ,
163180 npmClient ,
@@ -185,6 +202,7 @@ void describe('release lifecycle', async () => {
185202 const releaseDeprecator2 = new ReleaseDeprecator (
186203 'HEAD~' ,
187204 'RIP platypus' ,
205+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
188206 githubClient ,
189207 gitClient ,
190208 npmClient ,
@@ -213,6 +231,7 @@ void describe('release lifecycle', async () => {
213231 const releaseDeprecator3 = new ReleaseDeprecator (
214232 'HEAD~3' ,
215233 'real big mess' ,
234+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
216235 githubClient ,
217236 gitClient ,
218237 npmClient ,
@@ -252,6 +271,7 @@ void describe('release lifecycle', async () => {
252271 await gitClient . switchToBranch ( 'main' ) ;
253272 const releaseRestorer1 = new ReleaseRestorer (
254273 'HEAD~3' ,
274+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
255275 githubClient ,
256276 gitClient ,
257277 npmClient ,
@@ -279,6 +299,7 @@ void describe('release lifecycle', async () => {
279299 await gitClient . switchToBranch ( 'main' ) ;
280300 const releaseRestorer2 = new ReleaseRestorer (
281301 'HEAD~' ,
302+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
282303 githubClient ,
283304 gitClient ,
284305 npmClient ,
@@ -299,6 +320,7 @@ void describe('release lifecycle', async () => {
299320 await gitClient . switchToBranch ( 'main' ) ;
300321 const releaseRestorer3 = new ReleaseRestorer (
301322 'HEAD' ,
323+ new Set ( [ brandNewPackageName ] ) , // skip brand-new package,
302324 githubClient ,
303325 gitClient ,
304326 npmClient ,
0 commit comments