Skip to content

Commit

Permalink
chore: Update vite.config.ts to use dynamic entry points based on pac…
Browse files Browse the repository at this point in the history
…kage.json exports
  • Loading branch information
lebmouse committed Jul 23, 2024
1 parent 05e6438 commit cc9c763
Showing 1 changed file with 20 additions and 9 deletions.
29 changes: 20 additions & 9 deletions vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,29 @@ import dts from 'vite-plugin-dts';
import react from '@vitejs/plugin-react';
import { viteStaticCopy } from 'vite-plugin-static-copy';

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
import packageJson from './package.json';

const convertExportsToEntries = (exports: object) => {
const entries: Record<string, string> = {};

for (const key in exports) {
if (key === './package.json') continue; // Ignore package.json entry
const entryPath = key === '.' ? './src/index.ts' : `src/${key}/index.ts`;
const formattedKey = key === '.' ? 'index' : `${key.slice(2)}/index`; // Remove './' prefix and add '/index'
entries[formattedKey] = resolve(__dirname, entryPath);
}

return entries;
};

const entry = convertExportsToEntries(packageJson.exports);

export default defineConfig({
build: {
lib: {
entry: {
index: resolve(__dirname, './src/index.ts'),
core: resolve(__dirname, './src/core/index.ts'),
icon: resolve(__dirname, './src/icon/index.ts'),
component: resolve(__dirname, './src/component/index.ts'),
composite: resolve(__dirname, './src/composite/index.ts'),
legacy: resolve(__dirname, './src/legacy/index.ts'),
token: resolve(__dirname, './src/token/index.ts'),
},
entry: entry,
name: 'cds',
fileName: 'index',
},
Expand Down

0 comments on commit cc9c763

Please sign in to comment.