From 6d8bd094a37368ef44e0b47fdd6c871764605c9d Mon Sep 17 00:00:00 2001 From: Antoine du Hamel Date: Mon, 18 Jul 2022 14:09:03 +0200 Subject: [PATCH] meta: use `node:` protocol when using Node.js built-in core modules (#3871) `node:` protocol is available as of Node.js 14.18.0 LTS. Since we are dropping support for all Node.js versions below that, we can take advantage of this prefix to help differentiate built-in modules from npm modules. --- package.json | 2 +- src/config/companion.js | 2 +- src/server/Uploader.js | 8 ++++---- src/server/controllers/oauth-redirect.js | 4 ++-- src/server/controllers/send-token.js | 2 +- src/server/controllers/url.js | 2 +- src/server/emitter/default-emitter.js | 2 +- src/server/helpers/oauth-state.js | 2 +- src/server/helpers/request.js | 8 ++++---- src/server/helpers/utils.js | 2 +- src/server/jobs.js | 6 +++--- src/server/logger.js | 2 +- src/server/provider/box/adapter.js | 2 +- src/server/provider/box/index.js | 2 +- src/server/provider/drive/adapter.js | 2 +- src/server/provider/drive/index.js | 2 +- src/server/provider/dropbox/adapter.js | 2 +- src/server/provider/dropbox/index.js | 2 +- src/server/provider/facebook/adapter.js | 2 +- src/server/provider/facebook/index.js | 2 +- src/server/provider/instagram/graph/adapter.js | 2 +- src/server/provider/instagram/graph/index.js | 2 +- src/server/provider/onedrive/adapter.js | 2 +- src/server/provider/onedrive/index.js | 2 +- src/server/provider/unsplash/adapter.js | 2 +- src/server/provider/unsplash/index.js | 2 +- src/server/provider/zoom/index.js | 2 +- src/standalone/helper.js | 4 ++-- src/standalone/index.js | 4 ++-- test/__mocks__/purest.js | 4 ++-- test/__tests__/http-agent.js | 4 ++-- test/__tests__/uploader.js | 2 +- 32 files changed, 45 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 67991dac49..fdd9062dd7 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "@types/lodash.merge": "4.6.6", "@types/morgan": "1.7.37", "@types/ms": "0.7.31", - "@types/node": "18.0.3", + "@types/node": "^18.0.3", "@types/react": "^17.0.13", "@types/request": "2.48.4", "@types/webpack": "^5.28.0", diff --git a/src/config/companion.js b/src/config/companion.js index 96346c1e2c..e7f6277986 100644 --- a/src/config/companion.js +++ b/src/config/companion.js @@ -1,5 +1,5 @@ const ms = require('ms') -const fs = require('fs') +const fs = require('node:fs') const { isURL } = require('validator') const logger = require('../server/logger') diff --git a/src/server/Uploader.js b/src/server/Uploader.js index 9e1e90955a..f661770893 100644 --- a/src/server/Uploader.js +++ b/src/server/Uploader.js @@ -4,10 +4,10 @@ const { randomUUID } = require('node:crypto') const isObject = require('isobject') const validator = require('validator') const request = require('request') -const { pipeline: pipelineCb } = require('stream') -const { join } = require('path') -const fs = require('fs') -const { promisify } = require('util') +const { pipeline: pipelineCb } = require('node:stream') +const { join } = require('node:path') +const fs = require('node:fs') +const { promisify } = require('node:util') // TODO move to `require('streams/promises').pipeline` when dropping support for Node.js 14.x. const pipeline = promisify(pipelineCb) diff --git a/src/server/controllers/oauth-redirect.js b/src/server/controllers/oauth-redirect.js index dfcfe518be..51f8c60bb2 100644 --- a/src/server/controllers/oauth-redirect.js +++ b/src/server/controllers/oauth-redirect.js @@ -1,5 +1,5 @@ -const qs = require('querystring') -const { URL } = require('url') +const qs = require('node:querystring') +const { URL } = require('node:url') const { hasMatch } = require('../helpers/utils') const oAuthState = require('../helpers/oauth-state') diff --git a/src/server/controllers/send-token.js b/src/server/controllers/send-token.js index 84c83f570e..06d2603e25 100644 --- a/src/server/controllers/send-token.js +++ b/src/server/controllers/send-token.js @@ -1,4 +1,4 @@ -const { URL } = require('url') +const { URL } = require('node:url') const serialize = require('serialize-javascript') const tokenService = require('../helpers/jwt') diff --git a/src/server/controllers/url.js b/src/server/controllers/url.js index 088e2f66cc..edd9347293 100644 --- a/src/server/controllers/url.js +++ b/src/server/controllers/url.js @@ -1,6 +1,6 @@ const router = require('express').Router const request = require('request') -const { URL } = require('url') +const { URL } = require('node:url') const validator = require('validator') const { startDownUpload } = require('../helpers/upload') diff --git a/src/server/emitter/default-emitter.js b/src/server/emitter/default-emitter.js index 26bd360ead..916a963964 100644 --- a/src/server/emitter/default-emitter.js +++ b/src/server/emitter/default-emitter.js @@ -1,4 +1,4 @@ -const { EventEmitter } = require('events') +const { EventEmitter } = require('node:events') module.exports = () => { return new EventEmitter() diff --git a/src/server/helpers/oauth-state.js b/src/server/helpers/oauth-state.js index 150dbd3e7b..99694a4eaa 100644 --- a/src/server/helpers/oauth-state.js +++ b/src/server/helpers/oauth-state.js @@ -1,4 +1,4 @@ -const crypto = require('crypto') +const crypto = require('node:crypto') // @ts-ignore const atob = require('atob') const { encrypt, decrypt } = require('./utils') diff --git a/src/server/helpers/request.js b/src/server/helpers/request.js index 8585c074a0..4cc03f4610 100644 --- a/src/server/helpers/request.js +++ b/src/server/helpers/request.js @@ -1,8 +1,8 @@ // eslint-disable-next-line max-classes-per-file -const http = require('http') -const https = require('https') -const { URL } = require('url') -const dns = require('dns') +const http = require('node:http') +const https = require('node:https') +const { URL } = require('node:url') +const dns = require('node:dns') const request = require('request') const ipaddr = require('ipaddr.js') diff --git a/src/server/helpers/utils.js b/src/server/helpers/utils.js index 98545ba66a..750c9a04a2 100644 --- a/src/server/helpers/utils.js +++ b/src/server/helpers/utils.js @@ -1,4 +1,4 @@ -const crypto = require('crypto') +const crypto = require('node:crypto') /** * diff --git a/src/server/jobs.js b/src/server/jobs.js index 1885bfa235..06ebd0c5fd 100644 --- a/src/server/jobs.js +++ b/src/server/jobs.js @@ -1,7 +1,7 @@ const schedule = require('node-schedule') -const fs = require('fs') -const path = require('path') -const { promisify } = require('util') +const fs = require('node:fs') +const path = require('node:path') +const { promisify } = require('node:util') const request = require('request') const { FILE_NAME_PREFIX } = require('./Uploader') diff --git a/src/server/logger.js b/src/server/logger.js index 3875190e18..c10b753894 100644 --- a/src/server/logger.js +++ b/src/server/logger.js @@ -1,6 +1,6 @@ const chalk = require('chalk') const escapeStringRegexp = require('escape-string-regexp') -const util = require('util') +const util = require('node:util') const { ProviderApiError, ProviderAuthError } = require('./provider/error') const valuesToMask = [] diff --git a/src/server/provider/box/adapter.js b/src/server/provider/box/adapter.js index 46e624105a..34c85a87a9 100644 --- a/src/server/provider/box/adapter.js +++ b/src/server/provider/box/adapter.js @@ -1,5 +1,5 @@ const mime = require('mime-types') -const querystring = require('querystring') +const querystring = require('node:querystring') exports.isFolder = (item) => { return item.type === 'folder' diff --git a/src/server/provider/box/index.js b/src/server/provider/box/index.js index f0b5c3617a..6db1280e96 100644 --- a/src/server/provider/box/index.js +++ b/src/server/provider/box/index.js @@ -1,6 +1,6 @@ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../Provider') const logger = require('../../logger') diff --git a/src/server/provider/drive/adapter.js b/src/server/provider/drive/adapter.js index 95d360806d..01b5fc7259 100644 --- a/src/server/provider/drive/adapter.js +++ b/src/server/provider/drive/adapter.js @@ -1,4 +1,4 @@ -const querystring = require('querystring') +const querystring = require('node:querystring') // @todo use the "about" endpoint to get the username instead // see: https://developers.google.com/drive/api/v2/reference/about/get diff --git a/src/server/provider/drive/index.js b/src/server/provider/drive/index.js index 9e9cd09e9f..293bbf1ffd 100644 --- a/src/server/provider/drive/index.js +++ b/src/server/provider/drive/index.js @@ -1,7 +1,7 @@ /* eslint-disable no-underscore-dangle */ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../Provider') const logger = require('../../logger') diff --git a/src/server/provider/dropbox/adapter.js b/src/server/provider/dropbox/adapter.js index 66cbcf65ed..66bbddc304 100644 --- a/src/server/provider/dropbox/adapter.js +++ b/src/server/provider/dropbox/adapter.js @@ -1,5 +1,5 @@ const mime = require('mime-types') -const querystring = require('querystring') +const querystring = require('node:querystring') exports.getUsername = (data) => { return data.user_email diff --git a/src/server/provider/dropbox/index.js b/src/server/provider/dropbox/index.js index d3d1ed825a..3a346f6e00 100644 --- a/src/server/provider/dropbox/index.js +++ b/src/server/provider/dropbox/index.js @@ -1,6 +1,6 @@ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../Provider') const logger = require('../../logger') diff --git a/src/server/provider/facebook/adapter.js b/src/server/provider/facebook/adapter.js index d0fc2fed40..5fa6bf00b2 100644 --- a/src/server/provider/facebook/adapter.js +++ b/src/server/provider/facebook/adapter.js @@ -1,4 +1,4 @@ -const querystring = require('querystring') +const querystring = require('node:querystring') exports.isFolder = (item) => { return !!item.type diff --git a/src/server/provider/facebook/index.js b/src/server/provider/facebook/index.js index 48fd377e21..e2396f5d94 100644 --- a/src/server/provider/facebook/index.js +++ b/src/server/provider/facebook/index.js @@ -1,6 +1,6 @@ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../Provider') const { getURLMeta } = require('../../helpers/request') diff --git a/src/server/provider/instagram/graph/adapter.js b/src/server/provider/instagram/graph/adapter.js index 8420bf2100..ec74f516bd 100644 --- a/src/server/provider/instagram/graph/adapter.js +++ b/src/server/provider/instagram/graph/adapter.js @@ -1,4 +1,4 @@ -const querystring = require('querystring') +const querystring = require('node:querystring') const MEDIA_TYPES = Object.freeze({ video: 'VIDEO', diff --git a/src/server/provider/instagram/graph/index.js b/src/server/provider/instagram/graph/index.js index ba69007fa0..ef31053fb8 100644 --- a/src/server/provider/instagram/graph/index.js +++ b/src/server/provider/instagram/graph/index.js @@ -1,6 +1,6 @@ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../../Provider') const { getURLMeta } = require('../../../helpers/request') diff --git a/src/server/provider/onedrive/adapter.js b/src/server/provider/onedrive/adapter.js index 330da066af..b21a6e50cb 100644 --- a/src/server/provider/onedrive/adapter.js +++ b/src/server/provider/onedrive/adapter.js @@ -1,4 +1,4 @@ -const querystring = require('querystring') +const querystring = require('node:querystring') exports.isFolder = (item) => { if (item.remoteItem) { diff --git a/src/server/provider/onedrive/index.js b/src/server/provider/onedrive/index.js index 3b91c7138a..fe3a5b36e8 100644 --- a/src/server/provider/onedrive/index.js +++ b/src/server/provider/onedrive/index.js @@ -1,6 +1,6 @@ const request = require('request') const purest = require('purest')({ request }) -const { promisify } = require('util') +const { promisify } = require('node:util') const Provider = require('../Provider') const logger = require('../../logger') diff --git a/src/server/provider/unsplash/adapter.js b/src/server/provider/unsplash/adapter.js index 3fb9bcec91..4883f4d8ab 100644 --- a/src/server/provider/unsplash/adapter.js +++ b/src/server/provider/unsplash/adapter.js @@ -1,4 +1,4 @@ -const querystring = require('querystring') +const querystring = require('node:querystring') exports.isFolder = (item) => { // eslint-disable-line no-unused-vars return false diff --git a/src/server/provider/unsplash/index.js b/src/server/provider/unsplash/index.js index dc2809d137..08d81f0cfe 100644 --- a/src/server/provider/unsplash/index.js +++ b/src/server/provider/unsplash/index.js @@ -1,5 +1,5 @@ const request = require('request') -const { promisify } = require('util') +const { promisify } = require('node:util') const SearchProvider = require('../SearchProvider') const { getURLMeta } = require('../../helpers/request') diff --git a/src/server/provider/zoom/index.js b/src/server/provider/zoom/index.js index c14948b71c..cfc3d224ac 100644 --- a/src/server/provider/zoom/index.js +++ b/src/server/provider/zoom/index.js @@ -1,4 +1,4 @@ -const { promisify } = require('util') +const { promisify } = require('node:util') const request = require('request') const moment = require('moment-timezone') const purest = require('purest')({ request }) diff --git a/src/standalone/helper.js b/src/standalone/helper.js index ad65df8841..9076ecc047 100644 --- a/src/standalone/helper.js +++ b/src/standalone/helper.js @@ -1,7 +1,7 @@ -const fs = require('fs') +const fs = require('node:fs') const merge = require('lodash.merge') const stripIndent = require('common-tags/lib/stripIndent') -const crypto = require('crypto') +const crypto = require('node:crypto') const utils = require('../server/helpers/utils') const logger = require('../server/logger') diff --git a/src/standalone/index.js b/src/standalone/index.js index 9a1709dcef..3c75c1aadc 100644 --- a/src/standalone/index.js +++ b/src/standalone/index.js @@ -1,9 +1,9 @@ const express = require('express') -const qs = require('querystring') +const qs = require('node:querystring') const helmet = require('helmet') const morgan = require('morgan') const bodyParser = require('body-parser') -const { URL } = require('url') +const { URL } = require('node:url') const session = require('express-session') const addRequestId = require('express-request-id')() const connectRedis = require('connect-redis') diff --git a/test/__mocks__/purest.js b/test/__mocks__/purest.js index 89102ea5a5..30b4d7ec79 100644 --- a/test/__mocks__/purest.js +++ b/test/__mocks__/purest.js @@ -1,5 +1,5 @@ -const fs = require('fs') -const qs = require('querystring') +const fs = require('node:fs') +const qs = require('node:querystring') const fixtures = require('../fixtures').providers diff --git a/test/__tests__/http-agent.js b/test/__tests__/http-agent.js index 248c8ca460..bddf42b494 100644 --- a/test/__tests__/http-agent.js +++ b/test/__tests__/http-agent.js @@ -1,8 +1,8 @@ /* global test:false, expect:false, describe:false, */ const request = require('request') -const http = require('http') -const https = require('https') +const http = require('node:http') +const https = require('node:https') const { getProtectedHttpAgent, getRedirectEvaluator, FORBIDDEN_IP_ADDRESS } = require('../../src/server/helpers/request') describe('test getRedirectEvaluator', () => { diff --git a/test/__tests__/uploader.js b/test/__tests__/uploader.js index 577895ab83..60ccb8f9bb 100644 --- a/test/__tests__/uploader.js +++ b/test/__tests__/uploader.js @@ -3,7 +3,7 @@ jest.mock('tus-js-client') const intoStream = require('into-stream') -const fs = require('fs') +const fs = require('node:fs') const nock = require('nock') const Uploader = require('../../src/server/Uploader')