<script>
  function link(node) {
    function onClick(event) {
      event.preventDefault();
      history.pushState(null, null, event.target.href);
    }

    node.addEventListener('click', onClick);

    return {
      destroy() {
        node.removeEventListener('click', onClick);
      }
    }
  }
</script>

<a href="#" use:link>Test</a>