2023-06-01 02:05:35 +01:00
|
|
|
import { resolve } from "path";
|
|
|
|
import dts from "vite-plugin-dts";
|
|
|
|
import { nodePolyfills } from "vite-plugin-node-polyfills";
|
2024-11-21 11:41:31 +01:00
|
|
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
|
import { configDefaults, defineConfig } from "vitest/config";
|
2024-12-06 13:44:42 +00:00
|
|
|
import { copyFileSync } from "node:fs";
|
2023-06-01 02:05:35 +01:00
|
|
|
|
|
|
|
export default defineConfig({
|
|
|
|
plugins: [
|
|
|
|
tsconfigPaths(),
|
2024-10-09 13:15:04 -10:00
|
|
|
dts({
|
2024-12-06 13:44:42 +00:00
|
|
|
rollupTypes: true,
|
|
|
|
afterBuild: () => {
|
|
|
|
// https://github.com/dolanmiu/docx/pull/2883
|
|
|
|
// To pass publint - `npx publint@latest`
|
|
|
|
copyFileSync("dist/index.d.ts", "dist/index.d.cts");
|
|
|
|
},
|
2024-10-09 13:15:04 -10:00
|
|
|
}),
|
2023-06-01 02:05:35 +01:00
|
|
|
nodePolyfills({
|
2023-07-20 20:46:53 +01:00
|
|
|
exclude: [],
|
2023-07-18 21:06:35 +01:00
|
|
|
globals: {
|
|
|
|
Buffer: false,
|
|
|
|
},
|
2023-06-01 02:05:35 +01:00
|
|
|
protocolImports: true,
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
resolve: {
|
|
|
|
alias: {
|
|
|
|
"@util/": `${resolve(__dirname, "src/util")}/`,
|
|
|
|
"@export/": `${resolve(__dirname, "src/export")}/`,
|
|
|
|
"@file/": `${resolve(__dirname, "src/file")}/`,
|
|
|
|
"@shared": `${resolve(__dirname, "src/shared")}`,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
build: {
|
2023-06-12 18:43:29 +01:00
|
|
|
minify: false,
|
2023-12-29 23:51:31 +00:00
|
|
|
target: "es2015",
|
2023-06-01 02:05:35 +01:00
|
|
|
lib: {
|
|
|
|
entry: [resolve(__dirname, "src/index.ts")],
|
|
|
|
name: "docx",
|
2023-07-18 01:53:56 +01:00
|
|
|
fileName: (d) => {
|
|
|
|
if (d === "umd") {
|
2024-12-06 13:44:42 +00:00
|
|
|
return "index.umd.cjs";
|
2023-07-18 01:53:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
if (d === "cjs") {
|
|
|
|
return "index.cjs";
|
|
|
|
}
|
|
|
|
|
|
|
|
if (d === "es") {
|
2023-09-26 22:59:32 +01:00
|
|
|
return "index.mjs";
|
2023-07-18 01:53:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
if (d === "iife") {
|
|
|
|
return "index.iife.js";
|
|
|
|
}
|
|
|
|
|
|
|
|
return "unknown";
|
|
|
|
},
|
2023-06-01 02:05:35 +01:00
|
|
|
formats: ["iife", "es", "cjs", "umd"],
|
|
|
|
},
|
2024-12-06 13:44:42 +00:00
|
|
|
outDir: resolve(__dirname, "dist"),
|
2023-06-01 02:05:35 +01:00
|
|
|
commonjsOptions: {
|
|
|
|
include: [/node_modules/],
|
|
|
|
},
|
|
|
|
},
|
2023-06-07 15:11:47 +01:00
|
|
|
test: {
|
|
|
|
environment: "jsdom",
|
2023-06-12 18:43:29 +01:00
|
|
|
coverage: {
|
2023-06-15 21:15:39 +01:00
|
|
|
provider: "v8",
|
2023-06-12 18:43:29 +01:00
|
|
|
reporter: ["text", "json", "html"],
|
2023-12-25 02:47:43 +00:00
|
|
|
thresholds: {
|
2023-12-31 18:54:35 +00:00
|
|
|
statements: 100,
|
2024-11-21 11:41:31 +01:00
|
|
|
branches: 99.68,
|
2023-12-25 02:47:43 +00:00
|
|
|
functions: 100,
|
2023-12-31 18:54:35 +00:00
|
|
|
lines: 100,
|
2023-12-25 02:47:43 +00:00
|
|
|
},
|
|
|
|
exclude: [
|
|
|
|
...configDefaults.exclude,
|
2024-12-06 13:44:42 +00:00
|
|
|
"**/dist/**",
|
|
|
|
"**/demo/**",
|
|
|
|
"**/docs/**",
|
|
|
|
"**/scripts/**",
|
|
|
|
"**/src/**/index.ts",
|
|
|
|
"**/src/**/types.ts",
|
|
|
|
"**/*.spec.ts",
|
2023-12-25 02:47:43 +00:00
|
|
|
],
|
2023-06-12 18:43:29 +01:00
|
|
|
},
|
2024-12-06 13:44:42 +00:00
|
|
|
include: ["**/src/**/*.spec.ts", "**/packages/**/*.spec.ts"],
|
|
|
|
exclude: [...configDefaults.exclude, "**/build/**", "**/demo/**", "**/docs/**", "**/scripts/**"],
|
2023-06-07 15:11:47 +01:00
|
|
|
},
|
2023-06-01 02:05:35 +01:00
|
|
|
});
|