[refactor] limit internal callbacks to 2 arguments
[fix] allow no main property optimization to be used when package.json is provided
[feature] implement sync resolve method and tests