From def0a2b6c7e144e2da906c10c4113b3333a6058c Mon Sep 17 00:00:00 2001 From: Stephen Cresswell <229672+cressie176@users.noreply.github.com> Date: Thu, 4 Sep 2025 17:06:36 +0100 Subject: [PATCH] Add node: protocol prefix to Node.js builtin module imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update all require() calls for Node.js builtins to use node: prefix - Affects util, stream, events, crypto, net, tls, assert, path, fs, querystring, domain - Improves clarity by distinguishing builtin modules from npm packages - Remove explicit useNodejsImportProtocol config as it's enabled by default 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CHANGELOG.md | 1 + bin/generate-defs.js | 2 +- biome.json | 1 - channel_api.js | 2 +- examples/receive_generator.js | 2 +- examples/ssl.js | 2 +- .../callback_api/receive_logs_direct.js | 2 +- .../callback_api/receive_logs_topic.js | 2 +- examples/tutorials/callback_api/rpc_client.js | 2 +- examples/tutorials/receive_logs_direct.js | 2 +- examples/tutorials/receive_logs_topic.js | 2 +- examples/tutorials/rpc_client.js | 2 +- lib/callback_model.js | 2 +- lib/channel.js | 6 +++--- lib/channel_model.js | 4 ++-- lib/connect.js | 8 ++++---- lib/connection.js | 8 ++++---- lib/error.js | 2 +- lib/format.js | 2 +- lib/heartbeat.js | 2 +- lib/mux.js | 2 +- test/callback_api.js | 4 ++-- test/channel.js | 4 ++-- test/channel_api.js | 4 ++-- test/codec.js | 2 +- test/connect.js | 18 +++++++++--------- test/connection.js | 2 +- test/frame.js | 4 ++-- test/mux.js | 4 ++-- test/util.js | 6 +++--- 30 files changed, 53 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 105d8dab..d2e9f6e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Fix precision loss in test data generators by using JavaScript safe integer limits - Add block scoping to switch statement cases to prevent variable declaration issues - Enforce const usage for variables that are never reassigned +- Add node: protocol prefix to Node.js builtin module imports for clarity ## v0.10.9 - Add support for IPv6 urls diff --git a/bin/generate-defs.js b/bin/generate-defs.js index a9c528b4..ada7d3b2 100644 --- a/bin/generate-defs.js +++ b/bin/generate-defs.js @@ -1,4 +1,4 @@ -const format = require('util').format; +const format = require('node:util').format; const defs = require('./amqp-rabbitmq-0.9.1.json'); diff --git a/biome.json b/biome.json index 131cd32c..09c1cce2 100644 --- a/biome.json +++ b/biome.json @@ -20,7 +20,6 @@ "useLiteralKeys": "off" }, "style": { - "useNodejsImportProtocol": "off", "useTemplate": "off", "useExponentiationOperator": "off" }, diff --git a/channel_api.js b/channel_api.js index 93b6d542..edaae82b 100644 --- a/channel_api.js +++ b/channel_api.js @@ -1,6 +1,6 @@ const raw_connect = require('./lib/connect').connect; const ChannelModel = require('./lib/channel_model').ChannelModel; -const promisify = require('util').promisify; +const promisify = require('node:util').promisify; function connect(url, connOptions) { return promisify(function (cb) { diff --git a/examples/receive_generator.js b/examples/receive_generator.js index e9c86684..4136f7d0 100644 --- a/examples/receive_generator.js +++ b/examples/receive_generator.js @@ -3,7 +3,7 @@ 'use strict'; const co = require('co'); const amqp = require('amqplib'); -const readline = require('readline'); +const readline = require('node:readline'); co(function* () { const myConsumer = (msg) => { diff --git a/examples/ssl.js b/examples/ssl.js index 0974fc1a..4b1d9080 100644 --- a/examples/ssl.js +++ b/examples/ssl.js @@ -19,7 +19,7 @@ // openssl s_client -connect localhost:5671 const amqp = require('../'); -const fs = require('fs'); +const fs = require('node:fs'); // Assemble the SSL options; for verification we need at least // * a certificate to present to the server ('cert', in PEM format) diff --git a/examples/tutorials/callback_api/receive_logs_direct.js b/examples/tutorials/callback_api/receive_logs_direct.js index 7e0d414f..77b5eff4 100755 --- a/examples/tutorials/callback_api/receive_logs_direct.js +++ b/examples/tutorials/callback_api/receive_logs_direct.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('amqplib/callback_api'); -const {basename} = require('path'); +const {basename} = require('node:path'); const exchange = 'direct_logs'; const severities = process.argv.slice(2); diff --git a/examples/tutorials/callback_api/receive_logs_topic.js b/examples/tutorials/callback_api/receive_logs_topic.js index 33175d7f..4751159d 100755 --- a/examples/tutorials/callback_api/receive_logs_topic.js +++ b/examples/tutorials/callback_api/receive_logs_topic.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('amqplib/callback_api'); -const {basename} = require('path'); +const {basename} = require('node:path'); const exchange = 'topic_logs'; const severities = process.argv.slice(2); diff --git a/examples/tutorials/callback_api/rpc_client.js b/examples/tutorials/callback_api/rpc_client.js index 8f623125..48b3c081 100755 --- a/examples/tutorials/callback_api/rpc_client.js +++ b/examples/tutorials/callback_api/rpc_client.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('amqplib/callback_api'); -const {basename} = require('path'); +const {basename} = require('node:path'); const {v4: uuid} = require('uuid'); const queue = 'rpc_queue'; diff --git a/examples/tutorials/receive_logs_direct.js b/examples/tutorials/receive_logs_direct.js index f5877b5a..be390845 100755 --- a/examples/tutorials/receive_logs_direct.js +++ b/examples/tutorials/receive_logs_direct.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('../..'); -const {basename} = require('path'); +const {basename} = require('node:path'); const exchange = 'direct_logs'; const bindingKeys = process.argv.slice(2); diff --git a/examples/tutorials/receive_logs_topic.js b/examples/tutorials/receive_logs_topic.js index ad41bcd9..363a11d4 100755 --- a/examples/tutorials/receive_logs_topic.js +++ b/examples/tutorials/receive_logs_topic.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('../..'); -const {basename} = require('path'); +const {basename} = require('node:path'); const exchange = 'topic_logs'; const bindingKeys = process.argv.slice(2); diff --git a/examples/tutorials/rpc_client.js b/examples/tutorials/rpc_client.js index 3aba2b03..4f4505cb 100755 --- a/examples/tutorials/rpc_client.js +++ b/examples/tutorials/rpc_client.js @@ -1,7 +1,7 @@ #!/usr/bin/env node const amqp = require('amqplib'); -const {basename} = require('path'); +const {basename} = require('node:path'); const {v4: uuid} = require('uuid'); const queue = 'rpc_queue'; diff --git a/lib/callback_model.js b/lib/callback_model.js index e6507caa..90c41550 100644 --- a/lib/callback_model.js +++ b/lib/callback_model.js @@ -5,7 +5,7 @@ 'use strict'; const defs = require('./defs'); -const EventEmitter = require('events'); +const EventEmitter = require('node:events'); const BaseChannel = require('./channel').BaseChannel; const acceptMessage = require('./channel').acceptMessage; const Args = require('./api_args'); diff --git a/lib/channel.js b/lib/channel.js index 2727a66d..1d08d188 100644 --- a/lib/channel.js +++ b/lib/channel.js @@ -10,9 +10,9 @@ const defs = require('./defs'); const closeMsg = require('./format').closeMessage; const inspect = require('./format').inspect; const methodName = require('./format').methodName; -const assert = require('assert'); -const EventEmitter = require('events'); -const fmt = require('util').format; +const assert = require('node:assert'); +const EventEmitter = require('node:events'); +const fmt = require('node:util').format; const IllegalOperationError = require('./error').IllegalOperationError; const stackCapture = require('./error').stackCapture; diff --git a/lib/channel_model.js b/lib/channel_model.js index 83cd62c8..530e929d 100644 --- a/lib/channel_model.js +++ b/lib/channel_model.js @@ -4,8 +4,8 @@ 'use strict'; -const EventEmitter = require('events'); -const promisify = require('util').promisify; +const EventEmitter = require('node:events'); +const promisify = require('node:util').promisify; const defs = require('./defs'); const {BaseChannel} = require('./channel'); const {acceptMessage} = require('./channel'); diff --git a/lib/connect.js b/lib/connect.js index b15374a8..c0efc261 100644 --- a/lib/connect.js +++ b/lib/connect.js @@ -7,9 +7,9 @@ 'use strict'; const URL = require('url-parse'); -const QS = require('querystring'); +const QS = require('node:querystring'); const Connection = require('./connection').Connection; -const fmt = require('util').format; +const fmt = require('node:util').format; const credentials = require('./credentials'); function copyInto(obj, target) { @@ -163,9 +163,9 @@ function connect(url, socketOptions, openCallback) { } if (protocol === 'amqp:') { - sock = require('net').connect(sockopts, onConnect); + sock = require('node:net').connect(sockopts, onConnect); } else if (protocol === 'amqps:') { - sock = require('tls').connect(sockopts, onConnect); + sock = require('node:tls').connect(sockopts, onConnect); } else { throw new Error('Expected amqp: or amqps: as the protocol; got ' + protocol); } diff --git a/lib/connection.js b/lib/connection.js index 032f6bf2..4c9e9918 100644 --- a/lib/connection.js +++ b/lib/connection.js @@ -10,8 +10,8 @@ const frame = require('./frame'); const HEARTBEAT = frame.HEARTBEAT; const Mux = require('./mux').Mux; -const Duplex = require('stream').Duplex; -const EventEmitter = require('events'); +const Duplex = require('node:stream').Duplex; +const EventEmitter = require('node:events'); const Heart = require('./heartbeat').Heart; const methodName = require('./format').methodName; @@ -19,8 +19,8 @@ const closeMsg = require('./format').closeMessage; const inspect = require('./format').inspect; const BitSet = require('./bitset').BitSet; -const fmt = require('util').format; -const PassThrough = require('stream').PassThrough; +const fmt = require('node:util').format; +const PassThrough = require('node:stream').PassThrough; const IllegalOperationError = require('./error').IllegalOperationError; const stackCapture = require('./error').stackCapture; diff --git a/lib/error.js b/lib/error.js index 8b02698d..a3e864e2 100644 --- a/lib/error.js +++ b/lib/error.js @@ -1,4 +1,4 @@ -const inherits = require('util').inherits; +const inherits = require('node:util').inherits; function trimStack(stack, num) { return stack && stack.split('\n').slice(num).join('\n'); diff --git a/lib/format.js b/lib/format.js index 4a164c8a..3129e159 100644 --- a/lib/format.js +++ b/lib/format.js @@ -7,7 +7,7 @@ 'use strict'; const defs = require('./defs'); -const format = require('util').format; +const format = require('node:util').format; const HEARTBEAT = require('./frame').HEARTBEAT; module.exports.closeMessage = function (close) { diff --git a/lib/heartbeat.js b/lib/heartbeat.js index 43bfb3bb..3e38dd4f 100644 --- a/lib/heartbeat.js +++ b/lib/heartbeat.js @@ -47,7 +47,7 @@ 'use strict'; -const EventEmitter = require('events'); +const EventEmitter = require('node:events'); // Exported so that we can mess with it in tests module.exports.UNITS_TO_MS = 1000; diff --git a/lib/mux.js b/lib/mux.js index 19d5a9e9..a3941aa8 100644 --- a/lib/mux.js +++ b/lib/mux.js @@ -8,7 +8,7 @@ // it then writes 'packets' from the upstreams to the given // downstream. -const assert = require('assert'); +const assert = require('node:assert'); const schedule = typeof setImmediate === 'function' ? setImmediate : process.nextTick; diff --git a/test/callback_api.js b/test/callback_api.js index 1c1b4693..93898d7c 100644 --- a/test/callback_api.js +++ b/test/callback_api.js @@ -1,12 +1,12 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const api = require('../callback_api'); const util = require('./util'); const schedule = util.schedule; const randomString = util.randomString; const kCallback = util.kCallback; -const domain = require('domain'); +const domain = require('node:domain'); const URL = process.env.URL || 'amqp://localhost'; diff --git a/test/channel.js b/test/channel.js index cd5aa308..782e6933 100644 --- a/test/channel.js +++ b/test/channel.js @@ -2,8 +2,8 @@ 'use strict'; -const assert = require('assert'); -const promisify = require('util').promisify; +const assert = require('node:assert'); +const promisify = require('node:util').promisify; const Channel = require('../lib/channel').Channel; const Connection = require('../lib/connection').Connection; const util = require('./util'); diff --git a/test/channel_api.js b/test/channel_api.js index 8e734bab..7f9c1542 100644 --- a/test/channel_api.js +++ b/test/channel_api.js @@ -1,13 +1,13 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const api = require('../channel_api'); const util = require('./util'); const succeed = util.succeed, fail = util.fail; const schedule = util.schedule; const randomString = util.randomString; -const promisify = require('util').promisify; +const promisify = require('node:util').promisify; const URL = process.env.URL || 'amqp://localhost'; diff --git a/test/codec.js b/test/codec.js index 805ee8d1..043e5e3d 100644 --- a/test/codec.js +++ b/test/codec.js @@ -2,7 +2,7 @@ const codec = require('../lib/codec'); const defs = require('../lib/defs'); -const assert = require('assert'); +const assert = require('node:assert'); const ints = require('buffer-more-ints'); const C = require('claire'); const forAll = C.forAll; diff --git a/test/connect.js b/test/connect.js index 2eae439b..80ef6132 100644 --- a/test/connect.js +++ b/test/connect.js @@ -3,15 +3,15 @@ const connect = require('../lib/connect').connect; const credentialsFromUrl = require('../lib/connect').credentialsFromUrl; const defs = require('../lib/defs'); -const assert = require('assert'); +const assert = require('node:assert'); const util = require('./util'); -const net = require('net'); +const net = require('node:net'); const fail = util.fail, succeed = util.succeed, latch = util.latch, kCallback = util.kCallback, succeedIfAttributeEquals = util.succeedIfAttributeEquals; -const format = require('util').format; +const format = require('node:util').format; const URL = process.env.URL || 'amqp://localhost'; @@ -68,7 +68,7 @@ suite('Connect API', function () { }); test('wrongly typed open option', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); const q = parts.query || {}; q.frameMax = 'NOT A NUMBER'; @@ -78,7 +78,7 @@ suite('Connect API', function () { }); test('serverProperties', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); const config = parts.query || {}; connect(config, {}, function (err, connection) { @@ -91,7 +91,7 @@ suite('Connect API', function () { }); test('using custom heartbeat option', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); const config = parts.query || {}; config.heartbeat = 20; @@ -99,7 +99,7 @@ suite('Connect API', function () { }); test('wrongly typed heartbeat option', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); const config = parts.query || {}; config.heartbeat = 'NOT A NUMBER'; @@ -107,7 +107,7 @@ suite('Connect API', function () { }); test('using plain credentials', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); let u = 'guest', p = 'guest'; @@ -119,7 +119,7 @@ suite('Connect API', function () { }); test('using amqplain credentials', function (done) { - const url = require('url'); + const url = require('node:url'); const parts = url.parse(URL, true); let u = 'guest', p = 'guest'; diff --git a/test/connection.js b/test/connection.js index 64679893..dcb00b93 100644 --- a/test/connection.js +++ b/test/connection.js @@ -1,6 +1,6 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const defs = require('../lib/defs'); const Connection = require('../lib/connection').Connection; const HEARTBEAT = require('../lib/frame').HEARTBEAT; diff --git a/test/frame.js b/test/frame.js index a742f865..54756b40 100644 --- a/test/frame.js +++ b/test/frame.js @@ -1,10 +1,10 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const connection = require('../lib/connection'); const Frames = connection.Connection; const HEARTBEAT = require('../lib/frame').HEARTBEAT; -const Stream = require('stream'); +const Stream = require('node:stream'); const PassThrough = Stream.PassThrough; const defs = require('../lib/defs'); diff --git a/test/mux.js b/test/mux.js index b0bd4e49..92f03725 100644 --- a/test/mux.js +++ b/test/mux.js @@ -1,8 +1,8 @@ 'use strict'; -const assert = require('assert'); +const assert = require('node:assert'); const Mux = require('../lib/mux').Mux; -const PassThrough = require('stream').PassThrough; +const PassThrough = require('node:stream').PassThrough; const latch = require('./util').latch; const schedule = require('./util').schedule; diff --git a/test/util.js b/test/util.js index a5776428..e5b70866 100644 --- a/test/util.js +++ b/test/util.js @@ -1,10 +1,10 @@ 'use strict'; -const crypto = require('crypto'); +const crypto = require('node:crypto'); const Connection = require('../lib/connection').Connection; -const PassThrough = require('stream').PassThrough; +const PassThrough = require('node:stream').PassThrough; const defs = require('../lib/defs'); -const assert = require('assert'); +const assert = require('node:assert'); const schedule = typeof setImmediate === 'function' ? setImmediate : process.nextTick;