1 | import Vue from 'vue'
|
2 | import Vuetify from '<%= options.treeShake ? 'vuetify/lib/framework' : 'vuetify' %>'
|
3 | <% if (options.preset) { %>
|
4 | import { preset } from '<%= options.preset %>'
|
5 | <% } %>
|
6 |
|
7 | <%
|
8 | const libImports = [
|
9 | { key: 'components', location: 'vuetify/lib'},
|
10 | { key: 'transitions', location: 'vuetify/lib'},
|
11 | { key: 'directives', location: 'vuetify/lib/directives'}
|
12 | ]
|
13 | if (options.treeShake) {
|
14 | for (const lib of libImports) {
|
15 | if (options.treeShake[lib.key] && options.treeShake[lib.key].length > 0) {
|
16 | %>
|
17 | import { <%= options.treeShake[lib.key].join(', ') %> } from '<%= lib.location %>'
|
18 | <%
|
19 | }
|
20 | }
|
21 | }
|
22 | %>
|
23 |
|
24 | import options from './options'
|
25 |
|
26 | Vue.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 |
|
34 | export 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 | }
|