mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
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:
@@ -1,5 +1,5 @@
|
||||
const { promisify } = require('util')
|
||||
const crypto = require('crypto')
|
||||
const { promisify } = require('node:util')
|
||||
const crypto = require('node:crypto')
|
||||
|
||||
const ALGORITHM = 'aes-256-ctr'
|
||||
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
const chai = require('chai')
|
||||
const chaiAsPromised = require('chai-as-promised')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
|
||||
chai.use(chaiAsPromised)
|
||||
|
||||
SandboxedModule.configure({
|
||||
sourceTransformers: {
|
||||
removeNodePrefix: function (source) {
|
||||
return source.replace(/require\(['"]node:/g, "require('")
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const _ = require('lodash')
|
||||
const { Readable } = require('stream')
|
||||
const { Readable } = require('node:stream')
|
||||
const OError = require('@overleaf/o-error')
|
||||
const fetch = require('node-fetch')
|
||||
const http = require('http')
|
||||
const https = require('https')
|
||||
const http = require('node:http')
|
||||
const https = require('node:https')
|
||||
|
||||
/**
|
||||
* @import { Response } from 'node-fetch'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const { expect } = require('chai')
|
||||
const { FetchError, AbortError } = require('node-fetch')
|
||||
const { Readable } = require('stream')
|
||||
const { once } = require('events')
|
||||
const { Readable } = require('node:stream')
|
||||
const { once } = require('node:events')
|
||||
const { TestServer } = require('./helpers/TestServer')
|
||||
const selfsigned = require('selfsigned')
|
||||
const {
|
||||
@@ -24,7 +24,7 @@ const pems = selfsigned.generate(attrs, { days: 365 })
|
||||
const PRIVATE_KEY = pems.private
|
||||
const PUBLIC_CERT = pems.cert
|
||||
|
||||
const dns = require('dns')
|
||||
const dns = require('node:dns')
|
||||
const _originalLookup = dns.lookup
|
||||
// Custom DNS resolver function
|
||||
dns.lookup = (hostname, options, callback) => {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const express = require('express')
|
||||
const bodyParser = require('body-parser')
|
||||
const { EventEmitter } = require('events')
|
||||
const http = require('http')
|
||||
const https = require('https')
|
||||
const { promisify } = require('util')
|
||||
const { EventEmitter } = require('node:events')
|
||||
const http = require('node:http')
|
||||
const https = require('node:https')
|
||||
const { promisify } = require('node:util')
|
||||
|
||||
class TestServer {
|
||||
constructor() {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const { fetchString } = require('@overleaf/fetch-utils')
|
||||
const fs = require('fs')
|
||||
const fs = require('node:fs')
|
||||
|
||||
class LogLevelChecker {
|
||||
constructor(logger, defaultLevel) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const Stream = require('stream')
|
||||
const Stream = require('node:stream')
|
||||
const bunyan = require('bunyan')
|
||||
const GCPManager = require('./gcp-manager')
|
||||
const SentryManager = require('./sentry-manager')
|
||||
|
||||
@@ -8,4 +8,9 @@ chai.use(sinonChai)
|
||||
|
||||
SandboxedModule.configure({
|
||||
globals: { Buffer, JSON, console, process },
|
||||
sourceTransformers: {
|
||||
removeNodePrefix: function (source) {
|
||||
return source.replace(/require\(['"]node:/g, "require('")
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const Path = require('path')
|
||||
const { promisify } = require('util')
|
||||
const Path = require('node:path')
|
||||
const { promisify } = require('node:util')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const sinon = require('sinon')
|
||||
const { expect } = require('chai')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const bunyan = require('bunyan')
|
||||
const { expect } = require('chai')
|
||||
const path = require('path')
|
||||
const path = require('node:path')
|
||||
const sinon = require('sinon')
|
||||
|
||||
const MODULE_PATH = path.join(__dirname, '../../logging-manager.js')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const Path = require('path')
|
||||
const Path = require('node:path')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const { expect } = require('chai')
|
||||
const sinon = require('sinon')
|
||||
|
||||
@@ -88,7 +88,7 @@ function initializeProfileAgent() {
|
||||
}
|
||||
|
||||
function initializePrometheus() {
|
||||
const os = require('os')
|
||||
const os = require('node:os')
|
||||
const promClient = require('prom-client')
|
||||
promClient.register.setDefaultLabels({ app: APP_NAME, host: os.hostname() })
|
||||
promClient.collectDefaultMetrics({ timeout: 5000, prefix: '' })
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
* logged along with the corresponding information from /proc/net/tcp.
|
||||
*/
|
||||
|
||||
const fs = require('fs')
|
||||
const diagnosticsChannel = require('diagnostics_channel')
|
||||
const fs = require('node:fs')
|
||||
const diagnosticsChannel = require('node:diagnostics_channel')
|
||||
|
||||
const SOCKET_MONITOR_INTERVAL = 60 * 1000
|
||||
// set the threshold for logging leaked sockets in minutes, defaults to 15
|
||||
|
||||
@@ -11,13 +11,13 @@ const seconds = 1000
|
||||
// In Node 0.10 the default is 5, which means only 5 open connections at one.
|
||||
// Node 0.12 has a default of Infinity. Make sure we have no limit set,
|
||||
// regardless of Node version.
|
||||
require('http').globalAgent.maxSockets = Infinity
|
||||
require('https').globalAgent.maxSockets = Infinity
|
||||
require('node:http').globalAgent.maxSockets = Infinity
|
||||
require('node:https').globalAgent.maxSockets = Infinity
|
||||
|
||||
const SOCKETS_HTTP = require('http').globalAgent.sockets
|
||||
const SOCKETS_HTTPS = require('https').globalAgent.sockets
|
||||
const FREE_SOCKETS_HTTP = require('http').globalAgent.freeSockets
|
||||
const FREE_SOCKETS_HTTPS = require('https').globalAgent.freeSockets
|
||||
const SOCKETS_HTTP = require('node:http').globalAgent.sockets
|
||||
const SOCKETS_HTTPS = require('node:https').globalAgent.sockets
|
||||
const FREE_SOCKETS_HTTP = require('node:http').globalAgent.freeSockets
|
||||
const FREE_SOCKETS_HTTPS = require('node:https').globalAgent.freeSockets
|
||||
|
||||
// keep track of set gauges and reset them in the next collection cycle
|
||||
const SEEN_HOSTS_HTTP = new Set()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const { promisify } = require('util')
|
||||
const os = require('os')
|
||||
const http = require('http')
|
||||
const { promisify } = require('node:util')
|
||||
const os = require('node:os')
|
||||
const http = require('node:http')
|
||||
const { expect } = require('chai')
|
||||
const Metrics = require('../..')
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
const chai = require('chai')
|
||||
const { expect } = chai
|
||||
const path = require('path')
|
||||
const path = require('node:path')
|
||||
const modulePath = path.join(__dirname, '../../../event_loop.js')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const sinon = require('sinon')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const Path = require('path')
|
||||
const Path = require('node:path')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const sinon = require('sinon')
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ sayHi3(43, (err, result) => {
|
||||
}
|
||||
})
|
||||
|
||||
const promisify = require('util').promisify
|
||||
const promisify = require('node:util').promisify
|
||||
demoDatabase.findUserAsync = promisify(demoDatabase.findUser)
|
||||
|
||||
async function sayHi4NoHandling(userId) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const { expect } = require('chai')
|
||||
const { promisify } = require('util')
|
||||
const { promisify } = require('node:util')
|
||||
|
||||
const OError = require('..')
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ exports.expectError = function OErrorExpectError(e, expected) {
|
||||
).to.be.true
|
||||
|
||||
expect(
|
||||
require('util').types.isNativeError(e),
|
||||
require('node:util').types.isNativeError(e),
|
||||
'error should be recognised by util.types.isNativeError'
|
||||
).to.be.true
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
const crypto = require('crypto')
|
||||
const fs = require('fs')
|
||||
const fsPromises = require('fs/promises')
|
||||
const crypto = require('node:crypto')
|
||||
const fs = require('node:fs')
|
||||
const fsPromises = require('node:fs/promises')
|
||||
const globCallbacks = require('glob')
|
||||
const Path = require('path')
|
||||
const { PassThrough } = require('stream')
|
||||
const { pipeline } = require('stream/promises')
|
||||
const { promisify } = require('util')
|
||||
const Path = require('node:path')
|
||||
const { PassThrough } = require('node:stream')
|
||||
const { pipeline } = require('node:stream/promises')
|
||||
const { promisify } = require('node:util')
|
||||
|
||||
const AbstractPersistor = require('./AbstractPersistor')
|
||||
const { ReadError, WriteError, NotImplementedError } = require('./Errors')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const fs = require('fs')
|
||||
const { pipeline } = require('stream/promises')
|
||||
const { PassThrough } = require('stream')
|
||||
const fs = require('node:fs')
|
||||
const { pipeline } = require('node:stream/promises')
|
||||
const { PassThrough } = require('node:stream')
|
||||
const { Storage, IdempotencyStrategy } = require('@google-cloud/storage')
|
||||
const { WriteError, ReadError, NotFoundError } = require('./Errors')
|
||||
const asyncPool = require('tiny-async-pool')
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const AbstractPersistor = require('./AbstractPersistor')
|
||||
const Logger = require('@overleaf/logger')
|
||||
const Metrics = require('@overleaf/metrics')
|
||||
const Stream = require('stream')
|
||||
const { pipeline } = require('stream/promises')
|
||||
const Stream = require('node:stream')
|
||||
const { pipeline } = require('node:stream/promises')
|
||||
const { NotFoundError, WriteError } = require('./Errors')
|
||||
|
||||
// Persistor that wraps two other persistors. Talks to the 'primary' by default,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// @ts-check
|
||||
const Crypto = require('crypto')
|
||||
const Stream = require('stream')
|
||||
const fs = require('fs')
|
||||
const { promisify } = require('util')
|
||||
const Crypto = require('node:crypto')
|
||||
const Stream = require('node:stream')
|
||||
const fs = require('node:fs')
|
||||
const { promisify } = require('node:util')
|
||||
const { WritableBuffer } = require('@overleaf/stream-utils')
|
||||
const { S3Persistor, SSECOptions } = require('./S3Persistor.js')
|
||||
const {
|
||||
@@ -13,7 +13,7 @@ const {
|
||||
ReadError,
|
||||
} = require('./Errors')
|
||||
const logger = require('@overleaf/logger')
|
||||
const Path = require('path')
|
||||
const Path = require('node:path')
|
||||
|
||||
const generateKey = promisify(Crypto.generateKey)
|
||||
const hkdf = promisify(Crypto.hkdf)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const Crypto = require('crypto')
|
||||
const Stream = require('stream')
|
||||
const { pipeline } = require('stream/promises')
|
||||
const Crypto = require('node:crypto')
|
||||
const Stream = require('node:stream')
|
||||
const { pipeline } = require('node:stream/promises')
|
||||
const Logger = require('@overleaf/logger')
|
||||
const Metrics = require('@overleaf/metrics')
|
||||
const { WriteError, NotFoundError, AlreadyWrittenError } = require('./Errors')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @ts-check
|
||||
const http = require('http')
|
||||
const https = require('https')
|
||||
const http = require('node:http')
|
||||
const https = require('node:https')
|
||||
if (http.globalAgent.maxSockets < 300) {
|
||||
http.globalAgent.maxSockets = 300
|
||||
}
|
||||
@@ -8,15 +8,15 @@ if (https.globalAgent.maxSockets < 300) {
|
||||
https.globalAgent.maxSockets = 300
|
||||
}
|
||||
|
||||
const Crypto = require('crypto')
|
||||
const Crypto = require('node:crypto')
|
||||
const Metrics = require('@overleaf/metrics')
|
||||
const AbstractPersistor = require('./AbstractPersistor')
|
||||
const PersistorHelper = require('./PersistorHelper')
|
||||
|
||||
const { pipeline, PassThrough } = require('stream')
|
||||
const fs = require('fs')
|
||||
const { pipeline, PassThrough } = require('node:stream')
|
||||
const fs = require('node:fs')
|
||||
const S3 = require('aws-sdk/clients/s3')
|
||||
const { URL } = require('url')
|
||||
const { URL } = require('node:url')
|
||||
const { WriteError, ReadError, NotFoundError } = require('./Errors')
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,4 +25,9 @@ SandboxedModule.configure({
|
||||
},
|
||||
},
|
||||
globals: { Buffer, Math, console, process, URL },
|
||||
sourceTransformers: {
|
||||
removeNodePrefix: function (source) {
|
||||
return source.replace(/require\(['"]node:/g, "require('")
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
const crypto = require('crypto')
|
||||
const crypto = require('node:crypto')
|
||||
const { expect } = require('chai')
|
||||
const mockFs = require('mock-fs')
|
||||
const fs = require('fs')
|
||||
const fsPromises = require('fs/promises')
|
||||
const Path = require('path')
|
||||
const StreamPromises = require('stream/promises')
|
||||
const fs = require('node:fs')
|
||||
const fsPromises = require('node:fs/promises')
|
||||
const Path = require('node:path')
|
||||
const StreamPromises = require('node:stream/promises')
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const Errors = require('../../src/Errors')
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { EventEmitter } = require('events')
|
||||
const { EventEmitter } = require('node:events')
|
||||
const sinon = require('sinon')
|
||||
const chai = require('chai')
|
||||
const { expect } = chai
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const chai = require('chai')
|
||||
const { expect } = chai
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const StreamPromises = require('stream/promises')
|
||||
const StreamPromises = require('node:stream/promises')
|
||||
|
||||
const MODULE_PATH = '../../src/PersistorFactory.js'
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ const chai = require('chai')
|
||||
const { expect } = chai
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const Errors = require('../../src/Errors')
|
||||
const { EventEmitter } = require('events')
|
||||
const { EventEmitter } = require('node:events')
|
||||
|
||||
const MODULE_PATH = '../../src/S3Persistor.js'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { promisify, callbackify } = require('util')
|
||||
const { promisify, callbackify } = require('node:util')
|
||||
const pLimit = require('p-limit')
|
||||
|
||||
module.exports = {
|
||||
|
||||
3
libraries/redis-wrapper/.mocharc.json
Normal file
3
libraries/redis-wrapper/.mocharc.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"require": "test/setup.js"
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
const { promisify } = require('util')
|
||||
const { promisify } = require('node:util')
|
||||
const metrics = require('@overleaf/metrics')
|
||||
const logger = require('@overleaf/logger')
|
||||
const os = require('os')
|
||||
const crypto = require('crypto')
|
||||
const os = require('node:os')
|
||||
const crypto = require('node:crypto')
|
||||
|
||||
const HOST = os.hostname()
|
||||
const PID = process.pid
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
const { callbackify, promisify } = require('util')
|
||||
const { callbackify, promisify } = require('node:util')
|
||||
const metrics = require('@overleaf/metrics')
|
||||
const logger = require('@overleaf/logger')
|
||||
const os = require('os')
|
||||
const crypto = require('crypto')
|
||||
const os = require('node:os')
|
||||
const crypto = require('node:crypto')
|
||||
const async = require('async')
|
||||
|
||||
const HOST = os.hostname()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
const crypto = require('crypto')
|
||||
const os = require('os')
|
||||
const { promisify } = require('util')
|
||||
const crypto = require('node:crypto')
|
||||
const os = require('node:os')
|
||||
const { promisify } = require('node:util')
|
||||
|
||||
const Redis = require('ioredis')
|
||||
|
||||
|
||||
9
libraries/redis-wrapper/test/setup.js
Normal file
9
libraries/redis-wrapper/test/setup.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
|
||||
SandboxedModule.configure({
|
||||
sourceTransformers: {
|
||||
removeNodePrefix: function (source) {
|
||||
return source.replace(/require\(['"]node:/g, "require('")
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -6,8 +6,8 @@
|
||||
*/
|
||||
require('chai').should()
|
||||
const SandboxedModule = require('sandboxed-module')
|
||||
const assert = require('assert')
|
||||
const path = require('path')
|
||||
const assert = require('node:assert')
|
||||
const path = require('node:path')
|
||||
const sinon = require('sinon')
|
||||
const modulePath = path.join(__dirname, './../../../index.js')
|
||||
const redisLockerModulePath = path.join(__dirname, './../../../RedisLocker.js')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable no-console */
|
||||
const fs = require('fs')
|
||||
const Path = require('path')
|
||||
const fs = require('node:fs')
|
||||
const Path = require('node:path')
|
||||
const { merge } = require('./merge')
|
||||
|
||||
const CWD = process.cwd()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { Writable, Readable, PassThrough, Transform } = require('stream')
|
||||
const { Writable, Readable, PassThrough, Transform } = require('node:stream')
|
||||
|
||||
/**
|
||||
* A writable stream that stores all data written to it in a node Buffer.
|
||||
|
||||
Reference in New Issue
Block a user