diff --git a/packages/vue-app/package.json b/packages/vue-app/package.json
index ed6f1cf4bb..840cd10409 100644
--- a/packages/vue-app/package.json
+++ b/packages/vue-app/package.json
@@ -6,7 +6,8 @@
"files": [
"dist",
"template",
- "types/*.d.ts"
+ "types/*.d.ts",
+ "vetur"
],
"main": "dist/vue-app.js",
"typings": "types/index.d.ts",
diff --git a/packages/vue-app/vetur/nuxt-attributes.json b/packages/vue-app/vetur/nuxt-attributes.json
new file mode 100644
index 0000000000..a95944b881
--- /dev/null
+++ b/packages/vue-app/vetur/nuxt-attributes.json
@@ -0,0 +1,34 @@
+{
+ "nuxtChildKey": {
+ "description": "This prop will be set to , useful to make transitions inside a dynamic page and different route. Default: `$route.fullPath`"
+ },
+ "to": {
+ "description": "Denotes the target route of the link. When clicked, the value of the to prop will be passed to router.push() internally, so the value can be either a string or a location descriptor object."
+ },
+ "no-prefetch": {
+ "description": "Avoid prefetching route target."
+ },
+ "replace": {
+ "type": "boolean",
+ "description": "Setting replace prop will call router.replace() instead of router.push() when clicked, so the navigation will not leave a history record."
+ },
+ "append": {
+ "type": "boolean",
+ "description": "Setting append prop always appends the relative path to the current path. For example, assuming we are navigating from /a to a relative link b, without append we will end up at /b, but with append we will end up at /a/b."
+ },
+ "tag": {
+ "description": "Specify which tag to render to, and it will still listen to click events for navigation."
+ },
+ "active-class": {
+ "description": "Configure the active CSS class applied when the link is active."
+ },
+ "exact": {
+ "description": "The default active class matching behavior is inclusive match. For example, will get this class applied as long as the current path starts with /a/ or is /a.\nOne consequence of this is that will be active for every route! To force the link into \"exact match mode\", use the exact prop: "
+ },
+ "event": {
+ "description": "Specify the event(s) that can trigger the link navigation."
+ },
+ "exact-active-class": {
+ "description": "Configure the active CSS class applied when the link is active with exact match. Note the default value can also be configured globally via the linkExactActiveClass router constructor option."
+ }
+}
diff --git a/packages/vue-app/vetur/nuxt-tags.json b/packages/vue-app/vetur/nuxt-tags.json
new file mode 100644
index 0000000000..410e1f650e
--- /dev/null
+++ b/packages/vue-app/vetur/nuxt-tags.json
@@ -0,0 +1,45 @@
+{
+ "nuxt": {
+ "attributes": [
+ "nuxtChildKey"
+ ],
+ "description": "The nuxt component."
+ },
+ "n-child": {
+ "description": "Component for displaying the children components in a nested route."
+ },
+ "nuxt-child": {
+ "description": "Component for displaying the children components in a nested route."
+ },
+ "n-link": {
+ "attributes": [
+ "to",
+ "replace",
+ "append",
+ "tag",
+ "active-class",
+ "exact",
+ "event",
+ "exact-active-class",
+ "no-prefetch"
+ ],
+ "description": "Component for routing. Same as now."
+ },
+ "nuxt-link": {
+ "attributes": [
+ "to",
+ "replace",
+ "append",
+ "tag",
+ "active-class",
+ "exact",
+ "event",
+ "exact-active-class",
+ "no-prefetch"
+ ],
+ "description": "Component for routing. Same as now."
+ },
+ "no-ssr": {
+ "description": "Component for excluding a part of your app from server-side rendering."
+ }
+}