UNPKG

mlld

Version:

mlld: llm scripting language

1 lines 10.6 kB
{"version":3,"sources":["../core/version.ts","../core/utils/version-checker.ts"],"names":["version","parseSemVer","versionString","match","MlldError","code","severity","major","parseInt","minor","patch","prerelease","undefined","build","compareSemVer","a","b","localeCompare","satisfiesVersion","requirement","ver","startsWith","reqVer","substring","trim","checkMlldVersion","requiredVersion","compatible","currentVersion","message","error","formatVersionError","moduleName","push","required","replace","current","join"],"mappings":"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","file":"chunk-BJCESMSP.mjs","sourcesContent":["// This file is auto-generated by scripts/generate-version.js\n// Do not edit manually\n\nexport const version = '2.0.0-rc81';\nexport const buildTime = 1768072577271;\n","import { version as currentVersion } from '@core/version';\nimport { MlldError } from '@core/errors';\n\n/**\n * Parses a semantic version string into components\n */\nexport interface SemVer {\n major: number;\n minor: number;\n patch: number;\n prerelease?: string;\n build?: string;\n}\n\n/**\n * Parse a semantic version string\n */\nexport function parseSemVer(versionString: string): SemVer {\n // Handle version strings like \"1.0.0-rc-11+build\"\n const match = versionString.match(/^(\\d+)\\.(\\d+)\\.(\\d+)(?:-([^+]+))?(?:\\+(.+))?$/);\n \n if (!match) {\n throw new MlldError(\n `Invalid version string: ${versionString}`,\n { code: 'INVALID_VERSION', severity: 'error' }\n );\n }\n \n return {\n major: parseInt(match[1], 10),\n minor: parseInt(match[2], 10),\n patch: parseInt(match[3], 10),\n prerelease: match[4] || undefined,\n build: match[5] || undefined\n };\n}\n\n/**\n * Compare two semantic versions\n * Returns: -1 if a < b, 0 if a === b, 1 if a > b\n */\nexport function compareSemVer(a: SemVer, b: SemVer): number {\n // Compare major.minor.patch\n if (a.major !== b.major) return a.major - b.major;\n if (a.minor !== b.minor) return a.minor - b.minor;\n if (a.patch !== b.patch) return a.patch - b.patch;\n \n // If one has prerelease and other doesn't, non-prerelease is greater\n if (a.prerelease && !b.prerelease) return -1;\n if (!a.prerelease && b.prerelease) return 1;\n \n // Compare prereleases lexically\n if (a.prerelease && b.prerelease) {\n return a.prerelease.localeCompare(b.prerelease);\n }\n \n return 0;\n}\n\n/**\n * Check if a version satisfies a requirement\n */\nexport function satisfiesVersion(version: string, requirement: string): boolean {\n // Handle simple cases first\n if (requirement === '*' || requirement === '') return true;\n \n const ver = parseSemVer(version);\n \n // Handle >= operator\n if (requirement.startsWith('>=')) {\n const reqVer = parseSemVer(requirement.substring(2).trim());\n return compareSemVer(ver, reqVer) >= 0;\n }\n \n // Handle > operator\n if (requirement.startsWith('>')) {\n const reqVer = parseSemVer(requirement.substring(1).trim());\n return compareSemVer(ver, reqVer) > 0;\n }\n \n // Handle <= operator\n if (requirement.startsWith('<=')) {\n const reqVer = parseSemVer(requirement.substring(2).trim());\n return compareSemVer(ver, reqVer) <= 0;\n }\n \n // Handle < operator\n if (requirement.startsWith('<')) {\n const reqVer = parseSemVer(requirement.substring(1).trim());\n return compareSemVer(ver, reqVer) < 0;\n }\n \n // Handle ^ operator (compatible with)\n if (requirement.startsWith('^')) {\n const reqVer = parseSemVer(requirement.substring(1).trim());\n // Must be >= requirement and < next major version\n if (compareSemVer(ver, reqVer) < 0) return false;\n \n // For 0.x.x, treat minor as breaking\n if (reqVer.major === 0) {\n return ver.major === 0 && ver.minor === reqVer.minor;\n }\n \n // For >= 1.0.0, major must match\n return ver.major === reqVer.major;\n }\n \n // Handle ~ operator (approximately)\n if (requirement.startsWith('~')) {\n const reqVer = parseSemVer(requirement.substring(1).trim());\n // Must be >= requirement and < next minor version\n if (compareSemVer(ver, reqVer) < 0) return false;\n \n return ver.major === reqVer.major && ver.minor === reqVer.minor;\n }\n \n // Handle exact match\n const reqVer = parseSemVer(requirement);\n return compareSemVer(ver, reqVer) === 0;\n}\n\n/**\n * Check if the current mlld version satisfies a module's requirement\n */\nexport function checkMlldVersion(requiredVersion: string | undefined): {\n compatible: boolean;\n message?: string;\n} {\n // If no version specified, assume compatible (backward compatibility)\n if (!requiredVersion) {\n return { compatible: true };\n }\n \n try {\n const compatible = satisfiesVersion(currentVersion, requiredVersion);\n \n if (!compatible) {\n return {\n compatible: false,\n message: `Module requires mlld ${requiredVersion}, but you have ${currentVersion}`\n };\n }\n \n return { compatible: true };\n } catch (error) {\n return {\n compatible: false,\n message: `Invalid version requirement: ${requiredVersion}`\n };\n }\n}\n\n/**\n * Format version compatibility error message with helpful suggestions\n */\nexport function formatVersionError(\n moduleName: string,\n requiredVersion: string,\n currentVersion: string\n): string {\n const message = [`Module '${moduleName}' requires mlld ${requiredVersion}`];\n message.push(`You are running mlld ${currentVersion}`);\n \n const required = parseSemVer(requiredVersion.replace(/^[><=^~]+/, ''));\n const current = parseSemVer(currentVersion);\n \n if (compareSemVer(current, required) < 0) {\n message.push('');\n message.push('To use this module, you need to upgrade mlld:');\n message.push(' npm install -g mlld@latest');\n } else {\n message.push('');\n message.push('This module may be using outdated syntax.');\n message.push('Check if there\\'s an updated version available.');\n }\n \n return message.join('\\n');\n}"]}