From 7861a337f65376393a6dd88c0964d91f086e6ec6 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 13 Oct 2023 23:07:41 +0800 Subject: [PATCH] refactor!: remove exporting internal APIs (#14583) --- docs/guide/migration.md | 4 +++ packages/vite/src/node/cli.ts | 2 +- packages/vite/src/node/config.ts | 16 ++-------- packages/vite/src/node/index.ts | 30 ++++++++++++++++--- .../src/node/optimizer/esbuildDepPlugin.ts | 4 +-- packages/vite/src/node/preview.ts | 4 +-- 6 files changed, 38 insertions(+), 22 deletions(-) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index c2f17a70111837..813e4c2139b02d 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -81,6 +81,10 @@ Also there are other breaking changes which only affect few users. - Top level `this` was rewritten to `globalThis` by default when building. This behavior is now removed. - [[#14231] feat!: add extension to internal virtual modules](https://github.com/vitejs/vite/pull/14231) - Internal virtual modules' id now has an extension (`.js`). +- [[#14583] refactor!: remove exporting internal APIs](https://github.com/vitejs/vite/pull/14583) + - Removed accidentally exported internal APIs: `isDepsOptimizerEnabled` and `getDepOptimizationConfig` + - Removed exported internal types: `DepOptimizationResult`, `DepOptimizationProcessing`, and `DepsOptimizer` + - Renamed `ResolveWorkerOptions` type to `ResolvedWorkerOptions` - [[#5657] fix: return 404 for resources requests outside the base path](https://github.com/vitejs/vite/pull/5657) - In the past, Vite responded to requests outside the base path without `Accept: text/html`, as if they were requested with the base path. Vite no longer does that and responds with 404 instead. diff --git a/packages/vite/src/node/cli.ts b/packages/vite/src/node/cli.ts index 80b237d7c00814..12538bb9adb270 100644 --- a/packages/vite/src/node/cli.ts +++ b/packages/vite/src/node/cli.ts @@ -8,7 +8,7 @@ import type { ServerOptions } from './server' import type { LogLevel } from './logger' import { createLogger } from './logger' import { VERSION } from './constants' -import { resolveConfig } from '.' +import { resolveConfig } from './config' const cli = cac('vite') diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 1b7e57cdbe84ef..435936f9864de5 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -74,16 +74,6 @@ import { resolveSSROptions } from './ssr' const debug = createDebugger('vite:config') const promisifiedRealpath = promisify(fs.realpath) -export type { - RenderBuiltAssetUrl, - ModulePreloadOptions, - ResolvedModulePreloadOptions, - ResolveModulePreloadDependenciesFn, -} from './build' - -// NOTE: every export in this file is re-exported from ./index.ts so it will -// be part of the public API. - export interface ConfigEnv { command: 'build' | 'serve' mode: string @@ -327,7 +317,7 @@ export interface LegacyOptions { */ } -export interface ResolveWorkerOptions extends PluginHookUtils { +export interface ResolvedWorkerOptions extends PluginHookUtils { format: 'es' | 'iife' plugins: Plugin[] rollupOptions: RollupOptions @@ -377,7 +367,7 @@ export type ResolvedConfig = Readonly< optimizeDeps: DepOptimizationOptions /** @internal */ packageCache: PackageCache - worker: ResolveWorkerOptions + worker: ResolvedWorkerOptions appType: AppType experimental: ExperimentalOptions } & PluginHookUtils @@ -682,7 +672,7 @@ export async function resolveConfig( ...workerPostPlugins, ] workerConfig = await runConfigHook(workerConfig, workerUserPlugins, configEnv) - const resolvedWorkerOptions: ResolveWorkerOptions = { + const resolvedWorkerOptions: ResolvedWorkerOptions = { format: workerConfig.worker?.format || 'iife', plugins: [], rollupOptions: workerConfig.worker?.rollupOptions || {}, diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index eff79be4441aec..867a4030266238 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -1,7 +1,12 @@ import type * as Rollup from 'rollup' export type { Rollup } -export * from './config' +export { + defineConfig, + loadConfigFromFile, + resolveConfig, + sortUserPlugins, +} from './config' export { createServer } from './server' export { preview } from './preview' export { build } from './build' @@ -12,6 +17,23 @@ export { buildErrorMessage } from './server/middlewares/error' export * from './publicUtils' // additional types +export type { + AppType, + ConfigEnv, + ExperimentalOptions, + InlineConfig, + LegacyOptions, + PluginHookUtils, + PluginOption, + ResolveFn, + ResolvedWorkerOptions, + ResolvedConfig, + UserConfig, + UserConfigExport, + UserConfigFn, + UserConfigFnObject, + UserConfigFnPromise, +} from './config' export type { FilterPattern } from './utils' export type { CorsOptions, CorsOrigin, CommonServerOptions } from './http' export type { @@ -28,6 +50,9 @@ export type { LibraryFormats, RenderBuiltAssetUrl, ResolvedBuildOptions, + ModulePreloadOptions, + ResolvedModulePreloadOptions, + ResolveModulePreloadDependenciesFn, } from './build' export type { PreviewOptions, @@ -39,10 +64,7 @@ export type { DepOptimizationMetadata, DepOptimizationOptions, DepOptimizationConfig, - DepOptimizationResult, - DepOptimizationProcessing, OptimizedDepInfo, - DepsOptimizer, ExportsData, } from './optimizer' export type { diff --git a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts index 7d1db4f57c87b0..9de90d27ac7f3e 100644 --- a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts +++ b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts @@ -2,8 +2,8 @@ import path from 'node:path' import type { ImportKind, Plugin } from 'esbuild' import { KNOWN_ASSET_TYPES } from '../constants' import type { PackageCache } from '../packages' -import { getDepOptimizationConfig } from '..' -import type { ResolvedConfig } from '..' +import { getDepOptimizationConfig } from '../config' +import type { ResolvedConfig } from '../config' import { escapeRegex, flattenId, diff --git a/packages/vite/src/node/preview.ts b/packages/vite/src/node/preview.ts index d6be4040f7345f..e678bc6341d658 100644 --- a/packages/vite/src/node/preview.ts +++ b/packages/vite/src/node/preview.ts @@ -21,8 +21,8 @@ import { printServerUrls } from './logger' import { bindCLIShortcuts } from './shortcuts' import type { BindCLIShortcutsOptions } from './shortcuts' import { DEFAULT_PREVIEW_PORT } from './constants' -import { resolveConfig } from '.' -import type { InlineConfig, ResolvedConfig } from '.' +import { resolveConfig } from './config' +import type { InlineConfig, ResolvedConfig } from './config' export interface PreviewOptions extends CommonServerOptions {}