From 14b77a62b219258d3e02a0738b5afe43945fd7c3 Mon Sep 17 00:00:00 2001 From: Tommy Chen Date: Thu, 28 Jan 2021 16:18:07 +0800 Subject: [PATCH] fix(docker-build): Resolve virtual descriptors --- packages/docker-build/src/utils/copyPatchFiles.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/docker-build/src/utils/copyPatchFiles.ts b/packages/docker-build/src/utils/copyPatchFiles.ts index 970a034..eda9418 100644 --- a/packages/docker-build/src/utils/copyPatchFiles.ts +++ b/packages/docker-build/src/utils/copyPatchFiles.ts @@ -1,4 +1,4 @@ -import { Report, Workspace } from '@yarnpkg/core'; +import { Report, structUtils, Workspace } from '@yarnpkg/core'; import { PortablePath, ppath, xfs } from '@yarnpkg/fslib'; import { patchUtils } from '@yarnpkg/plugin-patch'; @@ -18,10 +18,14 @@ export default async function copyPatchFiles({ for (const ws of workspaces) { for (const descriptor of ws.dependencies.values()) { - if (!descriptor.range.startsWith('patch:')) continue; + const patchDescriptor = structUtils.isVirtualDescriptor(descriptor) + ? structUtils.devirtualizeDescriptor(descriptor) + : descriptor; + + if (!patchDescriptor.range.startsWith('patch:')) continue; const { parentLocator, patchPaths } = patchUtils.parseDescriptor( - descriptor, + patchDescriptor, ); for (const path of patchPaths) {