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"