✨ 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
81 lines
2.5 KiB
JavaScript
Executable File
81 lines
2.5 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
"use strict";
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __commonJS = function(cb, mod) {
|
|
return function __require() {
|
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
};
|
|
};
|
|
|
|
// node_modules/semver-compare/index.js
|
|
var require_semver_compare = __commonJS({
|
|
"node_modules/semver-compare/index.js": function(exports2, module2) {
|
|
module2.exports = function cmp(a, b) {
|
|
var pa = a.split(".");
|
|
var pb = b.split(".");
|
|
for (var i = 0; i < 3; i++) {
|
|
var na = Number(pa[i]);
|
|
var nb = Number(pb[i]);
|
|
if (na > nb) return 1;
|
|
if (nb > na) return -1;
|
|
if (!isNaN(na) && isNaN(nb)) return 1;
|
|
if (isNaN(na) && !isNaN(nb)) return -1;
|
|
}
|
|
return 0;
|
|
};
|
|
}
|
|
});
|
|
|
|
// node_modules/please-upgrade-node/index.js
|
|
var require_please_upgrade_node = __commonJS({
|
|
"node_modules/please-upgrade-node/index.js": function(exports2, module2) {
|
|
var semverCompare = require_semver_compare();
|
|
module2.exports = function pleaseUpgradeNode2(pkg, opts) {
|
|
var opts = opts || {};
|
|
var requiredVersion = pkg.engines.node.replace(">=", "");
|
|
var currentVersion = process.version.replace("v", "");
|
|
if (semverCompare(currentVersion, requiredVersion) === -1) {
|
|
if (opts.message) {
|
|
console.error(opts.message(requiredVersion));
|
|
} else {
|
|
console.error(
|
|
pkg.name + " requires at least version " + requiredVersion + " of Node, please upgrade"
|
|
);
|
|
}
|
|
if (opts.hasOwnProperty("exitCode")) {
|
|
process.exit(opts.exitCode);
|
|
} else {
|
|
process.exit(1);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
});
|
|
|
|
// bin/prettier.cjs
|
|
var nodeModule = require("module");
|
|
if (typeof nodeModule.enableCompileCache === "function") {
|
|
nodeModule.enableCompileCache();
|
|
}
|
|
var pleaseUpgradeNode = require_please_upgrade_node();
|
|
var packageJson = require("../package.json");
|
|
pleaseUpgradeNode(packageJson);
|
|
var dynamicImport = new Function("module", "return import(module)");
|
|
var promise;
|
|
var index = process.argv.indexOf("--experimental-cli");
|
|
if (process.env.PRETTIER_EXPERIMENTAL_CLI || index !== -1) {
|
|
if (index !== -1) {
|
|
process.argv.splice(index, 1);
|
|
}
|
|
promise = dynamicImport("../internal/experimental-cli.mjs").then(
|
|
function(cli) {
|
|
return cli.__promise;
|
|
}
|
|
);
|
|
} else {
|
|
promise = dynamicImport("../internal/legacy-cli.mjs").then(function runCli(cli) {
|
|
return cli.run();
|
|
});
|
|
}
|
|
module.exports.__promise = promise;
|