Skip to main content

Migration Guide

Guide for migrating to new versions of WorkPayCore Frontend utilities and best practices for upgrading existing code.

Overview​

This guide helps developers migrate from older versions of utilities to newer implementations, ensuring smooth transitions and minimal breaking changes.

Version History​

v2.0.0 - Latest​

Breaking Changes​

  • Axios Configuration: Moved from libraries to core-utils
  • EOR Portal Integration: New parameter structure
  • Authentication: Updated token management system

Migration Steps​

  1. Update Imports:

    // Old
    import { httpV2 } from '@/libraries/axios-config';

    // New
    import { httpV2 } from '@/api/axios';
  2. EOR Portal Parameters:

    // Old
    const eorParams = { company_id: id };

    // New
    const eorParams = getDefaultEorPortalParams();
  3. Feature Flag Helpers:

    // Old
    import { checkFeatureFlag } from '@/utils/feature-flags';

    // New
    import { isFeatureFlagEnabled } from '@/utils/helpers/feature-flag';

v1.5.0​

New Features​

  • Enhanced phone number validation
  • Country helpers with timezone support
  • HR payroll metrics formatting

Migration Steps​

  1. Phone Number Validation:

    // Old
    const isValid = validatePhone(number);

    // New
    const validation = validatePhoneNumber(number, 'US');
    const isValid = validation.isValid;
  2. Country Data:

    // Old
    const country = getCountry('US');

    // New
    const country = getCountryByCode('US');

v1.0.0​

Initial Release​

  • Core utilities for string, number, and object manipulation
  • Basic authentication helpers
  • Pagination and browser utilities

Common Migration Patterns​

1. Import Path Updates​

Most utilities have moved to more organized directories:

// Old paths
import { helper } from '@/utils/helpers';
import { config } from '@/config/axios';

// New paths
import { helper } from '@/utils/helpers/general-helpers';
import { httpV2 } from '@/api/axios';

2. Function Signature Changes​

Some functions have updated signatures for better type safety:

// Old
const result = formatCurrency(amount);

// New
const result = formatCurrency(amount, 'USD', { showSymbol: true });

Automated Migration Tools​

Testing Migration​

  1. Update Test Imports:

    // Update all test files to use new import paths
    import { validatePhoneNumber } from '@/utils/helpers/phone-number';
  2. Mock Updates:

    // Update mocks for new function signatures
    jest.mock('@/utils/helpers/analytics', () => ({
    analyticsTrackEvent: jest.fn(),
    }));
  3. Type Checking:

    # Run type checking after migration
    npm run type-check

Getting Help​

  • Check the Best Practices guide
  • Review individual utility documentation
  • Contact the frontend team for migration assistance

Rollback Instructions​

If you need to rollback a migration:

  1. Revert Package Version:

    npm install @workpay/frontend-utils@1.5.0
  2. Restore Old Imports:

    git checkout HEAD~1 -- src/utils/
  3. Update Configuration:

    # Restore old environment variables
    cp .env.backup .env

For specific utility migration guides, see the individual documentation pages.