Skip to content

Commit e5c67ef

Browse files
fix: add support Vue 3 fixed #1339
Vue dependencies was moved to optionalDependencies So, that mean if you need Vue support you also have to add in own package.json new dependency for Vue 2 is vue-template-compiler, Vue 3 is @vue/compiler-sfc
1 parent 8a3b15d commit e5c67ef

File tree

3 files changed

+285
-5
lines changed

3 files changed

+285
-5
lines changed

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,12 @@
5252
"vfile-sort": "^2.1.0",
5353
"vinyl": "^2.1.0",
5454
"vinyl-fs": "^3.0.2",
55-
"vue-template-compiler": "^2.5.16",
5655
"yargs": "^15.3.1"
5756
},
57+
"optionalDependencies": {
58+
"vue-template-compiler": "^2.6.12",
59+
"@vue/compiler-sfc": "^3.0.11"
60+
},
5861
"devDependencies": {
5962
"chdir": "0.0.0",
6063
"cz-conventional-changelog": "2.1.0",

src/parsers/vue.js

+22-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const parseJavaScript = require('./javascript');
2-
const vuecompiler = require('vue-template-compiler');
32

43
/**
54
* Receives a module-dep item,
@@ -10,9 +9,30 @@ const vuecompiler = require('vue-template-compiler');
109
* @returns {Array<Object>} an array of parsed comments
1110
*/
1211
function parseVueScript(data, config) {
13-
const component = vuecompiler.parseComponent(data.source);
12+
let component = {};
13+
let isVue3 = false;
14+
try {
15+
const vuecompiler = require('@vue/compiler-sfc');
16+
component = vuecompiler.parse(data.source).descriptor;
17+
isVue3 = true;
18+
} catch (e) {
19+
console.log('Swich on Vue 2');
20+
}
21+
22+
if (isVue3 === false) {
23+
try {
24+
const vuecompiler = require('vue-template-compiler');
25+
component = vuecompiler.parseComponent(data.source);
26+
} catch (e) {
27+
console.error(
28+
'You need to load package vue-template-compiler for Vue 2 or @vue/compiler-sfc for Vue 3'
29+
);
30+
}
31+
}
32+
1433
if (!component.script) return [];
1534
data.source = component.script.content;
35+
1636
return parseJavaScript(data, config);
1737
}
1838

0 commit comments

Comments
 (0)