From bb9ce39b04d4c2c87d13538091678c38b805b794 Mon Sep 17 00:00:00 2001 From: Andreas Schujkow Date: Thu, 4 Jul 2024 09:21:17 +0200 Subject: [PATCH] chore: update build system --- package.json | 6 +-- src/index.ts | 25 ----------- vite.config.ts | 115 ++++++++++++++++++++++--------------------------- 3 files changed, 54 insertions(+), 92 deletions(-) delete mode 100644 src/index.ts diff --git a/package.json b/package.json index 74b2785..9bc59f6 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "module": "./dist/index.es.js" }, "engines": { - "node": "18", - "pnpm": "8" + "node": ">=18", + "pnpm": ">=8" }, "files": [ "dist" @@ -23,7 +23,7 @@ "build:scripts": "vite build", "build:types": "tsc --emitDeclarationOnly && tsc-alias", "build:styles": "NODE_ENV=production pnpm tailwindcss -i ./src/styles/globals.css -o ./dist/styles.css --postcss --minify", - "publish:ci": "pnpm publish --no-git-checks --dry-run", + "publish:ci": "pnpm publish --no-git-checks", "publish:dry": "pnpm publish --no-git-checks --dry-run", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "lint:fix": "eslint . --fix --ext ts,tsx --report-unused-disable-directives --max-warnings 0", diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index 0c754ec..0000000 --- a/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -export * from '@/components/primitives/HmqInput/HmqInput.tsx' -export * from '@/components/primitives/HmqButton/HmqButton.tsx' -export * from '@/components/primitives/HmqBadge/HmqBadge.tsx' -export * from '@/components/primitives/HmqForm/HmqForm.tsx' -export * from '@/components/primitives/HmqLabel/HmqLabel.tsx' -export * from '@/components/primitives/HmqInput/HmqInput.tsx' -export * from '@/components/primitives/HmqDescription/HmqDescription.tsx' -export * from '@/components/primitives/HmqNavigationItem/HmqNavigationItem.tsx' - -// export * from '@/components/composables/HmqControlledTextInput.tsx' -export * from '@/components/composables/HmqTextInput/HmqTextInput.tsx' -export * from '@/components/composables/HmqDropdown/HmqDropdown.tsx' -export * from '@/components/composables/HmqSwitch/HmqSwitch.tsx' -// export * from '@/components/composables/HmqEmptyState/HmqEmptyState.tsx' -export * from '@/components/composables/HmqTopBarNavigationItem/HmqTopBarNavigationItem.tsx' - -export * from '@/components/modules/HmqUIShell' - -export * from '@/components/util/HmqLightDarkThemeSetter' - -export * from '@/context/OverlayContext' - -export * from '@/hooks/useLocalStorage.tsx' -export * from '@/hooks/useOverlay.ts' -export * from '@/hooks/useTheme.ts' diff --git a/vite.config.ts b/vite.config.ts index ef39c4a..61ee3ac 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,75 +1,62 @@ -import { resolve } from 'path' +import { resolve } from "path"; -import react from '@vitejs/plugin-react' -import { defineConfig } from 'vite' -import dts from 'vite-plugin-dts' -import { viteStaticCopy } from 'vite-plugin-static-copy' +import react from "@vitejs/plugin-react"; +import { defineConfig } from "vite"; +import dts from "vite-plugin-dts"; -import packageData from './package.json' +import packageData from "./package.json"; -type BuildEnvironment = 'storybook' | 'library' +type BuildEnvironment = "storybook" | "library"; -const buildEnvironment: BuildEnvironment = (process.env.BUILD_ENV as BuildEnvironment) || 'library' +const buildEnvironment: BuildEnvironment = + (process.env.BUILD_ENV as BuildEnvironment) || "library"; const libPlugins = [ - react({ - jsxRuntime: 'classic' - }), - dts({ - rollupTypes: true - }), - viteStaticCopy({ - targets: [ - { - src: './src/export/styles.css', - dest: '.' - }, - { - src: './src/export/fonts', - dest: '.' - }, - { - src: './src/export/tailwind.config.js', - dest: '.' - } - ] - }) -] + react({ + jsxRuntime: "classic", + }), + dts({ + rollupTypes: true, + }), +]; const storybookPlugins = [ - react({ - jsxRuntime: 'automatic' - }) -] + react({ + jsxRuntime: "automatic", + }), +]; // https://vitejs.dev/config/ export default defineConfig({ - plugins: buildEnvironment === 'storybook' ? storybookPlugins : libPlugins, - build: { - lib: { - entry: resolve(__dirname, 'src', 'index.ts'), - formats: ['es', 'cjs'], - fileName: (format) => `index.${format}.js` - }, - rollupOptions: { - external: - buildEnvironment === 'storybook' - ? [] - : [...Object.keys(packageData.peerDependencies), ...Object.keys(packageData?.dependencies || [])], - output: { - // Since we publish our ./src folder, there's no point - // in bloating sourcemaps with another copy of it. - sourcemapExcludeSources: true - } - }, - target: 'esnext', - sourcemap: true, - minify: false - }, - resolve: { - alias: { - '@': resolve(__dirname, './src'), - '@hivemq/ui-shell': resolve(__dirname, './src/lib.ts') - } - } -}) + plugins: buildEnvironment === "storybook" ? storybookPlugins : libPlugins, + build: { + lib: { + entry: resolve(__dirname, "src", "lib.ts"), + formats: ["es", "cjs"], + fileName: (format) => `index.${format}.js`, + }, + rollupOptions: { + external: + buildEnvironment === "storybook" + ? [] + : [ + ...Object.keys(packageData.peerDependencies), + ...Object.keys(packageData.devDependencies), + ], + output: { + // Since we publish our ./src folder, there's no point + // in bloating sourcemaps with another copy of it. + sourcemapExcludeSources: true, + }, + }, + target: "esnext", + sourcemap: true, + minify: false, + }, + resolve: { + alias: { + "@": resolve(__dirname, "./src"), + "@hivemq/ui-shell": resolve(__dirname, "./src/lib.ts"), + }, + }, +});