feat(js): add fallback