diff --git a/app.js b/app.js index 996c01d6..d2989b9e 100644 --- a/app.js +++ b/app.js @@ -274,7 +274,7 @@ app.use(require('./lib/web/baseRouter')) app.use(require('./lib/web/statusRouter')) app.use(require('./lib/web/auth')) app.use(require('./lib/web/historyRouter')) -app.use(require('./lib/web/userRouter')) +app.use(require('./lib/web/userRouter').default) app.use(require('./lib/web/imageRouter').default) app.use(require('./lib/web/note/router')) diff --git a/lib/web/userRouter.js b/lib/web/userRouter.js index 5d20a019..bdaab12f 100644 --- a/lib/web/userRouter.js +++ b/lib/web/userRouter.js @@ -1,6 +1,9 @@ 'use strict' -const archiver = require('archiver') +import { ZipArchive } from 'archiver' +import { createRequire } from 'module' +const require = createRequire(import.meta.url) + const sanitizeFilename = require('sanitize-filename') const async = require('async') const Router = require('express').Router @@ -11,7 +14,8 @@ const models = require('../models') const logger = require('../logger') const { generateAvatar } = require('../letter-avatars') -const UserRouter = module.exports = Router() +const UserRouter = Router() +export default UserRouter // get me info UserRouter.get('/me', function (req, res) { @@ -71,7 +75,7 @@ UserRouter.get('/me/delete/:token?', function (req, res) { UserRouter.get('/me/export', function (req, res) { if (req.isAuthenticated()) { // let output = fs.createWriteStream(__dirname + '/example.zip'); - const archive = archiver('zip', { + const archive = new ZipArchive({ zlib: { level: 3 } // Sets the compression level. }) res.setHeader('Content-Type', 'application/zip') diff --git a/package.json b/package.json index 85c92eb0..4a9fd7d4 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@node-saml/passport-saml": "5.1.0", "@passport-next/passport-openid": "1.0.0", "Idle.Js": "git+https://github.com/shawnmclean/Idle.js#commit=2b57cc6e49d177b7ddce0cca00ef5cbe07453541", - "archiver": "7.0.1", + "archiver": "8.0.0", "async": "3.2.6", "aws-sdk": "2.1693.0", "azure-storage": "2.10.7", diff --git a/yarn.lock b/yarn.lock index f8715d41..7826b562 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1523,7 +1523,7 @@ __metadata: "@passport-next/passport-openid": "npm:1.0.0" Idle.Js: "git+https://github.com/shawnmclean/Idle.js#commit=2b57cc6e49d177b7ddce0cca00ef5cbe07453541" abcjs: "npm:6.7.0" - archiver: "npm:7.0.1" + archiver: "npm:8.0.0" async: "npm:3.2.6" aws-sdk: "npm:2.1693.0" azure-storage: "npm:2.10.7" @@ -1951,33 +1951,20 @@ __metadata: languageName: node linkType: hard -"archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2": - version: 5.0.2 - resolution: "archiver-utils@npm:5.0.2" +"archiver@npm:8.0.0": + version: 8.0.0 + resolution: "archiver@npm:8.0.0" dependencies: - glob: "npm:^10.0.0" - graceful-fs: "npm:^4.2.0" - is-stream: "npm:^2.0.1" - lazystream: "npm:^1.0.0" - lodash: "npm:^4.17.15" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - checksum: 10/9dde4aa3f0cb1bdfe0b3d4c969f82e6cca9ae76338b7fee6f0071a14a2a38c0cdd1c41ecd3e362466585aa6cc5d07e9e435abea8c94fd9c7ace35f184abef9e4 - languageName: node - linkType: hard - -"archiver@npm:7.0.1": - version: 7.0.1 - resolution: "archiver@npm:7.0.1" - dependencies: - archiver-utils: "npm:^5.0.2" async: "npm:^3.2.4" buffer-crc32: "npm:^1.0.0" + is-stream: "npm:^4.0.0" + lazystream: "npm:^1.0.0" + normalize-path: "npm:^3.0.0" readable-stream: "npm:^4.0.0" - readdir-glob: "npm:^1.1.2" + readdir-glob: "npm:^3.0.0" tar-stream: "npm:^3.0.0" - zip-stream: "npm:^6.0.1" - checksum: 10/81c6102db99d7ffd5cb2aed02a678f551c6603991a059ca66ef59249942b835a651a3d3b5240af4f8bec4e61e13790357c9d1ad4a99982bd2cc4149575c31d67 + zip-stream: "npm:^7.0.2" + checksum: 10/d86b4de7c8cd49dc980194a9ce3b7bc09354082d080e063d289d5d588a8846c4ac970eff3fcc52abe458d8fea95391c737cdadb4d015abb4433598b1f84cd22f languageName: node linkType: hard @@ -4238,16 +4225,16 @@ __metadata: languageName: node linkType: hard -"compress-commons@npm:^6.0.2": - version: 6.0.2 - resolution: "compress-commons@npm:6.0.2" +"compress-commons@npm:^7.0.0": + version: 7.0.1 + resolution: "compress-commons@npm:7.0.1" dependencies: crc-32: "npm:^1.2.0" - crc32-stream: "npm:^6.0.0" - is-stream: "npm:^2.0.1" + crc32-stream: "npm:^7.0.1" + is-stream: "npm:^4.0.0" normalize-path: "npm:^3.0.0" readable-stream: "npm:^4.0.0" - checksum: 10/78e3ba10aeef919a1c5bbac21e120f3e1558a31b2defebbfa1635274fc7f7e8a3a0ee748a06249589acd0b33a0d58144b8238ff77afc3220f8d403a96fcc13aa + checksum: 10/512736ab74efbe08c8d0aaaa14ecede33d25c476204722ab0f9ab6f0989fe8cb1f81aca09356102a1c671ea122fc33f47cb6419ff7af598c3a730a218253a533 languageName: node linkType: hard @@ -4518,13 +4505,13 @@ __metadata: languageName: node linkType: hard -"crc32-stream@npm:^6.0.0": - version: 6.0.0 - resolution: "crc32-stream@npm:6.0.0" +"crc32-stream@npm:^7.0.1": + version: 7.0.1 + resolution: "crc32-stream@npm:7.0.1" dependencies: crc-32: "npm:^1.2.0" readable-stream: "npm:^4.0.0" - checksum: 10/e6edc2f81bc387daef6d18b2ac18c2ffcb01b554d3b5c7d8d29b177505aafffba574658fdd23922767e8dab1183d1962026c98c17e17fb272794c33293ef607c + checksum: 10/2866f36241996c8024ee86049ec2213e538e44fd0a54869fadb75b68fef53c65f2f5ccb0bbf82735aeaf919c5b246b3a0f0023c1f132295bd928bad241b08d70 languageName: node linkType: hard @@ -7927,7 +7914,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.4, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.4, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -9081,13 +9068,20 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^2.0.0, is-stream@npm:^2.0.1": +"is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" checksum: 10/b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 languageName: node linkType: hard +"is-stream@npm:^4.0.0": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 10/cbea3f1fc271b21ceb228819d0c12a0965a02b57f39423925f99530b4eb86935235f258f06310b67cd02b2d10b49e9a0998f5ececf110ab7d3760bae4055ad23 + languageName: node + linkType: hard + "is-string@npm:^1.1.1": version: 1.1.1 resolution: "is-string@npm:1.1.1" @@ -10937,7 +10931,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": +"minimatch@npm:^5.0.1": version: 5.1.9 resolution: "minimatch@npm:5.1.9" dependencies: @@ -13575,12 +13569,12 @@ __metadata: languageName: node linkType: hard -"readdir-glob@npm:^1.1.2": - version: 1.1.3 - resolution: "readdir-glob@npm:1.1.3" +"readdir-glob@npm:^3.0.0": + version: 3.0.0 + resolution: "readdir-glob@npm:3.0.0" dependencies: - minimatch: "npm:^5.1.0" - checksum: 10/ca3a20aa1e715d671302d4ec785a32bf08e59d6d0dd25d5fc03e9e5a39f8c612cdf809ab3e638a79973db7ad6868492edf38504701e313328e767693671447d6 + minimatch: "npm:^10.2.2" + checksum: 10/438c23cc94d5ca0ca8266c7547f6aeb8cd556004994b8ac96e341c0b89162dceca8edd191b3259f204662c4d24ec37ad36a9228a993f1b0e19de0427550dc37e languageName: node linkType: hard @@ -17896,14 +17890,14 @@ __metadata: languageName: node linkType: hard -"zip-stream@npm:^6.0.1": - version: 6.0.1 - resolution: "zip-stream@npm:6.0.1" +"zip-stream@npm:^7.0.2": + version: 7.0.5 + resolution: "zip-stream@npm:7.0.5" dependencies: - archiver-utils: "npm:^5.0.0" - compress-commons: "npm:^6.0.2" + compress-commons: "npm:^7.0.0" + normalize-path: "npm:^3.0.0" readable-stream: "npm:^4.0.0" - checksum: 10/aa5abd6a89590eadeba040afbc375f53337f12637e5e98330012a12d9886cde7a3ccc28bd91aafab50576035bbb1de39a9a316eecf2411c8b9009c9f94f0db27 + checksum: 10/6c9d870fca394fb17e2f4197569757e940c2c03c01922abf496024f11e0b9c1c3dd08ce75dc33f56fd3a12c071e78a6128d4d674cde680d2daf55a1a01b018ac languageName: node linkType: hard