diff --git a/package-lock.json b/package-lock.json index f0cac5a..a138536 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "bcryptjs": "^3.0.2", "better-sqlite3": "^11.10.0", "date-fns": "^4.1.0", + "docxtemplater": "^3.67.6", "exceljs": "^4.4.0", "html2canvas": "^1.4.1", "jspdf": "^3.0.3", @@ -20,6 +21,7 @@ "next": "15.1.11", "next-auth": "^5.0.0-beta.29", "node-fetch": "^3.3.2", + "pizzip": "^3.2.0", "proj4": "^2.19.3", "proj4leaflet": "^1.0.2", "react": "^19.0.0", @@ -3015,6 +3017,15 @@ "win32" ] }, + "node_modules/@xmldom/xmldom": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.8.tgz", + "integrity": "sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==", + "license": "MIT", + "engines": { + "node": ">=14.6" + } + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -4940,6 +4951,18 @@ "node": ">=0.10.0" } }, + "node_modules/docxtemplater": { + "version": "3.67.6", + "resolved": "https://registry.npmjs.org/docxtemplater/-/docxtemplater-3.67.6.tgz", + "integrity": "sha512-IvdTz9druTlQrsB0zlqvAqrImEydFgtvHp0uUnx+hQ9W4hmBsorrJIBJKCfkhK6QRz/jpJnA6BaTd6rEK6/Usw==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.9.8" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/dom-accessibility-api": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", @@ -9382,6 +9405,15 @@ "node": ">= 6" } }, + "node_modules/pizzip": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pizzip/-/pizzip-3.2.0.tgz", + "integrity": "sha512-X4NPNICxCfIK8VYhF6wbksn81vTiziyLbvKuORVAmolvnUzl1A1xmz9DAWKxPRq9lZg84pJOOAMq3OE61bD8IQ==", + "license": "(MIT OR GPL-3.0)", + "dependencies": { + "pako": "^2.1.0" + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -14585,6 +14617,11 @@ "dev": true, "optional": true }, + "@xmldom/xmldom": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.8.tgz", + "integrity": "sha512-p96FSY54r+WJ50FIOsCOjyj/wavs8921hG5+kVMmZgKcvIKxMXHTrjNJvRgWa/zuX3B6t2lijLNFaOyuxUH+2A==" + }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -15912,6 +15949,14 @@ "esutils": "^2.0.2" } }, + "docxtemplater": { + "version": "3.67.6", + "resolved": "https://registry.npmjs.org/docxtemplater/-/docxtemplater-3.67.6.tgz", + "integrity": "sha512-IvdTz9druTlQrsB0zlqvAqrImEydFgtvHp0uUnx+hQ9W4hmBsorrJIBJKCfkhK6QRz/jpJnA6BaTd6rEK6/Usw==", + "requires": { + "@xmldom/xmldom": "^0.9.8" + } + }, "dom-accessibility-api": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", @@ -19051,6 +19096,14 @@ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true }, + "pizzip": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/pizzip/-/pizzip-3.2.0.tgz", + "integrity": "sha512-X4NPNICxCfIK8VYhF6wbksn81vTiziyLbvKuORVAmolvnUzl1A1xmz9DAWKxPRq9lZg84pJOOAMq3OE61bD8IQ==", + "requires": { + "pako": "^2.1.0" + } + }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", diff --git a/package.json b/package.json index e86fd21..bef862f 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "bcryptjs": "^3.0.2", "better-sqlite3": "^11.10.0", "date-fns": "^4.1.0", + "docxtemplater": "^3.67.6", "exceljs": "^4.4.0", "html2canvas": "^1.4.1", "jspdf": "^3.0.3", @@ -29,6 +30,7 @@ "next": "15.1.11", "next-auth": "^5.0.0-beta.29", "node-fetch": "^3.3.2", + "pizzip": "^3.2.0", "proj4": "^2.19.3", "proj4leaflet": "^1.0.2", "react": "^19.0.0",