Initial commit
This commit is contained in:
commit
78f8d225ee
21173 changed files with 2907774 additions and 0 deletions
892
node_modules/next/dist/server/config-shared.d.ts
generated
vendored
Normal file
892
node_modules/next/dist/server/config-shared.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,892 @@
|
|||
import type { webpack } from 'next/dist/compiled/webpack/webpack';
|
||||
import type { Header, Redirect, Rewrite } from '../lib/load-custom-routes';
|
||||
import type { ImageConfig, ImageConfigComplete } from '../shared/lib/image-config';
|
||||
import type { SubresourceIntegrityAlgorithm } from '../build/webpack/plugins/subresource-integrity-plugin';
|
||||
import type { WEB_VITALS } from '../shared/lib/utils';
|
||||
import type { NextParsedUrlQuery } from './request-meta';
|
||||
import type { SizeLimit } from '../types';
|
||||
import type { SupportedTestRunners } from '../cli/next-test';
|
||||
import type { ExperimentalPPRConfig } from './lib/experimental/ppr';
|
||||
export type NextConfigComplete = Required<NextConfig> & {
|
||||
images: Required<ImageConfigComplete>;
|
||||
typescript: Required<TypeScriptConfig>;
|
||||
configOrigin?: string;
|
||||
configFile?: string;
|
||||
configFileName: string;
|
||||
htmlLimitedBots: string | undefined;
|
||||
experimental: Omit<ExperimentalConfig, 'turbo'>;
|
||||
};
|
||||
export type I18NDomains = readonly DomainLocale[];
|
||||
export interface I18NConfig {
|
||||
defaultLocale: string;
|
||||
domains?: I18NDomains;
|
||||
localeDetection?: false;
|
||||
locales: readonly string[];
|
||||
}
|
||||
export interface DomainLocale {
|
||||
defaultLocale: string;
|
||||
domain: string;
|
||||
http?: true;
|
||||
locales?: readonly string[];
|
||||
}
|
||||
export interface ESLintConfig {
|
||||
/** Only run ESLint on these directories with `next lint` and `next build`. */
|
||||
dirs?: string[];
|
||||
/** Do not run ESLint during production builds (`next build`). */
|
||||
ignoreDuringBuilds?: boolean;
|
||||
}
|
||||
export interface TypeScriptConfig {
|
||||
/** Do not run TypeScript during production builds (`next build`). */
|
||||
ignoreBuildErrors?: boolean;
|
||||
/** Relative path to a custom tsconfig file */
|
||||
tsconfigPath?: string;
|
||||
}
|
||||
export interface EmotionConfig {
|
||||
sourceMap?: boolean;
|
||||
autoLabel?: 'dev-only' | 'always' | 'never';
|
||||
labelFormat?: string;
|
||||
importMap?: {
|
||||
[importName: string]: {
|
||||
[exportName: string]: {
|
||||
canonicalImport?: [string, string];
|
||||
styledBaseImport?: [string, string];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
export interface StyledComponentsConfig {
|
||||
/**
|
||||
* Enabled by default in development, disabled in production to reduce file size,
|
||||
* setting this will override the default for all environments.
|
||||
*/
|
||||
displayName?: boolean;
|
||||
topLevelImportPaths?: string[];
|
||||
ssr?: boolean;
|
||||
fileName?: boolean;
|
||||
meaninglessFileNames?: string[];
|
||||
minify?: boolean;
|
||||
transpileTemplateLiterals?: boolean;
|
||||
namespace?: string;
|
||||
pure?: boolean;
|
||||
cssProp?: boolean;
|
||||
}
|
||||
type JSONValue = string | number | boolean | JSONValue[] | {
|
||||
[k: string]: JSONValue;
|
||||
};
|
||||
/**
|
||||
* @deprecated Use `TurbopackRuleConfigItem` instead.
|
||||
*/
|
||||
export type TurbopackLoaderItem = string | {
|
||||
loader: string;
|
||||
options: Record<string, JSONValue>;
|
||||
};
|
||||
export type TurbopackRuleConfigItemOrShortcut = TurbopackLoaderItem[] | TurbopackRuleConfigItem;
|
||||
export type TurbopackRuleConfigItemOptions = {
|
||||
loaders: TurbopackLoaderItem[];
|
||||
as?: string;
|
||||
};
|
||||
export type TurbopackRuleConfigItem = TurbopackRuleConfigItemOptions | {
|
||||
[condition: string]: TurbopackRuleConfigItem;
|
||||
} | false;
|
||||
export interface TurbopackOptions {
|
||||
/**
|
||||
* (`next --turbopack` only) A mapping of aliased imports to modules to load in their place.
|
||||
*
|
||||
* @see [Resolve Alias](https://nextjs.org/docs/app/api-reference/next-config-js/turbo#resolve-alias)
|
||||
*/
|
||||
resolveAlias?: Record<string, string | string[] | Record<string, string | string[]>>;
|
||||
/**
|
||||
* (`next --turbopack` only) A list of extensions to resolve when importing files.
|
||||
*
|
||||
* @see [Resolve Extensions](https://nextjs.org/docs/app/api-reference/next-config-js/turbo#resolve-extensions)
|
||||
*/
|
||||
resolveExtensions?: string[];
|
||||
/**
|
||||
* (`next --turbopack` only) A list of webpack loaders to apply when running with Turbopack.
|
||||
*
|
||||
* @see [Turbopack Loaders](https://nextjs.org/docs/app/api-reference/next-config-js/turbo#webpack-loaders)
|
||||
*/
|
||||
rules?: Record<string, TurbopackRuleConfigItemOrShortcut>;
|
||||
/**
|
||||
* The module ID strategy to use for Turbopack.
|
||||
* If not set, the default is `'named'` for development and `'deterministic'`
|
||||
* for production.
|
||||
*/
|
||||
moduleIds?: 'named' | 'deterministic';
|
||||
/**
|
||||
* This is the repo root usually and only files above this
|
||||
* directory can be resolved by turbopack.
|
||||
*/
|
||||
root?: string;
|
||||
}
|
||||
export interface DeprecatedExperimentalTurboOptions extends TurbopackOptions {
|
||||
/**
|
||||
* (`next --turbopack` only) A list of webpack loaders to apply when running with Turbopack.
|
||||
*
|
||||
* @deprecated Use `rules` instead.
|
||||
* @see [Turbopack Loaders](https://nextjs.org/docs/app/api-reference/next-config-js/turbo#webpack-loaders)
|
||||
*/
|
||||
loaders?: Record<string, TurbopackLoaderItem[]>;
|
||||
/**
|
||||
* A target memory limit for turbo, in bytes.
|
||||
* @deprecated Use `experimental.turbopackMemoryLimit` instead.
|
||||
*/
|
||||
memoryLimit?: number;
|
||||
/**
|
||||
* Enable minification. Defaults to true in build mode and false in dev mode.
|
||||
* @deprecated Use `experimental.turbopackMinify` instead.
|
||||
*/
|
||||
minify?: boolean;
|
||||
/**
|
||||
* Enable tree shaking for the turbopack dev server and build.
|
||||
* @deprecated Use `experimental.turbopackTreeShaking` instead.
|
||||
*/
|
||||
treeShaking?: boolean;
|
||||
/**
|
||||
* Enable source maps. Defaults to true.
|
||||
* @deprecated Use `experimental.turbopackSourceMaps` instead.
|
||||
*/
|
||||
sourceMaps?: boolean;
|
||||
}
|
||||
export interface WebpackConfigContext {
|
||||
/** Next.js root directory */
|
||||
dir: string;
|
||||
/** Indicates if the compilation will be done in development */
|
||||
dev: boolean;
|
||||
/** It's `true` for server-side compilation, and `false` for client-side compilation */
|
||||
isServer: boolean;
|
||||
/** The build id, used as a unique identifier between builds */
|
||||
buildId: string;
|
||||
/** The next.config.js merged with default values */
|
||||
config: NextConfigComplete;
|
||||
/** Default loaders used internally by Next.js */
|
||||
defaultLoaders: {
|
||||
/** Default babel-loader configuration */
|
||||
babel: any;
|
||||
};
|
||||
/** Number of total Next.js pages */
|
||||
totalPages: number;
|
||||
/** The webpack configuration */
|
||||
webpack: any;
|
||||
/** The current server runtime */
|
||||
nextRuntime?: 'nodejs' | 'edge';
|
||||
}
|
||||
export interface NextJsWebpackConfig {
|
||||
(
|
||||
/** Existing Webpack config */
|
||||
config: any, context: WebpackConfigContext): any;
|
||||
}
|
||||
/**
|
||||
* Set of options for the react compiler next.js
|
||||
* currently supports.
|
||||
*
|
||||
* This can be changed without breaking changes while supporting
|
||||
* react compiler in the experimental phase.
|
||||
*/
|
||||
export interface ReactCompilerOptions {
|
||||
compilationMode?: 'infer' | 'annotation' | 'all';
|
||||
panicThreshold?: 'ALL_ERRORS' | 'CRITICAL_ERRORS' | 'NONE';
|
||||
}
|
||||
export interface IncomingRequestLoggingConfig {
|
||||
/**
|
||||
* A regular expression array to match incoming requests that should not be logged.
|
||||
* You can specify multiple patterns to match incoming requests that should not be logged.
|
||||
*/
|
||||
ignore?: RegExp[];
|
||||
}
|
||||
export interface LoggingConfig {
|
||||
fetches?: {
|
||||
fullUrl?: boolean;
|
||||
/**
|
||||
* If true, fetch requests that are restored from the HMR cache are logged
|
||||
* during an HMR refresh request, i.e. when editing a server component.
|
||||
*/
|
||||
hmrRefreshes?: boolean;
|
||||
};
|
||||
/**
|
||||
* If set to false, incoming request logging is disabled.
|
||||
* You can specify a pattern to match incoming requests that should not be logged.
|
||||
*/
|
||||
incomingRequests?: boolean | IncomingRequestLoggingConfig;
|
||||
}
|
||||
export interface ExperimentalConfig {
|
||||
nodeMiddleware?: boolean;
|
||||
cacheHandlers?: {
|
||||
default?: string;
|
||||
remote?: string;
|
||||
static?: string;
|
||||
[handlerName: string]: string | undefined;
|
||||
};
|
||||
multiZoneDraftMode?: boolean;
|
||||
appNavFailHandling?: boolean;
|
||||
prerenderEarlyExit?: boolean;
|
||||
linkNoTouchStart?: boolean;
|
||||
caseSensitiveRoutes?: boolean;
|
||||
clientSegmentCache?: boolean | 'client-only';
|
||||
dynamicOnHover?: boolean;
|
||||
appDocumentPreloading?: boolean;
|
||||
preloadEntriesOnStart?: boolean;
|
||||
/** @default true */
|
||||
strictNextHead?: boolean;
|
||||
clientRouterFilter?: boolean;
|
||||
clientRouterFilterRedirects?: boolean;
|
||||
/**
|
||||
* This config can be used to override the cache behavior for the client router.
|
||||
* These values indicate the time, in seconds, that the cache should be considered
|
||||
* reusable. When the `prefetch` Link prop is left unspecified, this will use the `dynamic` value.
|
||||
* When the `prefetch` Link prop is set to `true`, this will use the `static` value.
|
||||
*/
|
||||
staleTimes?: {
|
||||
dynamic?: number;
|
||||
static?: number;
|
||||
};
|
||||
cacheLife?: {
|
||||
[profile: string]: {
|
||||
stale?: number;
|
||||
revalidate?: number;
|
||||
expire?: number;
|
||||
};
|
||||
};
|
||||
clientRouterFilterAllowedRate?: number;
|
||||
externalMiddlewareRewritesResolve?: boolean;
|
||||
extensionAlias?: Record<string, any>;
|
||||
allowedRevalidateHeaderKeys?: string[];
|
||||
fetchCacheKeyPrefix?: string;
|
||||
imgOptConcurrency?: number | null;
|
||||
imgOptTimeoutInSeconds?: number;
|
||||
imgOptMaxInputPixels?: number;
|
||||
imgOptSequentialRead?: boolean | null;
|
||||
optimisticClientCache?: boolean;
|
||||
/**
|
||||
* @deprecated use config.expireTime instead
|
||||
*/
|
||||
expireTime?: number;
|
||||
middlewarePrefetch?: 'strict' | 'flexible';
|
||||
manualClientBasePath?: boolean;
|
||||
/**
|
||||
* CSS Chunking strategy. Defaults to `true` ("loose" mode), which guesses dependencies
|
||||
* between CSS files to keep ordering of them.
|
||||
* An alternative is 'strict', which will try to keep correct ordering as
|
||||
* much as possible, even when this leads to many requests.
|
||||
*/
|
||||
cssChunking?: boolean | 'strict';
|
||||
disablePostcssPresetEnv?: boolean;
|
||||
cpus?: number;
|
||||
memoryBasedWorkersCount?: boolean;
|
||||
proxyTimeout?: number;
|
||||
isrFlushToDisk?: boolean;
|
||||
workerThreads?: boolean;
|
||||
optimizeCss?: boolean | Record<string, unknown>;
|
||||
nextScriptWorkers?: boolean;
|
||||
scrollRestoration?: boolean;
|
||||
externalDir?: boolean;
|
||||
amp?: {
|
||||
optimizer?: any;
|
||||
validator?: string;
|
||||
skipValidation?: boolean;
|
||||
};
|
||||
disableOptimizedLoading?: boolean;
|
||||
gzipSize?: boolean;
|
||||
craCompat?: boolean;
|
||||
esmExternals?: boolean | 'loose';
|
||||
fullySpecified?: boolean;
|
||||
urlImports?: NonNullable<webpack.Configuration['experiments']>['buildHttp'];
|
||||
swcTraceProfiling?: boolean;
|
||||
forceSwcTransforms?: boolean;
|
||||
swcPlugins?: Array<[string, Record<string, unknown>]>;
|
||||
largePageDataBytes?: number;
|
||||
/**
|
||||
* If set to `false`, webpack won't fall back to polyfill Node.js modules in the browser
|
||||
* Full list of old polyfills is accessible here:
|
||||
* [webpack/webpack#ModuleNotoundError.js#L13-L42](https://github.com/webpack/webpack/blob/2a0536cf510768111a3a6dceeb14cb79b9f59273/lib/ModuleNotFoundError.js#L13-L42)
|
||||
*/
|
||||
fallbackNodePolyfills?: false;
|
||||
sri?: {
|
||||
algorithm?: SubresourceIntegrityAlgorithm;
|
||||
};
|
||||
webVitalsAttribution?: Array<(typeof WEB_VITALS)[number]>;
|
||||
/**
|
||||
* Automatically apply the "modularizeImports" optimization to imports of the specified packages.
|
||||
*/
|
||||
optimizePackageImports?: string[];
|
||||
/**
|
||||
* Optimize React APIs for server builds.
|
||||
*/
|
||||
optimizeServerReact?: boolean;
|
||||
/**
|
||||
* @deprecated Use `config.turbopack` instead.
|
||||
*/
|
||||
turbo?: DeprecatedExperimentalTurboOptions;
|
||||
/**
|
||||
* A target memory limit for turbo, in bytes.
|
||||
*/
|
||||
turbopackMemoryLimit?: number;
|
||||
/**
|
||||
* Enable minification. Defaults to true in build mode and false in dev mode.
|
||||
*/
|
||||
turbopackMinify?: boolean;
|
||||
/**
|
||||
* Enable persistent caching for the turbopack dev server and build.
|
||||
*/
|
||||
turbopackPersistentCaching?: boolean;
|
||||
/**
|
||||
* Enable source maps. Defaults to true.
|
||||
*/
|
||||
turbopackSourceMaps?: boolean;
|
||||
/**
|
||||
* Enable tree shaking for the turbopack dev server and build.
|
||||
*/
|
||||
turbopackTreeShaking?: boolean;
|
||||
/**
|
||||
* For use with `@next/mdx`. Compile MDX files using the new Rust compiler.
|
||||
* @see https://nextjs.org/docs/app/api-reference/next-config-js/mdxRs
|
||||
*/
|
||||
mdxRs?: boolean | {
|
||||
development?: boolean;
|
||||
jsx?: boolean;
|
||||
jsxRuntime?: string;
|
||||
jsxImportSource?: string;
|
||||
providerImportSource?: string;
|
||||
mdxType?: 'gfm' | 'commonmark';
|
||||
};
|
||||
/**
|
||||
* Generate Route types and enable type checking for Link and Router.push, etc.
|
||||
* @see https://nextjs.org/docs/app/api-reference/next-config-js/typedRoutes
|
||||
*/
|
||||
typedRoutes?: boolean;
|
||||
/**
|
||||
* Enable type-checking and autocompletion for environment variables.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
typedEnv?: boolean;
|
||||
/**
|
||||
* Runs the compilations for server and edge in parallel instead of in serial.
|
||||
* This will make builds faster if there is enough server and edge functions
|
||||
* in the application at the cost of more memory.
|
||||
*
|
||||
* NOTE: This option is only valid when the build process can use workers. See
|
||||
* the documentation for `webpackBuildWorker` for more details.
|
||||
*/
|
||||
parallelServerCompiles?: boolean;
|
||||
/**
|
||||
* Runs the logic to collect build traces for the server routes in parallel
|
||||
* with other work during the compilation. This will increase the speed of
|
||||
* the build at the cost of more memory. This option may incur some additional
|
||||
* work compared to if the option was disabled since the work is started
|
||||
* before data from the client compilation is available to potentially reduce
|
||||
* the amount of code that needs to be traced. Despite that, this may still
|
||||
* result in faster builds for some applications.
|
||||
*
|
||||
* Valid values are:
|
||||
* - `true`: Collect the server build traces in parallel.
|
||||
* - `false`: Do not collect the server build traces in parallel.
|
||||
* - `undefined`: Collect server build traces in parallel only in the `experimental-compile` mode.
|
||||
*
|
||||
* NOTE: This option is only valid when the build process can use workers. See
|
||||
* the documentation for `webpackBuildWorker` for more details.
|
||||
*/
|
||||
parallelServerBuildTraces?: boolean;
|
||||
/**
|
||||
* Run the Webpack build in a separate process to optimize memory usage during build.
|
||||
* Valid values are:
|
||||
* - `false`: Disable the Webpack build worker
|
||||
* - `true`: Enable the Webpack build worker
|
||||
* - `undefined`: Enable the Webpack build worker only if the webpack config is not customized
|
||||
*/
|
||||
webpackBuildWorker?: boolean;
|
||||
/**
|
||||
* Enables optimizations to reduce memory usage in Webpack. This reduces the max size of the heap
|
||||
* but may increase compile times slightly.
|
||||
* Valid values are:
|
||||
* - `false`: Disable Webpack memory optimizations (default).
|
||||
* - `true`: Enables Webpack memory optimizations.
|
||||
*/
|
||||
webpackMemoryOptimizations?: boolean;
|
||||
/**
|
||||
* The array of the meta tags to the client injected by tracing propagation data.
|
||||
*/
|
||||
clientTraceMetadata?: string[];
|
||||
/**
|
||||
* Enables experimental Partial Prerendering feature of Next.js.
|
||||
* Using this feature will enable the `react@experimental` for the `app` directory.
|
||||
*/
|
||||
ppr?: ExperimentalPPRConfig;
|
||||
/**
|
||||
* Enables experimental taint APIs in React.
|
||||
* Using this feature will enable the `react@experimental` for the `app` directory.
|
||||
*/
|
||||
taint?: boolean;
|
||||
/**
|
||||
* Enables the Back/Forward Cache for the router.
|
||||
*/
|
||||
routerBFCache?: boolean;
|
||||
serverActions?: {
|
||||
/**
|
||||
* Allows adjusting body parser size limit for server actions.
|
||||
*/
|
||||
bodySizeLimit?: SizeLimit;
|
||||
/**
|
||||
* Allowed origins that can bypass Server Action's CSRF check. This is helpful
|
||||
* when you have reverse proxy in front of your app.
|
||||
* @example
|
||||
* ["my-app.com", "*.my-app.com"]
|
||||
*/
|
||||
allowedOrigins?: string[];
|
||||
};
|
||||
/**
|
||||
* enables the minification of server code.
|
||||
*/
|
||||
serverMinification?: boolean;
|
||||
/**
|
||||
* Enables source maps generation for the server production bundle.
|
||||
*/
|
||||
serverSourceMaps?: boolean;
|
||||
useWasmBinary?: boolean;
|
||||
/**
|
||||
* Use lightningcss instead of postcss-loader
|
||||
*/
|
||||
useLightningcss?: boolean;
|
||||
/**
|
||||
* Enables early import feature for app router modules
|
||||
*/
|
||||
useEarlyImport?: boolean;
|
||||
/**
|
||||
* Enables view transitions by using the {@link https://github.com/facebook/react/pull/31975 unstable_ViewTransition} Component.
|
||||
*/
|
||||
viewTransition?: boolean;
|
||||
/**
|
||||
* Enables `fetch` requests to be proxied to the experimental test proxy server
|
||||
*/
|
||||
testProxy?: boolean;
|
||||
/**
|
||||
* Set a default test runner to be used by `next experimental-test`.
|
||||
*/
|
||||
defaultTestRunner?: SupportedTestRunners;
|
||||
/**
|
||||
* Allow NODE_ENV=development even for `next build`.
|
||||
*/
|
||||
allowDevelopmentBuild?: true;
|
||||
/**
|
||||
* @deprecated use `config.bundlePagesRouterDependencies` instead
|
||||
*
|
||||
*/
|
||||
bundlePagesExternals?: boolean;
|
||||
/**
|
||||
* @deprecated use `config.serverExternalPackages` instead
|
||||
*
|
||||
*/
|
||||
serverComponentsExternalPackages?: string[];
|
||||
/**
|
||||
* Enable experimental React compiler optimization.
|
||||
* Configuration accepts partial config object to the compiler, if provided
|
||||
* compiler will be enabled.
|
||||
*/
|
||||
reactCompiler?: boolean | ReactCompilerOptions;
|
||||
/**
|
||||
* The number of times to retry static generation (per page) before giving up.
|
||||
*/
|
||||
staticGenerationRetryCount?: number;
|
||||
/**
|
||||
* The amount of pages to export per worker during static generation.
|
||||
*/
|
||||
staticGenerationMaxConcurrency?: number;
|
||||
/**
|
||||
* The minimum number of pages to be chunked into each export worker.
|
||||
*/
|
||||
staticGenerationMinPagesPerWorker?: number;
|
||||
/**
|
||||
* Allows previously fetched data to be re-used when editing server components.
|
||||
*/
|
||||
serverComponentsHmrCache?: boolean;
|
||||
/**
|
||||
* When enabled will cause IO in App Router to be excluded from prerenders
|
||||
* unless explicitly cached.
|
||||
*/
|
||||
dynamicIO?: boolean;
|
||||
/**
|
||||
* Render <style> tags inline in the HTML for imported CSS assets.
|
||||
* Supports app-router in production mode only.
|
||||
*/
|
||||
inlineCss?: boolean;
|
||||
/**
|
||||
* This config allows you to enable the experimental navigation API `forbidden` and `unauthorized`.
|
||||
*/
|
||||
authInterrupts?: boolean;
|
||||
/**
|
||||
* Enables the use of the `"use cache"` directive.
|
||||
*/
|
||||
useCache?: boolean;
|
||||
/**
|
||||
* Enables detection and reporting of slow modules during development builds.
|
||||
* Enabling this may impact build performance to ensure accurate measurements.
|
||||
*/
|
||||
slowModuleDetection?: {
|
||||
/**
|
||||
* The time threshold in milliseconds for identifying slow modules.
|
||||
* Modules taking longer than this build time threshold will be reported.
|
||||
*/
|
||||
buildTimeThresholdMs: number;
|
||||
};
|
||||
/**
|
||||
* Enables the client instrumentation hook.
|
||||
* Loads the instrumentation-client.ts file from the project root
|
||||
* and executes it on the client side before hydration.
|
||||
*
|
||||
* Note: Use with caution as this can negatively impact page loading performance.
|
||||
*/
|
||||
clientInstrumentationHook?: boolean;
|
||||
}
|
||||
export type ExportPathMap = {
|
||||
[path: string]: {
|
||||
page: string;
|
||||
query?: NextParsedUrlQuery;
|
||||
};
|
||||
};
|
||||
/**
|
||||
* Next.js can be configured through a `next.config.js` file in the root of your project directory.
|
||||
*
|
||||
* This can change the behavior, enable experimental features, and configure other advanced options.
|
||||
*
|
||||
* Read more: [Next.js Docs: `next.config.js`](https://nextjs.org/docs/app/api-reference/config/next-config-js)
|
||||
*/
|
||||
export interface NextConfig extends Record<string, any> {
|
||||
allowedDevOrigins?: string[];
|
||||
exportPathMap?: (defaultMap: ExportPathMap, ctx: {
|
||||
dev: boolean;
|
||||
dir: string;
|
||||
outDir: string | null;
|
||||
distDir: string;
|
||||
buildId: string;
|
||||
}) => Promise<ExportPathMap> | ExportPathMap;
|
||||
/**
|
||||
* Internationalization configuration
|
||||
*
|
||||
* @see [Internationalization docs](https://nextjs.org/docs/advanced-features/i18n-routing)
|
||||
*/
|
||||
i18n?: I18NConfig | null;
|
||||
/**
|
||||
* @since version 11
|
||||
* @see [ESLint configuration](https://nextjs.org/docs/app/api-reference/config/eslint)
|
||||
*/
|
||||
eslint?: ESLintConfig;
|
||||
/**
|
||||
* @see [Next.js TypeScript documentation](https://nextjs.org/docs/app/api-reference/config/typescript)
|
||||
*/
|
||||
typescript?: TypeScriptConfig;
|
||||
/**
|
||||
* Headers allow you to set custom HTTP headers for an incoming request path.
|
||||
*
|
||||
* @see [Headers configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/headers)
|
||||
*/
|
||||
headers?: () => Promise<Header[]>;
|
||||
/**
|
||||
* Rewrites allow you to map an incoming request path to a different destination path.
|
||||
*
|
||||
* @see [Rewrites configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites)
|
||||
*/
|
||||
rewrites?: () => Promise<Rewrite[] | {
|
||||
beforeFiles?: Rewrite[];
|
||||
afterFiles?: Rewrite[];
|
||||
fallback?: Rewrite[];
|
||||
}>;
|
||||
/**
|
||||
* Redirects allow you to redirect an incoming request path to a different destination path.
|
||||
*
|
||||
* @see [Redirects configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects)
|
||||
*/
|
||||
redirects?: () => Promise<Redirect[]>;
|
||||
/**
|
||||
* @see [Moment.js locales excluded by default](https://nextjs.org/docs/upgrading#momentjs-locales-excluded-by-default)
|
||||
*/
|
||||
excludeDefaultMomentLocales?: boolean;
|
||||
/**
|
||||
* Before continuing to add custom webpack configuration to your application make sure Next.js doesn't already support your use-case
|
||||
*
|
||||
* @see [Custom Webpack Config documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack)
|
||||
*/
|
||||
webpack?: NextJsWebpackConfig | null;
|
||||
/**
|
||||
* By default Next.js will redirect urls with trailing slashes to their counterpart without a trailing slash.
|
||||
*
|
||||
* @default false
|
||||
* @see [Trailing Slash Configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash)
|
||||
*/
|
||||
trailingSlash?: boolean;
|
||||
/**
|
||||
* Next.js comes with built-in support for environment variables
|
||||
*
|
||||
* @see [Environment Variables documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/env)
|
||||
*/
|
||||
env?: Record<string, string | undefined>;
|
||||
/**
|
||||
* Destination directory (defaults to `.next`)
|
||||
*/
|
||||
distDir?: string;
|
||||
/**
|
||||
* The build output directory (defaults to `.next`) is now cleared by default except for the Next.js caches.
|
||||
*/
|
||||
cleanDistDir?: boolean;
|
||||
/**
|
||||
* To set up a CDN, you can set up an asset prefix and configure your CDN's origin to resolve to the domain that Next.js is hosted on.
|
||||
*
|
||||
* @see [CDN Support with Asset Prefix](https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix)
|
||||
*/
|
||||
assetPrefix?: string;
|
||||
/**
|
||||
* The default cache handler for the Pages and App Router uses the filesystem cache. This requires no configuration, however, you can customize the cache handler if you prefer.
|
||||
*
|
||||
* @see [Configuring Caching](https://nextjs.org/docs/app/building-your-application/deploying#configuring-caching) and the [API Reference](https://nextjs.org/docs/app/api-reference/next-config-js/incrementalCacheHandlerPath).
|
||||
*/
|
||||
cacheHandler?: string | undefined;
|
||||
/**
|
||||
* Configure the in-memory cache size in bytes. Defaults to 50 MB.
|
||||
* If `cacheMaxMemorySize: 0`, this disables in-memory caching entirely.
|
||||
*
|
||||
* @see [Configuring Caching](https://nextjs.org/docs/app/building-your-application/deploying#configuring-caching).
|
||||
*/
|
||||
cacheMaxMemorySize?: number;
|
||||
/**
|
||||
* By default, `Next` will serve each file in the `pages` folder under a pathname matching the filename.
|
||||
* To disable this behavior and prevent routing based set this to `true`.
|
||||
*
|
||||
* @default true
|
||||
* @see [Disabling file-system routing](https://nextjs.org/docs/advanced-features/custom-server#disabling-file-system-routing)
|
||||
*/
|
||||
useFileSystemPublicRoutes?: boolean;
|
||||
/**
|
||||
* @see [Configuring the build ID](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId)
|
||||
*/
|
||||
generateBuildId?: () => string | null | Promise<string | null>;
|
||||
/** @see [Disabling ETag Configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags) */
|
||||
generateEtags?: boolean;
|
||||
/** @see [Including non-page files in the pages directory](https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions) */
|
||||
pageExtensions?: string[];
|
||||
/** @see [Compression documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/compress) */
|
||||
compress?: boolean;
|
||||
/** @see [Disabling x-powered-by](https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader) */
|
||||
poweredByHeader?: boolean;
|
||||
/** @see [Using the Image Component](https://nextjs.org/docs/app/api-reference/next-config-js/images) */
|
||||
images?: ImageConfig;
|
||||
/** Configure indicators in development environment */
|
||||
devIndicators?: false | {
|
||||
/**
|
||||
* @deprecated The dev tools indicator has it enabled by default. To disable, set `devIndicators` to `false`.
|
||||
* */
|
||||
appIsrStatus?: boolean;
|
||||
/**
|
||||
* Show "building..." indicator in development
|
||||
* @deprecated The dev tools indicator has it enabled by default. To disable, set `devIndicators` to `false`.
|
||||
*/
|
||||
buildActivity?: boolean;
|
||||
/**
|
||||
* Position of "building..." indicator in browser
|
||||
* @default "bottom-right"
|
||||
* @deprecated Renamed as `position`.
|
||||
*/
|
||||
buildActivityPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
||||
/**
|
||||
* Position of the development tools indicator in the browser window.
|
||||
* @default "bottom-left"
|
||||
* */
|
||||
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
||||
};
|
||||
/**
|
||||
* Next.js exposes some options that give you some control over how the server will dispose or keep in memory built pages in development.
|
||||
*
|
||||
* @see [Configuring `onDemandEntries`](https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries)
|
||||
*/
|
||||
onDemandEntries?: {
|
||||
/** period (in ms) where the server will keep pages in the buffer */
|
||||
maxInactiveAge?: number;
|
||||
/** number of pages that should be kept simultaneously without being disposed */
|
||||
pagesBufferLength?: number;
|
||||
};
|
||||
/** @see [`next/amp`](https://nextjs.org/docs/api-reference/next/amp) */
|
||||
amp?: {
|
||||
canonicalBase?: string;
|
||||
};
|
||||
/**
|
||||
* A unique identifier for a deployment that will be included in each request's query string or header.
|
||||
*/
|
||||
deploymentId?: string;
|
||||
/**
|
||||
* Deploy a Next.js application under a sub-path of a domain
|
||||
*
|
||||
* @see [Base path configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath)
|
||||
*/
|
||||
basePath?: string;
|
||||
/** @see [Customizing sass options](https://nextjs.org/docs/app/api-reference/next-config-js/sassOptions) */
|
||||
sassOptions?: {
|
||||
implementation?: string;
|
||||
[key: string]: any;
|
||||
};
|
||||
/**
|
||||
* Enable browser source map generation during the production build
|
||||
*
|
||||
* @see [Source Maps](https://nextjs.org/docs/advanced-features/source-maps)
|
||||
*/
|
||||
productionBrowserSourceMaps?: boolean;
|
||||
/**
|
||||
* Enable react profiling in production
|
||||
*
|
||||
*/
|
||||
reactProductionProfiling?: boolean;
|
||||
/**
|
||||
* The Next.js runtime is Strict Mode-compliant.
|
||||
*
|
||||
* @see [React Strict Mode](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode)
|
||||
*/
|
||||
reactStrictMode?: boolean | null;
|
||||
/**
|
||||
* The maximum length of the headers that are emitted by React and added to
|
||||
* the response.
|
||||
*
|
||||
* @see [React Max Headers Length](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength)
|
||||
*/
|
||||
reactMaxHeadersLength?: number;
|
||||
/**
|
||||
* Add public (in browser) runtime configuration to your app
|
||||
*
|
||||
* @see [Runtime configuration](https://nextjs.org/docs/pages/api-reference/config/next-config-js/runtime-configuration
|
||||
*/
|
||||
publicRuntimeConfig?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
/**
|
||||
* Add server runtime configuration to your app
|
||||
*
|
||||
* @see [Runtime configuration](https://nextjs.org/docs/pages/api-reference/config/next-config-js/runtime-configuration
|
||||
*/
|
||||
serverRuntimeConfig?: {
|
||||
[key: string]: any;
|
||||
};
|
||||
/**
|
||||
* Next.js enables HTTP Keep-Alive by default.
|
||||
* You may want to disable HTTP Keep-Alive for certain `fetch()` calls or globally.
|
||||
*
|
||||
* @see [Disabling HTTP Keep-Alive](https://nextjs.org/docs/app/api-reference/next-config-js/httpAgentOptions)
|
||||
*/
|
||||
httpAgentOptions?: {
|
||||
keepAlive?: boolean;
|
||||
};
|
||||
/**
|
||||
* Timeout after waiting to generate static pages in seconds
|
||||
*
|
||||
* @default 60
|
||||
*/
|
||||
staticPageGenerationTimeout?: number;
|
||||
/**
|
||||
* Add `"crossorigin"` attribute to generated `<script>` elements generated by `<Head />` or `<NextScript />` components
|
||||
*
|
||||
*
|
||||
* @see [`crossorigin` attribute documentation](https://developer.mozilla.org/docs/Web/HTML/Attributes/crossorigin)
|
||||
*/
|
||||
crossOrigin?: 'anonymous' | 'use-credentials';
|
||||
/**
|
||||
* Optionally enable compiler transforms
|
||||
*
|
||||
* @see [Supported Compiler Options](https://nextjs.org/docs/advanced-features/compiler#supported-features)
|
||||
*/
|
||||
compiler?: {
|
||||
reactRemoveProperties?: boolean | {
|
||||
properties?: string[];
|
||||
};
|
||||
relay?: {
|
||||
src: string;
|
||||
artifactDirectory?: string;
|
||||
language?: 'typescript' | 'javascript' | 'flow';
|
||||
eagerEsModules?: boolean;
|
||||
};
|
||||
removeConsole?: boolean | {
|
||||
exclude?: string[];
|
||||
};
|
||||
styledComponents?: boolean | StyledComponentsConfig;
|
||||
emotion?: boolean | EmotionConfig;
|
||||
styledJsx?: boolean | {
|
||||
useLightningcss?: boolean;
|
||||
};
|
||||
/**
|
||||
* Replaces variables in your code during compile time. Each key will be
|
||||
* replaced with the respective values.
|
||||
*/
|
||||
define?: Record<string, string>;
|
||||
};
|
||||
/**
|
||||
* The type of build output.
|
||||
* - `undefined`: The default build output, `.next` directory, that works with production mode `next start` or a hosting provider like Vercel
|
||||
* - `'standalone'`: A standalone build output, `.next/standalone` directory, that only includes necessary files/dependencies. Useful for self-hosting in a Docker container.
|
||||
* - `'export'`: An exported build output, `out` directory, that only includes static HTML/CSS/JS. Useful for self-hosting without a Node.js server.
|
||||
* @see [Output File Tracing](https://nextjs.org/docs/advanced-features/output-file-tracing)
|
||||
* @see [Static HTML Export](https://nextjs.org/docs/advanced-features/static-html-export)
|
||||
*/
|
||||
output?: 'standalone' | 'export';
|
||||
/**
|
||||
* Automatically transpile and bundle dependencies from local packages (like monorepos) or from external dependencies (`node_modules`). This replaces the
|
||||
* `next-transpile-modules` package.
|
||||
* @see [transpilePackages](https://nextjs.org/docs/advanced-features/compiler#module-transpilation)
|
||||
*/
|
||||
transpilePackages?: string[];
|
||||
/**
|
||||
* Options for Turbopack. Temporarily also available as `experimental.turbo` for compatibility.
|
||||
*/
|
||||
turbopack?: TurbopackOptions;
|
||||
skipMiddlewareUrlNormalize?: boolean;
|
||||
skipTrailingSlashRedirect?: boolean;
|
||||
modularizeImports?: Record<string, {
|
||||
transform: string | Record<string, string>;
|
||||
preventFullImport?: boolean;
|
||||
skipDefaultConversion?: boolean;
|
||||
}>;
|
||||
/**
|
||||
* Logging configuration. Set to `false` to disable logging.
|
||||
*/
|
||||
logging?: LoggingConfig | false;
|
||||
/**
|
||||
* period (in seconds) where the server allow to serve stale cache
|
||||
*/
|
||||
expireTime?: number;
|
||||
/**
|
||||
* Enable experimental features. Note that all experimental features are subject to breaking changes in the future.
|
||||
*/
|
||||
experimental?: ExperimentalConfig;
|
||||
/**
|
||||
* Enables the bundling of node_modules packages (externals) for pages server-side bundles.
|
||||
* @see https://nextjs.org/docs/pages/api-reference/next-config-js/bundlePagesRouterDependencies
|
||||
*/
|
||||
bundlePagesRouterDependencies?: boolean;
|
||||
/**
|
||||
* A list of packages that should be treated as external in the server build.
|
||||
* @see https://nextjs.org/docs/app/api-reference/next-config-js/serverExternalPackages
|
||||
*/
|
||||
serverExternalPackages?: string[];
|
||||
/**
|
||||
* This is the repo root usually and only files above this
|
||||
* directory are traced and included.
|
||||
*/
|
||||
outputFileTracingRoot?: string;
|
||||
/**
|
||||
* This allows manually excluding traced files if too many
|
||||
* are included incorrectly on a per-page basis.
|
||||
*/
|
||||
outputFileTracingExcludes?: Record<string, string[]>;
|
||||
/**
|
||||
* This allows manually including traced files if some
|
||||
* were not detected on a per-page basis.
|
||||
*/
|
||||
outputFileTracingIncludes?: Record<string, string[]>;
|
||||
watchOptions?: {
|
||||
pollIntervalMs?: number;
|
||||
};
|
||||
/**
|
||||
* User Agent of bots that can handle streaming metadata.
|
||||
* Besides the default behavior, Next.js act differently on serving metadata to bots based on their capability.
|
||||
*
|
||||
* @default
|
||||
* /Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview/i
|
||||
*/
|
||||
htmlLimitedBots?: RegExp;
|
||||
}
|
||||
export declare const defaultConfig: NextConfig;
|
||||
export declare function normalizeConfig(phase: string, config: any): Promise<any>;
|
||||
export {};
|
||||
Loading…
Add table
Add a link
Reference in a new issue