From e0180070b78c9bd3f232f8dc74795e01ebc2c51e Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 14:54:59 +0800 Subject: [PATCH 1/8] fix: .vue file script lang is tsx but createSourceFile as JS. so join ScriptKind. --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 1d34f90a70..5b9bb1028a 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -49,7 +49,7 @@ module.exports = function lint (args = {}, api, silent) { before: content.slice(0, script.start), after: content.slice(script.end) }) - return script.content + return script } } @@ -61,8 +61,8 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const script = parseTSFromVueFile(file) || '' - return ts.createSourceFile(file, script, languageVersion, true) + const { content, lang } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.Unknown } + return ts.createSourceFile(file, content, languageVersion, true, ts.ScriptKind[lang.toUpperCase()]) } else { return getSourceFile.call(this, file, languageVersion, onError) } From d2e5f7740e949d4068703bee3ddb079fa85e2805 Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 14:59:12 +0800 Subject: [PATCH 2/8] optimize --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 5b9bb1028a..5bc43126d2 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -62,7 +62,8 @@ module.exports = function lint (args = {}, api, silent) { program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { const { content, lang } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.Unknown } - return ts.createSourceFile(file, content, languageVersion, true, ts.ScriptKind[lang.toUpperCase()]) + const contentLang = ts.ScriptKind[lang.toUpperCase()] || ts.ScriptKind.Unknown; + return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { return getSourceFile.call(this, file, languageVersion, onError) } From 87089f5312ed4b15f5f3eee79682525a102a3952 Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 15:17:08 +0800 Subject: [PATCH 3/8] change: Default ScriptKind is JS --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 5bc43126d2..4cb1dbef41 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,8 +61,8 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.Unknown } - const contentLang = ts.ScriptKind[lang.toUpperCase()] || ts.ScriptKind.Unknown; + const { content, lang } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.JS } + const contentLang = ts.ScriptKind[lang.toUpperCase()] || ts.ScriptKind.JS; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { return getSourceFile.call(this, file, languageVersion, onError) From a3610eb3891ccdfe48d6864571a36cafd71af86b Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 15:20:29 +0800 Subject: [PATCH 4/8] fix: Default ScriptKind is JS --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 4cb1dbef41..e07a5e10e7 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,8 +61,8 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.JS } - const contentLang = ts.ScriptKind[lang.toUpperCase()] || ts.ScriptKind.JS; + const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.JS } + const contentLang = ts.ScriptKind[lang.toUpperCase()]; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { return getSourceFile.call(this, file, languageVersion, onError) From 9d1b6b117f8c82067e6714abbf88b0431eb39ff5 Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 15:22:19 +0800 Subject: [PATCH 5/8] fix --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index e07a5e10e7..856a2d30b8 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,7 +61,7 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: ts.ScriptKind.JS } + const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '' } const contentLang = ts.ScriptKind[lang.toUpperCase()]; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { From 8991e32ac4dd34d16af6f79f67e28682b370d4db Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 16:34:29 +0800 Subject: [PATCH 6/8] fix: default lang --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 856a2d30b8..e2f90601ee 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,7 +61,7 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '' } + const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: 'js' } const contentLang = ts.ScriptKind[lang.toUpperCase()]; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { From 0fe379692a865c8ca2c5058341e4c0adfd0300c9 Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Fri, 7 Dec 2018 17:03:48 +0800 Subject: [PATCH 7/8] fix: del lang --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index e2f90601ee..856a2d30b8 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,7 +61,7 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: 'js' } + const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '' } const contentLang = ts.ScriptKind[lang.toUpperCase()]; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else { From 9a5162bb9a69f7141250ec6e758237e7a405ca2e Mon Sep 17 00:00:00 2001 From: lihuanji <158757774@qq.com> Date: Mon, 10 Dec 2018 14:35:44 +0800 Subject: [PATCH 8/8] add default lang --- packages/@vue/cli-plugin-typescript/lib/tslint.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@vue/cli-plugin-typescript/lib/tslint.js b/packages/@vue/cli-plugin-typescript/lib/tslint.js index 856a2d30b8..e2f90601ee 100644 --- a/packages/@vue/cli-plugin-typescript/lib/tslint.js +++ b/packages/@vue/cli-plugin-typescript/lib/tslint.js @@ -61,7 +61,7 @@ module.exports = function lint (args = {}, api, silent) { const getSourceFile = program.getSourceFile program.getSourceFile = function (file, languageVersion, onError) { if (isVueFile(file)) { - const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '' } + const { content, lang = 'js' } = parseTSFromVueFile(file) || { content: '', lang: 'js' } const contentLang = ts.ScriptKind[lang.toUpperCase()]; return ts.createSourceFile(file, content, languageVersion, true, contentLang) } else {