npm port of microajax