diff --git a/package.json b/package.json
index 238c20bc9dbda4f51b4952a81aa1d2e1bef6dcc8..0ccd2ff4afa6c5e74325b63e4ef30ba66d96e66b 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "vue-draggable-grid",
   "version": "1.0.0",
   "scripts": {
-    "build": "rollup -c",
+    "build": "vite build",
     "example:build": "vite build example",
     "example:dev": "vite example",
     "example:preview": "vite preview example --port 4173",
diff --git a/rollup.config.mjs b/rollup.config.mjs
deleted file mode 100644
index c56cb04e77f2bcdc8dafab1d84faa52b35f566ee..0000000000000000000000000000000000000000
--- a/rollup.config.mjs
+++ /dev/null
@@ -1,19 +0,0 @@
-import vue from "rollup-plugin-vue";
-import peerDepsExternal from "rollup-plugin-peer-deps-external";
-
-export default [
-  {
-    input: "src/index.js",
-    output: [
-      {
-        format: "esm",
-        file: "dist/vue-draggable-grid.mjs",
-      },
-      {
-        format: "cjs",
-        file: "dist/vue-draggable-grid.js",
-      },
-    ],
-    plugins: [vue(), peerDepsExternal()],
-  },
-];
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..827d48cffec8cc6c015bcd3764aac738bbf23d91
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,33 @@
+// vite.config.js
+import vue from "@vitejs/plugin-vue2";
+import { defineConfig } from "vite";
+import { resolve } from "path";
+import peerDepsExternal from "rollup-plugin-peer-deps-external";
+
+export default defineConfig({
+  plugins: [vue(), peerDepsExternal()],
+  build: {
+    lib: {
+      /* eslint-env node */
+      entry: resolve(__dirname, "src/index.js"),
+      name: "vue-draggable-grid",
+    },
+    output: [
+      {
+        format: "esm",
+        file: "dist/vue-draggable-grid.mjs",
+      },
+      {
+        format: "cjs",
+        file: "dist/vue-draggable-grid.js",
+      },
+    ],
+    rollupOptions: {
+      output: {
+        globals: {
+          vue: "Vue",
+        },
+      },
+    },
+  },
+});