Initial boiler plate project
This commit is contained in:
466
node_modules/next/dist/esm/server/config-schema.js
generated
vendored
Normal file
466
node_modules/next/dist/esm/server/config-schema.js
generated
vendored
Normal file
@ -0,0 +1,466 @@
|
||||
import { VALID_LOADERS } from "../shared/lib/image-config";
|
||||
import { z } from "next/dist/compiled/zod";
|
||||
// A custom zod schema for the SizeLimit type
|
||||
const zSizeLimit = z.custom((val)=>{
|
||||
if (typeof val === "number" || typeof val === "string") {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
const zExportMap = z.record(z.string(), z.object({
|
||||
page: z.string(),
|
||||
query: z.any(),
|
||||
// private optional properties
|
||||
_isAppDir: z.boolean().optional(),
|
||||
_isAppPrefetch: z.boolean().optional(),
|
||||
_isDynamicError: z.boolean().optional()
|
||||
}));
|
||||
const zRouteHas = z.union([
|
||||
z.object({
|
||||
type: z.enum([
|
||||
"header",
|
||||
"query",
|
||||
"cookie"
|
||||
]),
|
||||
key: z.string(),
|
||||
value: z.string().optional()
|
||||
}),
|
||||
z.object({
|
||||
type: z.literal("host"),
|
||||
key: z.undefined().optional(),
|
||||
value: z.string()
|
||||
})
|
||||
]);
|
||||
const zRewrite = z.object({
|
||||
source: z.string(),
|
||||
destination: z.string(),
|
||||
basePath: z.literal(false).optional(),
|
||||
locale: z.literal(false).optional(),
|
||||
has: z.array(zRouteHas).optional(),
|
||||
missing: z.array(zRouteHas).optional(),
|
||||
internal: z.boolean().optional()
|
||||
});
|
||||
const zRedirect = z.object({
|
||||
source: z.string(),
|
||||
destination: z.string(),
|
||||
basePath: z.literal(false).optional(),
|
||||
locale: z.literal(false).optional(),
|
||||
has: z.array(zRouteHas).optional(),
|
||||
missing: z.array(zRouteHas).optional(),
|
||||
internal: z.boolean().optional()
|
||||
}).and(z.union([
|
||||
z.object({
|
||||
statusCode: z.never().optional(),
|
||||
permanent: z.boolean()
|
||||
}),
|
||||
z.object({
|
||||
statusCode: z.number(),
|
||||
permanent: z.never().optional()
|
||||
})
|
||||
]));
|
||||
const zHeader = z.object({
|
||||
source: z.string(),
|
||||
basePath: z.literal(false).optional(),
|
||||
locale: z.literal(false).optional(),
|
||||
headers: z.array(z.object({
|
||||
key: z.string(),
|
||||
value: z.string()
|
||||
})),
|
||||
has: z.array(zRouteHas).optional(),
|
||||
missing: z.array(zRouteHas).optional(),
|
||||
internal: z.boolean().optional()
|
||||
});
|
||||
const zTurboLoaderItem = z.union([
|
||||
z.string(),
|
||||
z.object({
|
||||
loader: z.string(),
|
||||
// Any JSON value can be used as turbo loader options, so use z.any() here
|
||||
options: z.record(z.string(), z.any())
|
||||
})
|
||||
]);
|
||||
const zTurboRuleConfigItemOptions = z.object({
|
||||
loaders: z.array(zTurboLoaderItem),
|
||||
as: z.string().optional()
|
||||
});
|
||||
const zTurboRuleConfigItem = z.union([
|
||||
z.literal(false),
|
||||
z.record(z.string(), z.lazy(()=>zTurboRuleConfigItem)),
|
||||
zTurboRuleConfigItemOptions
|
||||
]);
|
||||
const zTurboRuleConfigItemOrShortcut = z.union([
|
||||
z.array(zTurboLoaderItem),
|
||||
zTurboRuleConfigItem
|
||||
]);
|
||||
export const configSchema = z.lazy(()=>z.strictObject({
|
||||
amp: z.object({
|
||||
canonicalBase: z.string().optional()
|
||||
}).optional(),
|
||||
analyticsId: z.string().optional(),
|
||||
assetPrefix: z.string().optional(),
|
||||
basePath: z.string().optional(),
|
||||
cacheHandler: z.string().min(1).optional(),
|
||||
cacheMaxMemorySize: z.number().optional(),
|
||||
cleanDistDir: z.boolean().optional(),
|
||||
compiler: z.strictObject({
|
||||
emotion: z.union([
|
||||
z.boolean(),
|
||||
z.object({
|
||||
sourceMap: z.boolean().optional(),
|
||||
autoLabel: z.union([
|
||||
z.literal("always"),
|
||||
z.literal("dev-only"),
|
||||
z.literal("never")
|
||||
]).optional(),
|
||||
labelFormat: z.string().min(1).optional(),
|
||||
importMap: z.record(z.string(), z.record(z.string(), z.object({
|
||||
canonicalImport: z.tuple([
|
||||
z.string(),
|
||||
z.string()
|
||||
]).optional(),
|
||||
styledBaseImport: z.tuple([
|
||||
z.string(),
|
||||
z.string()
|
||||
]).optional()
|
||||
}))).optional()
|
||||
})
|
||||
]).optional(),
|
||||
reactRemoveProperties: z.union([
|
||||
z.boolean().optional(),
|
||||
z.object({
|
||||
properties: z.array(z.string()).optional()
|
||||
})
|
||||
]).optional(),
|
||||
relay: z.object({
|
||||
src: z.string(),
|
||||
artifactDirectory: z.string().optional(),
|
||||
language: z.enum([
|
||||
"javascript",
|
||||
"typescript",
|
||||
"flow"
|
||||
]).optional(),
|
||||
eagerEsModules: z.boolean().optional()
|
||||
}).optional(),
|
||||
removeConsole: z.union([
|
||||
z.boolean().optional(),
|
||||
z.object({
|
||||
exclude: z.array(z.string()).min(1).optional()
|
||||
})
|
||||
]).optional(),
|
||||
styledComponents: z.union([
|
||||
z.boolean().optional(),
|
||||
z.object({
|
||||
displayName: z.boolean().optional(),
|
||||
topLevelImportPaths: z.array(z.string()).min(1).optional(),
|
||||
ssr: z.boolean().optional(),
|
||||
fileName: z.boolean().optional(),
|
||||
meaninglessFileNames: z.array(z.string()).min(1).optional(),
|
||||
minify: z.boolean().optional(),
|
||||
transpileTemplateLiterals: z.boolean().optional(),
|
||||
namespace: z.string().min(1).optional(),
|
||||
pure: z.boolean().optional(),
|
||||
cssProp: z.boolean().optional()
|
||||
})
|
||||
]),
|
||||
styledJsx: z.union([
|
||||
z.boolean().optional(),
|
||||
z.object({
|
||||
useLightningcss: z.boolean().optional()
|
||||
})
|
||||
])
|
||||
}).optional(),
|
||||
compress: z.boolean().optional(),
|
||||
configOrigin: z.string().optional(),
|
||||
crossOrigin: z.union([
|
||||
z.literal("anonymous"),
|
||||
z.literal("use-credentials")
|
||||
]).optional(),
|
||||
deploymentId: z.string().optional(),
|
||||
devIndicators: z.object({
|
||||
buildActivity: z.boolean().optional(),
|
||||
buildActivityPosition: z.union([
|
||||
z.literal("bottom-left"),
|
||||
z.literal("bottom-right"),
|
||||
z.literal("top-left"),
|
||||
z.literal("top-right")
|
||||
]).optional()
|
||||
}).optional(),
|
||||
distDir: z.string().min(1).optional(),
|
||||
env: z.record(z.string(), z.union([
|
||||
z.string(),
|
||||
z.undefined()
|
||||
])).optional(),
|
||||
eslint: z.strictObject({
|
||||
dirs: z.array(z.string().min(1)).optional(),
|
||||
ignoreDuringBuilds: z.boolean().optional()
|
||||
}).optional(),
|
||||
excludeDefaultMomentLocales: z.boolean().optional(),
|
||||
experimental: z.strictObject({
|
||||
appDocumentPreloading: z.boolean().optional(),
|
||||
preloadEntriesOnStart: z.boolean().optional(),
|
||||
adjustFontFallbacks: z.boolean().optional(),
|
||||
adjustFontFallbacksWithSizeAdjust: z.boolean().optional(),
|
||||
allowedRevalidateHeaderKeys: z.array(z.string()).optional(),
|
||||
amp: z.object({
|
||||
// AMP optimizer option is unknown, use z.any() here
|
||||
optimizer: z.any().optional(),
|
||||
skipValidation: z.boolean().optional(),
|
||||
validator: z.string().optional()
|
||||
}).optional(),
|
||||
staleTimes: z.object({
|
||||
dynamic: z.number().optional(),
|
||||
static: z.number().optional()
|
||||
}).optional(),
|
||||
clientRouterFilter: z.boolean().optional(),
|
||||
clientRouterFilterRedirects: z.boolean().optional(),
|
||||
clientRouterFilterAllowedRate: z.number().optional(),
|
||||
cpus: z.number().optional(),
|
||||
memoryBasedWorkersCount: z.boolean().optional(),
|
||||
craCompat: z.boolean().optional(),
|
||||
caseSensitiveRoutes: z.boolean().optional(),
|
||||
disableOptimizedLoading: z.boolean().optional(),
|
||||
disablePostcssPresetEnv: z.boolean().optional(),
|
||||
esmExternals: z.union([
|
||||
z.boolean(),
|
||||
z.literal("loose")
|
||||
]).optional(),
|
||||
serverActions: z.object({
|
||||
bodySizeLimit: zSizeLimit.optional(),
|
||||
allowedOrigins: z.array(z.string()).optional()
|
||||
}).optional(),
|
||||
// The original type was Record<string, any>
|
||||
extensionAlias: z.record(z.string(), z.any()).optional(),
|
||||
externalDir: z.boolean().optional(),
|
||||
externalMiddlewareRewritesResolve: z.boolean().optional(),
|
||||
fallbackNodePolyfills: z.literal(false).optional(),
|
||||
fetchCacheKeyPrefix: z.string().optional(),
|
||||
swrDelta: z.number().optional(),
|
||||
forceSwcTransforms: z.boolean().optional(),
|
||||
fullySpecified: z.boolean().optional(),
|
||||
gzipSize: z.boolean().optional(),
|
||||
isrFlushToDisk: z.boolean().optional(),
|
||||
largePageDataBytes: z.number().optional(),
|
||||
linkNoTouchStart: z.boolean().optional(),
|
||||
manualClientBasePath: z.boolean().optional(),
|
||||
middlewarePrefetch: z.enum([
|
||||
"strict",
|
||||
"flexible"
|
||||
]).optional(),
|
||||
multiZoneDraftMode: z.boolean().optional(),
|
||||
cssChunking: z.enum([
|
||||
"strict",
|
||||
"loose"
|
||||
]).optional(),
|
||||
nextScriptWorkers: z.boolean().optional(),
|
||||
// The critter option is unknown, use z.any() here
|
||||
optimizeCss: z.union([
|
||||
z.boolean(),
|
||||
z.any()
|
||||
]).optional(),
|
||||
optimisticClientCache: z.boolean().optional(),
|
||||
outputFileTracingRoot: z.string().optional(),
|
||||
outputFileTracingExcludes: z.record(z.string(), z.array(z.string())).optional(),
|
||||
outputFileTracingIgnores: z.array(z.string()).optional(),
|
||||
outputFileTracingIncludes: z.record(z.string(), z.array(z.string())).optional(),
|
||||
parallelServerCompiles: z.boolean().optional(),
|
||||
parallelServerBuildTraces: z.boolean().optional(),
|
||||
ppr: z.boolean().optional(),
|
||||
taint: z.boolean().optional(),
|
||||
prerenderEarlyExit: z.boolean().optional(),
|
||||
proxyTimeout: z.number().gte(0).optional(),
|
||||
serverComponentsExternalPackages: z.array(z.string()).optional(),
|
||||
scrollRestoration: z.boolean().optional(),
|
||||
sri: z.object({
|
||||
algorithm: z.enum([
|
||||
"sha256",
|
||||
"sha384",
|
||||
"sha512"
|
||||
]).optional()
|
||||
}).optional(),
|
||||
strictNextHead: z.boolean().optional(),
|
||||
swcMinify: z.boolean().optional(),
|
||||
swcPlugins: z// The specific swc plugin's option is unknown, use z.any() here
|
||||
.array(z.tuple([
|
||||
z.string(),
|
||||
z.record(z.string(), z.any())
|
||||
])).optional(),
|
||||
swcTraceProfiling: z.boolean().optional(),
|
||||
// NonNullable<webpack.Configuration['experiments']>['buildHttp']
|
||||
urlImports: z.any().optional(),
|
||||
workerThreads: z.boolean().optional(),
|
||||
webVitalsAttribution: z.array(z.union([
|
||||
z.literal("CLS"),
|
||||
z.literal("FCP"),
|
||||
z.literal("FID"),
|
||||
z.literal("INP"),
|
||||
z.literal("LCP"),
|
||||
z.literal("TTFB")
|
||||
])).optional(),
|
||||
mdxRs: z.boolean().optional(),
|
||||
typedRoutes: z.boolean().optional(),
|
||||
webpackBuildWorker: z.boolean().optional(),
|
||||
turbo: z.object({
|
||||
loaders: z.record(z.string(), z.array(zTurboLoaderItem)).optional(),
|
||||
rules: z.record(z.string(), zTurboRuleConfigItemOrShortcut).optional(),
|
||||
resolveAlias: z.record(z.string(), z.union([
|
||||
z.string(),
|
||||
z.array(z.string()),
|
||||
z.record(z.string(), z.union([
|
||||
z.string(),
|
||||
z.array(z.string())
|
||||
]))
|
||||
])).optional(),
|
||||
resolveExtensions: z.array(z.string()).optional(),
|
||||
useSwcCss: z.boolean().optional()
|
||||
}).optional(),
|
||||
optimizePackageImports: z.array(z.string()).optional(),
|
||||
optimizeServerReact: z.boolean().optional(),
|
||||
instrumentationHook: z.boolean().optional(),
|
||||
turbotrace: z.object({
|
||||
logLevel: z.enum([
|
||||
"bug",
|
||||
"fatal",
|
||||
"error",
|
||||
"warning",
|
||||
"hint",
|
||||
"note",
|
||||
"suggestions",
|
||||
"info"
|
||||
]).optional(),
|
||||
logAll: z.boolean().optional(),
|
||||
logDetail: z.boolean().optional(),
|
||||
contextDirectory: z.string().optional(),
|
||||
processCwd: z.string().optional(),
|
||||
memoryLimit: z.number().int().optional()
|
||||
}).optional(),
|
||||
serverMinification: z.boolean().optional(),
|
||||
serverSourceMaps: z.boolean().optional(),
|
||||
bundlePagesExternals: z.boolean().optional(),
|
||||
staticWorkerRequestDeduping: z.boolean().optional(),
|
||||
useWasmBinary: z.boolean().optional(),
|
||||
useLightningcss: z.boolean().optional(),
|
||||
missingSuspenseWithCSRBailout: z.boolean().optional(),
|
||||
useEarlyImport: z.boolean().optional(),
|
||||
testProxy: z.boolean().optional()
|
||||
}).optional(),
|
||||
exportPathMap: z.function().args(zExportMap, z.object({
|
||||
dev: z.boolean(),
|
||||
dir: z.string(),
|
||||
outDir: z.string().nullable(),
|
||||
distDir: z.string(),
|
||||
buildId: z.string()
|
||||
})).returns(z.union([
|
||||
zExportMap,
|
||||
z.promise(zExportMap)
|
||||
])).optional(),
|
||||
generateBuildId: z.function().args().returns(z.union([
|
||||
z.string(),
|
||||
z.null(),
|
||||
z.promise(z.union([
|
||||
z.string(),
|
||||
z.null()
|
||||
]))
|
||||
])).optional(),
|
||||
generateEtags: z.boolean().optional(),
|
||||
headers: z.function().args().returns(z.promise(z.array(zHeader))).optional(),
|
||||
httpAgentOptions: z.strictObject({
|
||||
keepAlive: z.boolean().optional()
|
||||
}).optional(),
|
||||
i18n: z.strictObject({
|
||||
defaultLocale: z.string().min(1),
|
||||
domains: z.array(z.strictObject({
|
||||
defaultLocale: z.string().min(1),
|
||||
domain: z.string().min(1),
|
||||
http: z.literal(true).optional(),
|
||||
locales: z.array(z.string().min(1)).optional()
|
||||
})).optional(),
|
||||
localeDetection: z.literal(false).optional(),
|
||||
locales: z.array(z.string().min(1))
|
||||
}).nullable().optional(),
|
||||
images: z.strictObject({
|
||||
remotePatterns: z.array(z.strictObject({
|
||||
hostname: z.string(),
|
||||
pathname: z.string().optional(),
|
||||
port: z.string().max(5).optional(),
|
||||
protocol: z.enum([
|
||||
"http",
|
||||
"https"
|
||||
]).optional()
|
||||
})).max(50).optional(),
|
||||
unoptimized: z.boolean().optional(),
|
||||
contentSecurityPolicy: z.string().optional(),
|
||||
contentDispositionType: z.enum([
|
||||
"inline",
|
||||
"attachment"
|
||||
]).optional(),
|
||||
dangerouslyAllowSVG: z.boolean().optional(),
|
||||
deviceSizes: z.array(z.number().int().gte(1).lte(10000)).max(25).optional(),
|
||||
disableStaticImages: z.boolean().optional(),
|
||||
domains: z.array(z.string()).max(50).optional(),
|
||||
formats: z.array(z.enum([
|
||||
"image/avif",
|
||||
"image/webp"
|
||||
])).max(4).optional(),
|
||||
imageSizes: z.array(z.number().int().gte(1).lte(10000)).min(0).max(25).optional(),
|
||||
loader: z.enum(VALID_LOADERS).optional(),
|
||||
loaderFile: z.string().optional(),
|
||||
minimumCacheTTL: z.number().int().gte(0).optional(),
|
||||
path: z.string().optional()
|
||||
}).optional(),
|
||||
logging: z.object({
|
||||
fetches: z.object({
|
||||
fullUrl: z.boolean().optional()
|
||||
}).optional()
|
||||
}).optional(),
|
||||
modularizeImports: z.record(z.string(), z.object({
|
||||
transform: z.union([
|
||||
z.string(),
|
||||
z.record(z.string(), z.string())
|
||||
]),
|
||||
preventFullImport: z.boolean().optional(),
|
||||
skipDefaultConversion: z.boolean().optional()
|
||||
})).optional(),
|
||||
onDemandEntries: z.strictObject({
|
||||
maxInactiveAge: z.number().optional(),
|
||||
pagesBufferLength: z.number().optional()
|
||||
}).optional(),
|
||||
optimizeFonts: z.boolean().optional(),
|
||||
output: z.enum([
|
||||
"standalone",
|
||||
"export"
|
||||
]).optional(),
|
||||
outputFileTracing: z.boolean().optional(),
|
||||
pageExtensions: z.array(z.string()).min(1).optional(),
|
||||
poweredByHeader: z.boolean().optional(),
|
||||
productionBrowserSourceMaps: z.boolean().optional(),
|
||||
publicRuntimeConfig: z.record(z.string(), z.any()).optional(),
|
||||
reactProductionProfiling: z.boolean().optional(),
|
||||
reactStrictMode: z.boolean().nullable().optional(),
|
||||
redirects: z.function().args().returns(z.promise(z.array(zRedirect))).optional(),
|
||||
rewrites: z.function().args().returns(z.promise(z.union([
|
||||
z.array(zRewrite),
|
||||
z.object({
|
||||
beforeFiles: z.array(zRewrite),
|
||||
afterFiles: z.array(zRewrite),
|
||||
fallback: z.array(zRewrite)
|
||||
})
|
||||
]))).optional(),
|
||||
// saas option is unknown, use z.any() here
|
||||
sassOptions: z.record(z.string(), z.any()).optional(),
|
||||
serverRuntimeConfig: z.record(z.string(), z.any()).optional(),
|
||||
skipMiddlewareUrlNormalize: z.boolean().optional(),
|
||||
skipTrailingSlashRedirect: z.boolean().optional(),
|
||||
staticPageGenerationTimeout: z.number().optional(),
|
||||
swcMinify: z.boolean().optional(),
|
||||
target: z.string().optional(),
|
||||
trailingSlash: z.boolean().optional(),
|
||||
transpilePackages: z.array(z.string()).optional(),
|
||||
typescript: z.strictObject({
|
||||
ignoreBuildErrors: z.boolean().optional(),
|
||||
tsconfigPath: z.string().min(1).optional()
|
||||
}).optional(),
|
||||
useFileSystemPublicRoutes: z.boolean().optional(),
|
||||
// The webpack config type is unknown, use z.any() here
|
||||
webpack: z.any().nullable().optional()
|
||||
}));
|
||||
|
||||
//# sourceMappingURL=config-schema.js.map
|
||||
Reference in New Issue
Block a user