* refactor(examples): run ssr example from server
* chore: switch to babel for build
buble complains too much
* feat: enable loaded callbacks
feat: add skip option
* examples: add async-callback browser example
* examples: fix server
* examples(ssr): add reactive script with callback
* fix: also skip on ssr
* chore: remove unused var
* feat: only add mutationobserver if DOM is still loading
feat: disconnect mutation observer once DOM has loaded
* examples: pass vmid to loadCallback instead of el
* feat: also support load callbacks for link/style tags
* test: add unit tests for load
* test: add load e2e test
* chore: fix lint
* chore: remove unused files
* test: fix e2e load callback test
* test: fix attempt
* examples: ie9 compatiblity
destructuring doesnt work in ie9
* fix: add onload attribute on ssr
dont rely on mutationobserver
* chore: lint ci conf
* refactor: remove loadCallbackAttribute config option
test: fix coverage for load
* test: improve coverage
* fix: only use console when it exists (for ie9)
* chore: fix coverage
* feat: add option for prepending (no)script to body
* test: use browser getUrl
* refactor: use pbody insteadn of pody
* test: add prepend/append body generator test
* test: add prepend body updater test
* chore: remove typo
* feat: add an appId to tags to support multiple apps
* feat: show warning on calling () on non-vuemeta components
* feat: always use appId ssr for server-generated apps
* test: update tests for appId
* chore: update circleci to only run audit for dependencies
* fix: dont set data-vue-meta attribute on title
it has no use on the client as we use document.title there. Which also means the appId listed would be wrong once the title is updated by another app then the ssr app
* chore: remove unused import
* chore: improve not supported message
The issue with using requestAnimationFrame is that its meant to be used for visual effects. Therefore when a tab is hidden the browser might decide to not perform animation frame updates until the tab becomes visible, this is confirmed behaviour for Firefox. Due to this title updates would not be triggered while document titles are normally visible in the tabs title. For now we batch updates by setting/clearing timeouts with a 10ms interval
Resolves: #313
The addNavGuards check adds the navigation guards when an afterNavigation callback is defined but refreshOnceOnNavigation was not set. As the afterNavigation callback is defined in metaInfo which can be dependent on user data we need to wait until all components are fully mounted before checking if a afterNavigation callback was defined
Fixes: #348