diff --git a/package-lock.json b/package-lock.json index d2aec7cd4f6..3e27153a296 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,6 +97,7 @@ "@nextcloud/webpack-vue-config": "^6.0.1", "@vitejs/plugin-vue2": "^2.3.1", "@vue/test-utils": "^1.3.0 <2", + "@vue/tsconfig": "^0.5.1", "@vue/vue2-jest": "^29.2.6", "@vueuse/core": "^10.9.0", "cypress": "^13.6.2", @@ -6131,6 +6132,12 @@ "vue-template-compiler": "^2.x" } }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, "node_modules/@vue/vue2-jest": { "version": "29.2.6", "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.6.tgz", @@ -34422,6 +34429,12 @@ "pretty": "^2.0.0" } }, + "@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, "@vue/vue2-jest": { "version": "29.2.6", "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-29.2.6.tgz", diff --git a/package.json b/package.json index d5de5d1b525..387d8fe63d8 100644 --- a/package.json +++ b/package.json @@ -127,6 +127,7 @@ "@nextcloud/webpack-vue-config": "^6.0.1", "@vitejs/plugin-vue2": "^2.3.1", "@vue/test-utils": "^1.3.0 <2", + "@vue/tsconfig": "^0.5.1", "@vue/vue2-jest": "^29.2.6", "@vueuse/core": "^10.9.0", "cypress": "^13.6.2", diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000000..120039e57c8 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,24 @@ +{ + "extends": "@vue/tsconfig", + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "declaration": true, + "esModuleInterop": true, + "lib": ["DOM", "ESNext"], + "noEmit": true, + "outDir": "./js", + "plugins": [ + { "name": "typescript-plugin-css-modules" } + ], + "sourceMap": true + }, + "exclude": [ + "js", + "lib", + "node_modules", + "vendor" + ], + "vueCompilerOptions": { + "target": 2.7 + } +} \ No newline at end of file