Skip to content

Commit c99df82

Browse files
committed
Improve treeshaking using defineAsyncComponent in lib entry point
1 parent 954e64e commit c99df82

File tree

1 file changed

+61
-116
lines changed

1 file changed

+61
-116
lines changed

src/index.js

Lines changed: 61 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,122 +1,67 @@
1-
import VueUiXy from "./components/vue-ui-xy.vue";
2-
import VueUiTable from "./components/vue-ui-table.vue";
3-
import VueUiDonut from "./components/vue-ui-donut.vue";
4-
import VueUiWaffle from "./components/vue-ui-waffle.vue";
5-
import VueUiRadar from "./components/vue-ui-radar.vue";
6-
import VueUiQuadrant from "./components/vue-ui-quadrant.vue";
7-
import VueUiGauge from "./components/vue-ui-gauge.vue";
8-
import VueUiChestnut from "./components/vue-ui-chestnut.vue";
9-
import VueUiOnion from "./components/vue-ui-onion.vue";
10-
import VueUiVerticalBar from "./components/vue-ui-vertical-bar.vue";
11-
import VueUiScreenshot from "./components/vue-ui-screenshot.vue";
12-
import VueUiRating from "./components/vue-ui-rating.vue";
13-
import VueUiSkeleton from "./components/vue-ui-skeleton.vue";
14-
import VueUiSparkline from "./components/vue-ui-sparkline.vue";
15-
import VueUiHeatmap from "./components/vue-ui-heatmap.vue";
16-
import VueUiScatter from "./components/vue-ui-scatter.vue";
17-
import VueUiCandlestick from "./components/vue-ui-candlestick.vue";
18-
import VueUiAgePyramid from "./components/vue-ui-age-pyramid.vue";
19-
import VueUiSparkbar from "./components/vue-ui-sparkbar.vue";
20-
import VueUiDashboard from "./components/vue-ui-dashboard.vue";
21-
import VueUiAnnotator from "./components/vue-ui-annotator.vue";
22-
import VueUiSmiley from "./components/vue-ui-smiley.vue";
23-
import VueUiRelationCircle from "./components/vue-ui-relation-circle.vue";
24-
import VueUiThermometer from "./components/vue-ui-thermometer.vue";
25-
import VueUiSparkStackbar from "./components/vue-ui-sparkstackbar.vue";
26-
import VueUiSparkHistogram from "./components/vue-ui-sparkhistogram.vue";
27-
import VueUiRings from "./components/vue-ui-rings.vue";
28-
import VueUiWheel from "./components/vue-ui-wheel.vue";
29-
import VueUiTiremarks from "./components/vue-ui-tiremarks.vue";
30-
import VueUiDonutEvolution from "./components/vue-ui-donut-evolution.vue";
31-
import VueUiIcon from "./atoms/BaseIcon.vue";
32-
import VueUiMoodRadar from "./components/vue-ui-mood-radar.vue";
33-
import VueUi3dBar from "./components/vue-ui-3d-bar.vue";
34-
import VueUiDigits from "./components/vue-ui-digits.vue";
35-
import VueUiMolecule from "./components/vue-ui-molecule.vue";
36-
import VueUiTableSparkline from "./components/vue-ui-table-sparkline.vue";
37-
import Arrow from "./atoms/Arrow.vue"
38-
import VueUiMiniLoader from "./components/vue-ui-mini-loader.vue";
1+
import { defineAsyncComponent } from "vue";
392
import getVueDataUiConfig from "./getVueDataUiConfig";
403
import getThemeConfig from "./getThemeConfig";
41-
import VueUiNestedDonuts from "./components/vue-ui-nested-donuts.vue";
42-
import VueUiSparkgauge from './components/vue-ui-sparkgauge.vue';
43-
import VueDataUi from "./components/vue-data-ui.vue";
44-
import VueUiGalaxy from "./components/vue-ui-galaxy.vue";
45-
import VueUiKpi from "./components/vue-ui-kpi.vue";
46-
import VueUiTreemap from "./components/vue-ui-treemap.vue";
47-
import VueUiTableHeatmap from "./components/vue-ui-table-heatmap.vue";
48-
import VueUiAccordion from "./components/vue-ui-accordion.vue";
49-
import VueUiQuickChart from "./components/vue-ui-quick-chart.vue";
50-
import VueUiCursor from "./components/vue-ui-cursor.vue";
51-
import VueUiSparkTrend from "./components/vue-ui-spark-trend.vue";
52-
import VueUiStripPlot from "./components/vue-ui-strip-plot.vue";
53-
import VueUiDumbbell from "./components/vue-ui-dumbbell.vue";
54-
import VueUiWordCloud from "./components/vue-ui-word-cloud.vue";
55-
import VueUiXyCanvas from "./components/vue-ui-xy-canvas.vue";
56-
import VueUiFlow from "./components/vue-ui-flow.vue";
57-
import VueUiParallelCoordinatePlot from "./components/vue-ui-parallel-coordinate-plot.vue";
58-
import VueUiTimer from "./components/vue-ui-timer.vue";
594
import { getPalette, createWordCloudDatasetFromPlainText } from "./lib";
605

61-
export {
62-
VueUiXy,
63-
VueUiTable,
64-
VueUiDonut,
65-
VueUiWaffle,
66-
VueUiRadar,
67-
VueUiQuadrant,
68-
VueUiGauge,
69-
VueUiChestnut,
70-
VueUiOnion,
71-
VueUiVerticalBar,
72-
VueUiScreenshot,
73-
VueUiRating,
74-
VueUiSkeleton,
75-
VueUiSparkline,
76-
VueUiHeatmap,
77-
VueUiScatter,
78-
VueUiCandlestick,
79-
VueUiAgePyramid,
80-
VueUiSparkbar,
81-
VueUiDashboard,
82-
VueUiAnnotator,
83-
VueUiSmiley,
84-
VueUiRelationCircle,
85-
VueUiThermometer,
86-
VueUiSparkStackbar,
87-
VueUiSparkHistogram,
88-
VueUiRings,
89-
VueUiWheel,
90-
VueUiTiremarks,
91-
VueUiDonutEvolution,
92-
VueUiIcon,
93-
VueUiMoodRadar,
94-
VueUi3dBar,
95-
VueUiDigits,
96-
VueUiMolecule,
97-
VueUiTableSparkline,
98-
Arrow,
99-
VueUiMiniLoader,
6+
export const Arrow = defineAsyncComponent(() => import("./atoms/Arrow.vue"))
7+
export const VueDataUi = defineAsyncComponent(() => import("./components/vue-data-ui.vue"))
8+
export const VueUi3dBar = defineAsyncComponent(() => import("./components/vue-ui-3d-bar.vue"))
9+
export const VueUiAccordion = defineAsyncComponent(() => import("./components/vue-ui-accordion.vue"))
10+
export const VueUiAgePyramid = defineAsyncComponent(() => import("./components/vue-ui-age-pyramid.vue"))
11+
export const VueUiAnnotator = defineAsyncComponent(() => import("./components/vue-ui-annotator.vue"))
12+
export const VueUiCandlestick = defineAsyncComponent(() => import("./components/vue-ui-candlestick.vue"))
13+
export const VueUiChestnut = defineAsyncComponent(() => import("./components/vue-ui-chestnut.vue"))
14+
export const VueUiCursor = defineAsyncComponent(() => import("./components/vue-ui-cursor.vue"))
15+
export const VueUiDashboard = defineAsyncComponent(() => import("./components/vue-ui-dashboard.vue"))
16+
export const VueUiDigits = defineAsyncComponent(() => import("./components/vue-ui-digits.vue"))
17+
export const VueUiDonut = defineAsyncComponent(() => import("./components/vue-ui-donut.vue"))
18+
export const VueUiDonutEvolution = defineAsyncComponent(() => import("./components/vue-ui-donut-evolution.vue"))
19+
export const VueUiDumbbell = defineAsyncComponent(() => import("./components/vue-ui-dumbbell.vue"))
20+
export const VueUiFlow = defineAsyncComponent(() => import("./components/vue-ui-flow.vue"))
21+
export const VueUiGalaxy = defineAsyncComponent(() => import("./components/vue-ui-galaxy.vue"))
22+
export const VueUiGauge = defineAsyncComponent(() => import("./components/vue-ui-gauge.vue"))
23+
export const VueUiHeatmap = defineAsyncComponent(() => import("./components/vue-ui-heatmap.vue"))
24+
export const VueUiIcon = defineAsyncComponent(() => import("./atoms/BaseIcon.vue"))
25+
export const VueUiKpi = defineAsyncComponent(() => import("./components/vue-ui-kpi.vue"))
26+
export const VueUiMiniLoader = defineAsyncComponent(() => import("./components/vue-ui-mini-loader.vue"))
27+
export const VueUiMolecule = defineAsyncComponent(() => import("./components/vue-ui-molecule.vue"))
28+
export const VueUiMoodRadar = defineAsyncComponent(() => import("./components/vue-ui-mood-radar.vue"))
29+
export const VueUiNestedDonuts = defineAsyncComponent(() => import("./components/vue-ui-nested-donuts.vue"))
30+
export const VueUiOnion = defineAsyncComponent(() => import("./components/vue-ui-onion.vue"))
31+
export const VueUiParallelCoordinatePlot = defineAsyncComponent(() => import("./components/vue-ui-parallel-coordinate-plot.vue"))
32+
export const VueUiQuadrant = defineAsyncComponent(() => import("./components/vue-ui-quadrant.vue"))
33+
export const VueUiQuickChart = defineAsyncComponent(() => import("./components/vue-ui-quick-chart.vue"))
34+
export const VueUiRadar = defineAsyncComponent(() => import("./components/vue-ui-radar.vue"))
35+
export const VueUiRating = defineAsyncComponent(() => import("./components/vue-ui-rating.vue"))
36+
export const VueUiRelationCircle = defineAsyncComponent(() => import("./components/vue-ui-relation-circle.vue"))
37+
export const VueUiRings = defineAsyncComponent(() => import("./components/vue-ui-rings.vue"))
38+
export const VueUiScatter = defineAsyncComponent(() => import("./components/vue-ui-scatter.vue"))
39+
export const VueUiScreenshot = defineAsyncComponent(() => import("./components/vue-ui-screenshot.vue"))
40+
export const VueUiSkeleton = defineAsyncComponent(() => import("./components/vue-ui-skeleton.vue"))
41+
export const VueUiSmiley = defineAsyncComponent(() => import("./components/vue-ui-smiley.vue"))
42+
export const VueUiSparkHistogram = defineAsyncComponent(() => import("./components/vue-ui-sparkhistogram.vue"))
43+
export const VueUiSparkStackbar = defineAsyncComponent(() => import("./components/vue-ui-sparkstackbar.vue"))
44+
export const VueUiSparkTrend = defineAsyncComponent(() => import("./components/vue-ui-spark-trend.vue"))
45+
export const VueUiSparkbar = defineAsyncComponent(() => import("./components/vue-ui-sparkbar.vue"))
46+
export const VueUiSparkgauge = defineAsyncComponent(() => import('./components/vue-ui-sparkgauge.vue'))
47+
export const VueUiSparkline = defineAsyncComponent(() => import("./components/vue-ui-sparkline.vue"))
48+
export const VueUiStripPlot = defineAsyncComponent(() => import("./components/vue-ui-strip-plot.vue"))
49+
export const VueUiTable = defineAsyncComponent(() => import("./components/vue-ui-table.vue"))
50+
export const VueUiTableHeatmap = defineAsyncComponent(() => import("./components/vue-ui-table-heatmap.vue"))
51+
export const VueUiTableSparkline = defineAsyncComponent(() => import("./components/vue-ui-table-sparkline.vue"))
52+
export const VueUiThermometer = defineAsyncComponent(() => import("./components/vue-ui-thermometer.vue"))
53+
export const VueUiTimer = defineAsyncComponent(() => import("./components/vue-ui-timer.vue"))
54+
export const VueUiTiremarks = defineAsyncComponent(() => import("./components/vue-ui-tiremarks.vue"))
55+
export const VueUiTreemap = defineAsyncComponent(() => import("./components/vue-ui-treemap.vue"))
56+
export const VueUiVerticalBar = defineAsyncComponent(() => import("./components/vue-ui-vertical-bar.vue"))
57+
export const VueUiWaffle = defineAsyncComponent(() => import("./components/vue-ui-waffle.vue"))
58+
export const VueUiWheel = defineAsyncComponent(() => import("./components/vue-ui-wheel.vue"))
59+
export const VueUiWordCloud = defineAsyncComponent(() => import("./components/vue-ui-word-cloud.vue"))
60+
export const VueUiXy = defineAsyncComponent(() => import("./components/vue-ui-xy.vue"))
61+
export const VueUiXyCanvas = defineAsyncComponent(() => import("./components/vue-ui-xy-canvas.vue"))
62+
export {
63+
createWordCloudDatasetFromPlainText,
10064
getPalette,
101-
getVueDataUiConfig,
10265
getThemeConfig,
103-
createWordCloudDatasetFromPlainText,
104-
VueUiNestedDonuts,
105-
VueUiSparkgauge,
106-
VueDataUi,
107-
VueUiGalaxy,
108-
VueUiKpi,
109-
VueUiTreemap,
110-
VueUiTableHeatmap,
111-
VueUiAccordion,
112-
VueUiQuickChart,
113-
VueUiCursor,
114-
VueUiSparkTrend,
115-
VueUiStripPlot,
116-
VueUiDumbbell,
117-
VueUiWordCloud,
118-
VueUiXyCanvas,
119-
VueUiFlow,
120-
VueUiParallelCoordinatePlot,
121-
VueUiTimer
122-
};
66+
getVueDataUiConfig,
67+
}

0 commit comments

Comments
 (0)