mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Merge pull request #11160 from overleaf/msm-replace-uuid-crypto
Replace `uuid`/`node-uuid` with `node:crypto` GitOrigin-RevId: 1be4f09c4681edac7e8bc58af3b5726d0d5ee322
This commit is contained in:
parent
ed9bd54836
commit
8b723c5363
11 changed files with 31 additions and 89 deletions
75
package-lock.json
generated
75
package-lock.json
generated
|
@ -23711,15 +23711,6 @@
|
|||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA=="
|
||||
},
|
||||
"node_modules/node-uuid": {
|
||||
"version": "1.4.8",
|
||||
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
|
||||
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",
|
||||
"deprecated": "Use uuid module instead",
|
||||
"bin": {
|
||||
"uuid": "bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/nodemailer": {
|
||||
"version": "6.7.2",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
|
||||
|
@ -33546,7 +33537,6 @@
|
|||
"glob": "^7.1.6",
|
||||
"lodash.once": "^4.1.1",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-uuid": "~1.4.8",
|
||||
"range-parser": "^1.2.1",
|
||||
"stream-buffers": "~0.2.6",
|
||||
"tiny-async-pool": "^1.1.0"
|
||||
|
@ -34237,8 +34227,7 @@
|
|||
"overleaf-editor-core": "*",
|
||||
"redis": "~0.10.1",
|
||||
"request": "^2.88.2",
|
||||
"requestretry": "^1.12.2",
|
||||
"uuid": "^9.0.0"
|
||||
"requestretry": "^1.12.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^4.3.6",
|
||||
|
@ -34689,14 +34678,6 @@
|
|||
"node": ">=0.6"
|
||||
}
|
||||
},
|
||||
"services/project-history/node_modules/uuid": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"services/real-time": {
|
||||
"name": "@overleaf/real-time",
|
||||
"dependencies": {
|
||||
|
@ -34776,8 +34757,7 @@
|
|||
"ioredis": "^4.16.1",
|
||||
"lodash": "^4.17.19",
|
||||
"request": "^2.88.2",
|
||||
"underscore": "^1.10.2",
|
||||
"uuid": "^7.0.3"
|
||||
"underscore": "^1.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bson": "^1.1.5",
|
||||
|
@ -34788,14 +34768,6 @@
|
|||
"sinon": "^9.2.4"
|
||||
}
|
||||
},
|
||||
"services/references/node_modules/uuid": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
|
||||
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"services/spelling": {
|
||||
"name": "@overleaf/spelling",
|
||||
"version": "0.1.4",
|
||||
|
@ -35088,8 +35060,7 @@
|
|||
"mongodb": "^4.11.0",
|
||||
"node-fetch": "^2.6.7",
|
||||
"p-limit": "^2.3.0",
|
||||
"request": "^2.88.2",
|
||||
"uuid": "^8.3.2"
|
||||
"request": "^2.88.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^4.3.6",
|
||||
|
@ -35225,14 +35196,6 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"services/third-party-datastore/node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"services/third-party-datastore/node_modules/yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
|
@ -44447,7 +44410,6 @@
|
|||
"mocha": "^10.2.0",
|
||||
"mongodb": "^3.5.9",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-uuid": "~1.4.8",
|
||||
"range-parser": "^1.2.1",
|
||||
"sandboxed-module": "2.0.4",
|
||||
"sinon": "9.0.2",
|
||||
|
@ -44966,8 +44928,7 @@
|
|||
"requestretry": "^1.12.2",
|
||||
"sinon": "~9.0.1",
|
||||
"sinon-chai": "^3.7.0",
|
||||
"timekeeper": "2.2.0",
|
||||
"uuid": "^9.0.0"
|
||||
"timekeeper": "2.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hapi/address": {
|
||||
|
@ -45322,11 +45283,6 @@
|
|||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
|
||||
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
|
||||
},
|
||||
"uuid": {
|
||||
"version": "9.0.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -45431,15 +45387,7 @@
|
|||
"request": "^2.88.2",
|
||||
"sandboxed-module": "^2.0.4",
|
||||
"sinon": "^9.2.4",
|
||||
"underscore": "^1.10.2",
|
||||
"uuid": "^7.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"uuid": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz",
|
||||
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
|
||||
}
|
||||
"underscore": "^1.10.2"
|
||||
}
|
||||
},
|
||||
"@overleaf/settings": {
|
||||
|
@ -45707,8 +45655,7 @@
|
|||
"sandboxed-module": "^2.0.4",
|
||||
"sinon": "9.0.1",
|
||||
"sinon-chai": "^3.7.0",
|
||||
"sinon-stub-promise": "^4.0.0",
|
||||
"uuid": "^8.3.2"
|
||||
"sinon-stub-promise": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bson": {
|
||||
|
@ -45793,11 +45740,6 @@
|
|||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
|
@ -61450,11 +61392,6 @@
|
|||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA=="
|
||||
},
|
||||
"node-uuid": {
|
||||
"version": "1.4.8",
|
||||
"resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",
|
||||
"integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc="
|
||||
},
|
||||
"nodemailer": {
|
||||
"version": "6.7.2",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const fs = require('fs')
|
||||
const uuid = require('node-uuid')
|
||||
const crypto = require('crypto')
|
||||
const path = require('path')
|
||||
const Stream = require('stream')
|
||||
const { callbackify, promisify } = require('util')
|
||||
|
@ -49,7 +49,7 @@ async function deleteFile(fsPath) {
|
|||
|
||||
function _getPath(key) {
|
||||
if (key == null) {
|
||||
key = uuid.v1()
|
||||
key = crypto.randomUUID()
|
||||
}
|
||||
key = key.replace(/\//g, '-')
|
||||
return path.join(Settings.path.uploadFolder, key)
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
"glob": "^7.1.6",
|
||||
"lodash.once": "^4.1.1",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-uuid": "~1.4.8",
|
||||
"range-parser": "^1.2.1",
|
||||
"stream-buffers": "~0.2.6",
|
||||
"tiny-async-pool": "^1.1.0"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||
*/
|
||||
import fs from 'fs'
|
||||
import { v1 as uuid } from 'uuid'
|
||||
import { randomUUID } from 'crypto'
|
||||
import Path from 'path'
|
||||
import logger from '@overleaf/logger'
|
||||
import OError from '@overleaf/o-error'
|
||||
|
@ -27,7 +27,7 @@ export function createStub(fsPath, fileId, fileSize, fileHash, callback) {
|
|||
callback = _.once(callback)
|
||||
const newFsPath = Path.join(
|
||||
Settings.path.uploadFolder,
|
||||
uuid() + `-${fileId}-stub`
|
||||
randomUUID() + `-${fileId}-stub`
|
||||
)
|
||||
const writeStream = fs.createWriteStream(newFsPath)
|
||||
writeStream.on('error', function (error) {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
|
||||
*/
|
||||
import fs from 'fs'
|
||||
import { v1 as uuid } from 'uuid'
|
||||
import { randomUUID } from 'crypto'
|
||||
import path from 'path'
|
||||
import Url from 'url'
|
||||
import _ from 'lodash'
|
||||
|
@ -42,7 +42,10 @@ export function bufferOnDisk(inStream, fileId, consumeOutStream, callback) {
|
|||
// capture the stream url for logging
|
||||
const url = inStream.uri && Url.format(inStream.uri)
|
||||
|
||||
const fsPath = path.join(Settings.path.uploadFolder, uuid() + `-${fileId}`)
|
||||
const fsPath = path.join(
|
||||
Settings.path.uploadFolder,
|
||||
randomUUID() + `-${fileId}`
|
||||
)
|
||||
|
||||
let cleaningUp = false
|
||||
const cleanup = _.once((streamError, res) => {
|
||||
|
|
|
@ -42,8 +42,7 @@
|
|||
"overleaf-editor-core": "*",
|
||||
"redis": "~0.10.1",
|
||||
"request": "^2.88.2",
|
||||
"requestretry": "^1.12.2",
|
||||
"uuid": "^9.0.0"
|
||||
"requestretry": "^1.12.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^4.3.6",
|
||||
|
|
|
@ -3,7 +3,7 @@ const UserAnalyticsIdCache = require('./UserAnalyticsIdCache')
|
|||
const Settings = require('@overleaf/settings')
|
||||
const Metrics = require('../../infrastructure/Metrics')
|
||||
const Queues = require('../../infrastructure/Queues')
|
||||
const uuid = require('uuid')
|
||||
const crypto = require('crypto')
|
||||
const _ = require('lodash')
|
||||
const { expressify } = require('../../util/promises')
|
||||
const { logger } = require('@overleaf/logger')
|
||||
|
@ -288,7 +288,7 @@ async function analyticsIdMiddleware(req, res, next) {
|
|||
session.analyticsId = getAnalyticsIdFromMongoUser(sessionUser)
|
||||
} else if (!session.analyticsId) {
|
||||
// generate an `analyticsId` if needed
|
||||
session.analyticsId = uuid.v4()
|
||||
session.analyticsId = crypto.randomUUID()
|
||||
}
|
||||
|
||||
next()
|
||||
|
|
|
@ -24,7 +24,7 @@ const logger = require('@overleaf/logger')
|
|||
const request = require('request')
|
||||
const fetch = require('node-fetch')
|
||||
const settings = require('@overleaf/settings')
|
||||
const uuid = require('uuid')
|
||||
const crypto = require('crypto')
|
||||
const Errors = require('../Errors/Errors')
|
||||
const _ = require('underscore')
|
||||
|
||||
|
@ -59,7 +59,7 @@ const TemplatesManager = {
|
|||
}
|
||||
|
||||
const projectName = ProjectDetailsHandler.fixProjectName(templateName)
|
||||
const dumpPath = `${settings.path.dumpFolder}/${uuid.v4()}`
|
||||
const dumpPath = `${settings.path.dumpFolder}/${crypto.randomUUID()}`
|
||||
const writeStream = fs.createWriteStream(dumpPath)
|
||||
const attributes = {
|
||||
fromV1TemplateId: templateId,
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
const fs = require('fs')
|
||||
const OError = require('@overleaf/o-error')
|
||||
const logger = require('@overleaf/logger')
|
||||
const uuid = require('uuid')
|
||||
const crypto = require('crypto')
|
||||
const _ = require('underscore')
|
||||
const Settings = require('@overleaf/settings')
|
||||
const request = require('request')
|
||||
|
@ -82,7 +82,9 @@ const FileWriter = {
|
|||
callback = function () {}
|
||||
}
|
||||
callback = _.once(callback)
|
||||
const fsPath = `${Settings.path.dumpFolder}/${identifier}_${uuid.v4()}`
|
||||
const fsPath = `${
|
||||
Settings.path.dumpFolder
|
||||
}/${identifier}_${crypto.randomUUID()}`
|
||||
return FileWriter.ensureDumpFolderExists(function (error) {
|
||||
if (error != null) {
|
||||
return callback(error)
|
||||
|
@ -106,7 +108,9 @@ const FileWriter = {
|
|||
}
|
||||
options = options || {}
|
||||
|
||||
const fsPath = `${Settings.path.dumpFolder}/${identifier}_${uuid.v4()}`
|
||||
const fsPath = `${
|
||||
Settings.path.dumpFolder
|
||||
}/${identifier}_${crypto.randomUUID()}`
|
||||
|
||||
stream.pause()
|
||||
|
||||
|
|
|
@ -279,8 +279,8 @@ describe('AnalyticsManager', function () {
|
|||
},
|
||||
},
|
||||
'./UserAnalyticsIdCache': {},
|
||||
uuid: {
|
||||
v4: () => this.analyticsId,
|
||||
crypto: {
|
||||
randomUUID: () => this.analyticsId,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
|
@ -88,8 +88,8 @@ describe('TemplatesManager', function () {
|
|||
host: this.v1Url,
|
||||
},
|
||||
},
|
||||
uuid: {
|
||||
v4: () => this.uuid,
|
||||
crypto: {
|
||||
randomUUID: () => this.uuid,
|
||||
},
|
||||
request: this.request,
|
||||
fs: this.fs,
|
||||
|
|
Loading…
Reference in a new issue