mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Add vue-tsc (#32601)
As per https://vuejs.org/guide/typescript/overview#overview, typescript's `tsc` does not support importing `.vue` files from `.ts` files, so we need to use `vue-tsc` which patches in that support. Added a convenience alias `make tsc` to run it.
This commit is contained in:
		
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							| @@ -377,12 +377,12 @@ lint-backend-fix: lint-go-fix lint-go-vet lint-editorconfig | ||||
| .PHONY: lint-js | ||||
| lint-js: node_modules | ||||
| 	npx eslint --color --max-warnings=0 --ext js,ts,vue $(ESLINT_FILES) | ||||
| #	npx tsc | ||||
| #	npx vue-tsc | ||||
|  | ||||
| .PHONY: lint-js-fix | ||||
| lint-js-fix: node_modules | ||||
| 	npx eslint --color --max-warnings=0 --ext js,ts,vue $(ESLINT_FILES) --fix | ||||
| #	npx tsc | ||||
| #	npx vue-tsc | ||||
|  | ||||
| .PHONY: lint-css | ||||
| lint-css: node_modules | ||||
| @@ -451,6 +451,10 @@ lint-templates: .venv node_modules | ||||
| lint-yaml: .venv | ||||
| 	@poetry run yamllint . | ||||
|  | ||||
| .PHONY: tsc | ||||
| tsc: | ||||
| 	npx vue-tsc | ||||
|  | ||||
| .PHONY: watch | ||||
| watch: | ||||
| 	@bash tools/watch.sh | ||||
|   | ||||
							
								
								
									
										140
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										140
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -110,7 +110,8 @@ | ||||
|         "type-fest": "4.26.1", | ||||
|         "updates": "16.4.0", | ||||
|         "vite-string-plugin": "1.3.4", | ||||
|         "vitest": "2.1.4" | ||||
|         "vitest": "2.1.4", | ||||
|         "vue-tsc": "2.1.10" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">= 18.0.0" | ||||
| @@ -5390,6 +5391,35 @@ | ||||
|         "url": "https://opencollective.com/vitest" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@volar/language-core": { | ||||
|       "version": "2.4.10", | ||||
|       "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.10.tgz", | ||||
|       "integrity": "sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@volar/source-map": "2.4.10" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@volar/source-map": { | ||||
|       "version": "2.4.10", | ||||
|       "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.10.tgz", | ||||
|       "integrity": "sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/@volar/typescript": { | ||||
|       "version": "2.4.10", | ||||
|       "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.10.tgz", | ||||
|       "integrity": "sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@volar/language-core": "2.4.10", | ||||
|         "path-browserify": "^1.0.1", | ||||
|         "vscode-uri": "^3.0.8" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@vue/compiler-core": { | ||||
|       "version": "3.5.12", | ||||
|       "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", | ||||
| @@ -5449,6 +5479,58 @@ | ||||
|         "@vue/shared": "3.5.12" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@vue/compiler-vue2": { | ||||
|       "version": "2.7.16", | ||||
|       "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", | ||||
|       "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "de-indent": "^1.0.2", | ||||
|         "he": "^1.2.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@vue/language-core": { | ||||
|       "version": "2.1.10", | ||||
|       "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.10.tgz", | ||||
|       "integrity": "sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@volar/language-core": "~2.4.8", | ||||
|         "@vue/compiler-dom": "^3.5.0", | ||||
|         "@vue/compiler-vue2": "^2.7.16", | ||||
|         "@vue/shared": "^3.5.0", | ||||
|         "alien-signals": "^0.2.0", | ||||
|         "minimatch": "^9.0.3", | ||||
|         "muggle-string": "^0.4.1", | ||||
|         "path-browserify": "^1.0.1" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "typescript": "*" | ||||
|       }, | ||||
|       "peerDependenciesMeta": { | ||||
|         "typescript": { | ||||
|           "optional": true | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@vue/language-core/node_modules/minimatch": { | ||||
|       "version": "9.0.5", | ||||
|       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", | ||||
|       "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", | ||||
|       "dev": true, | ||||
|       "license": "ISC", | ||||
|       "dependencies": { | ||||
|         "brace-expansion": "^2.0.1" | ||||
|       }, | ||||
|       "engines": { | ||||
|         "node": ">=16 || 14 >=14.17" | ||||
|       }, | ||||
|       "funding": { | ||||
|         "url": "https://github.com/sponsors/isaacs" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/@vue/reactivity": { | ||||
|       "version": "3.5.12", | ||||
|       "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz", | ||||
| @@ -5821,6 +5903,13 @@ | ||||
|         "ajv": "^8.8.2" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/alien-signals": { | ||||
|       "version": "0.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.2.2.tgz", | ||||
|       "integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/ansi_up": { | ||||
|       "version": "6.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/ansi_up/-/ansi_up-6.0.2.tgz", | ||||
| @@ -7484,6 +7573,13 @@ | ||||
|       "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/de-indent": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", | ||||
|       "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/debug": { | ||||
|       "version": "4.3.7", | ||||
|       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", | ||||
| @@ -10337,6 +10433,16 @@ | ||||
|         "node": ">=12.4.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/he": { | ||||
|       "version": "1.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", | ||||
|       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "bin": { | ||||
|         "he": "bin/he" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/hosted-git-info": { | ||||
|       "version": "2.8.9", | ||||
|       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", | ||||
| @@ -11793,6 +11899,13 @@ | ||||
|       "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/muggle-string": { | ||||
|       "version": "0.4.1", | ||||
|       "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", | ||||
|       "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/mz": { | ||||
|       "version": "2.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", | ||||
| @@ -12168,6 +12281,13 @@ | ||||
|         "url": "https://github.com/sponsors/sindresorhus" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/path-browserify": { | ||||
|       "version": "1.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", | ||||
|       "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", | ||||
|       "dev": true, | ||||
|       "license": "MIT" | ||||
|     }, | ||||
|     "node_modules/path-data-parser": { | ||||
|       "version": "0.1.0", | ||||
|       "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz", | ||||
| @@ -15521,6 +15641,24 @@ | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/vue-tsc": { | ||||
|       "version": "2.1.10", | ||||
|       "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.10.tgz", | ||||
|       "integrity": "sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==", | ||||
|       "dev": true, | ||||
|       "license": "MIT", | ||||
|       "dependencies": { | ||||
|         "@volar/typescript": "~2.4.8", | ||||
|         "@vue/language-core": "2.1.10", | ||||
|         "semver": "^7.5.4" | ||||
|       }, | ||||
|       "bin": { | ||||
|         "vue-tsc": "bin/vue-tsc.js" | ||||
|       }, | ||||
|       "peerDependencies": { | ||||
|         "typescript": ">=5.0.0" | ||||
|       } | ||||
|     }, | ||||
|     "node_modules/watchpack": { | ||||
|       "version": "2.4.2", | ||||
|       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", | ||||
|   | ||||
| @@ -109,7 +109,8 @@ | ||||
|     "type-fest": "4.26.1", | ||||
|     "updates": "16.4.0", | ||||
|     "vite-string-plugin": "1.3.4", | ||||
|     "vitest": "2.1.4" | ||||
|     "vitest": "2.1.4", | ||||
|     "vue-tsc": "2.1.10" | ||||
|   }, | ||||
|   "browserslist": [ | ||||
|     "defaults" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user