-
Notifications
You must be signed in to change notification settings - Fork 1
/
vite.config.ts
36 lines (35 loc) · 1.23 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
import path from 'path';
import { glob } from 'glob';
import { fileURLToPath } from 'url';
import { defineConfig } from 'vite';
import dts from 'vite-plugin-dts';
export default defineConfig({
build: {
sourcemap: true,
lib: {
name: 'puffer-sdk',
entry: Object.fromEntries(
// This is to keep the directory structure in the output.
glob
.sync(path.resolve(__dirname, 'lib/**/*.ts'), {
ignore: ['lib/**/*.{d,test}.ts', 'node_modules/**'],
})
.map((file) => [
// 1. The name of the entry point.
// `lib/nested/foo.js` becomes `nested/foo`
path.relative(
'lib',
file.slice(0, file.length - path.extname(file).length),
),
// 2. The absolute path to the entry file.
// `lib/nested/foo.ts` becomes `/project/lib/nested/foo.ts`
fileURLToPath(new URL(file, import.meta.url)),
]),
),
// ES modules have `.js` extension and CommonJS modules have `.cjs`.
fileName: (format, name) => `${name}.${{ es: 'js', cjs: 'cjs' }[format]}`,
formats: ['es', 'cjs'],
},
},
plugins: [dts({ entryRoot: './lib', exclude: ['lib/**/*.test.ts'] })],
});