From 42c72d5bb15319c32c9661ca2ef581311d655bd4 Mon Sep 17 00:00:00 2001 From: Prash Mehra Date: Mon, 22 Apr 2024 15:43:08 +0200 Subject: [PATCH] feat: Individual imports (#162) * init * build individual components * remove dist from eslint --- package.json | 20 +++++++++++++++++++- vite.config.js | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 66a5edaa..bfd57965 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,25 @@ "type": "module", "exports": { ".": "./dist/warp-vue.js", - "./docs": "./dist/docs/warp-vue.js" + "./docs": "./dist/docs/warp-vue.js", + "./alert": "./dist/alert.js", + "./attention": "./dist/attention.js", + "./badge": "./dist/badge.js", + "./box": "./dist/box.js", + "./breadcrumbs": "./dist/breadcrumbs.js", + "./button-group": "./dist/button-group.js", + "./button": "./dist/button.js", + "./card": "./dist/card.js", + "./expandable": "./dist/expandable.js", + "./forms": "./dist/forms.js", + "./generic": "./dist/generic.js", + "./modal": "./dist/modal.js", + "./pill": "./dist/pill.js", + "./slider": "./dist/slider.js", + "./steps": "./dist/steps.js", + "./switch": "./dist/switch.js", + "./tabs": "./dist/tabs.js", + "./tag": "./dist/tag.js" }, "imports": { "#util": "./components/util/index.js", diff --git a/vite.config.js b/vite.config.js index 16eedcdf..76347f7a 100644 --- a/vite.config.js +++ b/vite.config.js @@ -40,8 +40,40 @@ function getBuildOpts(env) { if (env.mode === 'lib') { return defineConfig({ build: { - ...getLibOpts('warp-vue'), - rollupOptions: { external: ['vue'] }, + lib: { + entry: { + tag: 'components/tag/index.js', + tabs: 'components/tabs/index.js', + switch: 'components/switch/index.js', + steps: 'components/steps/index.js', + slider: 'components/slider/index.js', + pill: 'components/pill/index.js', + modal: 'components/modal/index.js', + generic: 'components/generic/index.js', + forms: 'components/forms/index.js', + expandable: 'components/expandable/index.js', + card: 'components/card/index.js', + 'button-group': 'components/button-group/index.js', + button: 'components/button/index.js', + breadcrumbs: 'components/breadcrumbs/index.js', + box: 'components/box/index.js', + badge: 'components/badge/index.js', + attention: 'components/attention/index.js', + alert: 'components/alert/index.js', + 'warp-vue': './index.js', + }, + formats: ['es'], + }, + rollupOptions: { + external: ['vue'], + output: { + format: 'es', + dir: 'dist/', + entryFileNames: '[name].js', + assetFileNames: 'assets/[name].[ext]', + chunkFileNames: '[name].js', + }, + }, }, }); }