Make tests their own TypeScript project
diff --git a/.eslintrc.js b/.eslintrc.js
index 59e0c79..aecc225 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -106,7 +106,7 @@
         'prettier/@typescript-eslint',
       ],
       parserOptions: {
-        project: ['./tsconfig.json', './packages/*/tsconfig.json'],
+        project: ['./tsconfig.test.json', './packages/*/tsconfig.json'],
         tsconfigRootDir: __dirname,
       },
       plugins: ['@typescript-eslint'],
diff --git a/.gitignore b/.gitignore
index 44c4e74..b16de92 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,7 @@
 coverage
 node_modules
 tsconfig.tsbuildinfo
+tsconfig.test.tsbuildinfo
 /packages/*/DISCLAIMER-WIP
 /packages/*/LICENSE
 /packages/*/NOTICE
diff --git a/tsconfig.json b/tsconfig.json
index f250929..b9a2c0d 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,12 +1,9 @@
 {
-  "extends": "./tsconfig.base.json",
-  "include": [
-    "test/**/*",
-    "packages/*/test/**/*",
-  ],
+  "files": [],
   "references": [
     { "path": "packages/apache-annotator" },
     { "path": "packages/dom" },
-    { "path": "packages/selector" }
+    { "path": "packages/selector" },
+    { "path": "tsconfig.test.json"}
   ]
 }
diff --git a/tsconfig.test.json b/tsconfig.test.json
new file mode 100644
index 0000000..f439fba
--- /dev/null
+++ b/tsconfig.test.json
@@ -0,0 +1,8 @@
+{
+  "extends": "./tsconfig.base.json",
+  "include": ["test", "packages/*/test"],
+  "references": [
+    { "path": "packages/dom" },
+    { "path": "packages/selector" }
+  ]
+}