UNPKG

smartui-migration-tool

Version:

Enterprise-grade CLI tool for migrating visual testing platforms to LambdaTest SmartUI

120 lines 4.34 kB
"use strict"; /** * DependencyMapper - Single source of truth for dependency transformations * Maps source platform dependencies to SmartUI equivalents */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ENV_VAR_MAPPINGS = exports.DEPENDENCY_MAPPINGS = void 0; exports.getDependencyMappings = getDependencyMappings; exports.getEnvVarMappings = getEnvVarMappings; exports.isSourcePackage = isSourcePackage; exports.getSmartUIPackage = getSmartUIPackage; exports.getSourcePackages = getSourcePackages; exports.getSmartUIPackages = getSmartUIPackages; /** * Complete dependency mapping for all supported platforms and frameworks */ exports.DEPENDENCY_MAPPINGS = { // Percy dependencies 'Percy': { // Core CLI '@percy/cli': '@lambdatest/smartui-cli', // Framework-specific packages '@percy/cypress': '@lambdatest/smartui-cypress', '@percy/playwright': '@lambdatest/smartui-playwright', '@percy/selenium-webdriver': '@lambdatest/smartui-selenium', '@percy/storybook': '@lambdatest/smartui-storybook', '@percy/appium-app': '@lambdatest/smartui-appium', '@percy/automate': '@lambdatest/smartui-automate', '@percy/puppeteer': '@lambdatest/smartui-puppeteer', // Legacy packages '@percy/agent': '@lambdatest/smartui-cli', '@percy/sdk': '@lambdatest/smartui-cli', }, // Applitools dependencies 'Applitools': { // Core packages '@applitools/eyes-selenium': '@lambdatest/smartui-selenium', '@applitools/eyes-cypress': '@lambdatest/smartui-cypress', '@applitools/eyes-playwright': '@lambdatest/smartui-playwright', '@applitools/eyes-storybook': '@lambdatest/smartui-storybook', '@applitools/eyes-webdriverio': '@lambdatest/smartui-webdriverio', '@applitools/eyes-puppeteer': '@lambdatest/smartui-puppeteer', // Core SDK '@applitools/eyes': '@lambdatest/smartui-cli', '@applitools/eyes-api': '@lambdatest/smartui-cli', }, // Sauce Labs dependencies 'Sauce Labs Visual': { // Core packages '@saucelabs/cypress-plugin': '@lambdatest/smartui-cypress', '@saucelabs/cypress-visual-plugin': '@lambdatest/smartui-cypress', '@saucelabs/webdriverio': '@lambdatest/smartui-selenium', '@saucelabs/playwright-plugin': '@lambdatest/smartui-playwright', '@saucelabs/sauce-cypress-runner': '@lambdatest/smartui-cypress', '@saucelabs/sauce-playwright-runner': '@lambdatest/smartui-playwright', // Core CLI 'saucectl': '@lambdatest/smartui-cli', } }; /** * Environment variable mappings for CI/CD transformation */ exports.ENV_VAR_MAPPINGS = { 'Percy': { 'PERCY_TOKEN': 'PROJECT_TOKEN', 'PERCY_BRANCH': 'LT_BRANCH', 'PERCY_PROJECT': 'LT_PROJECT', }, 'Applitools': { 'APPLITOOLS_API_KEY': 'PROJECT_TOKEN', 'APPLITOOLS_BATCH_ID': 'LT_BATCH_ID', 'APPLITOOLS_BRANCH_NAME': 'LT_BRANCH', }, 'Sauce Labs Visual': { 'SAUCE_USERNAME': 'LT_USERNAME', 'SAUCE_ACCESS_KEY': 'LT_ACCESS_KEY', 'SAUCE_REGION': 'LT_REGION', } }; /** * Get dependency mappings for a specific platform */ function getDependencyMappings(platform) { return exports.DEPENDENCY_MAPPINGS[platform] || {}; } /** * Get environment variable mappings for a specific platform */ function getEnvVarMappings(platform) { return exports.ENV_VAR_MAPPINGS[platform] || {}; } /** * Check if a package is a source platform package */ function isSourcePackage(packageName, platform) { const mappings = getDependencyMappings(platform); return packageName in mappings; } /** * Get the SmartUI equivalent for a source package */ function getSmartUIPackage(sourcePackage, platform) { const mappings = getDependencyMappings(platform); return mappings[sourcePackage] || null; } /** * Get all source packages for a platform */ function getSourcePackages(platform) { const mappings = getDependencyMappings(platform); return Object.keys(mappings); } /** * Get all SmartUI packages for a platform */ function getSmartUIPackages(platform) { const mappings = getDependencyMappings(platform); return Object.values(mappings); } //# sourceMappingURL=DependencyMapper.js.map