diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 1b44ad6dad..8014c7e674 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -19,6 +19,27 @@ assignees: ''
- Platform:
- Vetur version:
- VS Code version:
+- TypeScript version:
+- Vetur output:
+Output
+
+
+```
+
+```
+
+
+
+- Vetur doctor output
+Doctor output
+
+
+```
+
+```
+
+
+
## Problem
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d5acfdf91c..916fc03ca8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+### 0.37.3 | 2023-02-23 | [VSIX](https://marketplace.visualstudio.com/_apis/public/gallery/publishers/octref/vsextensions/vetur/0.37.3/vspackage)
+- Ignore vue/multi-word-component-names in template validation. #3649
+- Fix vetur hang any request when project have .gitignore. #3657
+
### 0.37.0 | 2023-02-20 | [VSIX](https://marketplace.visualstudio.com/_apis/public/gallery/publishers/octref/vsextensions/vetur/0.37.0/vspackage)
- Upgrade to typescript 4.9 and support it.
diff --git a/README.md b/README.md
index 4fbacc936e..4792fbd85b 100644
--- a/README.md
+++ b/README.md
@@ -15,13 +15,13 @@ LSP: https://github.com/johnsoncodehk/volar
-
+
-
+
-
+
diff --git a/package.json b/package.json
index 21af31b05f..c884a7a40e 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"description": "Vue tooling for VS Code",
"author": "Pine Wu ",
"icon": "asset/vue.png",
- "version": "0.37.0",
+ "version": "0.37.3",
"publisher": "octref",
"scripts": {
"postinstall": "run-s install:*",
diff --git a/server/package.json b/server/package.json
index a48aff70ff..650da002a4 100644
--- a/server/package.json
+++ b/server/package.json
@@ -1,7 +1,7 @@
{
"name": "vls",
"description": "Vue Language Server",
- "version": "0.8.3",
+ "version": "0.8.5",
"author": "Pine Wu ",
"license": "MIT",
"main": "dist/vls.js",
diff --git a/server/src/modes/template/services/htmlEslintValidation.ts b/server/src/modes/template/services/htmlEslintValidation.ts
index e241bf0094..9f7d5e29b8 100644
--- a/server/src/modes/template/services/htmlEslintValidation.ts
+++ b/server/src/modes/template/services/htmlEslintValidation.ts
@@ -44,6 +44,10 @@ export function createLintEngine(vueVersion: VueVersion) {
}
};
}
+ versionSpecificConfig.rules = {
+ ...versionSpecificConfig.rules,
+ 'vue/multi-word-component-names': 0
+ };
const baseConfig: Linter.Config = configs.base;
baseConfig.ignorePatterns = ['!.*'];
diff --git a/server/src/services/typescriptService/serviceHost.ts b/server/src/services/typescriptService/serviceHost.ts
index 7a5ccde9d4..4b21864266 100644
--- a/server/src/services/typescriptService/serviceHost.ts
+++ b/server/src/services/typescriptService/serviceHost.ts
@@ -18,6 +18,7 @@ import { RuntimeLibrary } from '../dependencyService';
import { EnvironmentService } from '../EnvironmentService';
import { VueVersion } from '../../utils/vueVersion';
import { dirname } from 'path';
+import { flatten } from 'lodash';
const NEWLINE = process.platform === 'win32' ? '\r\n' : '\n';
@@ -535,9 +536,18 @@ function defaultIgnorePatterns(tsModule: RuntimeLibrary['typescript'], projectPa
if (!gitignore) {
return nodeModules;
}
- const parsed: string[] = parseGitIgnore(gitignore);
- const filtered = parsed.filter(s => !s.startsWith('!'));
- return nodeModules.concat(filtered);
+ try {
+ const parsedGlobs = parseGitIgnore.globs(gitignore);
+ const ignoreGlobs: string[] = flatten(
+ parsedGlobs
+ .filter((r: { type: 'ignore' | 'unignore' }) => r.type === 'ignore')
+ .map((r: { patterns: string[] }) => r.patterns)
+ );
+ const filtered = ignoreGlobs.filter(s => !s.startsWith('!'));
+ return nodeModules.concat(filtered);
+ } catch (_) {
+ return nodeModules;
+ }
}
function getScriptKind(tsModule: RuntimeLibrary['typescript'], langId: string): ts.ScriptKind {
diff --git a/test/lsp/fixture/.gitignore b/test/lsp/fixture/.gitignore
new file mode 100644
index 0000000000..daf71f6ea4
--- /dev/null
+++ b/test/lsp/fixture/.gitignore
@@ -0,0 +1,25 @@
+.DS_Store
+npm-debug.log
+
+node_modules
+.vscode-test
+
+test/**/data-dir/**
+!test/**/data-dir/User
+test/**/data-dir/User/**
+!test/**/data-dir/User/settings.json
+
+dist
+server/dist
+server/typings
+docs/.vuepress/dist
+dist-test/
+server/dist-test/
+
+*.zip
+*.vsix
+
+.nyc_output
+coverage.lcov
+
+**/*.tsbuildinfo
diff --git a/vti/package.json b/vti/package.json
index 1845af540d..77fbe5ee6a 100644
--- a/vti/package.json
+++ b/vti/package.json
@@ -1,14 +1,14 @@
{
"name": "vti",
"description": "Vetur Terminal Interface",
- "version": "0.1.9",
+ "version": "0.1.11",
"main": "./dist/cli.js",
"bin": "./bin/vti",
"author": "Pine Wu ",
"license": "MIT",
"dependencies": {
"commander": "^9.4.1",
- "vls": "^0.8.3"
+ "vls": "^0.8.5"
},
"scripts": {
"compile": "rollup -c rollup.config.js",
diff --git a/vti/yarn.lock b/vti/yarn.lock
index 64b9ce8b41..dbdc0facc3 100644
--- a/vti/yarn.lock
+++ b/vti/yarn.lock
@@ -1055,10 +1055,10 @@ util-deprecate@^1.0.2:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-vls@^0.8.3:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/vls/-/vls-0.8.3.tgz#4d6688f0cc570e91d715446e14be49033fdb51f6"
- integrity sha512-NZsQKl+a7T6fAgbGJp0nTZO13VoB2dCsFP5BMe0/90QYbpAKyDXfu+jh15uKHlA6o7uO8jxoB1B4p8s+6Hgkzg==
+vls@^0.8.5:
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/vls/-/vls-0.8.5.tgz#083ac88bea52bab47180bc001d85890edf771246"
+ integrity sha512-61kbdO2COZWBMC4wq59QfDdev9ruXd0226f57DFJTFpFXv85S+qnHakQlAmbSYFFLGKcx95HB2UjnuQh4YRwFA==
dependencies:
eslint "^8.34.0"
eslint-plugin-vue "^9.9.0"