diff --git a/package.json b/package.json
index 961b9ba102fd04bd9cadb86900e6919f308e4816..cbb85ff0468a6110c96c3dcc74947a95ffbb1004 100644
--- a/package.json
+++ b/package.json
@@ -12,6 +12,8 @@
   },
   "devDependencies": {
     "@types/node": "^14.14.31",
+    "@types/plotly.js": "^1.54.9",
+    "@webcomponents/custom-elements": "^1.4.3",
     "concurrently": "^6.0.0",
     "sass": "^1.32.8",
     "typescript": "^4.2.2"
diff --git a/tsconfig.json b/tsconfig.json
index c24048bd256f020a6d93e4d3f699477a31607fc1..744e03ac1d28e8d4d89aab8e8a5d38758fbc3bd3 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -44,10 +44,14 @@
     /* Module Resolution Options */
     // "moduleResolution": "node",            /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
     // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
-    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
+    "paths": {
+      "plotly.js": [
+        "./node_modules/plotly.js/lib/core.js"
+      ]
+    },
     // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
     // "typeRoots": [],                       /* List of folders to include type definitions from. */
-    "types": ["node"],                           /* Type declaration files to be included in compilation. */
+    // "types": ["node"],                           /* Type declaration files to be included in compilation. */
     // "allowSyntheticDefaultImports": true,  /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
     "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
     // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
diff --git a/yarn.lock b/yarn.lock
index d18dab2173fc64b582e039fcfa413bedb52201aa..ebdd81f2ce57d0451b8a80f1e43194d9c06857b7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -23,6 +23,11 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
+"@types/d3@^3":
+  version "3.5.44"
+  resolved "https://registry.yarnpkg.com/@types/d3/-/d3-3.5.44.tgz#28635f8bb9adf1cef5bbef2b06778174a9d34383"
+  integrity sha512-hFEcf03YGJ2uQoDYEp3nFD5mXWxly5kf6KOstuOQFEs9sUCN7kNlKhcYkpZ3gK6PiHz4XRLkoHa80NVCJNeLBw==
+
 "@types/node@^14.14.31":
   version "14.14.31"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055"
@@ -33,6 +38,18 @@
   resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
   integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
 
+"@types/plotly.js@^1.54.9":
+  version "1.54.9"
+  resolved "https://registry.yarnpkg.com/@types/plotly.js/-/plotly.js-1.54.9.tgz#cb909c8fea9abb793bca46e0c999864d64ad7b63"
+  integrity sha512-9eTHpAHuEWgBMpgclhNOBjK9IYE1P4V/m0PWwKCPcPhPyzb49sE/ZdaCgP0ZTDfyGcgH6Z1zNlS0a7aYSEb6jQ==
+  dependencies:
+    "@types/d3" "^3"
+
+"@webcomponents/custom-elements@^1.4.3":
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/@webcomponents/custom-elements/-/custom-elements-1.4.3.tgz#1800d49f38bb4425ebfd160b50115e62776109d7"
+  integrity sha512-iD0YW46SreUQANGccywK/eC+gZELNHocZZrY2fGwrIlx/biQOTkAF9IohisibHbrmIHmA9pVCIdGwzfO+W0gig==
+
 ansi-regex@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"