productSet is the way to go as it updates and overwrites options, images, and variants.
A lot is possible in the latest iteration:
- variants
- files
- option values
- variant metafields
…in one call
But some features are still missing and that is especially painful thinking that we need to migrate from REST:
- metafields on product level not only variant level
- weight and weight_unit
- activate inventoryManagement (inventoryPolicy, inventoryQuantities is there but not active)
- hero image for the product
- discounted prices
- collections
- product_type
…and so on
Please this is the one that will help us migrate if done right.