From e7738389da973372007b2239a111cea5e6f66852 Mon Sep 17 00:00:00 2001 From: gavinxgu Date: Mon, 9 Jun 2025 20:52:52 +0800 Subject: [PATCH 1/2] Fix logic error in pnpm version and lockfile version check --- packages/pnpm-sync-lib/package.json | 2 +- packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts | 4 ++-- packages/pnpm-sync/package.json | 2 +- tests/pnpm-sync-api-test/src/test/pnpmSyncPrepare.test.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/pnpm-sync-lib/package.json b/packages/pnpm-sync-lib/package.json index 11f42e2..4ee78e3 100644 --- a/packages/pnpm-sync-lib/package.json +++ b/packages/pnpm-sync-lib/package.json @@ -1,6 +1,6 @@ { "name": "pnpm-sync-lib", - "version": "0.3.1", + "version": "0.3.2", "description": "API library for integrating \"pnpm-sync\" with your toolchain", "repository": { "type": "git", diff --git a/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts b/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts index 6a507b7..b20c8f4 100644 --- a/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts +++ b/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts @@ -220,7 +220,7 @@ export async function pnpmSyncPrepareAsync(options: IPnpmSyncPrepareOptions): Pr const pnpmVersion: string | undefined = pnpmModulesYaml?.packageManager?.split('@')[1]; // currently, only support pnpm v8 - if (!pnpmVersion || !(pnpmVersion.startsWith('8') || !pnpmVersion.startsWith('9'))) { + if (!pnpmVersion || !(pnpmVersion.startsWith('8') || pnpmVersion.startsWith('9'))) { logMessageCallback({ message: `The pnpm version is not supported; pnpm-sync requires pnpm version 8.x, 9.x`, messageKind: LogMessageKind.ERROR, @@ -243,7 +243,7 @@ export async function pnpmSyncPrepareAsync(options: IPnpmSyncPrepareOptions): Pr if ( !pnpmLockfile || !lockfileVersion || - !(lockfileVersion.startsWith('6') || !lockfileVersion.startsWith('9')) + !(lockfileVersion.startsWith('6') || lockfileVersion.startsWith('9')) ) { logMessageCallback({ message: `The pnpm-lock.yaml format is not supported; pnpm-sync requires lockfile version 6, 9`, diff --git a/packages/pnpm-sync/package.json b/packages/pnpm-sync/package.json index dfc3c9a..982e964 100644 --- a/packages/pnpm-sync/package.json +++ b/packages/pnpm-sync/package.json @@ -1,6 +1,6 @@ { "name": "pnpm-sync", - "version": "0.3.1", + "version": "0.3.2", "description": "Recopy injected dependencies whenever a project is rebuilt in your PNPM workspace", "keywords": [ "rush", diff --git a/tests/pnpm-sync-api-test/src/test/pnpmSyncPrepare.test.ts b/tests/pnpm-sync-api-test/src/test/pnpmSyncPrepare.test.ts index 308e509..4e1fd13 100644 --- a/tests/pnpm-sync-api-test/src/test/pnpmSyncPrepare.test.ts +++ b/tests/pnpm-sync-api-test/src/test/pnpmSyncPrepare.test.ts @@ -176,7 +176,7 @@ Array [ Object { "details": Object { "actualVersion": "incompatible-version", - "expectedVersion": "0.3.1", + "expectedVersion": "0.3.2", "messageIdentifier": "prepare-replacing-file", "pnpmSyncJsonPath": "/pnpm-sync/tests/test-fixtures/sample-lib1/node_modules/.pnpm-sync.json", "sourceProjectFolder": "/pnpm-sync/tests/test-fixtures/sample-lib1", From f61d1d0ab579bcb9905a5941160c38962de557c0 Mon Sep 17 00:00:00 2001 From: Ian Clanton-Thuon Date: Tue, 10 Jun 2025 14:27:22 -0400 Subject: [PATCH 2/2] Fix pnpm version check logic. --- packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts b/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts index 6a507b7..d7b7127 100644 --- a/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts +++ b/packages/pnpm-sync-lib/src/pnpmSyncPrepare.ts @@ -219,8 +219,8 @@ export async function pnpmSyncPrepareAsync(options: IPnpmSyncPrepareOptions): Pr const pnpmModulesYaml = YAML.parse(fs.readFileSync(`${pnpmModulesYamlPath}/.modules.yaml`, 'utf8')); const pnpmVersion: string | undefined = pnpmModulesYaml?.packageManager?.split('@')[1]; - // currently, only support pnpm v8 - if (!pnpmVersion || !(pnpmVersion.startsWith('8') || !pnpmVersion.startsWith('9'))) { + // currently, only support pnpm v8 and v9 + if (!pnpmVersion || !(pnpmVersion.startsWith('8') || pnpmVersion.startsWith('9'))) { logMessageCallback({ message: `The pnpm version is not supported; pnpm-sync requires pnpm version 8.x, 9.x`, messageKind: LogMessageKind.ERROR, @@ -238,12 +238,12 @@ export async function pnpmSyncPrepareAsync(options: IPnpmSyncPrepareOptions): Pr ignoreIncompatible: true }); - // currently, only support lockfileVersion 6.x, which is pnpm v8 + // currently, only support lockfileVersion 6.x, which is pnpm v8 and lockfileVersion 9.x, which is pnpm v9 const lockfileVersion: string | undefined = pnpmLockfile?.lockfileVersion.toString(); if ( !pnpmLockfile || !lockfileVersion || - !(lockfileVersion.startsWith('6') || !lockfileVersion.startsWith('9')) + !(lockfileVersion.startsWith('6') || lockfileVersion.startsWith('9')) ) { logMessageCallback({ message: `The pnpm-lock.yaml format is not supported; pnpm-sync requires lockfile version 6, 9`,