burningTyger 6 년 전
부모
커밋
6b83c48f0f
39개의 변경된 파일212개의 추가작업 그리고 127개의 파일을 삭제
  1. 68 15
      app/App.svelte
  2. BIN
      app/App_Resources/Android/src/main/res/drawable-hdpi/background.png
  3. BIN
      app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
  4. BIN
      app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
  5. BIN
      app/App_Resources/Android/src/main/res/drawable-hdpi/screen.png
  6. BIN
      app/App_Resources/Android/src/main/res/drawable-land-hdpi/screen.png
  7. BIN
      app/App_Resources/Android/src/main/res/drawable-land-ldpi/screen.png
  8. BIN
      app/App_Resources/Android/src/main/res/drawable-land-mdpi/screen.png
  9. BIN
      app/App_Resources/Android/src/main/res/drawable-land-xhdpi/screen.png
  10. BIN
      app/App_Resources/Android/src/main/res/drawable-land-xxhdpi/screen.png
  11. BIN
      app/App_Resources/Android/src/main/res/drawable-land-xxxhdpi/screen.png
  12. BIN
      app/App_Resources/Android/src/main/res/drawable-land/screen.png
  13. BIN
      app/App_Resources/Android/src/main/res/drawable-ldpi/background.png
  14. BIN
      app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
  15. BIN
      app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
  16. BIN
      app/App_Resources/Android/src/main/res/drawable-ldpi/screen.png
  17. BIN
      app/App_Resources/Android/src/main/res/drawable-mdpi/background.png
  18. BIN
      app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
  19. BIN
      app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
  20. BIN
      app/App_Resources/Android/src/main/res/drawable-mdpi/screen.png
  21. 2 5
      app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml
  22. BIN
      app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
  23. BIN
      app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
  24. BIN
      app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
  25. BIN
      app/App_Resources/Android/src/main/res/drawable-xhdpi/screen.png
  26. BIN
      app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
  27. BIN
      app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
  28. BIN
      app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
  29. BIN
      app/App_Resources/Android/src/main/res/drawable-xxhdpi/screen.png
  30. BIN
      app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
  31. BIN
      app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
  32. BIN
      app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
  33. BIN
      app/App_Resources/Android/src/main/res/drawable-xxxhdpi/screen.png
  34. BIN
      app/App_Resources/Android/src/main/res/drawable/icon.png
  35. BIN
      app/App_Resources/Android/src/main/res/drawable/screen.png
  36. 5 0
      app/App_Resources/Android/src/main/res/values-v21/strings.xml
  37. 5 0
      app/App_Resources/Android/src/main/res/values/strings.xml
  38. 124 99
      package-lock.json
  39. 8 8
      package.json

+ 68 - 15
app/App.svelte

@@ -1,19 +1,72 @@
-<page class="page">
-    <actionBar title="My App" icon="" class="action-bar">
-    </actionBar>
-    <stackLayout class="p-20">
-        <label text="Tap the button" class="h1 text-center"/>
-        <button text="TAP" on:tap="{ onTap }" class="btn btn-primary btn-active"/>
-        <label text="{ message }" class="h2 text-center" textWrap="true"/>
+<page actionBarHidden="true">
+    <stackLayout padding="5">
+        <label text="Farhang.im durchsuchen"></label>
+        <textField bind:text="{term}" hint="Deutsch oder persisch" />
+        <listView items="{lemmas}" style="height:100%" on:itemTap="{showLemma}">
+            <Template let:item>
+                {#if item.id === selectedItem.id}
+                    {#each translations as t}
+                        <flexboxLayout>
+                            <label alignSelf="flex-start" flexGrow="1" class="list-item active" text="{`${persian ? t.target : t.source}`}" textWrap="true"/>
+                            <label alignSelf="flex-end" flexGrow="1" class="list-item active" text="{`${persian ? t.source : t.target}`}" textWrap="true"/>
+                        </flexboxLayout>
+                    {/each}
+                {:else}
+                    <label class="list-item" text="iii{item.lemma}" textWrap="true" />
+                {/if}
+            </Template>
+        </listView>
     </stackLayout>
 </page>
 
 <script>
-    let counter = 42;
-    let message;
-    $: message = (counter <= 0) 
-                    ? "Hoorraaay! You unlocked the Svelte-Native clicker achievement!"
-                    : `${counter} taps left`
-    
-    const onTap = () => counter--;
-</script>
+    import { Template } from 'svelte-native/components';
+    import * as http from 'tns-core-modules/http'
+
+    let term = ''
+    let lemmas = []
+    let translations
+    let selectedItem = {}
+    let persian
+    $:  if (term.length > 1) {
+        persian = checkPersian(term)
+        const normalized = persian ? term.replace(/([\u064B-\u0655])/g, '') : term
+        http.getJSON(`https://api.farhang.im/a/${normalized}`)
+            .then(res => setLemmas(res))
+    }
+    $: if (term.length === 0) lemmas = []
+    function setLemmas(res) {
+        lemmas = res
+    }
+    function showLemma (lemma) {
+        selectedItem = lemma.view.bindingContext;
+        http.getJSON(`https://api.farhang.im/g/${selectedItem.id}`)
+            .then(res => {
+                translations = res
+                lemmas = Array.from(lemmas)
+            })
+    }
+    function checkPersian (string) {
+        const regex = /[\u0622\u0627\u0628\u067E\u062A-\u0632\u0686\u0698\u0633-\u063A\u0641\u0642\u06A9\u06AF\u0644-\u0648\u06CC]/
+        return regex.test(string)
+    }
+</script>
+
+<style>
+    textField {
+    font-size: 20;
+    color:black;
+    margin: 5;
+    }
+    .list-item {
+    font-size: 20;
+    color: black;
+    /* margin-left: 20; */
+    padding-top: 5;
+    padding-bottom: 10;
+    }
+    .list-item.active {
+    font-weight: bold;
+    color: black;
+    }
+</style>

BIN
app/App_Resources/Android/src/main/res/drawable-hdpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-hdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-hdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-ldpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-mdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-xhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-xxhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land-xxxhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-land/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-ldpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-ldpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-mdpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-mdpi/screen.png


+ 2 - 5
app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml

@@ -1,8 +1,5 @@
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="fill">
     <item>
-        <bitmap android:gravity="fill" android:src="@drawable/background" />
+        <bitmap android:gravity="fill" android:src="@drawable/screen" />
     </item>
-    <item>
-        <bitmap android:gravity="center" android:src="@drawable/logo" />
-    </item>
-</layer-list>
+</layer-list>

BIN
app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-xhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png


BIN
app/App_Resources/Android/src/main/res/drawable-xxxhdpi/screen.png


BIN
app/App_Resources/Android/src/main/res/drawable/icon.png


BIN
app/App_Resources/Android/src/main/res/drawable/screen.png


+ 5 - 0
app/App_Resources/Android/src/main/res/values-v21/strings.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">Farhang</string>
+    <string name="title_activity_kimera">Farhang</string>
+  </resources>

+ 5 - 0
app/App_Resources/Android/src/main/res/values/strings.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">Farhang</string>
+    <string name="title_activity_kimera">Farhang</string>
+  </resources>

+ 124 - 99
package-lock.json

@@ -382,9 +382,9 @@
             "dev": true
         },
         "async-each": {
-            "version": "1.0.1",
-            "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-            "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.2.tgz",
+            "integrity": "sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg==",
             "dev": true
         },
         "async-limiter": {
@@ -523,15 +523,15 @@
             "dev": true
         },
         "binary-extensions": {
-            "version": "1.13.0",
-            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-            "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+            "version": "1.13.1",
+            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+            "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
             "dev": true
         },
         "bluebird": {
-            "version": "3.5.3",
-            "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
-            "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
+            "version": "3.5.4",
+            "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz",
+            "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==",
             "dev": true
         },
         "bn.js": {
@@ -1462,14 +1462,14 @@
             }
         },
         "es5-ext": {
-            "version": "0.10.48",
-            "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.48.tgz",
-            "integrity": "sha512-CdRvPlX/24Mj5L4NVxTs4804sxiS2CjVprgCmrgoDkdmjdY4D+ySHa7K3jJf8R40dFg0tIm3z/dk326LrnuSGw==",
+            "version": "0.10.49",
+            "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz",
+            "integrity": "sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==",
             "dev": true,
             "requires": {
                 "es6-iterator": "~2.0.3",
                 "es6-symbol": "~3.1.1",
-                "next-tick": "1"
+                "next-tick": "^1.0.0"
             }
         },
         "es6-iterator": {
@@ -1506,9 +1506,9 @@
             "dev": true
         },
         "eslint-scope": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
-            "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+            "version": "4.0.3",
+            "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+            "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
             "dev": true,
             "requires": {
                 "esrecurse": "^4.1.0",
@@ -2753,9 +2753,9 @@
             }
         },
         "ieee754": {
-            "version": "1.1.12",
-            "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
-            "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
+            "version": "1.1.13",
+            "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+            "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
             "dev": true
         },
         "iferr": {
@@ -2800,9 +2800,9 @@
                     }
                 },
                 "p-limit": {
-                    "version": "2.1.0",
-                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
-                    "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+                    "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
                     "dev": true,
                     "requires": {
                         "p-try": "^2.0.0"
@@ -2818,9 +2818,9 @@
                     }
                 },
                 "p-try": {
-                    "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-                    "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+                    "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
                     "dev": true
                 },
                 "pkg-dir": {
@@ -2973,9 +2973,9 @@
             "dev": true
         },
         "is-glob": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
-            "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+            "version": "4.0.1",
+            "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+            "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
             "dev": true,
             "requires": {
                 "is-extglob": "^2.1.1"
@@ -3244,13 +3244,13 @@
             "dev": true
         },
         "mem": {
-            "version": "4.1.0",
-            "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz",
-            "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==",
+            "version": "4.3.0",
+            "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+            "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
             "dev": true,
             "requires": {
                 "map-age-cleaner": "^0.1.1",
-                "mimic-fn": "^1.0.0",
+                "mimic-fn": "^2.0.0",
                 "p-is-promise": "^2.0.0"
             }
         },
@@ -3329,9 +3329,9 @@
             }
         },
         "mimic-fn": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-            "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+            "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
             "dev": true
         },
         "minimalistic-assert": {
@@ -3448,9 +3448,9 @@
             "dev": true
         },
         "nan": {
-            "version": "2.12.1",
-            "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
-            "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+            "version": "2.13.2",
+            "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
+            "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
             "dev": true,
             "optional": true
         },
@@ -3485,9 +3485,9 @@
             }
         },
         "nativescript-dev-webpack": {
-            "version": "0.20.2",
-            "resolved": "https://registry.npmjs.org/nativescript-dev-webpack/-/nativescript-dev-webpack-0.20.2.tgz",
-            "integrity": "sha512-F7o1dRIaX55Xudc9eoftAkQcuVabTGaIBz6egYAZ8L/fkwwXGtJrd7NuLgb5UwLXPoykhb8QNLAr1lcDc9nCAg==",
+            "version": "0.20.3",
+            "resolved": "https://registry.npmjs.org/nativescript-dev-webpack/-/nativescript-dev-webpack-0.20.3.tgz",
+            "integrity": "sha512-j3MsSWTyYteMBmljW4kFAGwvAcE+46QA3VH18kA8vXhmwGne/J8a5CDeI0a5jp+0ecDfm74oyRjLZur6j7AtKw==",
             "dev": true,
             "requires": {
                 "@angular-devkit/core": "~7.2.0",
@@ -3816,9 +3816,9 @@
             "dev": true
         },
         "p-is-promise": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz",
-            "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==",
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+            "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
             "dev": true
         },
         "p-limit": {
@@ -3846,9 +3846,9 @@
             "dev": true
         },
         "pako": {
-            "version": "1.0.8",
-            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz",
-            "integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==",
+            "version": "1.0.10",
+            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+            "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
             "dev": true
         },
         "parallel-transform": {
@@ -4868,9 +4868,9 @@
             }
         },
         "source-map-support": {
-            "version": "0.5.10",
-            "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
-            "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==",
+            "version": "0.5.12",
+            "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
+            "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
             "dev": true,
             "requires": {
                 "buffer-from": "^1.0.0",
@@ -5050,9 +5050,9 @@
             "dev": true
         },
         "svelte": {
-            "version": "3.0.0-beta.20",
-            "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.0.0-beta.20.tgz",
-            "integrity": "sha512-IEZrUseN2Hzpo1KFdyZf3Neqw7abbXLU7oRRkyBVm0iT1PQKHj8G75hR0wISvz7pOegYisiVFdi3C5Asz4ps9Q==",
+            "version": "3.0.0-beta.22",
+            "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.0.0-beta.22.tgz",
+            "integrity": "sha512-JY+R999P0X4W6DcXOYasp3daSxEEqYffWrvNAKWsOWj4W+V1kpwF3biq5bcSNoozQXiX1QFXrJpFlcfY3Fq71Q==",
             "dev": true
         },
         "svelte-dev-helper": {
@@ -5062,8 +5062,9 @@
             "dev": true
         },
         "svelte-loader": {
-            "version": "github:halfnelson/svelte-loader#1948597bf82e4d5034d6a28b734bbde4301b0702",
-            "from": "github:halfnelson/svelte-loader#fix-virtual-purge",
+            "version": "2.13.3",
+            "resolved": "https://registry.npmjs.org/svelte-loader/-/svelte-loader-2.13.3.tgz",
+            "integrity": "sha512-ZvNWbR77lZ04nCHqnN0XFxKCQ+fynARCy+kxwogagW3k2NTJWg2QfJwN1J9d4ch+OZwcGPgGZITVr7FGB3hPmQ==",
             "dev": true,
             "requires": {
                 "loader-utils": "^1.1.0",
@@ -5071,7 +5072,9 @@
             }
         },
         "svelte-native": {
-            "version": "0.2.0"
+            "version": "0.2.2",
+            "resolved": "https://registry.npmjs.org/svelte-native/-/svelte-native-0.2.2.tgz",
+            "integrity": "sha512-MncL+4h74AbgWXUAHFkjApr6K94PAW1vychuN6PYCh+cdeeGCHJyHfbMsYnbed4PcBNMIFfRH894VqonKcnsVg=="
         },
         "svelte-native-preprocessor": {
             "version": "0.1.1",
@@ -5086,20 +5089,20 @@
             "dev": true
         },
         "terser": {
-            "version": "3.16.1",
-            "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz",
-            "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==",
+            "version": "3.17.0",
+            "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+            "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
             "dev": true,
             "requires": {
-                "commander": "~2.17.1",
+                "commander": "^2.19.0",
                 "source-map": "~0.6.1",
-                "source-map-support": "~0.5.9"
+                "source-map-support": "~0.5.10"
             },
             "dependencies": {
                 "commander": {
-                    "version": "2.17.1",
-                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
-                    "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+                    "version": "2.20.0",
+                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+                    "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
                     "dev": true
                 },
                 "source-map": {
@@ -5111,9 +5114,9 @@
             }
         },
         "terser-webpack-plugin": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz",
-            "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==",
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz",
+            "integrity": "sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA==",
             "dev": true,
             "requires": {
                 "cacache": "^11.0.2",
@@ -5149,13 +5152,13 @@
                     }
                 },
                 "find-cache-dir": {
-                    "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz",
-                    "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==",
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+                    "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
                     "dev": true,
                     "requires": {
                         "commondir": "^1.0.1",
-                        "make-dir": "^1.0.0",
+                        "make-dir": "^2.0.0",
                         "pkg-dir": "^3.0.0"
                     }
                 },
@@ -5201,6 +5204,16 @@
                         "yallist": "^3.0.2"
                     }
                 },
+                "make-dir": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+                    "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+                    "dev": true,
+                    "requires": {
+                        "pify": "^4.0.1",
+                        "semver": "^5.6.0"
+                    }
+                },
                 "mississippi": {
                     "version": "3.0.0",
                     "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@@ -5220,9 +5233,9 @@
                     }
                 },
                 "p-limit": {
-                    "version": "2.1.0",
-                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
-                    "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+                    "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
                     "dev": true,
                     "requires": {
                         "p-try": "^2.0.0"
@@ -5238,9 +5251,15 @@
                     }
                 },
                 "p-try": {
-                    "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-                    "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+                    "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+                    "dev": true
+                },
+                "pify": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+                    "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
                     "dev": true
                 },
                 "pkg-dir": {
@@ -5273,6 +5292,12 @@
                         "ajv-keywords": "^3.1.0"
                     }
                 },
+                "semver": {
+                    "version": "5.7.0",
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+                    "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+                    "dev": true
+                },
                 "source-map": {
                     "version": "0.6.1",
                     "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -5316,18 +5341,18 @@
             }
         },
         "tns-core-modules": {
-            "version": "5.2.1",
-            "resolved": "https://registry.npmjs.org/tns-core-modules/-/tns-core-modules-5.2.1.tgz",
-            "integrity": "sha512-SzAii4oHdOxQxudvGeYW1Z8oJ5gctdkikJdfvLFX7kPR7s+8oh1v65arNrSXfhTPxyvC00qTgoz0mEY9iE1H+w==",
+            "version": "5.3.1",
+            "resolved": "https://registry.npmjs.org/tns-core-modules/-/tns-core-modules-5.3.1.tgz",
+            "integrity": "sha512-b1zBFr+LTxnUe+jxMqyfjHYXKqbECT/YNqtxmJpbma9P+gqPTfFJ1eFWU+yVNQVDIQhZ/Wy8P56H6cm99nmYoQ==",
             "requires": {
-                "tns-core-modules-widgets": "5.2.0",
+                "tns-core-modules-widgets": "5.3.0",
                 "tslib": "^1.9.3"
             }
         },
         "tns-core-modules-widgets": {
-            "version": "5.2.0",
-            "resolved": "https://registry.npmjs.org/tns-core-modules-widgets/-/tns-core-modules-widgets-5.2.0.tgz",
-            "integrity": "sha512-OHzP0Fnd2ya3m2kx+ilfjQRSzZNUr0SQovRSPwblP7hXe8gSJMb1dmn1Q+WWVkbHMKt74NtIQb+X6ez45CUviA=="
+            "version": "5.3.0",
+            "resolved": "https://registry.npmjs.org/tns-core-modules-widgets/-/tns-core-modules-widgets-5.3.0.tgz",
+            "integrity": "sha512-mR8Pof0NhMRhPYcshQ54WyPrlbrqmTgrwxALtF1485fbCAHblz/2DqU7yGmTgC5LNdV7yhNeHYouoYg3TYOZbA=="
         },
         "to-arraybuffer": {
             "version": "1.0.1",
@@ -5635,9 +5660,9 @@
             }
         },
         "upath": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
-            "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
+            "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
             "dev": true
         },
         "uri-js": {
@@ -5838,9 +5863,9 @@
                     }
                 },
                 "commander": {
-                    "version": "2.19.0",
-                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
-                    "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+                    "version": "2.20.0",
+                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+                    "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
                     "dev": true
                 },
                 "supports-color": {
@@ -5990,9 +6015,9 @@
             "dev": true
         },
         "ws": {
-            "version": "6.1.4",
-            "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
-            "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
+            "version": "6.2.1",
+            "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+            "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
             "dev": true,
             "requires": {
                 "async-limiter": "~1.0.0"
@@ -6056,9 +6081,9 @@
                     }
                 },
                 "p-limit": {
-                    "version": "2.1.0",
-                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
-                    "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+                    "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
                     "dev": true,
                     "requires": {
                         "p-try": "^2.0.0"
@@ -6074,9 +6099,9 @@
                     }
                 },
                 "p-try": {
-                    "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
-                    "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+                    "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
                     "dev": true
                 }
             }

+ 8 - 8
package.json

@@ -1,11 +1,11 @@
 {
     "nativescript": {
         "id": "io.github.halfnelson.sveltenativetemplate",
-        "tns-android": {
-            "version": "5.2.0"
-        },
         "tns-ios": {
             "version": "5.2.0"
+        },
+        "tns-android": {
+            "version": "5.3.1"
         }
     },
     "main": "app.js",
@@ -14,14 +14,14 @@
     "repository": "<fill-your-repository-here>",
     "dependencies": {
         "nativescript-theme-core": "~1.0.4",
-        "tns-core-modules": "~5.2.0",
-        "svelte-native": "^0.2.0"
+        "svelte-native": "^0.2.2",
+        "tns-core-modules": "^5.3.1"
     },
     "devDependencies": {
         "nativescript-dev-typescript": "~0.8.0",
-        "nativescript-dev-webpack": "~0.20.0",
-        "svelte": "^3.0.0-beta.20",
-        "svelte-loader": "halfnelson/svelte-loader#fix-virtual-purge",
+        "nativescript-dev-webpack": "^0.20.3",
+        "svelte": "^3.0.0-beta.22",
+        "svelte-loader": "^2.13.3",
         "svelte-native-preprocessor": "0.1.1"
     },
     "gitHead": "59b6da006346fedb5bb201fcc9cd7d204a69a82f",