























@@ -149,6 +149,7 @@ async function installBundledPluginSource(params: {
149149rawSpec: string;
150150bundledSource: BundledPluginSource;
151151warning: string;
152+invalidateRuntimeCache?: boolean;
152153runtime?: RuntimeEnv;
153154}) {
154155const existingEntry = params.snapshot.config.plugins?.entries?.[params.bundledSource.pluginId];
@@ -175,6 +176,7 @@ async function installBundledPluginSource(params: {
175176installPath: params.bundledSource.localPath,
176177},
177178enable: shouldEnable,
179+invalidateRuntimeCache: params.invalidateRuntimeCache,
178180warningMessage: [params.warning, configWarning].filter(Boolean).join("\n"),
179181runtime: params.runtime,
180182});
@@ -314,6 +316,7 @@ async function tryInstallPluginOrHookPackFromNpmSpec(params: {
314316expectedPluginId?: string;
315317expectedIntegrity?: string;
316318trustedSourceLinkedOfficialInstall?: boolean;
319+invalidateRuntimeCache?: boolean;
317320runtime?: RuntimeEnv;
318321}): Promise<{ ok: true } | { ok: false }> {
319322const result = await installPluginFromNpmSpec({
@@ -345,6 +348,7 @@ async function tryInstallPluginOrHookPackFromNpmSpec(params: {
345348rawSpec: params.spec,
346349bundledSource: bundledFallbackPlan.bundledSource,
347350warning: bundledFallbackPlan.warning,
351+invalidateRuntimeCache: params.invalidateRuntimeCache,
348352runtime: params.runtime,
349353});
350354return { ok: true };
@@ -380,6 +384,7 @@ async function tryInstallPluginOrHookPackFromNpmSpec(params: {
380384snapshot: params.snapshot,
381385pluginId: result.pluginId,
382386install: installRecord,
387+invalidateRuntimeCache: params.invalidateRuntimeCache,
383388runtime: params.runtime,
384389});
385390return { ok: true };
@@ -391,6 +396,7 @@ async function tryInstallPluginFromNpmPackArchive(params: {
391396archivePath: string;
392397safetyOverrides: InstallSafetyOverrides;
393398extensionsDir: string;
399+invalidateRuntimeCache?: boolean;
394400runtime?: RuntimeEnv;
395401}): Promise<{ ok: true } | { ok: false }> {
396402const result = await installPluginFromNpmPackArchive({
@@ -428,6 +434,7 @@ async function tryInstallPluginFromNpmPackArchive(params: {
428434 ...(result.npmResolution?.shasum ? { npmShasum: result.npmResolution.shasum } : {}),
429435 ...(result.npmTarballName ? { npmTarballName: result.npmTarballName } : {}),
430436},
437+invalidateRuntimeCache: params.invalidateRuntimeCache,
431438runtime: params.runtime,
432439});
433440return { ok: true };
@@ -439,6 +446,7 @@ async function tryInstallPluginFromGitSpec(params: {
439446spec: string;
440447safetyOverrides: InstallSafetyOverrides;
441448extensionsDir: string;
449+invalidateRuntimeCache?: boolean;
442450runtime?: RuntimeEnv;
443451}): Promise<{ ok: true } | { ok: false }> {
444452const result = await installPluginFromGitSpec({
@@ -466,6 +474,7 @@ async function tryInstallPluginFromGitSpec(params: {
466474gitRef: result.git.ref,
467475gitCommit: result.git.commit,
468476},
477+invalidateRuntimeCache: params.invalidateRuntimeCache,
469478runtime: params.runtime,
470479});
471480return { ok: true };
@@ -573,11 +582,13 @@ export async function runPluginInstallCommand(params: {
573582pin?: boolean;
574583marketplace?: string;
575584};
585+invalidateRuntimeCache?: boolean;
576586runtime?: RuntimeEnv;
577587}) {
578588assertConfigWriteAllowedInCurrentMode();
579589580590const runtime = params.runtime ?? defaultRuntime;
591+const invalidateRuntimeCache = params.invalidateRuntimeCache ?? true;
581592const shorthand = !params.opts.marketplace
582593 ? await tracePluginLifecyclePhaseAsync(
583594"marketplace shortcut resolution",
@@ -685,6 +696,7 @@ export async function runPluginInstallCommand(params: {
685696marketplaceSource: result.marketplaceSource,
686697marketplacePlugin: result.marketplacePlugin,
687698},
699+ invalidateRuntimeCache,
688700 runtime,
689701});
690702return;
@@ -745,6 +757,7 @@ export async function runPluginInstallCommand(params: {
745757installPath: resolved,
746758version: probe.version,
747759},
760+ invalidateRuntimeCache,
748761successMessage: `Linked plugin path: ${shortenHomePath(resolved)}`,
749762 runtime,
750763});
@@ -787,6 +800,7 @@ export async function runPluginInstallCommand(params: {
787800installPath: result.targetDir,
788801version: result.version,
789802},
803+ invalidateRuntimeCache,
790804 runtime,
791805});
792806return;
@@ -819,6 +833,7 @@ export async function runPluginInstallCommand(params: {
819833 safetyOverrides,
820834allowBundledFallback: false,
821835 extensionsDir,
836+ invalidateRuntimeCache,
822837 ...(officialNpmTrust
823838 ? {
824839expectedPluginId: officialNpmTrust.pluginId,
@@ -850,6 +865,7 @@ export async function runPluginInstallCommand(params: {
850865archivePath: npmPackPath,
851866 safetyOverrides,
852867 extensionsDir,
868+ invalidateRuntimeCache,
853869 runtime,
854870});
855871if (!npmPackResult.ok) {
@@ -865,6 +881,7 @@ export async function runPluginInstallCommand(params: {
865881spec: raw,
866882 safetyOverrides,
867883 extensionsDir,
884+ invalidateRuntimeCache,
868885 runtime,
869886});
870887if (!gitResult.ok) {
@@ -904,6 +921,7 @@ export async function runPluginInstallCommand(params: {
904921rawSpec: raw,
905922bundledSource: bundledPreNpmPlan.bundledSource,
906923warning: bundledPreNpmPlan.warning,
924+ invalidateRuntimeCache,
907925 runtime,
908926}),
909927{
@@ -943,6 +961,7 @@ export async function runPluginInstallCommand(params: {
943961expectedPluginId: officialExternalPlan.pluginId,
944962expectedIntegrity: officialExternalPlan.expectedIntegrity,
945963trustedSourceLinkedOfficialInstall: true,
964+ invalidateRuntimeCache,
946965 runtime,
947966});
948967if (!npmResult.ok) {
@@ -973,6 +992,7 @@ export async function runPluginInstallCommand(params: {
973992spec: raw,
974993installPath: result.targetDir,
975994},
995+ invalidateRuntimeCache,
976996 runtime,
977997});
978998return;
@@ -990,6 +1010,7 @@ export async function runPluginInstallCommand(params: {
9901010 safetyOverrides,
9911011allowBundledFallback: true,
9921012 extensionsDir,
1013+ invalidateRuntimeCache,
9931014 ...(officialNpmTrust
9941015 ? {
9951016expectedPluginId: officialNpmTrust.pluginId,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。