✨ 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
tinyglobby
A fast and minimal alternative to globby and fast-glob, meant to behave the same way.
Both globby and fast-glob present some behavior no other globbing lib has, which makes it hard to manually replace with something smaller and better.
This library uses only two subdependencies, compared to globby's 23
and fast-glob's 17.
Usage
import { glob, globSync } from 'tinyglobby';
await glob(['files/*.ts', '!**/*.d.ts'], { cwd: 'src' });
globSync(['src/**/*.ts'], { ignore: ['**/*.d.ts'] });
API
glob(patterns: string | string[], options: GlobOptions): Promise<string[]>: Returns a promise with an array of matches.globSync(patterns: string | string[], options: GlobOptions): string[]: Returns an array of matches.convertPathToPattern(path: string): string: Converts a path to a pattern depending on the platform.escapePath(path: string): string: Escapes a path's special characters depending on the platform.isDynamicPattern(pattern: string, options?: GlobOptions): boolean: Checks if a pattern is dynamic.
Options
patterns: An array of glob patterns to search for. Defaults to['**/*'].ignore: An array of glob patterns to ignore.cwd: The current working directory in which to search. Defaults toprocess.cwd().absolute: Whether to return absolute paths. Defaults tofalse.dot: Whether to allow entries starting with a dot. Defaults tofalse.deep: Maximum depth of a directory. Defaults toInfinity.followSymbolicLinks: Whether to traverse and include symbolic links. Defaults totrue.caseSensitiveMatch: Whether to match in case-sensitive mode. Defaults totrue.expandDirectories: Whether to expand directories. Disable to best matchfast-glob. Defaults totrue.onlyDirectories: Enable to only return directories. DisablesonlyFilesif set. Defaults tofalse.onlyFiles: Enable to only return files. Defaults totrue.debug: Enable debug logs. Useful for development purposes.
Used by
tinyglobby is downloaded many times by projects all around the world. Here's a partial list of notable projects that use it:
vitepnpmnode-gypeslint-import-resolver-typescriptvitestcopy-webpack-pluginstorybookts-morphnxsort-package-jsonunimporttsuplernacspellnuxtpostcss-mixinsastrounocssvitepresspkg-pr-new- Your own project? Open an issue if you feel like this list is incomplete.