feat(js): add variations option