diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 1c6314a..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,12 +0,0 @@
-root = true
-
-[*]
-indent_style = tab
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.yml]
-indent_style = space
-indent_size = 2
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index 43c97e7..0000000
--- a/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-package-lock=false
diff --git a/debian/changelog b/debian/changelog
index 0674a7c..123101a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+node-loud-rejection (2.2.0+git20210125.1.4457733-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 21 Mar 2022 18:32:30 -0000
+
 node-loud-rejection (2.2.0-2) unstable; urgency=medium
 
   * Team upload
diff --git a/fixture-custom-log.js b/fixture-custom-log.js
deleted file mode 100644
index af75971..0000000
--- a/fixture-custom-log.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-const loudRejection = require('.');
-
-loudRejection(string => {
-	console.log('custom-log', string);
-});
-
-Promise.reject(new Error('foo'));
diff --git a/fixture.js b/fixture.js
deleted file mode 100644
index 1bdee9b..0000000
--- a/fixture.js
+++ /dev/null
@@ -1,44 +0,0 @@
-'use strict';
-const Promise = require('bluebird');
-const loudRejection = require('.');
-
-loudRejection();
-
-const promises = {};
-
-console.log('started');
-
-function reject(key, reason) {
-	// IMPORTANT: key is always logged to stdout
-	// Make sure to remember that when grepping output (keep key and message different).
-	console.log('Rejecting:', key);
-	promises[key] = new Promise(((resolve, reject) => {
-		reject(reason);
-	}));
-}
-
-function handle(key) {
-	promises[key].catch(() => {});
-}
-
-process.on('message', message => {
-	switch (message.action) {
-		case 'reject-error':
-			return reject(message.key, new Error(message.message));
-		case 'reject-value':
-			return reject(message.key, message.value);
-		case 'reject-nothing':
-			return reject(message.key);
-		case 'reinstall':
-			return loudRejection();
-		case 'handle':
-			return handle(message.key);
-		default:
-			console.error('Unknown message received:', message);
-			process.exit(1);
-	}
-});
-
-process.send({status: 'ready'});
-
-setTimeout(() => {}, 30000);
diff --git a/index.test-d.ts b/index.test-d.ts
deleted file mode 100644
index a7cd35a..0000000
--- a/index.test-d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import {expectType} from 'tsd';
-import loudRejection = require('.');
-import './register';
-
-expectType<void>(loudRejection());
-expectType<void>(loudRejection(console.log));
diff --git a/readme.md b/readme.md
index 3f58a1d..69ed26d 100644
--- a/readme.md
+++ b/readme.md
@@ -1,4 +1,4 @@
-# loud-rejection [![Build Status](https://travis-ci.org/sindresorhus/loud-rejection.svg?branch=master)](https://travis-ci.org/sindresorhus/loud-rejection) [![Coverage Status](https://coveralls.io/repos/github/sindresorhus/loud-rejection/badge.svg?branch=master)](https://coveralls.io/github/sindresorhus/loud-rejection?branch=master)
+# loud-rejection
 
 > Make unhandled promise rejections fail loudly instead of the default [silent fail](https://gist.github.com/benjamingr/0237932cee84712951a2)
 
@@ -9,6 +9,8 @@ This tool keeps track of unhandled rejections globally. If any remain unhandled
 Use this in top-level things like tests, CLI tools, apps, etc, **but not in reusable modules.**<br>
 Not needed in the browser as unhandled rejections are shown in the console.
 
+**With [Node.js 15](https://medium.com/@nodejs/node-js-v15-0-0-is-here-deb00750f278), this package is moot as the default behavior then is to throw on unhandled rejections.**
+
 
 ## Install
 
diff --git a/test.js b/test.js
deleted file mode 100644
index 5662c37..0000000
--- a/test.js
+++ /dev/null
@@ -1,177 +0,0 @@
-import {fork} from 'child_process';
-import test from 'ava';
-import getStream from 'get-stream';
-import delay from 'delay';
-import execa from 'execa';
-
-// Slow things down for reliable tests on Travis CI
-const tick = time => delay(process.env.CI ? time * 10 : time);
-
-test.beforeEach.cb(t => {
-	const child = fork('fixture.js', {silent: true});
-
-	const exit = new Promise((resolve, reject) =>
-		child.on('exit', exitCode =>
-			(exitCode > 0 ? reject : resolve)(exitCode)
-		)
-	);
-
-	t.context = {
-		// Tell the child to create a promise, and reject it
-		rejectWithError: (key, message) => child.send({
-			action: 'reject-error',
-			key,
-			message
-		}),
-		rejectWithValue: (key, value) => child.send({
-			action: 'reject-value',
-			key,
-			value
-		}),
-		rejectWithNothing: key => child.send({
-			action: 'reject-nothing',
-			key
-		}),
-
-		// Tell the child to handle the promise previously rejected
-		handle: key => child.send({
-			action: 'handle',
-			key
-		}),
-
-		// Tell the child to reinstall loudRejection
-		reinstall: () => child.send({action: 'reinstall'}),
-
-		// Kill the child (returns a promise for when the child is done)
-		kill: () => {
-			child.kill();
-			return exit;
-		},
-
-		// The stdout of the child. Useful for debug
-		stdout: getStream(child.stdout),
-
-		// The stderr of the child. This is where unhandledRejections will be logged
-		stderr: getStream(child.stderr),
-
-		// Promise for when the child has exited
-		exit
-	};
-
-	child.on('message', message => {
-		if (message.status !== 'ready') {
-			t.fail(`I got a message I don't understand: ${JSON.stringify(message)}`);
-		}
-
-		t.end();
-	});
-});
-
-test('no rejections', async t => {
-	const child = t.context;
-
-	await tick(20);
-	await child.kill();
-
-	t.is(await child.stderr, '');
-});
-
-test('one unhandled rejection', async t => {
-	const child = t.context;
-
-	child.rejectWithError('a', 'foo123');
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /foo123/);
-});
-
-test('two unhandled rejections', async t => {
-	const child = t.context;
-
-	child.rejectWithError('a', 'foo456');
-	child.rejectWithError('b', 'bar789');
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /foo456/);
-	t.regex(await child.stderr, /bar789/);
-});
-
-test('one rejection that is handled before exit', async t => {
-	const child = t.context;
-
-	child.rejectWithError('a', 'foo123');
-	await tick(20);
-	child.handle('a');
-	await tick(20);
-	await child.kill();
-
-	t.is(await child.stderr, '');
-});
-
-test('two rejections, first one handled', async t => {
-	const child = t.context;
-
-	child.rejectWithError('a', 'foo987');
-	child.rejectWithError('b', 'bar654');
-	await tick(20);
-	child.handle('a');
-	await tick(20);
-	await child.kill();
-
-	t.false(/foo987/.test(await child.stderr));
-	t.regex(await child.stderr, /bar654/);
-});
-
-test('two rejections, last one handled', async t => {
-	const child = t.context;
-
-	child.rejectWithError('a', 'foo987');
-	child.rejectWithError('b', 'bar654');
-	await tick(20);
-	child.handle('b');
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /foo987/);
-	t.false(/bar654/.test(await child.stderr));
-});
-
-test('rejection with a string value', async t => {
-	const child = t.context;
-
-	child.rejectWithValue('a', 'foo123');
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /Promise rejected with value: 'foo123'/);
-});
-
-test('rejection with a falsy value', async t => {
-	const child = t.context;
-
-	child.rejectWithValue('a', false);
-	child.rejectWithValue('a', 0);
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /Promise rejected with value: false/);
-	t.regex(await child.stderr, /Promise rejected with value: 0/);
-});
-
-test('rejection with no value', async t => {
-	const child = t.context;
-
-	child.rejectWithNothing();
-	await tick(20);
-	await child.kill();
-
-	t.regex(await child.stderr, /Promise rejected with value: undefined/);
-});
-
-test('custom log function', async t => {
-	// TODO: use execa `reject: false` option
-	const stdout = await execa('node', ['fixture-custom-log.js']).catch(error => error.stdout);
-	t.is(stdout.split('\n')[0], 'custom-log Error: foo');
-});