From fbb18900ad223d8af8c7a26e9f3069f5513b24ff Mon Sep 17 00:00:00 2001 From: Alec Larson <1925840+aleclarson@users.noreply.github.com> Date: Sat, 2 Jan 2021 20:38:39 -0500 Subject: [PATCH 1/2] feat: export `resolvePackageData` and `resolvePackageEntry` helpers These functions can be useful to plugins. - `resolvePackageData` provides cache reuse - `resolvePackageEntry` is complicated enough to be burdensome to reimplement for a plugin to achieve the same behavior --- packages/vite/src/node/index.ts | 1 + packages/vite/src/node/plugins/resolve.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index 37008fd2c4cdb2..f338be5d43748c 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -4,6 +4,7 @@ export * from './optimizer' export * from './config' export { send } from './server/send' export { createLogger } from './logger' +export { resolvePackageData, resolvePackageEntry } from './plugins/resolve' // additional types export type { Plugin } from './plugin' diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 023803dab90b5e..c019a73f5c2fdc 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -268,7 +268,7 @@ interface PackageData { const packageCache = new Map() -function resolvePackageData( +export function resolvePackageData( id: string, basedir: string ): PackageData | undefined { From 760ac25a6c26e0969eb97f65951d82c347948098 Mon Sep 17 00:00:00 2001 From: Alec Larson <1925840+aleclarson@users.noreply.github.com> Date: Sat, 2 Jan 2021 21:41:59 -0500 Subject: [PATCH 2/2] feat: export `PackageData` type --- packages/vite/src/node/index.ts | 1 + packages/vite/src/node/plugins/resolve.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index f338be5d43748c..910b23f9e0110c 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -24,6 +24,7 @@ export type { } from './plugins/html' export type { CSSOptions, CSSModulesOptions } from './plugins/css' export type { EsbuildTransformResult } from './plugins/esbuild' +export type { PackageData } from './plugins/resolve' export type { WebSocketServer } from './server/ws' export type { PluginContainer } from './server/pluginContainer' export type { ModuleGraph, ModuleNode } from './server/moduleGraph' diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index c019a73f5c2fdc..3efef2b628add0 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -255,7 +255,7 @@ function tryOptimizedResolve( } } -interface PackageData { +export interface PackageData { dir: string hasSideEffects: (id: string) => boolean data: {