From 008ec2c88cde868dbae4311bd90d79073ca12a9c Mon Sep 17 00:00:00 2001
From: David Sehnal <david.sehnal@gmail.com>
Date: Thu, 12 Mar 2020 22:53:12 +0100
Subject: [PATCH] use tslib to provide helper functions (saves a lot of code)

---
 package-lock.json        | Bin 730977 -> 738077 bytes
 package.json             |   1 +
 tsconfig.json            |   2 ++
 webpack.config.common.js |  29 +++++++++--------------------
 4 files changed, 12 insertions(+), 20 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 758e591b42b74d95107ed80db42e8abf8844571d..082d071c4ac7877af1a2ce9c8e9a1a607f851e8f 100644
GIT binary patch
delta 1805
zcmb`H+e?#S9LM?Xecx^G+nn#(LMJmq$xhmuxPv9y)@U|o%)^{pMeCrm@-@w64l)fQ
zN$3EJeqofu5CS7BvZss6F1o1bur9jjLdgDr=%S0dsh%m(b$hz_KJff5K74=2g}3F`
z&sK~)fGs6>{;H-7V~v~!Pb!j#Pd;dtV|r53<4+ru<4Z*<!61V9N{<x5DV?Si(<{M@
z>EocqxmBPgyGmfAF_o#&;q5va%MEhh4j+NV%5WW+$zvy+R$=}-ZZ+<0<Z|`0XEO|O
zEMBr@!Pr(X;)PnsBSp0^&6L|8UJ+*80)6b@BNRW*4!z`o6~yX+QWbN)U$#LZ8S}yv
zm%4j1w^@+!bv>9!cRkE9q$U%$A6~EkaBc^P7@biSpqzm1<YEA71ct0)&7gbO44>7x
z7g@$%tzg3MK4HmI_G`dUy-+}|MPO|q3psd<4(ZoEc*9aNGT#rk7`8^n{6Ub&%nA4e
zI2?q3-{8@SBv7fSI5LssTV^qHPLwgBNCupr=1q8GQj+o1D_)Ihy|{kqv}Ig;@#1Ow
zc3H6CvnG(RyP7Yi_bd-HmBM1(wZv)_?g8ez_zG6sh>bFLhe4M*nv(I(Iw3%4$i)gL
z)GJR<-+yqJ?E}(2{B@XZjfITag?1L3xam3Q(XvL+;nQ(W9F?5{m6}RJrKJ*y?3B(p
z5C#N$wmSw~7*dsm_C>=kS4+foq-lT18SibgRd?^KtO_LByR1oXRWurR^d0JO`@P=y
zhKQ%%f1pJP_!_F4dV4~L-3@I%>tIKxGT`?ew1q=TXK$-D?r{5k_};Y4NV<BYACG<m
DD`ai3

delta 593
zcmZWmJ!n&56y?0UFL^K4B#$&D&q1YTNUaS{r4macR-;y%(m<hIQbCYrum!=Pv=CZM
z!9of?^bE0UH#LLdx`+WCOR1BzQ>9aN=_)RMv6%i12QKH{@0@e*w_5J`v2msJ0qM?H
zGiI2jG1&Zk5tgi8LMrNIQZ7e^5s~&jY~jR6E{&H4FQj}&-`yO*yzlrRb6G^WHHfoZ
z>sE1I?Ze$ePQDD{@+s*oV#aBeGxF^odQLQCau}a{++RQ!xASP1**xn11VyiNm^#Wv
z5dprxu51>*8X;yDahrw5@bg^13UTcb5;8skQypjpGb+sQ%8GF=r>oGemE`^y9O_1!
zoPUUC{{IObj--{v=_%L}m_jYyYKXgt?bdb<H_CA3Nf|4x8#z)~#!q<5>yf2u1saBi
zPpTC&UuPp_C-}CgUA038*KY)EZ`zAABi(OOQQ5nty1~s~{<u``sK!CbcSS^4y9P)0
zhScs+QoD6DB}7Z;>6NFZ%Qs21d8+DibI3H8c1D$kUn8JlY1pze8l35Uy`aA^lr@qp
YJwPWje~cJw&oRz=+6qhJMez5>zfq{gUH||9

diff --git a/package.json b/package.json
index 0342a9370..498e86f96 100644
--- a/package.json
+++ b/package.json
@@ -125,6 +125,7 @@
     "react-dom": "^16.13.0",
     "rxjs": "^6.5.4",
     "swagger-ui-dist": "^3.25.0",
+    "tslib": "^1.11.1",
     "util.promisify": "^1.0.1",
     "xhr2": "^0.2.0"
   }
diff --git a/tsconfig.json b/tsconfig.json
index a8f2d26a1..81c072d12 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -10,6 +10,8 @@
         "strictNullChecks": true,
         "strictFunctionTypes": true,
         // "downlevelIteration": true,
+        "importHelpers": true,
+        "noEmitHelpers": true,
         "jsx": "react",
         "lib": [ "es6", "dom", "esnext.asynciterable", "es2016" ],
         "rootDir": "src",
diff --git a/webpack.config.common.js b/webpack.config.common.js
index 1e86cb95b..070ac2beb 100644
--- a/webpack.config.common.js
+++ b/webpack.config.common.js
@@ -29,6 +29,14 @@ const sharedConfig = {
         //     failOnError: false,
         //     cwd: process.cwd(),
         // }),
+        new webpack.ProvidePlugin({
+            '__assign': ['tslib', '__assign'],
+            '__extends': ['tslib', '__extends'],
+            '__awaiter': ['tslib', '__awaiter'],
+            '__generator': ['tslib', '__generator'],
+            '__spread': ['tslib', '__spread'],
+            '__spreadArrays': ['tslib', '__spreadArrays'],
+        }),
         new ExtraWatchWebpackPlugin({
             files: [
                 './lib/**/*.scss',
@@ -95,23 +103,4 @@ module.exports = {
     createBrowserTest,
     createNodeEntryPoint,
     createNodeApp
-}
-
-// module.exports = [
-//     createApp('viewer'),
-//     // createApp('basic-wrapper'),
-//     // createEntry('examples/proteopedia-wrapper/index', 'examples/proteopedia-wrapper', 'index'),
-//     // createEntry('apps/demos/lighting/index', 'demos/lighting', 'index'),
-//     // createNodeApp('state-docs'),
-//     // createNodeEntryPoint('preprocess', 'servers/model', 'model-server'),
-//     // createApp('model-server-query'),
-
-//     // createBrowserTest('font-atlas'),
-//     // createBrowserTest('marching-cubes'),
-//     // createBrowserTest('render-lines'),
-//     // createBrowserTest('render-mesh'),
-//     // createBrowserTest('render-shape'),
-//     // createBrowserTest('render-spheres'),
-//     // createBrowserTest('render-structure'),
-//     // createBrowserTest('render-text'),
-// ]
\ No newline at end of file
+}
\ No newline at end of file
-- 
GitLab