{"action":"created","issue":{"url":"https://api.github.com/repos/buefy/buefy/issues/1268","repository_url":"https://api.github.com/repos/buefy/buefy","labels_url":"https://api.github.com/repos/buefy/buefy/issues/1268/labels{/name}","comments_url":"https://api.github.com/repos/buefy/buefy/issues/1268/comments","events_url":"https://api.github.com/repos/buefy/buefy/issues/1268/events","html_url":"https://github.com/buefy/buefy/issues/1268","id":418181773,"node_id":"MDU6SXNzdWU0MTgxODE3NzM=","number":1268,"title":"Type definition of $loading causes conflict when using nuxt-ts","user":{"login":"lu40","id":9354955,"node_id":"MDQ6VXNlcjkzNTQ5NTU=","avatar_url":"https://avatars0.githubusercontent.com/u/9354955?v=4","gravatar_id":"","url":"https://api.github.com/users/lu40","html_url":"https://github.com/lu40","followers_url":"https://api.github.com/users/lu40/followers","following_url":"https://api.github.com/users/lu40/following{/other_user}","gists_url":"https://api.github.com/users/lu40/gists{/gist_id}","starred_url":"https://api.github.com/users/lu40/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lu40/subscriptions","organizations_url":"https://api.github.com/users/lu40/orgs","repos_url":"https://api.github.com/users/lu40/repos","events_url":"https://api.github.com/users/lu40/events{/privacy}","received_events_url":"https://api.github.com/users/lu40/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2019-03-07T08:19:40Z","updated_at":"2019-03-07T14:01:35Z","closed_at":null,"author_association":"NONE","body":"### Overview of the problem\r\n\r\n**Buefy** version: 0.7.3\r\n**Vuejs** version: 2.6.8\r\n**Nuxt** version: 2.4.5\r\n**OS/Browser**: -\r\n\r\n### Description\r\n\r\nWhen using [`nuxt-ts`](https://www.npmjs.com/package/nuxt-ts) and buefy together the following error occurs:\r\n\r\n```\r\n73:18 Interface 'NuxtApp' incorrectly extends interface 'Vue'.\r\n  Types of property '$loading' are incompatible.\r\n    Property 'open' is missing in type 'NuxtLoading' but required in type '{ open: (params: LoadingConfig) => { close: () => any; }; }'.\r\n    71 | }\r\n    72 | \r\n  > 73 | export interface NuxtApp extends Vue {\r\n       |                  ^\r\n    74 |   $loading: NuxtLoading;\r\n    75 |   isOffline: boolean;\r\n    76 |   isOnline: boolean;\r\n```\r\nSee the corresponding issue at nuxt: https://github.com/nuxt/nuxt.js/issues/4877\r\n\r\nThe proposed solution is to have a namespaced applied, like [vuetify](https://github.com/vuetifyjs/vuetify) does. So I guess to have something like `this.$buefy.loading`.\r\n\r\nAs I wasn't able to find any workaround until now, this really makes it impossible to use buefy together with the typescript version of Nuxt. As `$loading` is a very generic name, I guess it's likely that this will not only conflict with Nuxt.\r\n\r\n### Steps to reproduce\r\n\r\n1. Install `nuxt-ts` together with Buefy\r\n2. See the error come up\r\n"},"comment":{"url":"https://api.github.com/repos/buefy/buefy/issues/comments/470536359","html_url":"https://github.com/buefy/buefy/issues/1268#issuecomment-470536359","issue_url":"https://api.github.com/repos/buefy/buefy/issues/1268","id":470536359,"node_id":"MDEyOklzc3VlQ29tbWVudDQ3MDUzNjM1OQ==","user":{"login":"lu40","id":9354955,"node_id":"MDQ6VXNlcjkzNTQ5NTU=","avatar_url":"https://avatars0.githubusercontent.com/u/9354955?v=4","gravatar_id":"","url":"https://api.github.com/users/lu40","html_url":"https://github.com/lu40","followers_url":"https://api.github.com/users/lu40/followers","following_url":"https://api.github.com/users/lu40/following{/other_user}","gists_url":"https://api.github.com/users/lu40/gists{/gist_id}","starred_url":"https://api.github.com/users/lu40/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lu40/subscriptions","organizations_url":"https://api.github.com/users/lu40/orgs","repos_url":"https://api.github.com/users/lu40/repos","events_url":"https://api.github.com/users/lu40/events{/privacy}","received_events_url":"https://api.github.com/users/lu40/received_events","type":"User","site_admin":false},"created_at":"2019-03-07T14:01:35Z","updated_at":"2019-03-07T14:01:35Z","author_association":"NONE","body":"@DonNicoJs This only applies for the ones who use Nuxt. Other users, using e.g. plain Vue with Typescript and Buefy won't have the namespace conflict."}}
{"actor":{"display_login":"lu40"}}