From b75ec497ae32f6a35059217524780bb7d73506ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Babi=C4=8D?= Date: Wed, 13 Jan 2021 19:46:35 +0100 Subject: [PATCH] implement PWA add service-worker.js and manifest.json --- public/favicon.png | Bin 3127 -> 0 bytes public/icon/android-icon-192x192.png | Bin 0 -> 4806 bytes public/icon/apple-icon-114x114.png | Bin 0 -> 2801 bytes public/icon/apple-icon-120x120.png | Bin 0 -> 2986 bytes public/icon/apple-icon-144x144.png | Bin 0 -> 3687 bytes public/icon/apple-icon-152x152.png | Bin 0 -> 3754 bytes public/icon/apple-icon-180x180.png | Bin 0 -> 4681 bytes public/icon/apple-icon-57x57.png | Bin 0 -> 1370 bytes public/icon/apple-icon-60x60.png | Bin 0 -> 1444 bytes public/icon/apple-icon-72x72.png | Bin 0 -> 1800 bytes public/icon/apple-icon-76x76.png | Bin 0 -> 1843 bytes public/icon/favicon-16x16.png | Bin 0 -> 463 bytes public/icon/favicon-32x32.png | Bin 0 -> 783 bytes public/icon/favicon-96x96.png | Bin 0 -> 2302 bytes public/icon/favicon.png | Bin 0 -> 13104 bytes public/index.html | 38 ++++++--- public/manifest.json | 86 ++++++++++++++++++++ public/service-worker.js | 25 ++++++ scripts/setupTypeScript.js | 117 --------------------------- src/main.js | 5 +- 20 files changed, 142 insertions(+), 129 deletions(-) delete mode 100644 public/favicon.png create mode 100644 public/icon/android-icon-192x192.png create mode 100644 public/icon/apple-icon-114x114.png create mode 100644 public/icon/apple-icon-120x120.png create mode 100644 public/icon/apple-icon-144x144.png create mode 100644 public/icon/apple-icon-152x152.png create mode 100644 public/icon/apple-icon-180x180.png create mode 100644 public/icon/apple-icon-57x57.png create mode 100644 public/icon/apple-icon-60x60.png create mode 100644 public/icon/apple-icon-72x72.png create mode 100644 public/icon/apple-icon-76x76.png create mode 100644 public/icon/favicon-16x16.png create mode 100644 public/icon/favicon-32x32.png create mode 100644 public/icon/favicon-96x96.png create mode 100644 public/icon/favicon.png create mode 100644 public/manifest.json create mode 100644 public/service-worker.js delete mode 100644 scripts/setupTypeScript.js diff --git a/public/favicon.png b/public/favicon.png deleted file mode 100644 index 7e6f5eb5a2f1f1c882d265cf479de25caa925645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3127 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 K&=p4RasL4=CLvt_ literal 0 HcmV?d00001 diff --git a/public/icon/apple-icon-120x120.png b/public/icon/apple-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8b38525bd74c029a0ba05dda77e3baa1736701 GIT binary patch literal 2986 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 TLZF_%UjxwgE{AJvv6TM-1iFQ| literal 0 HcmV?d00001 diff --git a/public/icon/apple-icon-144x144.png b/public/icon/apple-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd0bd0c04ae3ed61d9079ad57d6ee4676bb3595 GIT binary patch literal 3687 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 literal 0 HcmV?d00001 diff --git a/public/icon/apple-icon-152x152.png b/public/icon/apple-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..8101d8fb8eabda6a92aa3ec088545c0350467959 GIT binary patch literal 3754 zcmbtX`8yPB_qR1;8Ou|TWiZ)AwuvzI-5|R{*3rnCOvsWLgT^aM29G5pN=O+?m?2@z z$dVo^%U~=cMH7mI?C(79_aAt!>-)pGKj&Qc=Q`(H_Ya?Q?o4M#I6tpAFB=;hzpag> zD+^2hF>V0s6r)JXuz)?<6>iSfFe1rh1zf>q4rXj@%@6nv15UAG9+b`1Xf`$h>OaOl z5cw>S<(Sx7nq7|fTc6u=lUM?)jG#VOygncv;_;RXBC-;G$`aE$}%yjDl94oK_D8g5#AyT4o;V8BNK+S$5?gGmB zi2t)Vo?MFg;@W>!yC@a@*9`u%SF9c!P@|svUIt3ht7}_}9RaD1TU(QPR-R72r0Z!x z(MDkQbF(W||BITYhXc9rD913h&T!j!)gt5xJ?CKCJfxz5Qq=FnH zJ=!&VdR-FinH-Rkol+n!^_2EUnP=zRA$ylHpK!=v=fja;|??t|sSk z|D9hKm>qa44sW$Dz}q{gA&%gUHW)yUXkm+JbVZ-K9l&;3!%s+KCBp3hvL3go{o5zOC!O;bgrVEH;7LW$R)2u1Lx~6I8*RDlQ{+(m*wfV?diIF16QK_ zRHkI13chTkaQGk$v^mo$6nc0MPv?DLEgL9l-7%$qvn)x|n@c3L9i9->I`#IqkYbx57VbYxmw@Vf`JqtmY;d=%* zqaZ;qFE-hSxX_>9HN}$ObnZ%ah-i(sIu*#ErW+&FkUZf|A3Vi9XSL0($)P_r{8RET zoM_2!yryMJ{8dg^$aV40_jzztm0$JaxT7_B=x7<9msxTGuh3063AZZVA=(oLREq#2 z&$}J0$=|kjrPnLY(WpF5PHQh#<>VMKXlcua{}CEOtK|@%kLM2ZcuG!6w{cd&-7V5h zJ2F6^NW^z(ImX4~45Pf9hbQYTTXp`6h_t;(oI0uPTrpv82z{g1@z|d*J0vB`;w^tJ zKfIyD{$2Nc=gJG$cv00h5v>yR!zWHA9hV4iSiN9D9lPOt8*ka$1hisuA0|E#{_#iE zWPsu@Cm)T3lR=?+HZjRj#ah)QmmmTmH}J2eW-7=&h@ z{xE;Pu7j|Fg4tUK{P}vY{Ou5bMmR$*?2F+ecbk!Xy82_R>Pk9HHWk3>tkK$}L2oXhNfg82?Tj1aUycJD&eA`*h=jhV;A-a5~TEZ21hY zLJ!v>4hr&%#jI{X;_o(HcWa;$pq}d={nHw&`&(N=g4p#BcPnqM8D4&XKhNBc7ygBP zB~w=zr?S6{`BGu=veS)k*(A_LVf{q3&-7Y+WQ9uP*hz3s7{jeim#C1T6SmX zSc32?4nfA-ue&Vy8_zjnllveOvD&q_bV~wI^E9dnb)*Ry5wX&coFE46{GN@?-w_dw z|CaF`88?I?atx50*A5L$FP_O*uJh8w6T)_hrgqcuoaTTU`4*whnEdQ&SKOIInI*yc zvSERsvyPZmXC{dnwde^`)GnS_c6DiAKE|;~q?*Ri$kLd=RSvhPQ%SYu_X9g+&-Gw^ z#t$Df&Sv)vz^$)wNwW5Z^IOyM7qk6k<)#~onAU^KG?O#U>P>Gtb%$Wtshi8uJMjpa z?+#)=iS2(#CiVu;iJH_GU8x9#XXLQdlPM6}P!{KaxLP4)4m44qLR~4_A%Dx(S1OIR z$-Nl}6tkx2q140pgT%9c6}X5ozkLO-tHrN(?+lY$%RlbTNDWD6i|8E-D}lqMRs{Jo z2Bl%?@cJX^`Izp?^*CSYDySEI4Q;0U+K{Xaz`_$AA4wIMp=@?u-Op-D1$#FN!$jKv zE!q9ngJLirupU9Gy5XHK2;}tCRR)#mYwYHeKAn%Vzk1FkCpCHzKkoG|C3vY$tlg0R zw&;pFAm~?UrYi-0Oz@ZSEM2h2_;t$-is)%^GaHVvKJXh_iZX$4)o7IhS#6R^? zhoCI~&This^I@7oG3OY{moabidrEX)%}iyhOnFM`AN|)AlBZGlBSEUWLFQEqNVCe8 zDCeb^Svdu71$t02;`PTH5BTcW2rtvZS*p?&puUSRNzleDm}!$>+<;S z({^qZkpH?Ol93Ya5)REuoOi&I7vFwmemWLC4=B=51;+xzm2qPWUdh9beGmmCLkLXT zQMrLaKfCq%K8O;sK5r1d>?d48%tLTfGEC&Ep!pNt8tH-|AlinM!>2!9K+Xa#AXVHA zVg;Ts+x$Jc6rqLjQ`Xi2g?lr6c^+$pw=rL~MiIwe!r*~etC6!QKC^yKbBv?_$vAgL2~0=3_KHaK)sTnvic3=s{y~vu zx$%^cB!svE!L)u~l{E}xYrC7*3#^Q3*^hCHp2;*-z2XVkQkakK@9sl)r-EZKNo^^x zn5$-jXS+-IAny9wM;^M-S~GT^V;QglO6csnfKru=o-@?BP~ku(Fz;v<5%l;4kK(f8 z9G!JQH>OWN-A~*m2nstYFH$S0pET4e0|`ghenu%!O1})-WPFX+sqO;!XCa-DbpB*6 z)5yV7+Q{HclpVFUV1tYiPi#AlQFA*Dwuv!Hc}5hpy7%k(#-@hM{7n4$Dq;)tfA1;g5VVv0|D0W=g^eai4Wt+Q{isvOM-p`D8AY f{~uI|ZlEJ;P9C$puf50mU$WU+Ia)TDBU1khrw;zB literal 0 HcmV?d00001 diff --git a/public/icon/apple-icon-180x180.png b/public/icon/apple-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..b26358f62d603ba39a32a559c1700ac6507f4d1d GIT binary patch literal 4681 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 literal 0 HcmV?d00001 diff --git a/public/icon/apple-icon-72x72.png b/public/icon/apple-icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..6f560ccf6648235cb7de89be1f3049aa16933c91 GIT binary patch literal 1800 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 literal 0 HcmV?d00001 diff --git a/public/icon/favicon-16x16.png b/public/icon/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a25aa4fc24b68cfebec3c55c57953ceb6b00b5 GIT binary patch literal 463 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 literal 0 HcmV?d00001 diff --git a/public/icon/favicon.png b/public/icon/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4cfd7788ac02672dd585adea23621fe719cebc GIT binary patch literal 13104 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 literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 5da7ed3..0212fab 100644 --- a/public/index.html +++ b/public/index.html @@ -1,18 +1,34 @@ - - - + + + - Svelte app + Triangles.fun - - - + + + + + + + - - + + - - + diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..00db8bc --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,86 @@ +{ + "name": "Triangles.fun", + "short_name": "triangles", + "lang": "en", + "description": "Eliminate all the circles in the triangle by jumping them over", + "theme_color": "#bf616a", + "background_color": "#eceff4", + "display": "standalone", + "orientation": "portrait", + "scope": "/", + "start_url": "/", + "manifest_version": 2, + "version": "0.0.1", + "icons": [ + { + "src": "/icon/favicon.png", + "type": "image/png", + "sizes": "512x512" + }, + { + "src": "/icon/android-icon-192x192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "/icon/apple-icon-180x180.png", + "type": "image/png", + "sizes": "180x180" + }, + { + "src": "/icon/apple-icon-152x152.png", + "type": "image/png", + "sizes": "152x152" + }, + { + "src": "/icon/apple-icon-144x144.png", + "type": "image/png", + "sizes": "144x144" + }, + { + "src": "/icon/apple-icon-120x120.png", + "type": "image/png", + "sizes": "120x120" + }, + { + "src": "/icon/apple-icon-114x114.png", + "type": "image/png", + "sizes": "114x114" + }, + { + "src": "/icon/favicon-96x96.png", + "type": "image/png", + "sizes": "96x96" + }, + { + "src": "/icon/apple-icon-76x76.png", + "type": "image/png", + "sizes": "76x76" + }, + { + "src": "/icon/apple-icon-72x72.png", + "type": "image/png", + "sizes": "72x72" + }, + { + "src": "/icon/apple-icon-60x60.png", + "type": "image/png", + "sizes": "60x60" + }, + { + "src": "/icon/apple-icon-57x57.png", + "type": "image/png", + "sizes": "57x57" + }, + { + "src": "/icon/favicon-32x32.png", + "type": "image/png", + "sizes": "32x32" + }, + { + "src": "/icon/favicon-16x16.png", + "type": "image/png", + "sizes": "16x16" + } + ] +} diff --git a/public/service-worker.js b/public/service-worker.js new file mode 100644 index 0000000..349e356 --- /dev/null +++ b/public/service-worker.js @@ -0,0 +1,25 @@ +const cacheName = "stale-with-revalidate" + +// import workbox +importScripts( + "https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js" +) +const { routing, strategies } = workbox + +// implements staleWhileRevalidate to all routes +routing.registerRoute( + () => true, + new strategies.StaleWhileRevalidate({ cacheName }) +) + +// removes all caches not named +const invalidateOldCache = async () => { + const keys = await caches.keys() + const isOldCache = key => key !== cacheName + const oldKeys = keys.filter(isOldCache) + + return Promise.all(oldKeys.map(key => caches.delete(key))) +} + +// runs invalidateOldCache on activation +self.addEventListener("activate", e => e.waitUntil(invalidateOldCache())) diff --git a/scripts/setupTypeScript.js b/scripts/setupTypeScript.js deleted file mode 100644 index d471095..0000000 --- a/scripts/setupTypeScript.js +++ /dev/null @@ -1,117 +0,0 @@ -// @ts-check - -/** This script modifies the project to support TS code in .svelte files like: - - - - As well as validating the code for CI. - */ - -/** To work on this script: - rm -rf test-template template && git clone sveltejs/template test-template && node scripts/setupTypeScript.js test-template -*/ - -const fs = require("fs") -const path = require("path") -const { argv } = require("process") - -const projectRoot = argv[2] || path.join(__dirname, "..") - -// Add deps to pkg.json -const packageJSON = JSON.parse(fs.readFileSync(path.join(projectRoot, "package.json"), "utf8")) -packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, { - "svelte-check": "^1.0.0", - "svelte-preprocess": "^4.0.0", - "@rollup/plugin-typescript": "^6.0.0", - "typescript": "^3.9.3", - "tslib": "^2.0.0", - "@tsconfig/svelte": "^1.0.0" -}) - -// Add script for checking -packageJSON.scripts = Object.assign(packageJSON.scripts, { - "validate": "svelte-check" -}) - -// Write the package JSON -fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify(packageJSON, null, " ")) - -// mv src/main.js to main.ts - note, we need to edit rollup.config.js for this too -const beforeMainJSPath = path.join(projectRoot, "src", "main.js") -const afterMainTSPath = path.join(projectRoot, "src", "main.ts") -fs.renameSync(beforeMainJSPath, afterMainTSPath) - -// Switch the app.svelte file to use TS -const appSveltePath = path.join(projectRoot, "src", "App.svelte") -let appFile = fs.readFileSync(appSveltePath, "utf8") -appFile = appFile.replace("