




















@@ -19,7 +19,7 @@ import { mkdtempSync } from "node:fs";
1919import { createServer } from "node:http";
2020import { createConnection as createNetConnection, createServer as createNetServer } from "node:net";
2121import { tmpdir } from "node:os";
22-import { dirname, join, resolve, win32 as pathWin32 } from "node:path";
22+import { dirname, join, relative, resolve, win32 as pathWin32 } from "node:path";
2323import { fileURLToPath, pathToFileURL } from "node:url";
2424import { isLocalBuildMetadataDistPath } from "./lib/local-build-metadata-paths.mjs";
2525@@ -636,37 +636,58 @@ function isInstallStageDirName(value) {
636636}
637637638638function collectLegacyPluginDependencyStagingDebrisPaths(packageRoot) {
639-const extensionsDir = join(packageRoot, "dist", "extensions");
640-let extensionEntries = [];
641-try {
642-extensionEntries = readdirSync(extensionsDir, { withFileTypes: true });
643-} catch (error) {
644-if (isNotFoundError(error)) {
645-return [];
646-}
647-throw error;
648-}
649-639+const rootEntries = readdirSync(packageRoot, { withFileTypes: true });
650640const debris = [];
651-for (const extensionEntry of extensionEntries) {
652-if (!extensionEntry.isDirectory()) {
641+for (const rootEntry of rootEntries) {
642+if (!rootEntry.isDirectory() || rootEntry.name.toLowerCase() !== "dist") {
653643continue;
654644}
655-const extensionPath = join(extensionsDir, extensionEntry.name);
656-let stagingEntries = [];
645+const distDir = join(packageRoot, rootEntry.name);
646+let distEntries = [];
657647try {
658-stagingEntries = readdirSync(extensionPath, { withFileTypes: true });
648+distEntries = readdirSync(distDir, { withFileTypes: true });
659649} catch (error) {
660650if (isNotFoundError(error)) {
661651continue;
662652}
663653throw error;
664654}
665-for (const stagingEntry of stagingEntries) {
666-if (isInstallStageDirName(stagingEntry.name)) {
667-debris.push(
668-normalizeRelativePath(join("dist", "extensions", extensionEntry.name, stagingEntry.name)),
669-);
655+for (const distEntry of distEntries) {
656+if (!distEntry.isDirectory() || distEntry.name.toLowerCase() !== "extensions") {
657+continue;
658+}
659+const extensionsDir = join(distDir, distEntry.name);
660+let extensionEntries = [];
661+try {
662+extensionEntries = readdirSync(extensionsDir, { withFileTypes: true });
663+} catch (error) {
664+if (isNotFoundError(error)) {
665+continue;
666+}
667+throw error;
668+}
669+670+for (const extensionEntry of extensionEntries) {
671+if (!extensionEntry.isDirectory()) {
672+continue;
673+}
674+const extensionPath = join(extensionsDir, extensionEntry.name);
675+let stagingEntries = [];
676+try {
677+stagingEntries = readdirSync(extensionPath, { withFileTypes: true });
678+} catch (error) {
679+if (isNotFoundError(error)) {
680+continue;
681+}
682+throw error;
683+}
684+for (const stagingEntry of stagingEntries) {
685+if (isInstallStageDirName(stagingEntry.name)) {
686+debris.push(
687+normalizeRelativePath(relative(packageRoot, join(extensionPath, stagingEntry.name))),
688+);
689+}
690+}
670691}
671692}
672693}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。