@@ -31,38 +31,24 @@ module.exports = function(fileInfo, api) {
3131node . arguments [ 0 ] . properties = node . arguments [ 0 ] . properties . map ( p => {
3232if ( p . key . name === 'mode' ) {
3333const mode = p . value . value
34+ let initializer
3435if ( mode === 'hash' ) {
35- addImport (
36- context ,
37- { imported :'createWebHashHistory' } ,
38- 'vue-router'
39- )
40- return j . property (
41- 'init' ,
42- j . identifier ( 'history' ) ,
43- j . callExpression ( j . identifier ( 'createWebHashHistory' ) , [ ] )
44- )
36+ initializer = 'createWebHashHistory'
4537} else if ( mode === 'history' ) {
46- addImport ( context , { imported :'createWebHistory' } , 'vue-router' )
47- return j . property (
48- 'init' ,
49- j . identifier ( 'history' ) ,
50- j . callExpression ( j . identifier ( 'createWebHistory' ) , [ ] )
51- )
38+ initializer = 'createWebHistory'
5239} else if ( mode === 'abstract' ) {
53- addImport (
54- context ,
55- { imported :'createMemoryHistory' } ,
56- 'vue-router'
57- )
58- return j . property (
59- 'init' ,
60- j . identifier ( 'history' ) ,
61- j . callExpression ( j . identifier ( 'createMemoryHistory' ) , [ ] )
62- )
40+ initializer = 'createMemoryHistory'
6341} else {
64- // TODO: warn
42+ console . error ( `mode must be one of 'hash', 'history', or 'abstract'` )
43+ return p
6544}
45+
46+ addImport ( context , { imported :initializer } , 'vue-router' )
47+ return j . property (
48+ 'init' ,
49+ j . identifier ( 'history' ) ,
50+ j . callExpression ( j . identifier ( initializer ) , [ ] )
51+ )
6652}
6753
6854return p