Merge pull request #157 from pluginpal/feature/node-zip

feat: use adm-zip instead of 'zip' command
pull/159/head
Boaz Poolman 2024-11-11 19:56:51 +01:00 committed by GitHub
commit 5e0ccf8e3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 8 deletions

View File

@ -47,6 +47,7 @@
"@strapi/design-system": "2.0.0-rc.11", "@strapi/design-system": "2.0.0-rc.11",
"@strapi/icons": "2.0.0-rc.11", "@strapi/icons": "2.0.0-rc.11",
"@strapi/utils": "5.2.0", "@strapi/utils": "5.2.0",
"adm-zip": "^0.5.16",
"chalk": "^4.1.2", "chalk": "^4.1.2",
"cli-table": "^0.3.6", "cli-table": "^0.3.6",
"commander": "^8.3.0", "commander": "^8.3.0",

View File

@ -3,7 +3,8 @@
import isEmpty from 'lodash/isEmpty'; import isEmpty from 'lodash/isEmpty';
import fs from 'fs'; import fs from 'fs';
import util from 'util'; import util from 'util';
import childProcess from "child_process"; import AdmZip from 'adm-zip';
import difference from '../utils/getObjectDiff'; import difference from '../utils/getObjectDiff';
import { logMessage } from '../utils'; import { logMessage } from '../utils';
@ -73,13 +74,12 @@ export default () => ({
* @returns {void} * @returns {void}
*/ */
zipConfigFiles: async () => { zipConfigFiles: async () => {
const fileName = `config-${new Date().toJSON()}.zip`; const fileName = `config-sync-${new Date().toJSON()}.zip`;
childProcess.execSync(`zip -r ${fileName} *`, {
cwd: strapi.config.get('plugin.config-sync.syncDir'), const zip = new AdmZip();
}); zip.addLocalFolder(strapi.config.get('plugin.config-sync.syncDir'));
const fullFilePath = `${strapi.config.get('plugin.config-sync.syncDir')}${fileName}`; const base64Data = zip.toBuffer().toString('base64');
const base64Data = fs.readFileSync(fullFilePath, { encoding: 'base64' });
fs.unlinkSync(fullFilePath);
return { base64Data, name: fileName, message: 'Success' }; return { base64Data, name: fileName, message: 'Success' };
}, },

View File

@ -3913,6 +3913,11 @@ addressparser@1.0.1:
resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746"
integrity sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg== integrity sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg==
adm-zip@^0.5.16:
version "0.5.16"
resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.16.tgz#0b5e4c779f07dedea5805cdccb1147071d94a909"
integrity sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==
aggregate-error@^3.0.0: aggregate-error@^3.0.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"