-
Notifications
You must be signed in to change notification settings - Fork 0
/
vite.config.ts
42 lines (38 loc) · 1.04 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
import * as path from "path";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
function resolvePath(filePath: string) {
return path.resolve(__dirname, filePath);
}
/**
* Source: {@link https://github.com/formik/tsdx/blob/158ee9a69c824b71b62cf987fe943a167f47f936/src/utils.ts#L22-L23}
* {@link https://github.com/vitejs/vite/blob/v2.9.5/packages/plugin-vue/src/helper.ts#L1}
*/
const external = (id: string) =>
!id.startsWith(".") && !path.isAbsolute(id) && !id.startsWith("plugin-vue:");
// https://vitejs.dev/config/
export default defineConfig({
build: {
lib: {
entry: path.resolve(__dirname, "src/main.ts"),
formats: ["es"],
fileName: () => "index.mjs",
},
rollupOptions: {
external: external,
},
},
plugins: [vue()],
resolve: {
alias: [
/**
* Support importing css files from `node_modules` via `~`.
* e.g. `@import "~normalize.css";`
*/
{
find: /^~(.+)/,
replacement: resolvePath("node_modules/$1"),
},
],
},
});