UNPKG

1.37 kBJavaScriptView Raw
1import Vue from 'vue'
2import Vuetify from '<%= options.treeShake ? 'vuetify/lib/framework' : 'vuetify' %>'
3<% if (options.preset) { %>
4import { preset } from '<%= options.preset %>'
5<% } %>
6
7<%
8const libImports = [
9 { key: 'components', location: 'vuetify/lib'},
10 { key: 'transitions', location: 'vuetify/lib'},
11 { key: 'directives', location: 'vuetify/lib/directives'}
12]
13if (options.treeShake) {
14 for (const lib of libImports) {
15 if (options.treeShake[lib.key] && options.treeShake[lib.key].length > 0) {
16%>
17import { <%= options.treeShake[lib.key].join(', ') %> } from '<%= lib.location %>'
18 <%
19 }
20 }
21}
22%>
23
24import options from './options'
25
26Vue.use(Vuetify, {
27<% if (options.treeShake) { %>
28<%= libImports.filter(lib => options.treeShake[lib.key] && options.treeShake[lib.key].length > 0)
29 .map(lib => ` ${lib.key}: { ${options.treeShake[lib.key].join(', ')} }`)
30 .join(',\n') %>
31<% } %>
32})
33
34export default (ctx) => {
35 const vuetifyOptions = typeof options === 'function' ? options(ctx) : options
36
37<% if (options.defaultIconPreset) { %>
38 vuetifyOptions.icons = vuetifyOptions.icons || {}
39 vuetifyOptions.icons.iconfont = '<%= options.defaultIconPreset %>'
40<% } %>
41<% if (options.preset) { %>
42 vuetifyOptions.preset = preset
43<% } %>
44
45 const vuetify = new Vuetify(vuetifyOptions)
46
47 ctx.app.vuetify = vuetify
48 ctx.$vuetify = vuetify.framework
49}