-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvite.config.ts
68 lines (64 loc) · 1.59 KB
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";
import fs from "fs";
import dts from 'vite-plugin-dts'
// Custom plugin for .der file handling
function derPlugin() {
return {
name: "vite-der-plugin",
transform(_src: string, id: string) {
if (id.endsWith(".der")) {
// Read the .der file as a buffer
const buffer = fs.readFileSync(id);
// Convert the buffer to a Uint8Array
const uint8Array = new Uint8Array(buffer);
// Generate code to create and export a Uint8Array
return {
code: `export default new Uint8Array([${uint8Array.toString()}]);`,
map: null
};
}
}
};
}
// https://vite.dev/config/
export default defineConfig({
plugins: [
react(),
derPlugin(),
dts({
rollupTypes: true,
tsconfigPath: "tsconfig.app.json"
}),
],
// Add .der to assetsInclude to ensure it's processed
assetsInclude: ['**/*.der'],
resolve: {
alias: {
// Ensure absolute imports work correctly
'@': path.resolve(__dirname, './src')
}
},
build: {
lib: {
entry: path.resolve(__dirname, "src/lib/index.ts"),
name: "OpenSecretReact",
fileName: (format) => `opensecret-react.${format}.js`
},
rollupOptions: {
// Only externalize React and React DOM
external: [
"react",
"react-dom"
],
output: {
// Provide global variables to use in the UMD build
globals: {
react: "React",
"react-dom": "ReactDOM"
}
}
}
}
});