Migration Guide

This guide helps you migrate between major versions of Vinyl using automated migration scripts.

Prerequisites

Install jscodeshift globally:

npm install -g jscodeshift

Major Version Migrations

v0.24

Breaking Changes

Quality Accessor API Changes

The quality accessor properties have been replaced with methods that accept a content type parameter:

Deprecated Properties:

New Methods:

New Property:

New Event:

Migration Example:

// Before v0.24
const audioQuality = player.streamingQuality
const bufferingQuality = player.bufferingQuality
const playbackQuality = player.playbackQuality
// v0.24+
const audioQuality = player.getStreamingQuality('audio')
const videoQuality = player.getStreamingQuality('video')
const bufferingQuality = player.getBufferingQuality('audio')
const playbackQuality = player.getPlaybackQuality('audio')

// Get all available content types
const contentTypes = player.contentTypes // Set(['audio', 'video'])

The new API supports multiple content types (audio, video, text) instead of only returning audio quality.

v0.23

This version renames several utility types for better consistency and moves dependency injection functionality to a separate @amzn/vinyl-di package:

Package Changes:

Dependency injection moved from @amzn/vinyl-util to @amzn/vinyl-di:

Type Renames:

Vinyl Refactors:

Vinyl Amzn Refactors:

Migration Command:

npx jscodeshift -t node_modules/@amzn/vinyl-amzn/migration/v0.23.js src/**/*.ts src/**/*.tsx