diff --git a/build.js b/build.js index c3b7390..90d65ae 100755 --- a/build.js +++ b/build.js @@ -4,6 +4,7 @@ const fs = require('@npmcli/fs'); const util = require('util'); const exec = util.promisify(require('child_process').exec); +const AdmZip = require('adm-zip'); const DEST = 'keepassxc-browser'; const DEFAULT = 'manifest_default.json'; @@ -41,7 +42,9 @@ const updateTranslations = async () => { }; const createZipFile = async (fileName, path) => { - await exec(`cd ${path} && tar -a -cf ../${fileName} * && cd ..`); + const zip = new AdmZip(); + zip.addLocalFolder(path, './'); + zip.writeZip(fileName); }; (async() => { diff --git a/package-lock.json b/package-lock.json index 6598e36..2123d06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "devDependencies": { "@playwright/test": "^1.45.1", "@types/node": "^20.14.10", + "adm-zip": "^0.5.16", "eslint": "^8.49.0" } }, @@ -214,6 +215,16 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1381,6 +1392,12 @@ "dev": true, "requires": {} }, + "adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "dev": true + }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", diff --git a/package.json b/package.json index 4d425d6..2d73765 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "devDependencies": { "@playwright/test": "^1.45.1", "@types/node": "^20.14.10", + "adm-zip": "^0.5.16", "eslint": "^8.49.0" }, "dependencies": {