diff --git a/README.md b/README.md index b08f783..87babb7 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ const arnavmq = require('arnavmq')({ consumerSuffix: '', // generate a hostname so we can track this connection on the broker (rabbitmq management plugin) - hostname: process.env.HOSTNAME || process.env.USER || uuid.v4(), + hostname: process.env.HOSTNAME || process.env.USER || crypto.randomUUID(), /** * A logger object with a log function for each of the log levels ("debug", "info", "warn", or "error"). diff --git a/package.json b/package.json index 845b3bc..9923d67 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,7 @@ "@types/amqplib": "^0.10.5", "amqplib": "^0.10.3", "p-defer": "^3.0.0", - "serialize-error": "^8.0.1", - "uuid": "^10.0.0" + "serialize-error": "^8.0.1" }, "devDependencies": { "child-process-promise": "^2.2.1", diff --git a/src/index.js b/src/index.js index 04f87f7..2f72844 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,4 @@ -const uuid = require('uuid'); +const crypto = require('crypto'); const connection = require('./modules/connection'); const { setLogger } = require('./modules/logger'); @@ -28,7 +28,7 @@ module.exports = (config) => { consumerSuffix: '', // generate a hostname so we can track this connection on the broker (rabbitmq management plugin) - hostname: process.env.HOSTNAME || process.env.USER || uuid.v4(), + hostname: process.env.HOSTNAME || process.env.USER || crypto.randomUUID(), ...config, }; diff --git a/src/modules/utils.js b/src/modules/utils.js index ac70b95..f4d180d 100644 --- a/src/modules/utils.js +++ b/src/modules/utils.js @@ -1,4 +1,4 @@ -const uuid = require('uuid'); +const crypto = require('crypto'); function empty() {} @@ -19,7 +19,7 @@ function getCorrelationId(options) { if (options.correlationId) { return options.correlationId; } - return uuid.v4(); + return crypto.randomUUID(); } module.exports = { diff --git a/test/config-spec.js b/test/config-spec.js index e63c36d..01b7c4a 100644 --- a/test/config-spec.js +++ b/test/config-spec.js @@ -1,5 +1,5 @@ const assert = require('assert'); -const uuid = require('uuid'); +const crypto = require('crypto'); /* eslint global-require: "off" */ describe('config', () => { @@ -29,7 +29,7 @@ describe('config', () => { process.env.USER = ''; const conf = { host: 'amqp://localhost' }; - assert.equal(main(conf).connection.config.hostname.length, uuid.v4().length); + assert.equal(main(conf).connection.config.hostname.length, crypto.randomUUID().length); }); it('should ensure prefetch is in an integer format', () => { diff --git a/test/producer-consumer-spec.js b/test/producer-consumer-spec.js index 4a8b1f4..fcc52d6 100644 --- a/test/producer-consumer-spec.js +++ b/test/producer-consumer-spec.js @@ -1,5 +1,5 @@ const assert = require('assert'); -const uuid = require('uuid'); +const crypto = require('crypto'); const sinon = require('sinon'); const arnavmqConfigurator = require('../src/index'); const utils = require('../src/modules/utils'); @@ -229,7 +229,7 @@ describe('producer/consumer', function () { it('should be able to consume message sent by producer to queue [test-queue-0]', async () => { letters += 1; - await arnavmq.producer.produce(fixtures.queues[0], { msg: uuid.v4() }); + await arnavmq.producer.produce(fixtures.queues[0], { msg: crypto.randomUUID() }); await utils.timeoutPromise(300); assert.equal(letters, 0); @@ -286,7 +286,7 @@ describe('producer/consumer', function () { it('calls the producer "before and after publish" hooks', async () => { const queueName = 'test-before-after-publish-hooks-queue'; - const sentMessage = uuid.v4(); + const sentMessage = crypto.randomUUID(); await arnavmq.consumer.consume(queueName, (message) => Promise.resolve(`${message}-test`)); const result = await arnavmq.producer.produce(queueName, sentMessage, { rpc: true }); @@ -311,7 +311,7 @@ describe('producer/consumer', function () { it('calls the consumer "before and after process message" hooks', async () => { const queueName = 'test-before-after-process-message-hooks-queue'; - const sentMessage = uuid.v4(); + const sentMessage = crypto.randomUUID(); const callback = (message) => Promise.resolve(`${message}-test`); await arnavmq.consumer.consume(queueName, callback); @@ -331,7 +331,7 @@ describe('producer/consumer', function () { it('calls the consumer "before and after rpc reply" hooks', async () => { const queueName = 'test-before-after-rpc-hooks-queue'; - const sentMessage = uuid.v4(); + const sentMessage = crypto.randomUUID(); await arnavmq.consumer.consume(queueName, (message) => Promise.resolve(`${message}-test`)); const result = await arnavmq.producer.produce(queueName, sentMessage, { rpc: true }); @@ -365,7 +365,7 @@ describe('producer/consumer', function () { it('does not call unregistered hooks', async () => { const queueName = 'test-unregister-hooks-queue'; - const sentMessage = uuid.v4(); + const sentMessage = crypto.randomUUID(); const newHooks = [sinon.spy(), sinon.spy()]; const unregisteredHooks = [ @@ -393,7 +393,7 @@ describe('producer/consumer', function () { it('should requeue the message again on error [test-queue-4]', (done) => { let attempt = 3; - const expectedMessage = { msg: uuid.v4() }; + const expectedMessage = { msg: crypto.randomUUID() }; arnavmq.consumer .consume(fixtures.queues[4], (msg) => { assert(typeof msg === 'object'); @@ -468,7 +468,7 @@ describe('producer/consumer', function () { describe('error', () => { it('should not be consumed', (done) => { setupHooks(); - const expectedMessage = { msg: uuid.v4() }; + const expectedMessage = { msg: crypto.randomUUID() }; arnavmq.consumer .consume('test-queue-5', () => ({ error: new Error('Error test') })) diff --git a/test/rpc-spec.js b/test/rpc-spec.js index f7beb89..dc235cc 100644 --- a/test/rpc-spec.js +++ b/test/rpc-spec.js @@ -1,5 +1,5 @@ const assert = require('assert'); -const uuid = require('uuid'); +const crypto = require('crypto'); const arnavmq = require('../src/index')(); const utils = require('../src/modules/utils'); @@ -23,14 +23,14 @@ describe('Producer/Consumer RPC messaging:', () => { }); it('should be able to produce a RPC message and get a response [rpc-queue-0]', async () => { - const response = await arnavmq.producer.produce(fixtures.queues[0], { msg: uuid.v4() }, { rpc: true }); + const response = await arnavmq.producer.produce(fixtures.queues[0], { msg: crypto.randomUUID() }, { rpc: true }); assert.strictEqual(response, 'Power Ranger Red'); }); it('should be able to produce a RPC message and get a as JSON [rpc-queue-1]', async () => { await arnavmq.consumer.consume(fixtures.queues[1], () => ({ powerRangerColor: 'Pink' })); - const response = await arnavmq.producer.produce(fixtures.queues[1], { msg: uuid.v4() }, { rpc: true }); + const response = await arnavmq.producer.produce(fixtures.queues[1], { msg: crypto.randomUUID() }, { rpc: true }); assert.strictEqual(typeof response, 'object'); assert.strictEqual(response.powerRangerColor, 'Pink');