Files
Laca-City/frontend/node_modules/next/dist/build/webpack-config.d.ts
PhongPham c65cc97a33 🎯 MapView v2.0 - Global Deployment Ready
 MAJOR FEATURES:
• Auto-zoom intelligence với smart bounds fitting
• Enhanced 3D GPS markers với pulsing effects
• Professional route display với 6-layer rendering
• Status-based parking icons với availability indicators
• Production-ready build optimizations

🗺️ AUTO-ZOOM FEATURES:
• Smart bounds fitting cho GPS + selected parking
• Adaptive padding (50px) cho visual balance
• Max zoom control (level 16) để tránh quá gần
• Dynamic centering khi không có selection

🎨 ENHANCED VISUALS:
• 3D GPS marker với multi-layer pulse effects
• Advanced parking icons với status colors
• Selection highlighting với animation
• Dimming system cho non-selected items

🛣️ ROUTE SYSTEM:
• OpenRouteService API integration
• Multi-layer route rendering (glow, shadow, main, animated)
• Real-time distance & duration calculation
• Visual route info trong popup

📱 PRODUCTION READY:
• SSR safe với dynamic imports
• Build errors resolved
• Global deployment via Vercel
• Optimized performance

🌍 DEPLOYMENT:
• Vercel: https://whatever-ctk2auuxr-phong12hexdockworks-projects.vercel.app
• Bundle size: 22.8 kB optimized
• Global CDN distribution
• HTTPS enabled

💾 VERSION CONTROL:
• MapView-v2.0.tsx backup created
• MAPVIEW_VERSIONS.md documentation
• Full version history tracking
2025-07-20 19:52:16 +07:00

129 lines
4.5 KiB
TypeScript

import { webpack } from 'next/dist/compiled/webpack/webpack';
import type { CustomRoutes } from '../lib/load-custom-routes.js';
import type { CompilerNameValues } from '../shared/lib/constants';
import type { NextConfigComplete } from '../server/config-shared';
import type { Span } from '../trace';
import type { MiddlewareMatcher } from './analysis/get-page-static-info';
import { type JsConfig, type ResolvedBaseUrl } from './load-jsconfig';
export declare const NEXT_PROJECT_ROOT: string;
export declare const NEXT_PROJECT_ROOT_DIST: string;
export declare const babelIncludeRegexes: RegExp[];
export declare function attachReactRefresh(webpackConfig: webpack.Configuration, targetLoader: webpack.RuleSetUseItem): void;
export declare const NODE_RESOLVE_OPTIONS: {
dependencyType: string;
modules: string[];
fallback: boolean;
exportsFields: string[];
importsFields: string[];
conditionNames: string[];
descriptionFiles: string[];
extensions: string[];
enforceExtensions: boolean;
symlinks: boolean;
mainFields: string[];
mainFiles: string[];
roots: never[];
fullySpecified: boolean;
preferRelative: boolean;
preferAbsolute: boolean;
restrictions: never[];
};
export declare const NODE_BASE_RESOLVE_OPTIONS: {
alias: boolean;
dependencyType: string;
modules: string[];
fallback: boolean;
exportsFields: string[];
importsFields: string[];
conditionNames: string[];
descriptionFiles: string[];
extensions: string[];
enforceExtensions: boolean;
symlinks: boolean;
mainFields: string[];
mainFiles: string[];
roots: never[];
fullySpecified: boolean;
preferRelative: boolean;
preferAbsolute: boolean;
restrictions: never[];
};
export declare const NODE_ESM_RESOLVE_OPTIONS: {
alias: boolean;
dependencyType: string;
conditionNames: string[];
fullySpecified: boolean;
modules: string[];
fallback: boolean;
exportsFields: string[];
importsFields: string[];
descriptionFiles: string[];
extensions: string[];
enforceExtensions: boolean;
symlinks: boolean;
mainFields: string[];
mainFiles: string[];
roots: never[];
preferRelative: boolean;
preferAbsolute: boolean;
restrictions: never[];
};
export declare const NODE_BASE_ESM_RESOLVE_OPTIONS: {
alias: boolean;
dependencyType: string;
conditionNames: string[];
fullySpecified: boolean;
modules: string[];
fallback: boolean;
exportsFields: string[];
importsFields: string[];
descriptionFiles: string[];
extensions: string[];
enforceExtensions: boolean;
symlinks: boolean;
mainFields: string[];
mainFiles: string[];
roots: never[];
preferRelative: boolean;
preferAbsolute: boolean;
restrictions: never[];
};
export declare const nextImageLoaderRegex: RegExp;
export declare function loadProjectInfo({ dir, config, dev, }: {
dir: string;
config: NextConfigComplete;
dev: boolean;
}): Promise<{
jsConfig: JsConfig;
resolvedBaseUrl: ResolvedBaseUrl;
supportedBrowsers: string[] | undefined;
}>;
export declare function hasExternalOtelApiPackage(): boolean;
export default function getBaseWebpackConfig(dir: string, { buildId, encryptionKey, config, compilerType, dev, entrypoints, isDevFallback, pagesDir, reactProductionProfiling, rewrites, originalRewrites, originalRedirects, runWebpackSpan, appDir, middlewareMatchers, noMangling, jsConfig, resolvedBaseUrl, supportedBrowsers, clientRouterFilters, fetchCacheKeyPrefix, edgePreviewProps, }: {
buildId: string;
encryptionKey: string;
config: NextConfigComplete;
compilerType: CompilerNameValues;
dev?: boolean;
entrypoints: webpack.EntryObject;
isDevFallback?: boolean;
pagesDir?: string;
reactProductionProfiling?: boolean;
rewrites: CustomRoutes['rewrites'];
originalRewrites: CustomRoutes['rewrites'] | undefined;
originalRedirects: CustomRoutes['redirects'] | undefined;
runWebpackSpan: Span;
appDir?: string;
middlewareMatchers?: MiddlewareMatcher[];
noMangling?: boolean;
jsConfig: any;
resolvedBaseUrl: ResolvedBaseUrl;
supportedBrowsers: string[] | undefined;
edgePreviewProps?: Record<string, string>;
clientRouterFilters?: {
staticFilter: ReturnType<import('../shared/lib/bloom-filter').BloomFilter['export']>;
dynamicFilter: ReturnType<import('../shared/lib/bloom-filter').BloomFilter['export']>;
};
fetchCacheKeyPrefix?: string;
}): Promise<webpack.Configuration>;