       module: module,
       pid: pid
     }
- 
+
     # Filter so that we only have the
     # Used functions to compile
     reachable_defs = Enum.filter(defs, fn

    combined_defs = combine_defs(used_defs)
    exports = make_exports(module, combined_defs)

    # Don't skip compilation and output of modules that don't have
    # any public functions
    case exports do
      %ESTree.ObjectExpression{ properties: [] } ->
        nil


  defp make_exports(module, reachable_defs) do
    exports = Enum.reduce(reachable_defs, [], fn
      {{name, _arity}, :def, _, _}, list ->
        function_name = ElixirScript.Translate.Identifier.make_identifier(name)
          list ++ [J.property(function_name, function_name, :init, true)]
      _, list ->
