✨ 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
100 lines
4.8 KiB
JavaScript
100 lines
4.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createTsTranspileModule = void 0;
|
|
/** @internal */
|
|
function createTsTranspileModule(ts, transpileOptions) {
|
|
const { createProgram, createSourceFile, getDefaultCompilerOptions, getImpliedNodeFormatForFile, fixupCompilerOptions, transpileOptionValueCompilerOptions, getNewLineCharacter, fileExtensionIs, normalizePath, Debug, toPath, getSetExternalModuleIndicator, getEntries, addRange, hasProperty, getEmitScriptTarget, getDirectoryPath, } = ts;
|
|
const compilerOptionsDiagnostics = [];
|
|
const options = transpileOptions.compilerOptions
|
|
? fixupCompilerOptions(transpileOptions.compilerOptions, compilerOptionsDiagnostics)
|
|
: {};
|
|
// mix in default options
|
|
const defaultOptions = getDefaultCompilerOptions();
|
|
for (const key in defaultOptions) {
|
|
if (hasProperty(defaultOptions, key) && options[key] === undefined) {
|
|
options[key] = defaultOptions[key];
|
|
}
|
|
}
|
|
for (const option of transpileOptionValueCompilerOptions) {
|
|
options[option.name] = option.transpileOptionValue;
|
|
}
|
|
// transpileModule does not write anything to disk so there is no need to verify that there are no conflicts between input and output paths.
|
|
options.suppressOutputPathCheck = true;
|
|
// Filename can be non-ts file.
|
|
options.allowNonTsExtensions = true;
|
|
const newLine = getNewLineCharacter(options);
|
|
// Create a compilerHost object to allow the compiler to read and write files
|
|
const compilerHost = {
|
|
getSourceFile: (fileName) => fileName === normalizePath(inputFileName) ? sourceFile : undefined,
|
|
writeFile: (name, text) => {
|
|
if (fileExtensionIs(name, '.map')) {
|
|
Debug.assertEqual(sourceMapText, undefined, 'Unexpected multiple source map outputs, file:', name);
|
|
sourceMapText = text;
|
|
}
|
|
else {
|
|
Debug.assertEqual(outputText, undefined, 'Unexpected multiple outputs, file:', name);
|
|
outputText = text;
|
|
}
|
|
},
|
|
getDefaultLibFileName: () => 'lib.d.ts',
|
|
useCaseSensitiveFileNames: () => true,
|
|
getCanonicalFileName: (fileName) => fileName,
|
|
getCurrentDirectory: () => '',
|
|
getNewLine: () => newLine,
|
|
fileExists: (fileName) => fileName === inputFileName || fileName === packageJsonFileName,
|
|
readFile: (fileName) => fileName === packageJsonFileName ? `{"type": "${_packageJsonType}"}` : '',
|
|
directoryExists: () => true,
|
|
getDirectories: () => [],
|
|
};
|
|
let inputFileName;
|
|
let packageJsonFileName;
|
|
let _packageJsonType;
|
|
let sourceFile;
|
|
let outputText;
|
|
let sourceMapText;
|
|
return transpileModule;
|
|
function transpileModule(input, transpileOptions2, packageJsonType = 'commonjs') {
|
|
// if jsx is specified then treat file as .tsx
|
|
inputFileName =
|
|
transpileOptions2.fileName ||
|
|
(transpileOptions.compilerOptions && transpileOptions.compilerOptions.jsx
|
|
? 'module.tsx'
|
|
: 'module.ts');
|
|
packageJsonFileName = getDirectoryPath(inputFileName) + '/package.json';
|
|
_packageJsonType = packageJsonType;
|
|
sourceFile = createSourceFile(inputFileName, input, {
|
|
languageVersion: getEmitScriptTarget(options),
|
|
impliedNodeFormat: getImpliedNodeFormatForFile(toPath(inputFileName, '', compilerHost.getCanonicalFileName),
|
|
/*cache*/ undefined, compilerHost, options),
|
|
setExternalModuleIndicator: getSetExternalModuleIndicator(options),
|
|
});
|
|
if (transpileOptions2.moduleName) {
|
|
sourceFile.moduleName = transpileOptions2.moduleName;
|
|
}
|
|
if (transpileOptions2.renamedDependencies) {
|
|
sourceFile.renamedDependencies = new Map(getEntries(transpileOptions2.renamedDependencies));
|
|
}
|
|
// Output
|
|
outputText = undefined;
|
|
sourceMapText = undefined;
|
|
const program = createProgram([inputFileName], options, compilerHost);
|
|
const diagnostics = compilerOptionsDiagnostics.slice();
|
|
if (transpileOptions.reportDiagnostics) {
|
|
addRange(
|
|
/*to*/ diagnostics,
|
|
/*from*/ program.getSyntacticDiagnostics(sourceFile));
|
|
addRange(/*to*/ diagnostics, /*from*/ program.getOptionsDiagnostics());
|
|
}
|
|
// Emit
|
|
program.emit(
|
|
/*targetSourceFile*/ undefined,
|
|
/*writeFile*/ undefined,
|
|
/*cancellationToken*/ undefined,
|
|
/*emitOnlyDtsFiles*/ undefined, transpileOptions.transformers);
|
|
if (outputText === undefined)
|
|
return Debug.fail('Output generation failed');
|
|
return { outputText, diagnostics, sourceMapText };
|
|
}
|
|
}
|
|
exports.createTsTranspileModule = createTsTranspileModule;
|
|
//# sourceMappingURL=ts-transpile-module.js.map
|