✨ 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
2.2 KiB
2.2 KiB
import/no-anonymous-default-export
Reports if a module's default export is unnamed. This includes several types of unnamed data types; literals, object expressions, arrays, anonymous functions, arrow functions, and anonymous class declarations.
Ensuring that default exports are named helps improve the grepability of the codebase by encouraging the re-use of the same identifier for the module's default export at its declaration site and at its import sites.
Options
By default, all types of anonymous default exports are forbidden, but any types can be selectively allowed by toggling them on in the options.
The complete default configuration looks like this.
"import/no-anonymous-default-export": ["error", {
"allowArray": false,
"allowArrowFunction": false,
"allowAnonymousClass": false,
"allowAnonymousFunction": false,
"allowCallExpression": true, // The true value here is for backward compatibility
"allowNew": false,
"allowLiteral": false,
"allowObject": false
}]
Rule Details
Fail
export default []
export default () => {}
export default class {}
export default function () {}
/* eslint import/no-anonymous-default-export: [2, {"allowCallExpression": false}] */
export default foo(bar)
export default 123
export default {}
export default new Foo()
Pass
const foo = 123
export default foo
export default class MyClass() {}
export default function foo() {}
/* eslint import/no-anonymous-default-export: [2, {"allowArray": true}] */
export default []
/* eslint import/no-anonymous-default-export: [2, {"allowArrowFunction": true}] */
export default () => {}
/* eslint import/no-anonymous-default-export: [2, {"allowAnonymousClass": true}] */
export default class {}
/* eslint import/no-anonymous-default-export: [2, {"allowAnonymousFunction": true}] */
export default function () {}
export default foo(bar)
/* eslint import/no-anonymous-default-export: [2, {"allowLiteral": true}] */
export default 123
/* eslint import/no-anonymous-default-export: [2, {"allowObject": true}] */
export default {}
/* eslint import/no-anonymous-default-export: [2, {"allowNew": true}] */
export default new Foo()