Add prefer-node-protocol ESLint rule (#21532)

* Add `unicorn/prefer-node-protocol`

* Fix `unicorn/prefer-node-protocol` ESLint errors

* Run `npm run format:fix`

* Add sandboxed-module sourceTransformers in mocha setups

Fix `no such file or directory, open 'node:fs'` in `sandboxed-module`

* Remove `node:` in the SandboxedModule requires

* Fix new linting errors with `node:`

GitOrigin-RevId: 68f6e31e2191fcff4cb8058dd0a6914c14f59926
This commit is contained in:
Antoine Clausse
2024-11-11 09:04:51 +00:00
committed by Copybot
parent 4563273396
commit 7f48c67512
217 changed files with 461 additions and 381 deletions
@@ -1,4 +1,4 @@
const { promisify } = require('util')
const { promisify } = require('node:util')
const { promisifyMultiResult } = require('@overleaf/promise-utils')
const Settings = require('@overleaf/settings')
const Errors = require('./Errors')
@@ -20,8 +20,8 @@ const pubsubClient = require('@overleaf/redis-wrapper').createClient(
)
const Keys = Settings.redis.documentupdater.key_schema
const logger = require('@overleaf/logger')
const os = require('os')
const crypto = require('crypto')
const os = require('node:os')
const crypto = require('node:crypto')
const metrics = require('./Metrics')
const HOST = os.hostname()
@@ -7,7 +7,7 @@ const OError = require('@overleaf/o-error')
const { promisifyAll } = require('@overleaf/promise-utils')
const metrics = require('./Metrics')
const Errors = require('./Errors')
const crypto = require('crypto')
const crypto = require('node:crypto')
const async = require('async')
const { docIsTooLarge } = require('./Limits')
@@ -16,10 +16,10 @@ const logger = require('@overleaf/logger')
const Settings = require('@overleaf/settings')
const { promisifyAll } = require('@overleaf/promise-utils')
const Keys = require('./UpdateKeys')
const { EventEmitter } = require('events')
const util = require('util')
const { EventEmitter } = require('node:events')
const util = require('node:util')
const RealTimeRedisManager = require('./RealTimeRedisManager')
const crypto = require('crypto')
const crypto = require('node:crypto')
const metrics = require('./Metrics')
const Errors = require('./Errors')
+1 -1
View File
@@ -24,5 +24,5 @@ module.exports = {
db,
ObjectId,
mongoClient,
healthCheck: require('util').callbackify(healthCheck),
healthCheck: require('node:util').callbackify(healthCheck),
}
@@ -22,7 +22,7 @@
// Actual storage is handled by the database wrappers in db/*, wrapped by DocCache
let Model
const { EventEmitter } = require('events')
const { EventEmitter } = require('node:events')
const queue = require('./syncqueue')
const types = require('../types')
@@ -22,7 +22,7 @@
// Actual storage is handled by the database wrappers in db/*, wrapped by DocCache
let Model
const { EventEmitter } = require('events')
const { EventEmitter } = require('node:events')
const queue = require('./syncqueue')
const types = require('../types')
@@ -1,5 +1,5 @@
const fs = require('fs')
const Path = require('path')
const fs = require('node:fs')
const Path = require('node:path')
const _ = require('lodash')
const logger = require('@overleaf/logger')
const OError = require('@overleaf/o-error')
@@ -6,7 +6,7 @@ const rclient = require('@overleaf/redis-wrapper').createClient(
const keys = Settings.redis.documentupdater.key_schema
const ProjectFlusher = require('app/js/ProjectFlusher')
const DocumentManager = require('app/js/DocumentManager')
const util = require('util')
const util = require('node:util')
const flushAndDeleteDocWithLock = util.promisify(
DocumentManager.flushAndDeleteDocWithLock
)
@@ -7,7 +7,7 @@ const keys = Settings.redis.documentupdater.key_schema
const ProjectFlusher = require('../app/js/ProjectFlusher')
const DocumentManager = require('../app/js/DocumentManager')
const { mongoClient, db, ObjectId } = require('../app/js/mongodb')
const util = require('util')
const util = require('node:util')
const flushAndDeleteDocWithLock = util.promisify(
DocumentManager.flushAndDeleteDocWithLock
)
@@ -7,7 +7,7 @@ const keys = Settings.redis.documentupdater.key_schema
const ProjectFlusher = require('../app/js/ProjectFlusher')
const RedisManager = require('../app/js/RedisManager')
const { mongoClient, db, ObjectId } = require('../app/js/mongodb')
const util = require('util')
const util = require('node:util')
const getDoc = util.promisify((projectId, docId, cb) =>
RedisManager.getDoc(projectId, docId, (err, ...args) => cb(err, args))
)
@@ -1,12 +1,12 @@
const MockWebApi = require('./helpers/MockWebApi')
const DocUpdaterClient = require('./helpers/DocUpdaterClient')
const DocUpdaterApp = require('./helpers/DocUpdaterApp')
const { promisify } = require('util')
const { exec } = require('child_process')
const { promisify } = require('node:util')
const { exec } = require('node:child_process')
const { expect } = require('chai')
const Settings = require('@overleaf/settings')
const fs = require('fs')
const Path = require('path')
const fs = require('node:fs')
const Path = require('node:path')
const MockDocstoreApi = require('./helpers/MockDocstoreApi')
const sinon = require('sinon')
+5
View File
@@ -33,6 +33,11 @@ SandboxedModule.configure({
'mongodb-legacy': require('mongodb-legacy'), // for ObjectId comparisons
},
globals: { Buffer, JSON, Math, console, process },
sourceTransformers: {
removeNodePrefix: function (source) {
return source.replace(/require\(['"]node:/g, "require('")
},
},
})
// Mocha hooks
@@ -15,7 +15,7 @@
*/
const DocUpdaterClient = require('../../acceptance/js/helpers/DocUpdaterClient')
// MockWebApi = require "../../acceptance/js/helpers/MockWebApi"
const assert = require('assert')
const assert = require('node:assert')
const async = require('async')
const insert = function (string, pos, content) {
@@ -3,7 +3,7 @@
*/
const SandboxedModule = require('sandboxed-module')
const sinon = require('sinon')
const modulePath = require('path').join(
const modulePath = require('node:path').join(
__dirname,
'../../../../app/js/HistoryManager'
)
@@ -10,8 +10,8 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const sinon = require('sinon')
const assert = require('assert')
const path = require('path')
const assert = require('node:assert')
const path = require('node:path')
const modulePath = path.join(__dirname, '../../../../app/js/LockManager.js')
const projectId = 1234
const docId = 5678
@@ -11,8 +11,8 @@
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const sinon = require('sinon')
const assert = require('assert')
const path = require('path')
const assert = require('node:assert')
const path = require('node:path')
const modulePath = path.join(__dirname, '../../../../app/js/LockManager.js')
const projectId = 1234
const docId = 5678
@@ -2,7 +2,7 @@ const sinon = require('sinon')
const { expect } = require('chai')
const SandboxedModule = require('sandboxed-module')
const Errors = require('../../../../app/js/Errors')
const crypto = require('crypto')
const crypto = require('node:crypto')
const tk = require('timekeeper')
const MODULE_PATH = '../../../../app/js/RedisManager.js'
@@ -12,7 +12,7 @@
const sinon = require('sinon')
const modulePath = '../../../../app/js/ShareJsUpdateManager.js'
const SandboxedModule = require('sandboxed-module')
const crypto = require('crypto')
const crypto = require('node:crypto')
describe('ShareJsUpdateManager', function () {
beforeEach(function () {