@@ -130,6 +130,7 @@ describe('Package', () => {
130130 '@salesforce/plugin-config' : '1.2.3' ,
131131 'left-pad' : '1.1.1' ,
132132 } ,
133+ pinnedDependencies : [ '@salesforce/plugin-config' ] ,
133134 resolutions : {
134135 '@salesforce/source-deploy-retrieve' : '1.0.0' ,
135136 } ,
@@ -149,70 +150,85 @@ describe('Package', () => {
149150 } ) ;
150151 it ( 'should look up latest version if not provided' , async ( ) => {
151152 const pkg = await Package . create ( ) ;
152- const results = pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config' , '@salesforce/jit-me' ] ) ;
153+ const results = pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config' , '@salesforce/jit-me' , 'left-pad' ] ) ;
153154
154155 expect ( results ) . to . deep . equal ( [
155156 {
156157 packageName : '@salesforce/plugin-config' ,
157158 currentVersion : '1.2.3' ,
159+ // Dependency should be pinned because it is listed in `pinnedDependencies`
158160 finalVersion : '9.9.9' ,
159161 } ,
160162 {
161163 packageName : '@salesforce/jit-me' ,
162164 currentVersion : '1.0.0' ,
165+ // Dependency should be pinned, even though it's not in `pinnedDependencies`, because it's in `oclif.jitPlugins`
163166 finalVersion : '9.9.9' ,
164167 } ,
168+ {
169+ packageName : 'left-pad' ,
170+ currentVersion : '1.1.1' ,
171+ // Dependency should be unpinned because it is not listed in `pinnedDependencies`
172+ finalVersion : '^9.9.9' ,
173+ } ,
165174 ] ) ;
166175 } ) ;
167176
168177 it ( 'should used passed in version' , async ( ) => {
169178 const pkg = await Package . create ( ) ;
170- const results = pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config@11.0.0' ] ) ;
179+ const results = pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config@11.0.0' , 'left-pad@11.0.0' ] ) ;
171180
172181 expect ( results ) . to . deep . equal ( [
173182 {
174183 packageName : '@salesforce/plugin-config' ,
175184 currentVersion : '1.2.3' ,
185+ // Dependency should be pinned because it's in `pinnedDependencies`
176186 finalVersion : '11.0.0' ,
177187 } ,
188+ {
189+ packageName : 'left-pad' ,
190+ currentVersion : '1.1.1' ,
191+ // Dependency should be unpinned because it's not in `pinnedDependencies`
192+ finalVersion : '^11.0.0' ,
193+ } ,
178194 ] ) ;
179195 } ) ;
180196
181- it ( 'should work with non-namespaced package ' , async ( ) => {
197+ it ( 'should unpin a not-explicitly-pinned version even if it is already up-to-date ' , async ( ) => {
182198 const pkg = await Package . create ( ) ;
183- const results = pkg . bumpDependencyVersions ( [ 'left-pad' ] ) ;
199+ const results = pkg . bumpDependencyVersions ( [ 'left-pad@11.0.0 ' ] ) ;
184200
185201 expect ( results ) . to . deep . equal ( [
186202 {
187203 packageName : 'left-pad' ,
188204 currentVersion : '1.1.1' ,
189- finalVersion : '9.9.9 ' ,
205+ finalVersion : '^11.0.0 ' ,
190206 } ,
191207 ] ) ;
192208 } ) ;
193209
194- it ( 'should return an empty array if all versions are already up to date' , async ( ) => {
210+ it ( 'should return an empty array if all bumped versions are already up to date' , async ( ) => {
195211 const pkg = await Package . create ( ) ;
196212 const results = pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config@1.2.3' ] ) ;
197213
198214 expect ( results ) . to . deep . equal ( [ ] ) ;
199215 } ) ;
200216
201- it ( 'should update dependencies in package.json' , async ( ) => {
217+ it ( 'should update unpinned dependencies in package.json to unpinned version ' , async ( ) => {
202218 const pkg = await Package . create ( ) ;
203- pkg . bumpDependencyVersions ( [ '@salesforce/plugin-config @3.3.3' ] ) ;
219+ pkg . bumpDependencyVersions ( [ 'left-pad @3.3.3' ] ) ;
204220
205- expect ( pkg . packageJson . dependencies [ '@salesforce/plugin-config ' ] ) . to . equal ( '3.3.3' ) ;
221+ expect ( pkg . packageJson . dependencies [ 'left-pad ' ] ) . to . equal ( '^ 3.3.3' ) ;
206222 } ) ;
207223
208- it ( 'should update resolutions in package.json' , async ( ) => {
224+ it ( 'should update resolutions in package.json to unpinned version ' , async ( ) => {
209225 const pkg = await Package . create ( ) ;
210226 pkg . bumpDependencyVersions ( [ '@salesforce/source-deploy-retrieve@1.0.1' ] ) ;
211227 assert ( pkg . packageJson . resolutions ) ;
212- expect ( pkg . packageJson . resolutions [ '@salesforce/source-deploy-retrieve' ] ) . to . equal ( '1.0.1' ) ;
228+ expect ( pkg . packageJson . resolutions [ '@salesforce/source-deploy-retrieve' ] ) . to . equal ( '^ 1.0.1' ) ;
213229 } ) ;
214230
215- it ( 'should update jit in package.json' , async ( ) => {
231+ it ( 'should update jit in package.json to pinned version ' , async ( ) => {
216232 const pkg = await Package . create ( ) ;
217233 pkg . bumpDependencyVersions ( [ '@salesforce/jit-me@1.0.1' ] ) ;
218234 assert ( pkg . packageJson . oclif ?. jitPlugins ) ;
0 commit comments