diff --git a/examples/class-api/basic/README.md b/examples/class-api/basic/README.md
new file mode 100644
index 00000000..2ee82551
--- /dev/null
+++ b/examples/class-api/basic/README.md
@@ -0,0 +1,3 @@
+# Nuxt TypeScript with Class API (basic)
+
+https://typescript.nuxtjs.org/examples/class-api/basic
diff --git a/examples/class-api/basic/nuxt.config.js b/examples/class-api/basic/nuxt.config.js
new file mode 100644
index 00000000..c7ec6d5c
--- /dev/null
+++ b/examples/class-api/basic/nuxt.config.js
@@ -0,0 +1,3 @@
+export default {
+ buildModules: ['@nuxt/typescript-build']
+}
diff --git a/examples/class-api/basic/package.json b/examples/class-api/basic/package.json
new file mode 100644
index 00000000..4ab09a1b
--- /dev/null
+++ b/examples/class-api/basic/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "example-class-api-basic",
+ "version": "1.0.0",
+ "private": true,
+ "dependencies": {
+ "nuxt": "latest",
+ "vue-class-component": "latest",
+ "vue-property-decorator": "latest"
+ },
+ "scripts": {
+ "dev": "nuxt",
+ "build": "nuxt build",
+ "start": "nuxt start",
+ "generate": "nuxt generate",
+ "post-update": "yarn upgrade --latest"
+ },
+ "devDependencies": {
+ "@nuxt/types": "latest",
+ "@nuxt/typescript-build": "latest"
+ }
+}
diff --git a/examples/class-api/basic/pages/index.vue b/examples/class-api/basic/pages/index.vue
new file mode 100644
index 00000000..55b6b918
--- /dev/null
+++ b/examples/class-api/basic/pages/index.vue
@@ -0,0 +1,38 @@
+
+
+
+
Counter : {{ counter }}
+
+
+
+
+
+
+
diff --git a/examples/class-api/basic/tsconfig.json b/examples/class-api/basic/tsconfig.json
new file mode 100644
index 00000000..8d0c6619
--- /dev/null
+++ b/examples/class-api/basic/tsconfig.json
@@ -0,0 +1,30 @@
+{
+ "compilerOptions": {
+ "target": "ES2018",
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "lib": [
+ "ESNext",
+ "ESNext.AsyncIterable",
+ "DOM"
+ ],
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "allowJs": true,
+ "sourceMap": true,
+ "strict": true,
+ "noEmit": true,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": [
+ "./*"
+ ],
+ "@/*": [
+ "./*"
+ ]
+ },
+ "types": [
+ "@nuxt/types"
+ ]
+ }
+}
diff --git a/examples/composition-api/basic/README.md b/examples/composition-api/basic/README.md
new file mode 100644
index 00000000..bbb46a34
--- /dev/null
+++ b/examples/composition-api/basic/README.md
@@ -0,0 +1,3 @@
+# Nuxt TypeScript with Composition API (basic)
+
+https://typescript.nuxtjs.org/examples/composition-api/basic
diff --git a/examples/composition-api/basic/nuxt.config.js b/examples/composition-api/basic/nuxt.config.js
new file mode 100644
index 00000000..79a94bba
--- /dev/null
+++ b/examples/composition-api/basic/nuxt.config.js
@@ -0,0 +1,4 @@
+export default {
+ buildModules: ['@nuxt/typescript-build'],
+ plugins: ['~/plugins/composition-api']
+}
diff --git a/examples/composition-api/basic/package.json b/examples/composition-api/basic/package.json
new file mode 100644
index 00000000..3e82e90f
--- /dev/null
+++ b/examples/composition-api/basic/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "example-composition-api-basic",
+ "version": "1.0.0",
+ "private": true,
+ "dependencies": {
+ "@vue/composition-api": "latest",
+ "nuxt": "latest"
+ },
+ "scripts": {
+ "dev": "nuxt",
+ "build": "nuxt build",
+ "start": "nuxt start",
+ "generate": "nuxt generate",
+ "post-update": "yarn upgrade --latest"
+ },
+ "devDependencies": {
+ "@nuxt/types": "latest",
+ "@nuxt/typescript-build": "latest"
+ }
+}
diff --git a/examples/composition-api/basic/pages/index.vue b/examples/composition-api/basic/pages/index.vue
new file mode 100644
index 00000000..fd8d1441
--- /dev/null
+++ b/examples/composition-api/basic/pages/index.vue
@@ -0,0 +1,40 @@
+
+
+
+
Counter : {{ counter }}
+
+
+
+
+
+
+
diff --git a/examples/composition-api/basic/plugins/composition-api.js b/examples/composition-api/basic/plugins/composition-api.js
new file mode 100644
index 00000000..45ceedfa
--- /dev/null
+++ b/examples/composition-api/basic/plugins/composition-api.js
@@ -0,0 +1,4 @@
+import Vue from 'vue'
+import VueCompositionApi from '@vue/composition-api'
+
+Vue.use(VueCompositionApi)
diff --git a/examples/composition-api/basic/tsconfig.json b/examples/composition-api/basic/tsconfig.json
new file mode 100644
index 00000000..420ca0e2
--- /dev/null
+++ b/examples/composition-api/basic/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "compilerOptions": {
+ "target": "ES2018",
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "lib": [
+ "ESNext",
+ "ESNext.AsyncIterable",
+ "DOM"
+ ],
+ "esModuleInterop": true,
+ "allowJs": true,
+ "sourceMap": true,
+ "strict": true,
+ "noEmit": true,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": [
+ "./*"
+ ],
+ "@/*": [
+ "./*"
+ ]
+ },
+ "types": [
+ "@nuxt/types"
+ ]
+ }
+}
diff --git a/examples/options-api/basic/README.md b/examples/options-api/basic/README.md
new file mode 100644
index 00000000..37c0663d
--- /dev/null
+++ b/examples/options-api/basic/README.md
@@ -0,0 +1,3 @@
+# Nuxt TypeScript with Options API (basic)
+
+https://typescript.nuxtjs.org/examples/options-api/basic
diff --git a/examples/options-api/basic/nuxt.config.js b/examples/options-api/basic/nuxt.config.js
new file mode 100644
index 00000000..c7ec6d5c
--- /dev/null
+++ b/examples/options-api/basic/nuxt.config.js
@@ -0,0 +1,3 @@
+export default {
+ buildModules: ['@nuxt/typescript-build']
+}
diff --git a/examples/options-api/basic/package.json b/examples/options-api/basic/package.json
new file mode 100644
index 00000000..91441778
--- /dev/null
+++ b/examples/options-api/basic/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "example-options-api-basic",
+ "version": "1.0.0",
+ "private": true,
+ "dependencies": {
+ "nuxt": "latest"
+ },
+ "scripts": {
+ "dev": "nuxt",
+ "build": "nuxt build",
+ "start": "nuxt start",
+ "generate": "nuxt generate",
+ "post-update": "yarn upgrade --latest"
+ },
+ "devDependencies": {
+ "@nuxt/types": "latest",
+ "@nuxt/typescript-build": "latest"
+ }
+}
diff --git a/examples/options-api/basic/pages/index.vue b/examples/options-api/basic/pages/index.vue
new file mode 100644
index 00000000..f88800e9
--- /dev/null
+++ b/examples/options-api/basic/pages/index.vue
@@ -0,0 +1,41 @@
+
+
+
+
Counter : {{ counter }}
+
+
+
+
+
+
+
diff --git a/examples/options-api/basic/tsconfig.json b/examples/options-api/basic/tsconfig.json
new file mode 100644
index 00000000..420ca0e2
--- /dev/null
+++ b/examples/options-api/basic/tsconfig.json
@@ -0,0 +1,29 @@
+{
+ "compilerOptions": {
+ "target": "ES2018",
+ "module": "ESNext",
+ "moduleResolution": "Node",
+ "lib": [
+ "ESNext",
+ "ESNext.AsyncIterable",
+ "DOM"
+ ],
+ "esModuleInterop": true,
+ "allowJs": true,
+ "sourceMap": true,
+ "strict": true,
+ "noEmit": true,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": [
+ "./*"
+ ],
+ "@/*": [
+ "./*"
+ ]
+ },
+ "types": [
+ "@nuxt/types"
+ ]
+ }
+}