@@ -42,6 +42,7 @@ export function configureUpdateCommand(program: Command) {
4242}
4343
4444const triggerPackageFilter = / ^ @ t r i g g e r \. d e v / ;
45+ const packageManagerProtocolFilter = / ^ ( c a t a l o g | w o r k s p a c e | f i l e | l i n k | p o r t a l | p a t c h ) : / ;
4546
4647export async function updateCommand ( dir : string , options : UpdateCommandOptions ) {
4748 await updateTriggerPackages ( dir , options , false ) ;
@@ -111,45 +112,6 @@ export async function updateTriggerPackages(
111112
112113 logger . debug ( "Resolved trigger deps" , { triggerDependencies } ) ;
113114
114- function getVersionMismatches (
115- deps : Dependency [ ] ,
116- targetVersion : string
117- ) : {
118- mismatches : Dependency [ ] ;
119- isDowngrade : boolean ;
120- } {
121- logger . debug ( "Checking for version mismatches" , { deps, targetVersion } ) ;
122-
123- const mismatches : Dependency [ ] = [ ] ;
124-
125- for ( const dep of deps ) {
126- if (
127- dep . version === targetVersion ||
128- dep . version . startsWith ( "https://pkg.pr.new" ) ||
129- dep . version . startsWith ( "0.0.0" )
130- ) {
131- continue ;
132- }
133-
134- mismatches . push ( dep ) ;
135- }
136-
137- const isDowngrade = mismatches . some ( ( dep ) => {
138- const depMinVersion = semver . minVersion ( dep . version ) ;
139-
140- if ( ! depMinVersion ) {
141- return false ;
142- }
143-
144- return semver . gt ( depMinVersion , targetVersion ) ;
145- } ) ;
146-
147- return {
148- mismatches,
149- isDowngrade,
150- } ;
151- }
152-
153115 const { mismatches, isDowngrade } = getVersionMismatches ( triggerDependencies , cliVersion ) ;
154116
155117 logger . debug ( "Version mismatches" , { mismatches, isDowngrade } ) ;
@@ -309,13 +271,59 @@ export async function updateTriggerPackages(
309271 return hasOutput ;
310272}
311273
312- type Dependency = {
274+ export type Dependency = {
313275 type : "dependencies" | "devDependencies" ;
314276 name : string ;
315277 version : string ;
316278} ;
317279
318- async function getTriggerDependencies (
280+ export function getVersionMismatches (
281+ deps : Dependency [ ] ,
282+ targetVersion : string
283+ ) : {
284+ mismatches : Dependency [ ] ;
285+ isDowngrade : boolean ;
286+ } {
287+ logger . debug ( "Checking for version mismatches" , { deps, targetVersion } ) ;
288+
289+ const mismatches : Dependency [ ] = [ ] ;
290+
291+ for ( const dep of deps ) {
292+ if (
293+ dep . version === targetVersion ||
294+ dep . version . startsWith ( "https://pkg.pr.new" ) ||
295+ dep . version . startsWith ( "0.0.0" )
296+ ) {
297+ continue ;
298+ }
299+
300+ mismatches . push ( dep ) ;
301+ }
302+
303+ const isDowngrade = mismatches . some ( ( dep ) => {
304+ if ( ! semver . validRange ( dep . version ) ) {
305+ logger . debug ( "Skipping downgrade check for non-semver dependency specifier" , {
306+ dep,
307+ } ) ;
308+ return false ;
309+ }
310+
311+ const depMinVersion = semver . minVersion ( dep . version ) ;
312+
313+ if ( ! depMinVersion ) {
314+ return false ;
315+ }
316+
317+ return semver . gt ( depMinVersion , targetVersion ) ;
318+ } ) ;
319+
320+ return {
321+ mismatches,
322+ isDowngrade,
323+ } ;
324+ }
325+
326+ export async function getTriggerDependencies (
319327 packageJson : PackageJson ,
320328 packageJsonPath : string
321329) : Promise < Dependency [ ] > {
@@ -327,10 +335,6 @@ async function getTriggerDependencies(
327335 continue ;
328336 }
329337
330- if ( version . startsWith ( "workspace" ) ) {
331- continue ;
332- }
333-
334338 if ( ! triggerPackageFilter . test ( name ) ) {
335339 continue ;
336340 }
@@ -343,7 +347,21 @@ async function getTriggerDependencies(
343347
344348 const $version = await tryResolveTriggerPackageVersion ( name , dirname ( packageJsonPath ) ) ;
345349
346- deps . push ( { type, name, version : $version ?? version } ) ;
350+ if ( $version ) {
351+ deps . push ( { type, name, version : $version } ) ;
352+ continue ;
353+ }
354+
355+ if ( packageManagerProtocolFilter . test ( version ) ) {
356+ logger . debug ( "Skipping unresolved package-manager dependency specifier" , {
357+ type,
358+ name,
359+ version,
360+ } ) ;
361+ continue ;
362+ }
363+
364+ deps . push ( { type, name, version } ) ;
347365 }
348366 }
349367
0 commit comments