From 58714767763af72c344a18a303cb713de218a6ce Mon Sep 17 00:00:00 2001 From: Suvesh Moza Date: Fri, 29 May 2026 15:37:29 +0530 Subject: [PATCH] test: skip yarn package manager test if not present --- .../wxt/src/core/package-managers/__tests__/yarn.test.ts | 6 ++++-- packages/wxt/src/core/package-managers/yarn.ts | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/wxt/src/core/package-managers/__tests__/yarn.test.ts b/packages/wxt/src/core/package-managers/__tests__/yarn.test.ts index 40415b7df..d57b9ae0f 100644 --- a/packages/wxt/src/core/package-managers/__tests__/yarn.test.ts +++ b/packages/wxt/src/core/package-managers/__tests__/yarn.test.ts @@ -1,8 +1,10 @@ import { describe, expect, it } from 'vitest'; import path from 'node:path'; -import { yarn } from '../yarn'; +import { isYarnInstalled, yarn } from '../yarn'; -describe('Yarn Package Management Utils', () => { +const shouldSkip = !(await isYarnInstalled()); + +describe.skipIf(shouldSkip)('Yarn Package Management Utils', () => { describe('listDependencies', () => { const cwd = path.resolve(__dirname, 'fixtures/simple-yarn-project'); diff --git a/packages/wxt/src/core/package-managers/yarn.ts b/packages/wxt/src/core/package-managers/yarn.ts index 8b5449329..02d6d8692 100644 --- a/packages/wxt/src/core/package-managers/yarn.ts +++ b/packages/wxt/src/core/package-managers/yarn.ts @@ -3,6 +3,15 @@ import { WxtPackageManagerImpl } from './types'; import { dedupeDependencies, npm } from './npm'; import spawn from 'nano-spawn'; +export async function isYarnInstalled(): Promise { + try { + await spawn('yarn', ['--version']); + return true; + } catch { + return false; + } +} + export const yarn: WxtPackageManagerImpl = { overridesKey: 'resolutions', downloadDependency(...args) {