From d40e59205eeabf112af3dcd5780b7943d454e8d6 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 18 六月 2024 20:57:08 +0800
Subject: [PATCH] 干净版internal

---
 internal/vite-config/src/config/package.ts |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/internal/vite-config/src/config/package.ts b/internal/vite-config/src/config/package.ts
new file mode 100644
index 0000000..ab83852
--- /dev/null
+++ b/internal/vite-config/src/config/package.ts
@@ -0,0 +1,42 @@
+import { readPackageJSON } from 'pkg-types';
+import { defineConfig, mergeConfig, type UserConfig } from 'vite';
+import dts from 'vite-plugin-dts';
+
+import { commonConfig } from './common';
+
+interface DefineOptions {
+  overrides?: UserConfig;
+  options?: {
+    //
+  };
+}
+
+function definePackageConfig(defineOptions: DefineOptions = {}) {
+  const { overrides = {} } = defineOptions;
+  const root = process.cwd();
+  return defineConfig(async ({ mode }) => {
+    const { dependencies = {}, peerDependencies = {} } = await readPackageJSON(root);
+    const packageConfig: UserConfig = {
+      build: {
+        lib: {
+          entry: 'src/index.ts',
+          formats: ['es'],
+          fileName: () => 'index.mjs',
+        },
+        rollupOptions: {
+          external: [...Object.keys(dependencies), ...Object.keys(peerDependencies)],
+        },
+      },
+      plugins: [
+        dts({
+          logLevel: 'error',
+        }),
+      ],
+    };
+    const mergedConfig = mergeConfig(commonConfig(mode), packageConfig);
+
+    return mergeConfig(mergedConfig, overrides);
+  });
+}
+
+export { definePackageConfig };

--
Gitblit v1.9.3