Skip to content

Commit 29681c1

Browse files
authored
Merge pull request #12 from reedsy/no-default-export
💥 Remove default exports
2 parents f58f61f + 24d10d5 commit 29681c1

File tree

13 files changed

+50
-40
lines changed

13 files changed

+50
-40
lines changed

.eslintrc.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,13 @@ parserOptions:
44
project: './tsconfig.json'
55
env:
66
node: true
7+
rules:
8+
# default exports have bad CJS/ESM interoperability
9+
no-restricted-exports:
10+
- error
11+
- restrictDefaultExports:
12+
direct: true
13+
named: true
14+
defaultFrom: true
15+
namedFrom: true
16+
namespaceFrom: true

mongodb-queue.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ function nowPlusSecs(secs: number): string {
2828
export type QueueOptions = {
2929
visibility?: number;
3030
delay?: number;
31-
deadQueue?: Queue;
31+
deadQueue?: MongoDBQueue;
3232
maxRetries?: number;
3333
};
3434

@@ -63,12 +63,12 @@ export type ExternalMessage<T = any> = {
6363
tries: number;
6464
};
6565

66-
export default class Queue<T = any> {
66+
export class MongoDBQueue<T = any> {
6767
private readonly col: Collection<Partial<Message<T>>>;
6868
private readonly visibility: number;
6969
private readonly delay: number;
7070
private readonly maxRetries: number;
71-
private readonly deadQueue: Queue;
71+
private readonly deadQueue: MongoDBQueue;
7272

7373
public constructor(db: Db, name: string, opts: QueueOptions = {}) {
7474
if (!db) {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@reedsy/mongodb-queue",
3-
"version": "6.0.0",
3+
"version": "7.0.0",
44
"description": "Message queues which uses MongoDB.",
55
"main": "mongodb-queue.js",
66
"scripts": {

test/clean.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
setup().then(({client, db}) => {
77
test('clean: check deleted messages are deleted', async function(t) {
8-
const q = new MongoDbQueue(db, 'clean', {visibility: 3});
8+
const q = new MongoDBQueue(db, 'clean', {visibility: 3});
99

1010
t.equal(await q.size(), 0, 'There is currently nothing on the queue');
1111
t.equal(await q.total(), 0, 'There is currently nothing in the queue at all');

test/dead-queue.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
setup().then(({client, db}) => {
77
test('first test', function(t) {
8-
const queue = new MongoDbQueue(db, 'queue', {visibility: 3, deadQueue: 'dead-queue'});
8+
const queue = new MongoDBQueue(db, 'queue', {visibility: 3, deadQueue: 'dead-queue'});
99
t.ok(queue, 'Queue created ok');
1010
t.end();
1111
});
1212

1313
test('single message going over 5 tries, should appear on dead-queue', async function(t) {
14-
const deadQueue = new MongoDbQueue(db, 'dead-queue');
15-
const queue = new MongoDbQueue(db, 'queue', {visibility: 1, deadQueue: deadQueue});
14+
const deadQueue = new MongoDBQueue(db, 'dead-queue');
15+
const queue = new MongoDBQueue(db, 'queue', {visibility: 1, deadQueue: deadQueue});
1616
let msg;
1717

1818
const origId = await queue.add('Hello, World!');
@@ -41,8 +41,8 @@ setup().then(({client, db}) => {
4141
});
4242

4343
test('two messages, with first going over 3 tries', async function(t) {
44-
const deadQueue = new MongoDbQueue(db, 'dead-queue-2');
45-
const queue = new MongoDbQueue(db, 'queue-2', {visibility: 1, deadQueue: deadQueue, maxRetries: 3});
44+
const deadQueue = new MongoDBQueue(db, 'dead-queue-2');
45+
const queue = new MongoDBQueue(db, 'queue-2', {visibility: 1, deadQueue: deadQueue, maxRetries: 3});
4646
let msg;
4747

4848
const origId = await queue.add('Hello, World!');

test/default.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
setup().then(({client, db}) => {
77
test('first test', function(t) {
8-
const queue = new MongoDbQueue(db, 'default');
8+
const queue = new MongoDBQueue(db, 'default');
99
t.ok(queue, 'Queue created ok');
1010
t.end();
1111
});
1212

1313
test('single round trip', async function(t) {
14-
const queue = new MongoDbQueue(db, 'default');
14+
const queue = new MongoDBQueue(db, 'default');
1515
let id;
1616

1717
id = await queue.add('Hello, World!');
@@ -33,7 +33,7 @@ setup().then(({client, db}) => {
3333
});
3434

3535
test("single round trip, can't be acked again", async function(t) {
36-
const queue = new MongoDbQueue(db, 'default');
36+
const queue = new MongoDBQueue(db, 'default');
3737
let id;
3838

3939
id = await queue.add('Hello, World!');
@@ -57,7 +57,7 @@ setup().then(({client, db}) => {
5757
});
5858

5959
test('remove undefined properties', async function(t) {
60-
const queue = new MongoDbQueue(db, 'default');
60+
const queue = new MongoDBQueue(db, 'default');
6161
const id = await queue.add({text: 'Hello, World!', undefinedProp: undefined});
6262
t.ok(id, 'Received an id for this message');
6363

test/delay.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55
const {timeout} = require('./_timeout.js');
66

77
setup().then(({client, db}) => {
88
test('delay: check messages on this queue are returned after the delay', async function(t) {
9-
const queue = new MongoDbQueue(db, 'delay', {delay: 3});
9+
const queue = new MongoDBQueue(db, 'delay', {delay: 3});
1010
let msg;
1111

1212
const id = await queue.add('Hello, World!');
@@ -27,7 +27,7 @@ setup().then(({client, db}) => {
2727
});
2828

2929
test('delay: check an individual message delay overrides the queue delay', async function(t) {
30-
const queue = new MongoDbQueue(db, 'delay');
30+
const queue = new MongoDBQueue(db, 'delay');
3131
let msg;
3232

3333
const id = await queue.add('I am delayed by 3 seconds', {delay: 3});

test/indexes.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
setup().then(({client, db}) => {
77
test('visibility: check message is back in queue after 3s', async function(t) {
8-
const queue = new MongoDbQueue(db, 'visibility', {visibility: 3});
8+
const queue = new MongoDBQueue(db, 'visibility', {visibility: 3});
99

1010
await queue.createIndexes();
1111
t.pass('Indexes created');

test/many.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
const total = 250;
77

88
setup().then(({client, db}) => {
99
test('many: add ' + total + ' messages, get ' + total + ' back', async function(t) {
10-
const queue = new MongoDbQueue(db, 'many');
10+
const queue = new MongoDBQueue(db, 'many');
1111
const msgs = [];
1212
const msgsToQueue = [];
1313

@@ -36,7 +36,7 @@ setup().then(({client, db}) => {
3636
});
3737

3838
test('many: add no messages, receive err in callback', async function(t) {
39-
const queue = new MongoDbQueue(db, 'many');
39+
const queue = new MongoDBQueue(db, 'many');
4040
await queue.add([])
4141
.catch(() => t.pass('got error'));
4242
t.end();

test/multi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
const test = require('tape');
22

33
const setup = require('./setup.js');
4-
const MongoDbQueue = require('../').default;
4+
const {MongoDBQueue} = require('../');
55

66
const total = 250;
77

88
setup().then(({client, db}) => {
99
test('multi: add ' + total + ' messages, get ' + total + ' back', async function(t) {
10-
const queue = new MongoDbQueue(db, 'multi');
10+
const queue = new MongoDBQueue(db, 'multi');
1111
const msgs = [];
1212

1313
for (let i = 0; i < total; i++) await queue.add('no=' + i);

0 commit comments

Comments
 (0)