diff --git a/demo/browser-demo.html b/demo/browser-demo.html
index 2c6418c424..66a7476ff4 100644
--- a/demo/browser-demo.html
+++ b/demo/browser-demo.html
@@ -1,7 +1,7 @@
-
+
diff --git a/demo/index.ts b/demo/index.ts
index 0f8a77e19e..e705914ffd 100644
--- a/demo/index.ts
+++ b/demo/index.ts
@@ -5,9 +5,9 @@ import inquirer from "inquirer";
import { $ } from "execa";
export type Answers = {
- type: "list" | "number";
- demoNumber?: number;
- demoFile?: number;
+ readonly type: "list" | "number";
+ readonly demoNumber?: number;
+ readonly demoFile?: number;
};
const dir = "./demo";
@@ -15,8 +15,7 @@ const fileNames = fs.readdirSync(dir);
const keys = fileNames.map((f) => path.parse(f).name);
const getFileNumber = (file: string): number => {
- const nameParts = file.split("-");
- const firstPart = nameParts[0];
+ const [firstPart] = file.split("-");
return Number(firstPart);
};
@@ -35,15 +34,15 @@ const answers = await inquirer.prompt([
name: "demoFile",
message: "What demo do you wish to run?",
choices: demoFiles,
- filter: (input) => parseInt(input.split("-")[0]),
- when: (answers) => answers.type === "list",
+ filter: (input) => parseInt(input.split("-")[0], 10),
+ when: (a) => a.type === "list",
},
{
type: "number",
name: "demoNumber",
message: "What demo do you wish to run? (Enter a number)",
default: 1,
- when: (answers) => answers.type === "number",
+ when: (a) => a.type === "number",
},
]);
@@ -56,6 +55,7 @@ if (files.length === 0) {
const filePath = path.join(dir, files[0]);
console.log(`Running demo ${demoNumber}: ${files[0]}`);
- await $`ts-node --project demo/tsconfig.json ${filePath}`;
+ const { stdout } = await $`ts-node --project demo/tsconfig.json ${filePath}`;
+ console.log(stdout);
console.log("Successfully created document!");
}
diff --git a/package-lock.json b/package-lock.json
index cb5b638034..457d12aebb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,7 +10,6 @@
"license": "MIT",
"dependencies": {
"@types/node": "^20.3.1",
- "fflate": "^0.8.0",
"jszip": "^3.10.1",
"nanoid": "^4.0.2",
"xml": "^1.0.1",
@@ -5975,11 +5974,6 @@
"reusify": "^1.0.4"
}
},
- "node_modules/fflate": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.0.tgz",
- "integrity": "sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg=="
- },
"node_modules/figlet": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz",
@@ -16784,11 +16778,6 @@
"reusify": "^1.0.4"
}
},
- "fflate": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.0.tgz",
- "integrity": "sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg=="
- },
"figlet": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/figlet/-/figlet-1.5.2.tgz",
diff --git a/package.json b/package.json
index 6f9be4d371..87b4feed65 100644
--- a/package.json
+++ b/package.json
@@ -3,13 +3,13 @@
"version": "8.2.0",
"description": "Easily generate .docx files with JS/TS with a nice declarative API. Works for Node and on the Browser.",
"type": "module",
- "main": "build/index.umd.cjs",
+ "main": "build/index.umd.js",
"module": "./build/index.js",
"types": "./build/index.d.ts",
"exports": {
".": {
"browser": {
- "default": "./build/index.umd.cjs"
+ "default": "./build/index.umd.js"
},
"require": "./build/index.cjs",
"types": "./build/index.d.ts",
@@ -58,7 +58,6 @@
],
"dependencies": {
"@types/node": "^20.3.1",
- "fflate": "^0.8.0",
"jszip": "^3.10.1",
"nanoid": "^4.0.2",
"xml": "^1.0.1",
diff --git a/src/patcher/from-docx.ts b/src/patcher/from-docx.ts
index 3990a7b93d..becfccf381 100644
--- a/src/patcher/from-docx.ts
+++ b/src/patcher/from-docx.ts
@@ -53,7 +53,7 @@ export interface PatchDocumentOptions {
const imageReplacer = new ImageReplacer();
-export const patchDocument = async (data: InputDataType, options: PatchDocumentOptions): Promise => {
+export const patchDocument = async (data: InputDataType, options: PatchDocumentOptions): Promise => {
const zipContent = await JSZip.loadAsync(data);
const contexts = new Map();
const file = {
@@ -213,7 +213,7 @@ export const patchDocument = async (data: InputDataType, options: PatchDocumentO
}
return zip.generateAsync({
- type: "nodebuffer",
+ type: "uint8array",
mimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
compression: "DEFLATE",
});
diff --git a/vite.config.ts b/vite.config.ts
index 84187d6a77..c40d183673 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -10,6 +10,9 @@ export default defineConfig({
dts(),
nodePolyfills({
exclude: ["fs"],
+ globals: {
+ Buffer: false,
+ },
protocolImports: true,
}),
],
@@ -26,7 +29,25 @@ export default defineConfig({
lib: {
entry: [resolve(__dirname, "src/index.ts")],
name: "docx",
- fileName: "index",
+ fileName: (d) => {
+ if (d === "umd") {
+ return "index.umd.js";
+ }
+
+ if (d === "cjs") {
+ return "index.cjs";
+ }
+
+ if (d === "es") {
+ return "index.js";
+ }
+
+ if (d === "iife") {
+ return "index.iife.js";
+ }
+
+ return "unknown";
+ },
formats: ["iife", "es", "cjs", "umd"],
},
outDir: resolve(__dirname, "build"),