diff --git a/app/ForegroundService.js b/app/ForegroundService.js
index 3f2ac675..5a9e4b64 100644
--- a/app/ForegroundService.js
+++ b/app/ForegroundService.js
@@ -1,15 +1,14 @@
import { TimerNotif } from './shared/utils'
const superProto = android.app.Service.prototype
+
android.app.Service.extend('com.tns.ForegroundService', {
onStartCommand: function(intent, flags, startId) {
- console.log('onStartCommand')
superProto.onStartCommand.call(this, intent, flags, startId)
return android.app.Service.START_STICKY
},
onCreate: function() {
- console.log('onCreate')
superProto.onCreate.call(this)
- this.startForeground(777, this.getNotification())
+ this.startForeground(6, this.getNotification())
},
onBind: function(intent) {
return superProto.onBind.call(this, intent)
@@ -18,17 +17,16 @@ android.app.Service.extend('com.tns.ForegroundService', {
return superProto.onUnbind.call(this, intent)
},
onDestroy: function() {
- console.log('onDestroy')
this.stopForeground(true)
},
getNotification: function() {
return TimerNotif.getNotification(
{
- bID: 'bringToFront',
+ bID: 'info',
cID: 'cti',
cName: 'Cooking Timer info',
description: `0 ongoing, 0 paused`,
- nID: 777,
+ nID: 6,
priority: -2,
sound: null,
title: 'EnRecipes is running',
diff --git a/app/app.scss b/app/app.scss
index 885ddbb7..ae66c777 100644
--- a/app/app.scss
+++ b/app/app.scss
@@ -37,7 +37,7 @@ Page {
@extend .tb;
@extend .tw;
font-size: 25;
- padding: 16;
+ padding: 16 16 24;
}
.Light {
color: $gray9;
@@ -156,6 +156,7 @@ TextField.combField,
#searchBar {
border-color: transparent;
}
+
// -----------------------------
// Elements
TextField,
@@ -181,28 +182,15 @@ TextView {
width: 100%;
}
progress {
- margin: 16;
+ color: $orange;
+ width: 100%;
+ height: 2;
background-color: $gray5;
}
Switch {
background-color: $orange;
off-background-color: $gray5;
}
-// -----------------------------
-// Side Drawer
-.segment {
- border-radius: 12;
- margin: 0 4 0 0;
- padding: 0 12;
- .value {
- padding-left: 8;
- vertical-alignment: center;
- }
- &.select {
- color: $orange;
- @extend .hl;
- }
-}
button {
background-color: transparent;
z-index: 0;
@@ -214,14 +202,13 @@ button {
@extend .fade;
}
&.ico {
- padding: 0;
- margin: 0;
width: 48;
height: 48;
+ padding: 0;
+ margin: 0;
}
&.text {
@extend .tb;
- horizontal-alignment: left;
color: $orange;
}
&.big {
@@ -235,12 +222,6 @@ button {
&.min {
width: 40;
height: 40;
- }
- &.x {
- width: 32;
- height: 32;
- min-width: 0;
- margin: 0 0 0 4;
vertical-alignment: center;
}
&.rate {
@@ -249,8 +230,31 @@ button {
height: 32;
}
}
+ActivityIndicator {
+ width: 24;
+ height: 24;
+ margin: 12;
+ color: $orange;
+}
+
// -----------------------------
-// HOME
+// Home
+.segment {
+ border-radius: 12;
+ margin: 0 4 0 0;
+ padding: 0 12;
+ .value {
+ padding: 0 0 0 8;
+ vertical-alignment: center;
+ &.rtl {
+ padding: 0 8 0 0;
+ }
+ }
+ &.select {
+ color: $orange;
+ @extend .hl;
+ }
+}
.emptyState {
padding: 16 16 8;
label {
@@ -261,13 +265,18 @@ button {
font-size: 17;
}
}
+
// -----------------------------
-// Recipe Items
+// Recipe Item
.recipeItem {
padding: 8 16;
.recipeInfo {
vertical-alignment: center;
padding: 0 0 4 8;
+ &.rtl {
+ transform: none;
+ padding: 0 8 4 0;
+ }
}
.title {
padding: 0 0 4;
@@ -275,6 +284,9 @@ button {
.attr {
font-size: 10;
padding: 0 6 1 2;
+ &.rtl {
+ padding: 0 2 1 6;
+ }
}
}
.simple .recipeInfo {
@@ -283,7 +295,6 @@ button {
.minimal .title {
padding: 0;
}
-
.grid {
padding: 8;
.recipeInfo {
@@ -311,39 +322,34 @@ button {
.imgHolder {
border-radius: 12;
}
-// -----------------------------
-// COOKING TIMER
-.singleTimer {
- padding: 8 16;
+// -----------------------------
+// CookingTimer
+.timer {
+ padding: 8 16 0;
.info {
- margin: 8;
- }
- .recipeTitle {
- horizontal-alignment: left;
- // font-size: 12;
+ margin: 8 8 8 16;
+ &.r {
+ margin: 8 16 8 8;
+ }
}
progress {
- color: $orange;
- width: 100%;
- height: 4;
margin: 8 0 0;
}
}
+
// -----------------------------
-// SETTINGS
+// Settings
.group-info {
padding: 16 16 16 72;
line-height: 4;
}
-.options-list {
+.options {
.option {
vertical-align: center;
- padding: 14 8;
- margin: 0 16;
+ padding: 14 12;
.ico {
- padding: 0;
- margin: 0 24 0 16;
+ margin: 0 24 0 12;
}
.info,
.sub {
@@ -359,7 +365,7 @@ button {
}
// -----------------------------
-// ABOUT
+// About
.app-info {
.icon {
horizontal-alignment: center;
@@ -372,8 +378,9 @@ button {
line-height: 4;
}
}
+
// -----------------------------
-// VIEW RECIPE
+// ViewRecipe
.photo {
border-radius: 12;
margin: 24 16 0 0;
@@ -396,15 +403,12 @@ button {
@extend .tw;
}
}
-.clickable {
- color: $orange;
-}
.ingredient {
padding: 0 16;
.value {
@extend .tw;
vertical-align: center;
- padding: 14 0 14 16;
+ padding: 14 16;
line-height: 4;
}
}
@@ -416,13 +420,12 @@ button {
}
.value {
@extend .tw;
- padding: 14 0 14 16;
+ padding: 14 16;
line-height: 4;
}
}
.done {
opacity: 0.5;
- // @extend .fade;
.value {
text-decoration: line-through;
}
@@ -443,8 +446,9 @@ button {
font-size: 12;
line-height: 4;
}
+
// -----------------------------
-// APPBAR
+// AppBar
.appbar {
z-index: 4;
min-height: 56;
@@ -461,13 +465,16 @@ button {
padding: 14 16;
}
.fab {
- margin-left: 4;
+ margin-left: 8;
+ }
+ &.home {
+ margin: 8 8 0;
}
}
.toolbar {
z-index: 4;
padding: 4;
- margin-bottom: 0;
+ margin: 0 0 52;
horizontal-alignment: left;
.tool {
padding: 0 12;
@@ -475,19 +482,20 @@ button {
vertical-alignment: center;
}
.ico {
- padding-right: 8;
+ padding: 0 8 0 0;
+ &.rtl {
+ padding: 0 0 0 8;
+ }
}
}
}
.fab {
- width: 48;
- height: 48;
- margin: 0 4 0 0;
border-radius: 12;
background: $orange;
}
+
// -----------------------------
-// EDIT RECIPE
+// EditRecipe
.sectionTitle {
@extend .tb;
@extend .tw;
@@ -504,8 +512,9 @@ button {
font-size: 17;
color: $orange;
}
+
// -----------------------------
-// MEAL PLANNER
+// MealPlanner
.calendar {
padding: 0 8;
.navBtn {
@@ -541,13 +550,13 @@ button {
}
.recipeTitle {
@extend .tw;
- text-align: left;
padding: 16 8;
line-height: 4;
}
}
+
// -----------------------------
-// DIALOGS
+// Dialogs
.modal {
max-width: 320;
width: 100%;
@@ -567,13 +576,12 @@ button {
padding: 0 16 8;
}
ListPicker {
- width: 25%;
- height: 128;
+ width: 30%;
+ height: 144;
margin: 16 0;
}
.listItem {
@extend .tw;
- width: 100%;
letter-spacing: 0;
text-transform: none;
line-height: 4;
@@ -607,32 +615,9 @@ button {
padding: 16;
line-height: 4;
}
-// -----------------------------
-ActivityIndicator {
- width: 24;
- height: 24;
- margin: 12;
- color: $orange;
-}
+
// -----------------------------
// Transitions
-.blink {
- animation-name: blink;
- animation-duration: 1s;
- animation-iteration-count: infinite;
- animation-timing-function: ease;
-}
-@keyframes blink {
- 0% {
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
-}
.hl {
animation-name: hl;
animation-duration: 0.2s;
@@ -661,3 +646,18 @@ ActivityIndicator {
opacity: 0.5;
}
}
+
+// -----------------------------
+// Helpers
+.rtl {
+ transform: scaleX(-1);
+}
+.clickable {
+ color: $orange;
+}
+.hal {
+ horizontal-alignment: left;
+ &.r {
+ horizontal-alignment: right;
+ }
+}
diff --git a/app/components/settings/Interface.vue b/app/components/settings/Interface.vue
index be65f6eb..dbcc4c2c 100644
--- a/app/components/settings/Interface.vue
+++ b/app/components/settings/Interface.vue
@@ -1,11 +1,17 @@
-
-
+
+
-
+
-
+
@@ -16,7 +22,7 @@ import {
Device,
Frame,
} from "@nativescript/core";
-import { localize, overrideLocale } from "@nativescript/localize";
+import { localize } from "@nativescript/localize";
import Action from "../modals/Action";
import Confirm from "../modals/Confirm";
import OptionsList from "../sub/OptionsList";
@@ -27,11 +33,11 @@ export default {
components: { OptionsList },
data() {
return {
- appLanguage: "English",
+ applang: 0,
};
},
computed: {
- ...mapState(["icon", "language", "appTheme", "layout"]),
+ ...mapState(["icon", "language", "appTheme", "layout", "RTL"]),
items() {
return [
{},
@@ -39,23 +45,21 @@ export default {
type: "list",
icon: "lang",
title: "lang",
- subTitle: this.appLanguage,
- action: this.selectAppLanguage,
+ subTitle: this.applang,
+ action: this.setAppLang,
},
{
type: "list",
icon: "theme",
title: "Theme",
- subTitle: localize(
- ApplicationSettings.getString("appTheme", "sysDef")
- ),
+ subTitle: ApplicationSettings.getString("appTheme", "sysDef"),
action: this.selectThemes,
},
{
type: "list",
icon: "layout",
title: "listVM",
- subTitle: localize(this.layout),
+ subTitle: this.layout,
action: this.setLayoutMode,
},
{},
@@ -63,12 +67,12 @@ export default {
},
},
methods: {
- ...mapActions(["setTheme", "setLayout"]),
- onPageLoad({ object }) {
+ ...mapActions(["setTheme", "setLayout", "setRTL"]),
+ pgLoad({ object }) {
object.bindingContext = new Observable();
},
// LANGUAGE SELECTION
- selectAppLanguage() {
+ setAppLang() {
let languages = this.language.map((e) => e.title);
this.$showModal(Action, {
props: {
@@ -76,26 +80,19 @@ export default {
list: [...languages],
},
}).then((action) => {
- if (action && this.appLanguage !== action) {
- let currentLocale = Device.language.split("-")[0];
+ if (action && this.applang !== action) {
+ let currentLocale = ApplicationSettings.getString(
+ "appLocale",
+ "none"
+ ).split("-");
let locale = this.language.filter((e) => e.title === action)[0]
.locale;
if (currentLocale !== locale) {
- this.$showModal(Confirm, {
- props: {
- title: "appRst",
- description: localize("nLangInfo"),
- cancelButtonText: "cBtn",
- okButtonText: "rst",
- },
- }).then((result) => {
- if (result) {
- this.appLanguage = action;
- ApplicationSettings.setString("appLanguage", action);
- overrideLocale(locale);
- setTimeout(utils.restartApp, 250);
- }
- });
+ this.applang = action;
+ ApplicationSettings.setString("applang", action);
+ ApplicationSettings.setString("appLocale", locale);
+ utils.updateLocale();
+ this.setRTL();
}
}
});
@@ -111,7 +108,7 @@ export default {
if (
action &&
(ApplicationSettings.getString("appTheme") != this.appTheme
- ? true
+ ? 1
: this.appTheme != action)
) {
this.setTheme(action);
@@ -136,10 +133,7 @@ export default {
},
},
created() {
- this.appLanguage = ApplicationSettings.getString(
- "appLanguage",
- localize("sysDef")
- );
+ this.applang = ApplicationSettings.getString("applang", "sysDef");
},
};
diff --git a/app/i18n/en-GB.default.json b/app/i18n/en-GB.default.json
index 7063b5b4..3e6c911d 100644
--- a/app/i18n/en-GB.default.json
+++ b/app/i18n/en-GB.default.json
@@ -320,5 +320,21 @@
"texp": "%s timers expired",
"dismiss": "Dismiss",
"dismissAll": "Dismiss all timers",
- "ttv": "Tap to view"
+ "ttv": "Tap to view",
+ "oAP": "%1$s ongoing, %2$s paused",
+ "calVM": "Calendar view mode",
+ "mnthly": "Monthly",
+ "wkly": "Weekly",
+ "dly": "Daily",
+ "sun": "Sunday",
+ "mon": "Monday",
+ "tue": "Tuesday",
+ "wed": "Wednesday",
+ "thu": "Thursday",
+ "fri": "Friday",
+ "sat": "Saturday",
+ "cpy": "copy",
+ "tdy": "Today",
+ "tmrw": "Tomorrow",
+ "ystr": "Yesterday"
}
diff --git a/app/main.ts b/app/main.ts
index 633e14e6..a5fe7681 100644
--- a/app/main.ts
+++ b/app/main.ts
@@ -1,15 +1,98 @@
+import {
+ Application,
+ AndroidApplication,
+ ApplicationSettings,
+ Utils,
+ Device,
+ Color,
+ Frame,
+} from '@nativescript/core'
import {
localize,
androidLaunchEventLocalizationHandler,
} from '@nativescript/localize'
-import { Application, AndroidApplication, Utils } from '@nativescript/core'
+import Vue from 'nativescript-vue'
+import EnRecipes from './components/EnRecipes.vue'
+import EditRecipe from './components/EditRecipe.vue'
+import MealPlanner from './components/MealPlanner.vue'
+import CookingTimer from './components/CookingTimer.vue'
+import GroceryList from './components/GroceryList.vue'
+import store from './store'
+import * as utils from '~/shared/utils'
-const keepScreenOn = () => {
+export const EventBus = new Vue()
+
+let renderView: any = EnRecipes
+
+import CollectionView from '@nativescript-community/ui-collectionview/vue'
+Vue.use(CollectionView)
+import { StackLayout, GridLayout, DockLayout } from '@nativescript-rtl/ui'
+Vue.registerElement('RStackLayout', () => StackLayout)
+Vue.registerElement('RGridLayout', () => GridLayout)
+Vue.registerElement('RDockLayout', () => DockLayout)
+
+import { myMixin } from './shared/mixins'
+Vue.mixin(myMixin)
+
+const initFrame = () => {
+ const vm = store
+
+ //MAIN INIT
+ vm.commit('setTheme', ApplicationSettings.getString('appTheme', 'sysDef'))
+ if (!vm.state.recipes.length) vm.commit('initRecipes')
+ vm.commit('initMealPlans')
+ vm.commit('initListItems')
+ vm.commit('initTimerPresets')
+ if (!Object.keys(vm.state.timerSound).length) {
+ let hasTimerSound = ApplicationSettings.getString('timerSound', null)
+ vm.commit(
+ 'setTimerSound',
+ hasTimerSound ? JSON.parse(hasTimerSound) : utils.getTones().defaultTone
+ )
+ }
+
+ // INIT FRAME
+ const View = android.view.View as any
+ const window = Application.android.startActivity.getWindow()
+ const decorView = window.getDecorView()
+ let sdkv = parseInt(Device.sdkVersion)
+ function setColors(color) {
+ window.setStatusBarColor(new Color(color).android)
+ sdkv >= 27 && window.setNavigationBarColor(new Color(color).android)
+ }
+ switch (vm.state.appTheme) {
+ case 'Light':
+ setColors('#f1f3f5')
+ break
+ case 'Dark':
+ setColors('#212529')
+ break
+ default:
+ setColors('#000000')
+ break
+ }
+ if (sdkv >= 27)
+ decorView.setSystemUiVisibility(
+ vm.state.appTheme == 'Light'
+ ? View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR |
+ View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
+ : View.SYSTEM_UI_FLAG_DARK_STATUS_BAR |
+ View.SYSTEM_UI_FLAG_DARK_NAVIGATION_BAR
+ )
+ else
+ decorView.setSystemUiVisibility(
+ vm.state.appTheme == 'Light'
+ ? View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
+ : View.SYSTEM_UI_FLAG_DARK_STATUS_BAR
+ )
+ Frame.topmost().className = store.state.appTheme
+}
+const showOverLockscreen = () => {
let ctx = Utils.ad.getApplicationContext()
const pm = ctx.getSystemService(android.content.Context.POWER_SERVICE)
let isScreenOff = !pm.isInteractive()
if (isScreenOff) {
- console.log('keepScreenOn')
+ console.log('showOverLockscreen')
const window = Application.android.startActivity.getWindow()
const windowMgr = android.view.WindowManager
const flags =
@@ -17,42 +100,63 @@ const keepScreenOn = () => {
windowMgr.LayoutParams.FLAG_TURN_SCREEN_ON |
windowMgr.LayoutParams.FLAG_KEEP_SCREEN_ON
window.addFlags(flags)
- function clearFlags(args) {
- args.cancel = true
- window.clearFlags(flags)
- Application.android.off(
- AndroidApplication.activityBackPressedEvent,
- clearFlags
- )
- }
- Application.android.on(
- AndroidApplication.activityBackPressedEvent,
- clearFlags
- )
}
}
-Application.on(Application.resumeEvent, keepScreenOn)
+const intentListener = ({ intent, android }: any) => {
+ console.log(intent, android)
+ let action = ((intent || android).getStringExtra('action') ||
+ (android && android.getAction())) as string
+
+ if (action) {
+ console.log(action)
+ switch (action) {
+ case 'new_recipe':
+ renderView = EditRecipe
+ break
+ case 'planner':
+ renderView = MealPlanner
+ break
+ case 'timer':
+ renderView = CookingTimer
+ Vue.navigateTo(CookingTimer as any, {
+ animated: false,
+ })
+ break
+ case 'grocery':
+ renderView = GroceryList
+ break
+ }
+ }
+}
+
+Application.on(Application.resumeEvent, (args) => {
+ console.log('App Resume')
+ showOverLockscreen()
+})
Application.on(Application.launchEvent, (args) => {
- console.log('launching')
+ console.log('App Launch')
+ console.log('RTL', store.state.RTL)
+ store.commit('setRTL')
if (args.android) {
androidLaunchEventLocalizationHandler()
intentListener(args)
}
+ Application.android.on(
+ AndroidApplication.activityNewIntentEvent,
+ intentListener
+ )
+ Frame.on(Frame.loadedEvent, initFrame)
})
-import Vue from 'nativescript-vue'
-import EnRecipes from './components/EnRecipes.vue'
-import CookingTimer from './components/CookingTimer.vue'
-import store from './store'
-
-export const EventBus = new Vue()
-
-import CollectionView from '@nativescript-community/ui-collectionview/vue'
-Vue.use(CollectionView)
-
-import { lvMixin } from './shared/mixins'
-Vue.mixin(lvMixin)
+Application.on(Application.exitEvent, () => {
+ console.log('App Exit')
+ renderView = EnRecipes
+ Application.android.off(
+ AndroidApplication.activityNewIntentEvent,
+ intentListener
+ )
+})
Vue.config.silent = false
@@ -60,37 +164,5 @@ Vue.filter('L', localize)
new Vue({
store,
- render: (h) => h(EnRecipes),
+ render: (h) => h('Frame', [h(renderView)]),
}).$start()
-
-const intentListener = ({ intent, android }: any) => {
- let ct = 'CookingTimer'
- let action = (intent || android).getStringExtra('action')
- console.log('calling: ', action)
- if (action == 'open_timer' && store.state.currentComponent != ct) {
- let openTimer = setInterval(() => {
- let comp = store.state.currentComponent
- if (comp == ct) clearInterval(openTimer)
- else {
- if (comp == 'CTSettings') Vue.navigateBack()
- else {
- Vue.navigateTo(CookingTimer)
- store.commit('setComponent', 'CookingTimer')
- }
- }
- }, 250)
- }
-}
-Application.on(Application.launchEvent, () => {
- Application.android.on(
- AndroidApplication.activityNewIntentEvent,
- intentListener
- )
-})
-Application.on(Application.exitEvent, () => {
- store.commit('setComponent', 'EnRecipes')
- Application.android.off(
- AndroidApplication.activityNewIntentEvent,
- intentListener
- )
-})
diff --git a/app/resources/Android/src/main/AndroidManifest.xml b/app/resources/Android/src/main/AndroidManifest.xml
index f5e4faba..14e84039 100644
--- a/app/resources/Android/src/main/AndroidManifest.xml
+++ b/app/resources/Android/src/main/AndroidManifest.xml
@@ -11,13 +11,14 @@
-
-
+
+
+
diff --git a/app/resources/Android/src/main/res/drawable-anydpi-v26/ic_launcher.xml b/app/resources/Android/src/main/res/drawable-anydpi-v26/app_icon.xml
similarity index 72%
rename from app/resources/Android/src/main/res/drawable-anydpi-v26/ic_launcher.xml
rename to app/resources/Android/src/main/res/drawable-anydpi-v26/app_icon.xml
index 3b5cf969..04c8ed4c 100644
--- a/app/resources/Android/src/main/res/drawable-anydpi-v26/ic_launcher.xml
+++ b/app/resources/Android/src/main/res/drawable-anydpi-v26/app_icon.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_add.xml b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_add.xml
new file mode 100644
index 00000000..1407d627
--- /dev/null
+++ b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_add.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_grocery.xml b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_grocery.xml
new file mode 100644
index 00000000..d7d2a1e5
--- /dev/null
+++ b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_grocery.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_planner.xml b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_planner.xml
new file mode 100644
index 00000000..b16e4142
--- /dev/null
+++ b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_planner.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_timer.xml b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_timer.xml
new file mode 100644
index 00000000..655ede74
--- /dev/null
+++ b/app/resources/Android/src/main/res/drawable-anydpi-v26/sc_timer.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/ic_launcher.webp b/app/resources/Android/src/main/res/drawable-hdpi/app_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-hdpi/ic_launcher.webp
rename to app/resources/Android/src/main/res/drawable-hdpi/app_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/ic_launcher_foreground.webp b/app/resources/Android/src/main/res/drawable-hdpi/app_icon_fg.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-hdpi/ic_launcher_foreground.webp
rename to app/resources/Android/src/main/res/drawable-hdpi/app_icon_fg.webp
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/ic_stat_notify.webp b/app/resources/Android/src/main/res/drawable-hdpi/notify_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-hdpi/ic_stat_notify.webp
rename to app/resources/Android/src/main/res/drawable-hdpi/notify_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/ic_stat_notify_silhouette.webp b/app/resources/Android/src/main/res/drawable-hdpi/notify_icon_sil.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-hdpi/ic_stat_notify_silhouette.webp
rename to app/resources/Android/src/main/res/drawable-hdpi/notify_icon_sil.webp
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_add.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_add.webp
new file mode 100644
index 00000000..3c966167
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_add.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_add_fg.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_add_fg.webp
new file mode 100644
index 00000000..fef38e89
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_add_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery.webp
new file mode 100644
index 00000000..e1f015d0
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery_fg.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery_fg.webp
new file mode 100644
index 00000000..5e3af964
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_grocery_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_planner.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_planner.webp
new file mode 100644
index 00000000..5ef4f9c1
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_planner.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_planner_fg.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_planner_fg.webp
new file mode 100644
index 00000000..761ad469
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_planner_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_timer.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_timer.webp
new file mode 100644
index 00000000..d67881cc
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_timer.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-hdpi/sc_timer_fg.webp b/app/resources/Android/src/main/res/drawable-hdpi/sc_timer_fg.webp
new file mode 100644
index 00000000..4d34a7ac
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-hdpi/sc_timer_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/ic_launcher.webp b/app/resources/Android/src/main/res/drawable-mdpi/app_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-mdpi/ic_launcher.webp
rename to app/resources/Android/src/main/res/drawable-mdpi/app_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/ic_launcher_foreground.webp b/app/resources/Android/src/main/res/drawable-mdpi/app_icon_fg.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-mdpi/ic_launcher_foreground.webp
rename to app/resources/Android/src/main/res/drawable-mdpi/app_icon_fg.webp
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/ic_stat_notify.webp b/app/resources/Android/src/main/res/drawable-mdpi/notify_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-mdpi/ic_stat_notify.webp
rename to app/resources/Android/src/main/res/drawable-mdpi/notify_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/ic_stat_notify_silhouette.webp b/app/resources/Android/src/main/res/drawable-mdpi/notify_icon_sil.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-mdpi/ic_stat_notify_silhouette.webp
rename to app/resources/Android/src/main/res/drawable-mdpi/notify_icon_sil.webp
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_add.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_add.webp
new file mode 100644
index 00000000..290f87b0
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_add.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_add_fg.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_add_fg.webp
new file mode 100644
index 00000000..17d50d70
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_add_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery.webp
new file mode 100644
index 00000000..4318670e
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery_fg.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery_fg.webp
new file mode 100644
index 00000000..15020eb9
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_grocery_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_planner.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_planner.webp
new file mode 100644
index 00000000..816f2371
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_planner.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_planner_fg.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_planner_fg.webp
new file mode 100644
index 00000000..3d4f4293
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_planner_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_timer.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_timer.webp
new file mode 100644
index 00000000..ac5889e7
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_timer.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-mdpi/sc_timer_fg.webp b/app/resources/Android/src/main/res/drawable-mdpi/sc_timer_fg.webp
new file mode 100644
index 00000000..95e87029
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-mdpi/sc_timer_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/ic_launcher.webp b/app/resources/Android/src/main/res/drawable-xhdpi/app_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xhdpi/ic_launcher.webp
rename to app/resources/Android/src/main/res/drawable-xhdpi/app_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/ic_launcher_foreground.webp b/app/resources/Android/src/main/res/drawable-xhdpi/app_icon_fg.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xhdpi/ic_launcher_foreground.webp
rename to app/resources/Android/src/main/res/drawable-xhdpi/app_icon_fg.webp
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/ic_stat_notify.webp b/app/resources/Android/src/main/res/drawable-xhdpi/notify_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xhdpi/ic_stat_notify.webp
rename to app/resources/Android/src/main/res/drawable-xhdpi/notify_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/ic_stat_notify_silhouette.webp b/app/resources/Android/src/main/res/drawable-xhdpi/notify_icon_sil.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xhdpi/ic_stat_notify_silhouette.webp
rename to app/resources/Android/src/main/res/drawable-xhdpi/notify_icon_sil.webp
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_add.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_add.webp
new file mode 100644
index 00000000..1a377bea
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_add.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_add_fg.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_add_fg.webp
new file mode 100644
index 00000000..f7ed5af8
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_add_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery.webp
new file mode 100644
index 00000000..69a63422
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery_fg.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery_fg.webp
new file mode 100644
index 00000000..4e2e4a99
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_grocery_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner.webp
new file mode 100644
index 00000000..4ed87d31
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner_fg.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner_fg.webp
new file mode 100644
index 00000000..b712b04d
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_planner_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer.webp
new file mode 100644
index 00000000..144623a4
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer_fg.webp b/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer_fg.webp
new file mode 100644
index 00000000..dd1d2049
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xhdpi/sc_timer_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/ic_launcher.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/app_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxhdpi/ic_launcher.webp
rename to app/resources/Android/src/main/res/drawable-xxhdpi/app_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/ic_launcher_foreground.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/app_icon_fg.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxhdpi/ic_launcher_foreground.webp
rename to app/resources/Android/src/main/res/drawable-xxhdpi/app_icon_fg.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/ic_stat_notify.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/notify_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxhdpi/ic_stat_notify.webp
rename to app/resources/Android/src/main/res/drawable-xxhdpi/notify_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/ic_stat_notify_silhouette.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/notify_icon_sil.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxhdpi/ic_stat_notify_silhouette.webp
rename to app/resources/Android/src/main/res/drawable-xxhdpi/notify_icon_sil.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add.webp
new file mode 100644
index 00000000..be7c550a
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add_fg.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add_fg.webp
new file mode 100644
index 00000000..e0096ef5
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_add_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery.webp
new file mode 100644
index 00000000..118157c7
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery_fg.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery_fg.webp
new file mode 100644
index 00000000..81dbd757
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_grocery_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner.webp
new file mode 100644
index 00000000..25317794
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner_fg.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner_fg.webp
new file mode 100644
index 00000000..21bb98fa
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_planner_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer.webp
new file mode 100644
index 00000000..21239054
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer_fg.webp b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer_fg.webp
new file mode 100644
index 00000000..cc7b14c5
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxhdpi/sc_timer_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/ic_launcher.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/app_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxxhdpi/ic_launcher.webp
rename to app/resources/Android/src/main/res/drawable-xxxhdpi/app_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/app_icon_fg.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.webp
rename to app/resources/Android/src/main/res/drawable-xxxhdpi/app_icon_fg.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/ic_stat_notify.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/notify_icon.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxxhdpi/ic_stat_notify.webp
rename to app/resources/Android/src/main/res/drawable-xxxhdpi/notify_icon.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/ic_stat_notify_silhouette.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/notify_icon_sil.webp
similarity index 100%
rename from app/resources/Android/src/main/res/drawable-xxxhdpi/ic_stat_notify_silhouette.webp
rename to app/resources/Android/src/main/res/drawable-xxxhdpi/notify_icon_sil.webp
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add.webp
new file mode 100644
index 00000000..a21ac1b1
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add_fg.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add_fg.webp
new file mode 100644
index 00000000..d431d913
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_add_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery.webp
new file mode 100644
index 00000000..3c944bda
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery_fg.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery_fg.webp
new file mode 100644
index 00000000..bd147b6f
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_grocery_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner.webp
new file mode 100644
index 00000000..0c98f90a
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner_fg.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner_fg.webp
new file mode 100644
index 00000000..14ef2e2f
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_planner_fg.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer.webp
new file mode 100644
index 00000000..43399182
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer.webp differ
diff --git a/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer_fg.webp b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer_fg.webp
new file mode 100644
index 00000000..cd0438d8
Binary files /dev/null and b/app/resources/Android/src/main/res/drawable-xxxhdpi/sc_timer_fg.webp differ
diff --git a/app/shared/utils.ts b/app/shared/utils.ts
index ee37e93a..aefcca58 100644
--- a/app/shared/utils.ts
+++ b/app/shared/utils.ts
@@ -6,11 +6,18 @@ import {
Color,
path,
knownFolders,
- TimerInfo,
} from '@nativescript/core'
+import { localize } from '@nativescript/localize'
+
let timerOne
declare const global, android, androidx, com, java, Array: any
+const PowerManager = android.os.PowerManager
+const pm = Utils.android
+ .getApplicationContext()
+ .getSystemService(android.content.Context.POWER_SERVICE)
+const wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 'Timers')
+
export const restartApp = () => {
const ctx = Utils.ad.getApplicationContext()
let mStartActivity = new android.content.Intent(
@@ -60,14 +67,14 @@ export const vibrate = (duration) => {
if (vibratorService.hasVibrator()) vibratorService.vibrate(duration)
}
export const timer = (dur, callback) => {
- clearInterval(timerOne)
callback(true)
+ clearInterval(timerOne)
timerOne = setInterval(() => {
dur--
callback(true)
if (dur == 0) {
- callback(false)
clearInterval(timerOne)
+ callback(false)
}
}, 1000)
}
@@ -285,12 +292,12 @@ export const shareText = (text, subject) => {
intent.putExtra(android.content.Intent.EXTRA_TEXT, text)
share(intent, subject)
}
-export const shareImage = (image, subject) => {
+export const shareImage = (image, subject, title) => {
let ctx = Application.android.context
const intent = getSendIntent('image/jpeg')
const baos = new java.io.ByteArrayOutputStream()
image.android.compress(android.graphics.Bitmap.CompressFormat.JPEG, 100, baos)
- const tmpFile = new java.io.File(ctx.getExternalCacheDir(), 'EnRecipes.jpg')
+ const tmpFile = new java.io.File(ctx.getCacheDir(), `${title}.jpg`)
const fos = new java.io.FileOutputStream(tmpFile)
fos.write(baos.toByteArray())
fos.flush()
@@ -304,6 +311,14 @@ export const shareImage = (image, subject) => {
share(intent, subject)
}
+export const keepScreenOn = (bool) => {
+ let ctx =
+ Application.android.foregroundActivity || Application.android.startActivity
+ let window = ctx.getWindow()
+ let flag = android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+ bool ? window.addFlags(flag) : window.clearFlags(flag)
+}
+
// TIMER NOTIFICATION
export class TimerNotif {
static getIcon(ctx, icon) {
@@ -322,26 +337,25 @@ export class TimerNotif {
// nID ? NotifySrv.cancel(nID) : NotifySrv.cancelAll()
NotifySrv.cancel(nID)
}
-
static getNotification(
{
+ multi,
actions,
bID,
cID,
cName,
description,
- nID,
priority,
sound,
title,
vibrate,
}: {
+ multi?: boolean
actions?: boolean
bID: string
cID: string
cName: string
description: string
- nID: number
priority: number
sound: string
title: string
@@ -361,7 +375,6 @@ export class TimerNotif {
if (sdkv >= 26) {
const importance =
priority > 0 ? NotifyMgr.IMPORTANCE_HIGH : NotifyMgr.IMPORTANCE_MIN
- console.log(priority, importance)
const AudioAttributes = android.media.AudioAttributes
const audioAttributes = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
@@ -386,7 +399,7 @@ export class TimerNotif {
const PendingIntent = android.app.PendingIntent
const mainInt = new Intent(ctx, com.tns.NativeScriptActivity.class)
- mainInt.putExtra('action', 'open_timer')
+ mainInt.putExtra('action', 'timer')
const mainPInt = PendingIntent.getActivity(
ctx,
1,
@@ -395,10 +408,15 @@ export class TimerNotif {
)
// Action intent
- let actionInt1, actionInt2, actionPInt1, actionPInt2
+ let actionInt1,
+ actionInt2,
+ actionInt3,
+ actionPInt1,
+ actionPInt2,
+ actionPInt3
if (actions) {
actionInt1 = new Intent(bID)
- actionInt1.putExtra('action', 'stop')
+ actionInt1.putExtra('action', 'delay')
actionPInt1 = PendingIntent.getBroadcast(
ctx,
2,
@@ -406,18 +424,26 @@ export class TimerNotif {
PendingIntent.FLAG_UPDATE_CURRENT
)
actionInt2 = new Intent(bID)
- actionInt2.putExtra('action', 'delay')
+ actionInt2.putExtra('action', 'dismiss')
actionPInt2 = PendingIntent.getBroadcast(
ctx,
3,
actionInt2,
PendingIntent.FLAG_UPDATE_CURRENT
)
+ actionInt3 = new Intent(bID)
+ actionInt3.putExtra('action', 'dismissAll')
+ actionPInt3 = PendingIntent.getBroadcast(
+ ctx,
+ 4,
+ actionInt3,
+ PendingIntent.FLAG_UPDATE_CURRENT
+ )
}
// CREATE NOTIFICATION
- let icon = TimerNotif.getIcon(ctx, 'ic_stat_notify_silhouette')
+ let icon = this.getIcon(ctx, 'notify_icon_sil')
let builder = new NotificationCompat.Builder(ctx, cID)
.setColor(new Color('#ff5200').android)
.setContentIntent(mainPInt)
@@ -434,10 +460,12 @@ export class TimerNotif {
if (description) builder.setContentText(description)
if (vibrate) builder.setVibrate([500, 1000])
if (actions) {
- builder.setDeleteIntent(actionPInt2)
builder.setFullScreenIntent(mainPInt, true)
- builder.addAction(null, 'Stop', actionPInt1)
- builder.addAction(null, 'Delay', actionPInt2)
+ if (multi) builder.addAction(null, localize('dismissAll'), actionPInt3)
+ else {
+ builder.addAction(null, localize('delay'), actionPInt1)
+ builder.addAction(null, localize('dismiss'), actionPInt2)
+ }
}
let notification = builder.build()
notification.flags =
@@ -450,7 +478,45 @@ export class TimerNotif {
const NotifySrv = ctx.getSystemService(
android.content.Context.NOTIFICATION_SERVICE
)
- NotifySrv.notify(data.nID, TimerNotif.getNotification(data, ctx))
+ NotifySrv.notify(data.nID, this.getNotification(data, ctx))
+ }
+}
+export class Printer {
+ static PrintPackage = global.androidx.print
+ static isSupported() {
+ return this.PrintPackage.PrintHelper.systemSupportsPrint()
+ }
+ static print(view) {
+ return new Promise((resolve, reject) => {
+ try {
+ let img: any
+ img = android.graphics.Bitmap.createBitmap(
+ view.getMeasuredWidth(),
+ view.getMeasuredHeight(),
+ android.graphics.Bitmap.Config.ARGB_8888
+ )
+ view.android.draw(new android.graphics.Canvas(img))
+ this.printImage(img).then(resolve, reject)
+ } catch (e) {
+ reject(e)
+ }
+ })
+ }
+ static printImage(img) {
+ return new Promise((resolve, reject) => {
+ try {
+ let callback = (success) => resolve(success)
+ let printHelper = new this.PrintPackage.PrintHelper(
+ Application.android.foregroundActivity
+ )
+ printHelper.setScaleMode(this.PrintPackage.PrintHelper.SCALE_MODE_FIT)
+ let jobName = 'MyPrintJob'
+ printHelper.printBitmap(jobName, img)
+ callback(true)
+ } catch (e) {
+ reject(e)
+ }
+ })
}
}
@@ -489,3 +555,15 @@ export const getTones = () => {
return { tones, defaultTone: defaultToneUri ? defaultTone : tones[0] }
}
+
+//DETECT RTL LANGUAGE
+export const RTL = (): boolean => {
+ const ctx = Utils.android.getApplicationContext()
+ const config = ctx.getResources().getConfiguration()
+ return config.getLayoutDirection() == android.view.View.LAYOUT_DIRECTION_RTL
+}
+
+//WAKE LOCK
+export const wakeLock = (bool) => {
+ bool ? !wl.isHeld() && wl.acquire() : wl.isHeld() && wl.release()
+}
diff --git a/app/store.ts b/app/store.ts
index f27a76bc..182aeaed 100644
--- a/app/store.ts
+++ b/app/store.ts
@@ -5,11 +5,17 @@ import { openOrCreate } from '@akylas/nativescript-sqlite'
import {
getFileAccess,
File,
- ApplicationSettings,
Application,
knownFolders,
path,
} from '@nativescript/core'
+import {
+ getNumber,
+ setNumber,
+ getString,
+ setString,
+} from '@nativescript/core/application-settings'
+import * as utils from '~/shared/utils'
// OPEN DATABASE FILE
const db = openOrCreate(
@@ -31,6 +37,11 @@ db.execute(
'CREATE TABLE IF NOT EXISTS mealPlans (date INT, type TEXT, title TEXT)'
)
+// CREATE timerPresets TABLE
+db.execute(
+ 'CREATE TABLE IF NOT EXISTS timerPresets (id INT PRIMARY KEY, label TEXT, time TEXT)'
+)
+
const defaultCuisines = [
'American',
'Brazilian',
@@ -136,21 +147,22 @@ const defaultUnits = [
'medium',
'large',
]
+
const listItems = {
cuisines: {
- sort: true,
+ sort: 1,
defaultItems: defaultCuisines,
},
categories: {
- sort: true,
+ sort: 1,
defaultItems: defaultCategories,
},
yieldUnits: {
- sort: false,
+ sort: 0,
defaultItems: defaultYieldUnits,
},
units: {
- sort: false,
+ sort: 0,
defaultItems: defaultUnits,
},
}
@@ -227,10 +239,15 @@ export default new Vuex.Store({
trans: '\ue93c',
delay: '\ue93d',
ring: '\ue93e',
+ print: '\ue93f',
},
currentComponent: 'EnRecipes',
- sortType: 'Oldest first',
+ sortType: 'random',
language: [
+ {
+ locale: 'ar',
+ title: 'العربية',
+ },
{
locale: 'da',
title: 'Dansk',
@@ -239,10 +256,18 @@ export default new Vuex.Store({
locale: 'de',
title: 'Deutsch',
},
+ {
+ locale: 'en-IN',
+ title: 'English (IN)',
+ },
{
locale: 'en-GB',
title: 'English (UK)',
},
+ {
+ locale: 'en-US',
+ title: 'English (US)',
+ },
{
locale: 'es',
title: 'Español',
@@ -267,10 +292,6 @@ export default new Vuex.Store({
locale: 'hi',
title: 'हिंदी',
},
- {
- locale: 'ml',
- title: 'മലയാളം',
- },
{
locale: 'id',
title: 'Indonesia',
@@ -279,6 +300,14 @@ export default new Vuex.Store({
locale: 'it',
title: 'Italiano',
},
+ {
+ locale: 'ja',
+ title: '日本語',
+ },
+ {
+ locale: 'ml',
+ title: 'മലയാളം',
+ },
{
locale: 'nb-NO',
title: 'Norsk bokmål',
@@ -287,10 +316,10 @@ export default new Vuex.Store({
locale: 'nl',
title: 'Nederlands',
},
- // {
- // locale: 'pt',
- // title: 'Português',
- // },
+ {
+ locale: 'pt',
+ title: 'Português',
+ },
{
locale: 'pt-BR',
title: 'Português (BR)',
@@ -308,97 +337,114 @@ export default new Vuex.Store({
title: 'తెలుగు',
},
],
- shakeEnabled: ApplicationSettings.getBoolean('shakeEnabled', true),
+ shakeEnabled: getNumber('shakeEnabled', 1),
importSummary: {
found: 0,
imported: 0,
updated: 0,
},
- layout: ApplicationSettings.getString('layout', 'detailed'),
+ layout: getString('layout', 'detailed'),
selectedCuisine: null,
selectedCategory: null,
selectedTag: null,
appTheme: 'sysDef',
- mondayFirst: ApplicationSettings.getBoolean('mondayFirst', false),
- timerDelay: ApplicationSettings.getString('timerDelay', '1 minute'),
+ mondayFirst: getNumber('mondayFirst', 0),
+ timerDelay: getString('timerDelay', '1 minute'),
timerSound: {},
- timerVibrate: ApplicationSettings.getBoolean('timerVibrate', false),
- timerPresets: [
- {
- id: 534534563,
- label: 'Soft Eggs',
- recipeID: null,
- time: '00:06:00',
- timerInterval: null,
- isPaused: false,
- preset: 1,
- },
- {
- id: 564646,
- label: 'Medium Eggs',
- recipeID: null,
- time: '00:08:00',
- timerInterval: null,
- isPaused: false,
- preset: 1,
- },
- {
- id: 43276767,
- label: 'Hard Eggs',
- recipeID: null,
- time: '00:10:00',
- timerInterval: null,
- isPaused: false,
- preset: 1,
- },
- ],
+ timerVibrate: getNumber('timerVibrate', 0),
+ timerPresets: [],
activeTimers: [],
- timerIntervals: [],
+ FGService: 0,
+ RTL: 0,
},
mutations: {
- addTimerPreset(state, timer) {
- state.timerPresets.push(timer)
+ setRTL(state) {
+ state.RTL = utils.RTL() as any | 0
},
- removeTimerPreset(state, index) {
- state.timerPresets.splice(index, 1)
+ setFGService(state, val) {
+ state.FGService = val
+ },
+ addTimerPreset(state, timer) {
+ let i = state.timerPresets.findIndex((e) => e.id == timer.id)
+ if (state.timerPresets.some((e) => e.id == timer.id)) {
+ state.timerPresets.splice(i, 1, timer)
+ } else state.timerPresets.push(timer)
+ db.execute(
+ `REPLACE INTO timerPresets (id, label, time) VALUES (?, ?, ?)`,
+ [timer.id, timer.label, timer.time]
+ )
+ },
+ deleteTimerPreset(state, i) {
+ let id = state.timerPresets[i]
+ state.timerPresets.splice(i, 1)
+ db.execute(`DELETE FROM timerPresets WHERE id = ${id}`)
+ },
+ initTimerPresets(state) {
+ if (!state.timerPresets.length)
+ db.select(`SELECT * FROM timerPresets`).then((res) => {
+ res.forEach((t) => {
+ t.recipeID = 0
+ t.timerInt = 0
+ t.isPaused = 0
+ t.preset = 1
+ t.done = 0
+ state.timerPresets.push(t)
+ })
+ })
+ },
+ importTimerPresets(state, timers) {
+ let newPresets = timers.filter(
+ (e) => !state.timerPresets.some((f) => f.id === e.id)
+ )
+ newPresets.forEach((t) => {
+ db.execute(
+ `INSERT INTO timerPresets (id, label, time) VALUES (?, ?, ?)`,
+ [t.id, t.label, t.time]
+ )
+ state.timerPresets.push(t)
+ })
},
clearTimerInterval(state) {
state.activeTimers.forEach((e) => {
- clearInterval(e.timerInterval)
- e.timerInterval = null
+ clearInterval(e.timerInt)
+ e.timerInt = 0
})
},
- addActiveTimer(state, { timer, index }) {
- state.activeTimers.splice(index, 0, timer)
+ addActiveTimer(state, { timer, i }) {
+ state.activeTimers.splice(i, 0, timer)
+ },
+ sortActiveTimers(state) {
+ let a = state.activeTimers.reduce((acc, e) => {
+ ;(acc[e.recipeID] = acc[e.recipeID] || []).push(e)
+ return acc
+ }, {})
+ state.activeTimers = [...(Object).values(a).flat(2)]
},
updateActiveTimer(state, timer) {
- let index = state.activeTimers.findIndex((e) => e.id == timer.id)
- state.activeTimers.splice(index, 1, timer)
+ let i = state.activeTimers.findIndex((e) => e.id == timer.id)
+ state.activeTimers.splice(i, 1, timer)
},
- removeActiveTimer(state, index) {
- state.activeTimers.splice(index, 1)
+ removeActiveTimer(state, i) {
+ state.activeTimers.splice(i, 1)
},
setTimerDelay(state, delay) {
state.timerDelay = delay
- ApplicationSettings.setString('timerDelay', delay)
+ setString('timerDelay', delay)
},
setTimerSound(state, sound) {
- state.timerSound = {
- title: sound.title,
- uri: sound.uri,
- }
- ApplicationSettings.setString('timerSound', JSON.stringify(sound))
+ state.timerSound = sound
+ setString('timerSound', JSON.stringify(sound))
},
- setTimerVibrate(state, bool) {
- state.timerVibrate = bool
- ApplicationSettings.setBoolean('timerVibrate', bool)
+ setTimerVibrate(state, n) {
+ state.timerVibrate = n
+ setNumber('timerVibrate', n)
},
clearImportSummary(state) {
for (const key in state.importSummary) state.importSummary[key] = 0
},
- setFirstDay(state, bool) {
- state.mondayFirst = bool
- ApplicationSettings.setBoolean('mondayFirst', bool)
+ setFirstDay(state, n) {
+ state.mondayFirst = n | 0
+ setNumber('mondayFirst', n | 0)
},
setTheme(state, theme) {
switch (theme) {
@@ -414,7 +460,7 @@ export default new Vuex.Store({
state.appTheme = theme
break
}
- ApplicationSettings.setString('appTheme', theme)
+ setString('appTheme', theme)
},
clearFilter(state) {
state.selectedCuisine = state.selectedCategory = state.selectedTag = null
@@ -436,8 +482,8 @@ export default new Vuex.Store({
state.recipes.push(e)
})
})
- state.shakeEnabled = ApplicationSettings.getBoolean('shakeEnabled', true)
- state.sortType = ApplicationSettings.getString('sortType', 'Oldest first')
+ state.shakeEnabled = getNumber('shakeEnabled', 1)
+ state.sortType = getString('sortType', 'random')
},
importRecipesFromJSON(state, recipes) {
let localRecipesIDs, partition
@@ -463,6 +509,12 @@ export default new Vuex.Store({
r.yieldQuantity = r.yield.quantity
r.yieldUnit = r.yield.unit
delete r.yield
+ function getTime(d) {
+ return new Date(d).getTime()
+ }
+ r.lastTried = getTime(r.lastTried)
+ r.lastModified = getTime(r.lastModified)
+ r.created = getTime(r.created)
return r
})
}
@@ -492,9 +544,9 @@ export default new Vuex.Store({
JSON.stringify(r.notes),
r.favorite ? 1 : 0,
r.tried ? 1 : 0,
- r.lastTried ? new Date(r.lastTried).getTime() : null,
- r.lastModified ? new Date(r.lastModified).getTime() : null,
- r.created ? new Date(r.created).getTime() : null,
+ r.lastTried,
+ r.lastModified,
+ r.created,
]
)
})
@@ -533,9 +585,9 @@ export default new Vuex.Store({
JSON.stringify(r.notes),
r.favorite ? 1 : 0,
r.tried ? 1 : 0,
- r.lastTried ? new Date(r.lastTried).getTime() : null,
- r.lastModified ? new Date(r.lastModified).getTime() : null,
- r.created ? new Date(r.created).getTime() : null,
+ r.lastTried,
+ r.lastModified,
+ r.created,
]
)
}
@@ -649,9 +701,9 @@ export default new Vuex.Store({
function exist({ id }, index: number) {
if (id === recipe.id) {
i = index
- return true
+ return 1
}
- return false
+ return 0
}
state.recipes.some(exist)
? Object.assign(state.recipes[i], recipe)
@@ -659,9 +711,9 @@ export default new Vuex.Store({
},
deleteRecipes(state, ids) {
ids.forEach((id: string) => {
- let index = state.recipes.findIndex((e) => e.id === id)
- getFileAccess().deleteFile(state.recipes[index].image)
- state.recipes.splice(index, 1)
+ let i = state.recipes.findIndex((e) => e.id === id)
+ getFileAccess().deleteFile(state.recipes[i].image)
+ state.recipes.splice(i, 1)
db.execute(`DELETE FROM recipes WHERE id = '${id}'`)
state.recipes.forEach((e, i) => {
if (e.combinations.includes(id)) {
@@ -774,11 +826,11 @@ export default new Vuex.Store({
type = 'snacks'
break
}
- return f.title === e.title && f.date === date && f.type === type
+ return f.title == e.title && f.date == date && f.type == type
})
} else {
return !state.mealPlans.some(
- (f) => f.title === e.title && f.date === e.date && f.type === e.type
+ (f) => f.title == e.title && f.date == e.date && f.type == e.type
)
}
})
@@ -835,47 +887,48 @@ export default new Vuex.Store({
)
})
},
- addMealPlan(state, { date, type, title }) {
+ addMealPlan(state, { date, type, title, index, inDB }) {
let mealPlan = {
date,
type,
title,
}
- state.mealPlans.push(mealPlan)
- const cols = Object.keys(mealPlan).join(', ')
- const placeholder = Object.keys(mealPlan)
- .fill('?')
- .join(', ')
- db.execute(
- `INSERT INTO mealPlans (${cols}) VALUES (${placeholder})`,
- Object.values(mealPlan)
- )
- },
- deleteMealPlan(state, { date, type, title }) {
- let index = state.mealPlans.findIndex(
- (e) => e.title === title && e.type === type && e.date === date
- )
- state.mealPlans.splice(index, 1)
- state.mealPlans = [...state.mealPlans]
- db.execute(
- `DELETE FROM mealPlans WHERE date = ${date} AND type = '${type}' AND title = '${title}'`
- )
- },
- toggleState(state, { id, key, setDate }) {
- let index = state.recipes.findIndex((e) => e.id == id)
- state.recipes[index][key] = state.recipes[index][key] ? 0 : 1
- db.execute(
- `UPDATE recipes SET ${key} = ${state.recipes[index][key]} WHERE id = '${id}'`
- )
- if (setDate) {
- state.recipes[index].lastTried = new Date().getTime()
+ if (inDB) {
+ const cols = Object.keys(mealPlan).join(', ')
+ const placeholder = Object.keys(mealPlan)
+ .fill('?')
+ .join(', ')
db.execute(
- `UPDATE recipes SET lastTried = ${state.recipes[index].lastTried} WHERE id = '${id}'`
+ `INSERT INTO mealPlans (${cols}) VALUES (${placeholder})`,
+ Object.values(mealPlan)
)
+ if (index === null) state.mealPlans.push(mealPlan)
+ } else {
+ state.mealPlans.splice(index, 0, mealPlan)
}
},
- setComponent(state, comp) {
- state.currentComponent = comp
+ deleteMealPlan(state, { date, type, title, index, inDB }) {
+ if (inDB) {
+ db.execute(
+ `DELETE FROM mealPlans WHERE date = ${date} AND type = '${type}' AND title = '${title}'`
+ )
+ } else {
+ state.mealPlans.splice(index, 1)
+ state.mealPlans = [...state.mealPlans]
+ }
+ },
+ toggleState(state, { id, key, setDate }) {
+ let i = state.recipes.findIndex((e) => e.id == id)
+ state.recipes[i][key] = state.recipes[i][key] ? 0 : 1
+ db.execute(
+ `UPDATE recipes SET ${key} = ${state.recipes[i][key]} WHERE id = '${id}'`
+ )
+ if (setDate) {
+ state.recipes[i].lastTried = new Date().getTime()
+ db.execute(
+ `UPDATE recipes SET lastTried = ${state.recipes[i].lastTried} WHERE id = '${id}'`
+ )
+ }
},
unSyncCombinations(state, { id, combinations }) {
state.recipes.forEach((e, i) => {
@@ -890,19 +943,17 @@ export default new Vuex.Store({
})
},
setShake(state, shake) {
- state.shakeEnabled = shake
- ApplicationSettings.setBoolean('shakeEnabled', shake)
+ state.shakeEnabled = shake | 0
+ setNumber('shakeEnabled', shake | 0)
},
setRating(state, { id, rating }) {
- let index = state.recipes.findIndex((e) => e.id == id)
- state.recipes[index].rating = rating
+ let i = state.recipes.findIndex((e) => e.id == id)
+ state.recipes[i].rating = rating
db.execute(`UPDATE recipes SET rating = ${rating} WHERE id = '${id}'`)
},
toggleCart(state, { id }) {
- let index = state.recipes.indexOf(
- state.recipes.filter((e) => e.id === id)[0]
- )
- state.recipes[index].inBag = !state.recipes[index].inBag
+ let i = state.recipes.indexOf(state.recipes.filter((e) => e.id === id)[0])
+ state.recipes[i].inBag = !state.recipes[i].inBag
},
unlinkBrokenImages(state) {
state.recipes.forEach((r, i) => {
@@ -924,11 +975,26 @@ export default new Vuex.Store({
},
},
actions: {
+ setRTL({ commit }) {
+ commit('setRTL')
+ },
+ sortActiveTimers({ commit }) {
+ commit('sortActiveTimers')
+ },
+ setFGService({ commit }, val) {
+ commit('setFGService', val)
+ },
addTimerPreset({ commit }, timer) {
commit('addTimerPreset', timer)
},
- removeTimerPreset({ commit }, timer) {
- commit('removeTimerPreset', timer)
+ deleteTimerPreset({ commit }, timer) {
+ commit('deleteTimerPreset', timer)
+ },
+ initTimerPresets({ commit }) {
+ commit('initTimerPresets')
+ },
+ importTimerPresets({ commit }, timers) {
+ commit('importTimerPresets', timers)
},
clearTimerInterval({ commit }) {
commit('clearTimerInterval')
@@ -939,8 +1005,8 @@ export default new Vuex.Store({
updateActiveTimer({ commit }, timer) {
commit('updateActiveTimer', timer)
},
- removeActiveTimer({ commit }, index) {
- commit('removeActiveTimer', index)
+ removeActiveTimer({ commit }, i) {
+ commit('removeActiveTimer', i)
},
setTimerDelay({ commit }, delay) {
commit('setTimerDelay', delay)
@@ -948,14 +1014,14 @@ export default new Vuex.Store({
setTimerSound({ commit }, sound) {
commit('setTimerSound', sound)
},
- setTimerVibrate({ commit }, bool) {
- commit('setTimerVibrate', bool)
+ setTimerVibrate({ commit }, n) {
+ commit('setTimerVibrate', n)
},
clearImportSummary({ commit }) {
commit('clearImportSummary')
},
- setFirstDay({ commit }, bool) {
- commit('setFirstDay', bool)
+ setFirstDay({ commit }, n) {
+ commit('setFirstDay', n)
},
setTheme({ commit }, theme) {
commit('setTheme', theme)
@@ -1017,9 +1083,6 @@ export default new Vuex.Store({
toggleStateAction({ commit }, toggledRecipe) {
commit('toggleState', toggledRecipe)
},
- setComponent({ commit }, comp) {
- commit('setComponent', comp)
- },
unSyncCombinationsAction({ commit }, combinations) {
commit('unSyncCombinations', combinations)
},
diff --git a/package-lock.json b/package-lock.json
index 9a322c11..0727a621 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,8 @@
"dependencies": {
"@akylas/nativescript-sqlite": "^3.3.12",
"@nativescript-community/ui-collectionview": "^4.0.29",
- "@nativescript/core": "^8.0.5",
+ "@nativescript-rtl/ui": "^0.1.8",
+ "@nativescript/core": "^8.0.7",
"@nativescript/local-notifications": "^5.0.3",
"@nativescript/localize": "^5.0.4",
"@triniwiz/nativescript-accelerometer": "^4.0.3",
@@ -23,12 +24,12 @@
"devDependencies": {
"@nativescript/android": "8.0.0",
"@nativescript/types": "^8.0.1",
- "@nativescript/webpack": "beta",
- "@types/node": "^15.3.0",
+ "@nativescript/webpack": "^5.0.0-beta.12",
+ "@types/node": "^15.9.0",
"nativescript-vue-template-compiler": "~2.9.0",
- "sass": "^1.32.13",
+ "sass": "^1.34.1",
"typescript": "^4.2.4",
- "vue": "^2.6.12"
+ "vue": "^2.6.13"
}
},
"node_modules/@akylas/nativescript-sqlite": {
@@ -53,26 +54,26 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz",
- "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz",
+ "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==",
"dev": true
},
"node_modules/@babel/core": {
- "version": "7.13.15",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
- "integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
+ "version": "7.14.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz",
+ "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.12.13",
- "@babel/generator": "^7.13.9",
- "@babel/helper-compilation-targets": "^7.13.13",
- "@babel/helper-module-transforms": "^7.13.14",
- "@babel/helpers": "^7.13.10",
- "@babel/parser": "^7.13.15",
+ "@babel/generator": "^7.14.3",
+ "@babel/helper-compilation-targets": "^7.13.16",
+ "@babel/helper-module-transforms": "^7.14.2",
+ "@babel/helpers": "^7.14.0",
+ "@babel/parser": "^7.14.3",
"@babel/template": "^7.12.13",
- "@babel/traverse": "^7.13.15",
- "@babel/types": "^7.13.14",
+ "@babel/traverse": "^7.14.2",
+ "@babel/types": "^7.14.2",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -118,14 +119,14 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.13.16",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz",
- "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz",
+ "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.13.15",
+ "@babel/compat-data": "^7.14.4",
"@babel/helper-validator-option": "^7.12.17",
- "browserslist": "^4.14.5",
+ "browserslist": "^4.16.6",
"semver": "^6.3.0"
},
"peerDependencies": {
@@ -196,15 +197,15 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.14.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz",
- "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz",
+ "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==",
"dev": true,
"dependencies": {
"@babel/helper-member-expression-to-functions": "^7.13.12",
"@babel/helper-optimise-call-expression": "^7.12.13",
"@babel/traverse": "^7.14.2",
- "@babel/types": "^7.14.2"
+ "@babel/types": "^7.14.4"
}
},
"node_modules/@babel/helper-simple-access": {
@@ -322,9 +323,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.14.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz",
- "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz",
+ "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==",
"dev": true,
"bin": {
"parser": "bin/babel-parser.js"
@@ -361,9 +362,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.14.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz",
- "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz",
+ "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==",
"dev": true,
"dependencies": {
"@babel/helper-validator-identifier": "^7.14.0",
@@ -384,6 +385,19 @@
"resolved": "https://registry.npmjs.org/@nativescript-community/ui-collectionview/-/ui-collectionview-4.0.31.tgz",
"integrity": "sha512-kWtupfe+zr2Vj5hLfie/xxlFYLtLbBS6WrDBUD9z1cJYIZRf9KQxwl8z4wJ2dtQ51dlt1r8CJZgpgRbMTk5xQA=="
},
+ "node_modules/@nativescript-rtl/ui": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/@nativescript-rtl/ui/-/ui-0.1.8.tgz",
+ "integrity": "sha512-GUmRHuwI0vJ1IKUH1ilm2SmPo8iv6o5PhA4LxmNnysODuiJywnnNfE9yFpoecBsDOMRVT6M/dlV26+3DfO4Rbw==",
+ "dependencies": {
+ "@types/node": "^14.6.4"
+ }
+ },
+ "node_modules/@nativescript-rtl/ui/node_modules/@types/node": {
+ "version": "14.17.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.2.tgz",
+ "integrity": "sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw=="
+ },
"node_modules/@nativescript/android": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@nativescript/android/-/android-8.0.0.tgz",
@@ -391,9 +405,9 @@
"dev": true
},
"node_modules/@nativescript/core": {
- "version": "8.0.6",
- "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.0.6.tgz",
- "integrity": "sha512-w9fmuzUrKUblHbkmApMNWExgFZewZCnwf8A2ymcdLsftvljXrDhztbIgQD4aDis61OaqE1N42UToYPpUkaw5pw==",
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.0.7.tgz",
+ "integrity": "sha512-2OLwPa5Y+9aKLyo0zWl0YSjWS0f+EFG8SdZe+uuU2mzEhCb8q9djdICjHynuXZkmrtQsx/lKjLhbtnoYQsMRvA==",
"hasInstallScript": true,
"dependencies": {
"@nativescript/hook": "~2.0.0",
@@ -459,46 +473,46 @@
"dev": true
},
"node_modules/@nativescript/webpack": {
- "version": "5.0.0-beta.10",
- "resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.10.tgz",
- "integrity": "sha512-j/NlhVCZi/8N5IQQbPjSRWPc3a7zSW8NTc0LsxbidsBPqeTiX1wUq5ajmNv/ctmbiNRsjmB9wTDwDxowormr2Q==",
+ "version": "5.0.0-dev.0",
+ "resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-dev.0.tgz",
+ "integrity": "sha512-pJhuzm+sqMBrr+MHAm6qQclvHo6evK8IsqBpZ8s2e5O/Bk0HbtPdKJdiNQuw2TRHWpWJ1Rkp3Nc8lnZsoxK7VQ==",
"dev": true,
"dependencies": {
- "@babel/core": "7.13.15",
- "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
- "acorn": "^8.1.1",
+ "@babel/core": "^7.0.0",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.4.0",
+ "acorn": "^8.0.0",
"acorn-stage3": "^4.0.0",
- "babel-loader": "8.2.2",
- "chalk": "4.1.0",
- "cli-highlight": "2.1.11",
- "commander": "7.2.0",
- "copy-webpack-plugin": "8.1.1",
- "css": "3.0.0",
- "css-loader": "5.2.1",
- "dotenv-webpack": "7.0.2",
- "fork-ts-checker-webpack-plugin": "6.2.1",
- "loader-utils": "2.0.0",
- "lodash.get": "4.4.2",
- "micromatch": "4.0.4",
- "postcss": "8.2.10",
- "postcss-import": "14.0.1",
- "postcss-loader": "5.2.0",
- "raw-loader": "4.0.2",
- "react-refresh": "0.10.0",
- "sass": "1.32.8",
- "sass-loader": "11.0.1",
- "sax": "1.2.4",
- "source-map": "0.7.3",
- "terser-webpack-plugin": "5.1.1",
- "ts-dedent": "2.1.1",
- "ts-loader": "8.1.0",
- "vue-loader": "15.9.6",
- "webpack": "5.31.2",
- "webpack-bundle-analyzer": "4.4.0",
- "webpack-chain": "6.5.1",
- "webpack-cli": "4.6.0",
- "webpack-merge": "5.7.3",
- "webpack-virtual-modules": "0.4.2"
+ "babel-loader": "^8.0.0",
+ "chalk": "^4.0.0",
+ "cli-highlight": "^2.0.0",
+ "commander": "^7.0.0",
+ "copy-webpack-plugin": "^9.0.0",
+ "css": "^3.0.0",
+ "css-loader": "^5.0.0",
+ "dotenv-webpack": "^7.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.0.0",
+ "loader-utils": "^2.0.0",
+ "lodash.get": "^4.0.0",
+ "micromatch": "^4.0.0",
+ "postcss": "^8.0.0",
+ "postcss-import": "^14.0.0",
+ "postcss-loader": "^5.0.0",
+ "raw-loader": "^4.0.0",
+ "react-refresh": "^0.10.0",
+ "sass": "^1.0.0",
+ "sass-loader": "^12.0.0",
+ "sax": "^1.0.0",
+ "source-map": "^0.7.0",
+ "terser-webpack-plugin": "^5.0.0",
+ "ts-dedent": "^2.0.0",
+ "ts-loader": "^9.0.0",
+ "vue-loader": "^15.0.0",
+ "webpack": "^5.0.0",
+ "webpack-bundle-analyzer": "^4.0.0",
+ "webpack-chain": "^6.0.0",
+ "webpack-cli": "^4.0.0",
+ "webpack-merge": "^5.0.0",
+ "webpack-virtual-modules": "^0.4.0"
},
"bin": {
"nativescript-webpack": "dist/bin/index.js"
@@ -512,28 +526,13 @@
}
}
},
- "node_modules/@nativescript/webpack/node_modules/sass": {
- "version": "1.32.8",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz",
- "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==",
- "dev": true,
- "dependencies": {
- "chokidar": ">=2.0.0 <4.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
"node_modules/@nodelib/fs.scandir": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
- "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"dependencies": {
- "@nodelib/fs.stat": "2.0.4",
+ "@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
},
"engines": {
@@ -541,21 +540,21 @@
}
},
"node_modules/@nodelib/fs.stat": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
- "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/@nodelib/fs.walk": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
- "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz",
+ "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==",
"dev": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.4",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
},
"engines": {
@@ -621,9 +620,9 @@
"integrity": "sha512-LKwlNaIWJPEbFKsPwA5vndqrKBUqE9dK9wdi/LsHs0Nl6pfMI7fPkBPoGW7UvVSMqy4s4d35Q0FDbKXR1t796A=="
},
"node_modules/@types/eslint": {
- "version": "7.2.11",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.11.tgz",
- "integrity": "sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==",
+ "version": "7.2.13",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz",
+ "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==",
"dev": true,
"dependencies": {
"@types/estree": "*",
@@ -641,9 +640,9 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.46",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz",
- "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==",
+ "version": "0.0.47",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz",
+ "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==",
"dev": true
},
"node_modules/@types/json-schema": {
@@ -653,9 +652,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "15.6.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz",
- "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==",
+ "version": "15.12.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.1.tgz",
+ "integrity": "sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw==",
"dev": true
},
"node_modules/@types/parse-json": {
@@ -979,9 +978,9 @@
"dev": true
},
"node_modules/acorn": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz",
- "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz",
+ "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -1098,15 +1097,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-html": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
@@ -1375,22 +1365,10 @@
"node": ">=6"
}
},
- "node_modules/camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/caniuse-lite": {
- "version": "1.0.30001230",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz",
- "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==",
+ "version": "1.0.30001234",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001234.tgz",
+ "integrity": "sha512-a3gjUVKkmwLdNysa1xkUAwN2VfJUJyVW47rsi3aCbkRCtbHAfo+rOsCqVw29G6coQ8gzAPb5XBXwiGHwme3isA==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -1398,9 +1376,9 @@
}
},
"node_modules/chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -1434,6 +1412,18 @@
"fsevents": "~2.3.1"
}
},
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/chrome-trace-event": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
@@ -1555,13 +1545,13 @@
}
},
"node_modules/copy-webpack-plugin": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
- "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz",
+ "integrity": "sha512-k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==",
"dev": true,
"dependencies": {
"fast-glob": "^3.2.5",
- "glob-parent": "^5.1.1",
+ "glob-parent": "^6.0.0",
"globby": "^11.0.3",
"normalize-path": "^3.0.0",
"p-limit": "^3.1.0",
@@ -1569,7 +1559,7 @@
"serialize-javascript": "^5.0.1"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
@@ -1597,12 +1587,6 @@
"url": "https://opencollective.com/webpack"
}
},
- "node_modules/core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
"node_modules/cosmiconfig": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
@@ -1650,23 +1634,21 @@
}
},
"node_modules/css-loader": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.1.tgz",
- "integrity": "sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==",
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz",
+ "integrity": "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==",
"dev": true,
"dependencies": {
- "camelcase": "^6.2.0",
- "cssesc": "^3.0.0",
"icss-utils": "^5.1.0",
"loader-utils": "^2.0.0",
- "postcss": "^8.2.8",
+ "postcss": "^8.2.15",
"postcss-modules-extract-imports": "^3.0.0",
"postcss-modules-local-by-default": "^4.0.0",
"postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.1.0",
"schema-utils": "^3.0.0",
- "semver": "^7.3.4"
+ "semver": "^7.3.5"
},
"engines": {
"node": ">= 10.13.0"
@@ -1847,21 +1829,21 @@
}
},
"node_modules/dotenv-defaults": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.1.tgz",
- "integrity": "sha512-ugFCyBF7ILuwpmznduHPQZBMucHHJ8T4OBManTEVjemxCm2+nqifSuW2lD2SNKdiKSH1E324kZSdJ8M04b4I/A==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
+ "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
"dev": true,
"dependencies": {
"dotenv": "^8.2.0"
}
},
"node_modules/dotenv-webpack": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.2.tgz",
- "integrity": "sha512-RY+/5uM/XY4bGtih9f9ic8hlrUDxVcZZBPWlnX/aHhaKxcVVX9SH/5VH7CSmvVo9GL6PKvQOA0X1bc552rnatQ==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
+ "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
"dev": true,
"dependencies": {
- "dotenv-defaults": "^2.0.1"
+ "dotenv-defaults": "^2.0.2"
},
"engines": {
"node": ">=10"
@@ -1877,9 +1859,9 @@
"dev": true
},
"node_modules/electron-to-chromium": {
- "version": "1.3.739",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz",
- "integrity": "sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A==",
+ "version": "1.3.748",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.748.tgz",
+ "integrity": "sha512-fmIKfYALVeEybk/L2ucdgt7jN3JsbGtg3K9pmF/MRWgkeADBI1VSAa5IzdG2gZwTxsnsrFtdMpOTSM5mrBRKVQ==",
"dev": true
},
"node_modules/emoji-regex": {
@@ -1898,29 +1880,25 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "version": "5.8.2",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz",
+ "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==",
"dev": true,
"dependencies": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "node_modules/enhanced-resolve/node_modules/tapable": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
+ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
"dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
"engines": {
- "node": ">=8.6"
+ "node": ">=6"
}
},
"node_modules/envinfo": {
@@ -1935,18 +1913,6 @@
"node": ">=4"
}
},
- "node_modules/errno": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
- "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
- "dev": true,
- "dependencies": {
- "prr": "~1.0.1"
- },
- "bin": {
- "errno": "cli.js"
- }
- },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -2042,9 +2008,9 @@
}
},
"node_modules/execa": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
- "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"dependencies": {
"cross-spawn": "^7.0.3",
@@ -2087,6 +2053,18 @@
"node": ">=8"
}
},
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -2151,9 +2129,9 @@
}
},
"node_modules/fork-ts-checker-webpack-plugin": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz",
- "integrity": "sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==",
+ "version": "6.2.10",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz",
+ "integrity": "sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.8.3",
@@ -2163,6 +2141,7 @@
"cosmiconfig": "^6.0.0",
"deepmerge": "^4.2.2",
"fs-extra": "^9.0.0",
+ "glob": "^7.1.6",
"memfs": "^3.1.2",
"minimatch": "^3.0.4",
"schema-utils": "2.7.0",
@@ -2321,15 +2300,15 @@
}
},
"node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz",
+ "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==",
"dev": true,
"dependencies": {
"is-glob": "^4.0.1"
},
"engines": {
- "node": ">= 6"
+ "node": ">=10.13.0"
}
},
"node_modules/glob-to-regexp": {
@@ -2425,9 +2404,9 @@
}
},
"node_modules/highlight.js": {
- "version": "10.7.2",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz",
- "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==",
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
"dev": true,
"engines": {
"node": "*"
@@ -2614,12 +2593,6 @@
"node": ">=8"
}
},
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2642,19 +2615,34 @@
"dev": true
},
"node_modules/jest-worker": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
- "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "version": "27.0.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz",
+ "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
"dev": true,
"dependencies": {
"@types/node": "*",
"merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
+ "supports-color": "^8.0.0"
},
"engines": {
"node": ">= 10.13.0"
}
},
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2836,19 +2824,6 @@
"node": ">= 4.0.0"
}
},
- "node_modules/memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "dependencies": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- },
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
"node_modules/merge-source-map": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
@@ -2908,21 +2883,21 @@
}
},
"node_modules/mime-db": {
- "version": "1.47.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
- "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "version": "1.48.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
+ "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
- "version": "2.1.30",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
- "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "version": "2.1.31",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
+ "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"dev": true,
"dependencies": {
- "mime-db": "1.47.0"
+ "mime-db": "1.48.0"
},
"engines": {
"node": ">= 0.6"
@@ -3295,14 +3270,14 @@
}
},
"node_modules/postcss": {
- "version": "8.2.10",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
- "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz",
+ "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==",
"dev": true,
"dependencies": {
"colorette": "^1.2.2",
- "nanoid": "^3.1.22",
- "source-map": "^0.6.1"
+ "nanoid": "^3.1.23",
+ "source-map-js": "^0.6.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -3313,9 +3288,9 @@
}
},
"node_modules/postcss-import": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz",
- "integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz",
+ "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.0.0",
@@ -3330,9 +3305,9 @@
}
},
"node_modules/postcss-loader": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.2.0.tgz",
- "integrity": "sha512-uSuCkENFeUaOYsKrXm0eNNgVIxc71z8RcckLMbVw473rGojFnrUeqEz6zBgXsH2q1EIzXnO/4pEz9RhALjlITA==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz",
+ "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==",
"dev": true,
"dependencies": {
"cosmiconfig": "^7.0.0",
@@ -3478,15 +3453,6 @@
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
- "node_modules/postcss/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/prettier": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
@@ -3500,18 +3466,6 @@
"node": ">=4"
}
},
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "node_modules/prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -3621,21 +3575,6 @@
"pify": "^2.3.0"
}
},
- "node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
"node_modules/readdirp": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
@@ -3766,9 +3705,9 @@
"dev": true
},
"node_modules/sass": {
- "version": "1.34.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz",
- "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz",
+ "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0"
@@ -3781,16 +3720,16 @@
}
},
"node_modules/sass-loader": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz",
- "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.0.0.tgz",
+ "integrity": "sha512-LJQMyDdNdhcvoO2gJFw7KpTaioVFDeRJOuatRDUNgCIqyu4s4kgDsNofdGzAZB1zFOgo/p3fy+aR/uGXamcJBg==",
"dev": true,
"dependencies": {
"klona": "^2.0.4",
"neo-async": "^2.6.2"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
@@ -3798,7 +3737,7 @@
},
"peerDependencies": {
"fibers": ">= 3.1.0",
- "node-sass": "^4.0.0 || ^5.0.0",
+ "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0",
"sass": "^1.3.0",
"webpack": "^5.0.0"
},
@@ -3951,6 +3890,15 @@
"node": ">= 8"
}
},
+ "node_modules/source-map-js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/source-map-resolve": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
@@ -3997,15 +3945,6 @@
"node": ">= 0.10.0"
}
},
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/string-width": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -4080,17 +4019,17 @@
}
},
"node_modules/terser-webpack-plugin": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz",
- "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz",
+ "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==",
"dev": true,
"dependencies": {
- "jest-worker": "^26.6.2",
+ "jest-worker": "^27.0.2",
"p-limit": "^3.1.0",
"schema-utils": "^3.0.0",
"serialize-javascript": "^5.0.1",
"source-map": "^0.6.1",
- "terser": "^5.5.1"
+ "terser": "^5.7.0"
},
"engines": {
"node": ">= 10.13.0"
@@ -4197,23 +4136,22 @@
}
},
"node_modules/ts-loader": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.1.0.tgz",
- "integrity": "sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A==",
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.2.tgz",
+ "integrity": "sha512-hNIhGTQHtNKjOzR2ZtQ2OSVbXPykOae+zostf1IlHCf61Mt41GMJurKNqrYUbzHgpmj6UWRu8eBfb7q0XliV0g==",
"dev": true,
"dependencies": {
"chalk": "^4.1.0",
- "enhanced-resolve": "^4.0.0",
- "loader-utils": "^2.0.0",
+ "enhanced-resolve": "^5.0.0",
"micromatch": "^4.0.0",
"semver": "^7.3.4"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=12.0.0"
},
"peerDependencies": {
"typescript": "*",
- "webpack": "*"
+ "webpack": "^5.0.0"
}
},
"node_modules/ts-loader/node_modules/lru-cache": {
@@ -4280,9 +4218,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"node_modules/typescript": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
- "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
+ "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -4323,9 +4261,9 @@
"dev": true
},
"node_modules/vue": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
- "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==",
+ "version": "2.6.13",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz",
+ "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw==",
"dev": true
},
"node_modules/vue-hot-reload-api": {
@@ -4335,9 +4273,9 @@
"dev": true
},
"node_modules/vue-loader": {
- "version": "15.9.6",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz",
- "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==",
+ "version": "15.9.7",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.7.tgz",
+ "integrity": "sha512-qzlsbLV1HKEMf19IqCJqdNvFJRCI58WNbS6XbPqK13MrLz65es75w392MSQ5TsARAfIjUw+ATm3vlCXUJSOH9Q==",
"dev": true,
"dependencies": {
"@vue/component-compiler-utils": "^3.1.0",
@@ -4449,22 +4387,22 @@
}
},
"node_modules/webpack": {
- "version": "5.31.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.2.tgz",
- "integrity": "sha512-0bCQe4ybo7T5Z0SC5axnIAH+1WuIdV4FwLYkaAlLtvfBhIx8bPS48WHTfiRZS1VM+pSiYt7e/rgLs3gLrH82lQ==",
+ "version": "5.38.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz",
+ "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.46",
+ "@types/estree": "^0.0.47",
"@webassemblyjs/ast": "1.11.0",
"@webassemblyjs/wasm-edit": "1.11.0",
"@webassemblyjs/wasm-parser": "1.11.0",
- "acorn": "^8.0.4",
+ "acorn": "^8.2.1",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.7.0",
+ "enhanced-resolve": "^5.8.0",
"es-module-lexer": "^0.4.0",
- "eslint-scope": "^5.1.1",
+ "eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.4",
@@ -4475,8 +4413,8 @@
"schema-utils": "^3.0.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.1",
- "watchpack": "^2.0.0",
- "webpack-sources": "^2.1.1"
+ "watchpack": "^2.2.0",
+ "webpack-sources": "^2.3.0"
},
"bin": {
"webpack": "bin/webpack.js"
@@ -4495,9 +4433,9 @@
}
},
"node_modules/webpack-bundle-analyzer": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz",
- "integrity": "sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g==",
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz",
+ "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==",
"dev": true,
"dependencies": {
"acorn": "^8.0.4",
@@ -4549,18 +4487,17 @@
}
},
"node_modules/webpack-cli": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz",
- "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.0.tgz",
+ "integrity": "sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.0.2",
- "@webpack-cli/info": "^1.2.3",
- "@webpack-cli/serve": "^1.3.1",
+ "@webpack-cli/configtest": "^1.0.3",
+ "@webpack-cli/info": "^1.2.4",
+ "@webpack-cli/serve": "^1.4.0",
"colorette": "^1.2.1",
"commander": "^7.0.0",
- "enquirer": "^2.3.6",
"execa": "^5.0.0",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
@@ -4607,9 +4544,9 @@
}
},
"node_modules/webpack-sources": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz",
- "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz",
+ "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==",
"dev": true,
"dependencies": {
"source-list-map": "^2.0.1",
@@ -4629,24 +4566,11 @@
}
},
"node_modules/webpack-virtual-modules": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.2.tgz",
- "integrity": "sha512-OUsT1VZhArN8nY7g6mMlw91HWnXcNXsIQjsQ83WteF4ViZ6YXqF2sWKOTDIZ0H+PPiApQdszLdZIrD7NNlU0Yw==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz",
+ "integrity": "sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==",
"dev": true
},
- "node_modules/webpack/node_modules/enhanced-resolve": {
- "version": "5.8.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz",
- "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==",
- "dev": true,
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
"node_modules/webpack/node_modules/schema-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
@@ -4845,26 +4769,26 @@
}
},
"@babel/compat-data": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz",
- "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz",
+ "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==",
"dev": true
},
"@babel/core": {
- "version": "7.13.15",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.15.tgz",
- "integrity": "sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ==",
+ "version": "7.14.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz",
+ "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.12.13",
- "@babel/generator": "^7.13.9",
- "@babel/helper-compilation-targets": "^7.13.13",
- "@babel/helper-module-transforms": "^7.13.14",
- "@babel/helpers": "^7.13.10",
- "@babel/parser": "^7.13.15",
+ "@babel/generator": "^7.14.3",
+ "@babel/helper-compilation-targets": "^7.13.16",
+ "@babel/helper-module-transforms": "^7.14.2",
+ "@babel/helpers": "^7.14.0",
+ "@babel/parser": "^7.14.3",
"@babel/template": "^7.12.13",
- "@babel/traverse": "^7.13.15",
- "@babel/types": "^7.13.14",
+ "@babel/traverse": "^7.14.2",
+ "@babel/types": "^7.14.2",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -4901,14 +4825,14 @@
}
},
"@babel/helper-compilation-targets": {
- "version": "7.13.16",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz",
- "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz",
+ "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.13.15",
+ "@babel/compat-data": "^7.14.4",
"@babel/helper-validator-option": "^7.12.17",
- "browserslist": "^4.14.5",
+ "browserslist": "^4.16.6",
"semver": "^6.3.0"
}
},
@@ -4976,15 +4900,15 @@
}
},
"@babel/helper-replace-supers": {
- "version": "7.14.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.3.tgz",
- "integrity": "sha512-Rlh8qEWZSTfdz+tgNV/N4gz1a0TMNwCUcENhMjHTHKp3LseYH5Jha0NSlyTQWMnjbYcwFt+bqAMqSLHVXkQ6UA==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz",
+ "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "^7.13.12",
"@babel/helper-optimise-call-expression": "^7.12.13",
"@babel/traverse": "^7.14.2",
- "@babel/types": "^7.14.2"
+ "@babel/types": "^7.14.4"
}
},
"@babel/helper-simple-access": {
@@ -5092,9 +5016,9 @@
}
},
"@babel/parser": {
- "version": "7.14.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz",
- "integrity": "sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz",
+ "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==",
"dev": true
},
"@babel/template": {
@@ -5125,9 +5049,9 @@
}
},
"@babel/types": {
- "version": "7.14.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz",
- "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==",
+ "version": "7.14.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz",
+ "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==",
"dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.0",
@@ -5145,6 +5069,21 @@
"resolved": "https://registry.npmjs.org/@nativescript-community/ui-collectionview/-/ui-collectionview-4.0.31.tgz",
"integrity": "sha512-kWtupfe+zr2Vj5hLfie/xxlFYLtLbBS6WrDBUD9z1cJYIZRf9KQxwl8z4wJ2dtQ51dlt1r8CJZgpgRbMTk5xQA=="
},
+ "@nativescript-rtl/ui": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/@nativescript-rtl/ui/-/ui-0.1.8.tgz",
+ "integrity": "sha512-GUmRHuwI0vJ1IKUH1ilm2SmPo8iv6o5PhA4LxmNnysODuiJywnnNfE9yFpoecBsDOMRVT6M/dlV26+3DfO4Rbw==",
+ "requires": {
+ "@types/node": "^14.6.4"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.17.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.2.tgz",
+ "integrity": "sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw=="
+ }
+ }
+ },
"@nativescript/android": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@nativescript/android/-/android-8.0.0.tgz",
@@ -5152,9 +5091,9 @@
"dev": true
},
"@nativescript/core": {
- "version": "8.0.6",
- "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.0.6.tgz",
- "integrity": "sha512-w9fmuzUrKUblHbkmApMNWExgFZewZCnwf8A2ymcdLsftvljXrDhztbIgQD4aDis61OaqE1N42UToYPpUkaw5pw==",
+ "version": "8.0.7",
+ "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.0.7.tgz",
+ "integrity": "sha512-2OLwPa5Y+9aKLyo0zWl0YSjWS0f+EFG8SdZe+uuU2mzEhCb8q9djdICjHynuXZkmrtQsx/lKjLhbtnoYQsMRvA==",
"requires": {
"@nativescript/hook": "~2.0.0",
"css-tree": "^1.1.2",
@@ -5218,82 +5157,71 @@
"dev": true
},
"@nativescript/webpack": {
- "version": "5.0.0-beta.10",
- "resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-beta.10.tgz",
- "integrity": "sha512-j/NlhVCZi/8N5IQQbPjSRWPc3a7zSW8NTc0LsxbidsBPqeTiX1wUq5ajmNv/ctmbiNRsjmB9wTDwDxowormr2Q==",
+ "version": "5.0.0-dev.0",
+ "resolved": "https://registry.npmjs.org/@nativescript/webpack/-/webpack-5.0.0-dev.0.tgz",
+ "integrity": "sha512-pJhuzm+sqMBrr+MHAm6qQclvHo6evK8IsqBpZ8s2e5O/Bk0HbtPdKJdiNQuw2TRHWpWJ1Rkp3Nc8lnZsoxK7VQ==",
"dev": true,
"requires": {
- "@babel/core": "7.13.15",
- "@pmmmwh/react-refresh-webpack-plugin": "0.4.3",
- "acorn": "^8.1.1",
+ "@babel/core": "^7.0.0",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.4.0",
+ "acorn": "^8.0.0",
"acorn-stage3": "^4.0.0",
- "babel-loader": "8.2.2",
- "chalk": "4.1.0",
- "cli-highlight": "2.1.11",
- "commander": "7.2.0",
- "copy-webpack-plugin": "8.1.1",
- "css": "3.0.0",
- "css-loader": "5.2.1",
- "dotenv-webpack": "7.0.2",
- "fork-ts-checker-webpack-plugin": "6.2.1",
- "loader-utils": "2.0.0",
- "lodash.get": "4.4.2",
- "micromatch": "4.0.4",
- "postcss": "8.2.10",
- "postcss-import": "14.0.1",
- "postcss-loader": "5.2.0",
- "raw-loader": "4.0.2",
- "react-refresh": "0.10.0",
- "sass": "1.32.8",
- "sass-loader": "11.0.1",
- "sax": "1.2.4",
- "source-map": "0.7.3",
- "terser-webpack-plugin": "5.1.1",
- "ts-dedent": "2.1.1",
- "ts-loader": "8.1.0",
- "vue-loader": "15.9.6",
- "webpack": "5.31.2",
- "webpack-bundle-analyzer": "4.4.0",
- "webpack-chain": "6.5.1",
- "webpack-cli": "4.6.0",
- "webpack-merge": "5.7.3",
- "webpack-virtual-modules": "0.4.2"
- },
- "dependencies": {
- "sass": {
- "version": "1.32.8",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.8.tgz",
- "integrity": "sha512-Sl6mIeGpzjIUZqvKnKETfMf0iDAswD9TNlv13A7aAF3XZlRPMq4VvJWBC2N2DXbp94MQVdNSFG6LfF/iOXrPHQ==",
- "dev": true,
- "requires": {
- "chokidar": ">=2.0.0 <4.0.0"
- }
- }
+ "babel-loader": "^8.0.0",
+ "chalk": "^4.0.0",
+ "cli-highlight": "^2.0.0",
+ "commander": "^7.0.0",
+ "copy-webpack-plugin": "^9.0.0",
+ "css": "^3.0.0",
+ "css-loader": "^5.0.0",
+ "dotenv-webpack": "^7.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.0.0",
+ "loader-utils": "^2.0.0",
+ "lodash.get": "^4.0.0",
+ "micromatch": "^4.0.0",
+ "postcss": "^8.0.0",
+ "postcss-import": "^14.0.0",
+ "postcss-loader": "^5.0.0",
+ "raw-loader": "^4.0.0",
+ "react-refresh": "^0.10.0",
+ "sass": "^1.0.0",
+ "sass-loader": "^12.0.0",
+ "sax": "^1.0.0",
+ "source-map": "^0.7.0",
+ "terser-webpack-plugin": "^5.0.0",
+ "ts-dedent": "^2.0.0",
+ "ts-loader": "^9.0.0",
+ "vue-loader": "^15.0.0",
+ "webpack": "^5.0.0",
+ "webpack-bundle-analyzer": "^4.0.0",
+ "webpack-chain": "^6.0.0",
+ "webpack-cli": "^4.0.0",
+ "webpack-merge": "^5.0.0",
+ "webpack-virtual-modules": "^0.4.0"
}
},
"@nodelib/fs.scandir": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
- "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"requires": {
- "@nodelib/fs.stat": "2.0.4",
+ "@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
- "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true
},
"@nodelib/fs.walk": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
- "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz",
+ "integrity": "sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==",
"dev": true,
"requires": {
- "@nodelib/fs.scandir": "2.1.4",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
}
},
@@ -5323,9 +5251,9 @@
"integrity": "sha512-LKwlNaIWJPEbFKsPwA5vndqrKBUqE9dK9wdi/LsHs0Nl6pfMI7fPkBPoGW7UvVSMqy4s4d35Q0FDbKXR1t796A=="
},
"@types/eslint": {
- "version": "7.2.11",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.11.tgz",
- "integrity": "sha512-WYhv//5K8kQtsSc9F1Kn2vHzhYor6KpwPbARH7hwYe3C3ETD0EVx/3P5qQybUoaBEuUa9f/02JjBiXFWalYUmw==",
+ "version": "7.2.13",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.13.tgz",
+ "integrity": "sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg==",
"dev": true,
"requires": {
"@types/estree": "*",
@@ -5343,9 +5271,9 @@
}
},
"@types/estree": {
- "version": "0.0.46",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz",
- "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==",
+ "version": "0.0.47",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.47.tgz",
+ "integrity": "sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg==",
"dev": true
},
"@types/json-schema": {
@@ -5355,9 +5283,9 @@
"dev": true
},
"@types/node": {
- "version": "15.6.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz",
- "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==",
+ "version": "15.12.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.1.tgz",
+ "integrity": "sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw==",
"dev": true
},
"@types/parse-json": {
@@ -5643,9 +5571,9 @@
"dev": true
},
"acorn": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.4.tgz",
- "integrity": "sha512-Ibt84YwBDDA890eDiDCEqcbwvHlBvzzDkU2cGBBDDI1QWT12jTiXIOn2CIw5KK4i6N5Z2HUxwYjzriDyqaqqZg==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz",
+ "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==",
"dev": true
},
"acorn-class-fields": {
@@ -5716,12 +5644,6 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true
- },
"ansi-html": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
@@ -5907,22 +5829,16 @@
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true
},
- "camelcase": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
- "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
- "dev": true
- },
"caniuse-lite": {
- "version": "1.0.30001230",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz",
- "integrity": "sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==",
+ "version": "1.0.30001234",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001234.tgz",
+ "integrity": "sha512-a3gjUVKkmwLdNysa1xkUAwN2VfJUJyVW47rsi3aCbkRCtbHAfo+rOsCqVw29G6coQ8gzAPb5XBXwiGHwme3isA==",
"dev": true
},
"chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -5943,6 +5859,17 @@
"is-glob": "~4.0.1",
"normalize-path": "~3.0.0",
"readdirp": "~3.5.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
}
},
"chrome-trace-event": {
@@ -6044,13 +5971,13 @@
}
},
"copy-webpack-plugin": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
- "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.0.tgz",
+ "integrity": "sha512-k8UB2jLIb1Jip2nZbCz83T/XfhfjX6mB1yLJNYKrpYi7FQimfOoFv/0//iT6HV1K8FwUB5yUbCcnpLebJXJTug==",
"dev": true,
"requires": {
"fast-glob": "^3.2.5",
- "glob-parent": "^5.1.1",
+ "glob-parent": "^6.0.0",
"globby": "^11.0.3",
"normalize-path": "^3.0.0",
"p-limit": "^3.1.0",
@@ -6071,12 +5998,6 @@
}
}
},
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
- },
"cosmiconfig": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
@@ -6126,23 +6047,21 @@
}
},
"css-loader": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.1.tgz",
- "integrity": "sha512-YCyRzlt/jgG1xanXZDG/DHqAueOtXFHeusP9TS478oP1J++JSKOyEgGW1GHVoCj/rkS+GWOlBwqQJBr9yajQ9w==",
+ "version": "5.2.6",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz",
+ "integrity": "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==",
"dev": true,
"requires": {
- "camelcase": "^6.2.0",
- "cssesc": "^3.0.0",
"icss-utils": "^5.1.0",
"loader-utils": "^2.0.0",
- "postcss": "^8.2.8",
+ "postcss": "^8.2.15",
"postcss-modules-extract-imports": "^3.0.0",
"postcss-modules-local-by-default": "^4.0.0",
"postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.1.0",
"schema-utils": "^3.0.0",
- "semver": "^7.3.4"
+ "semver": "^7.3.5"
},
"dependencies": {
"lru-cache": {
@@ -6257,21 +6176,21 @@
"dev": true
},
"dotenv-defaults": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.1.tgz",
- "integrity": "sha512-ugFCyBF7ILuwpmznduHPQZBMucHHJ8T4OBManTEVjemxCm2+nqifSuW2lD2SNKdiKSH1E324kZSdJ8M04b4I/A==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz",
+ "integrity": "sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg==",
"dev": true,
"requires": {
"dotenv": "^8.2.0"
}
},
"dotenv-webpack": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.2.tgz",
- "integrity": "sha512-RY+/5uM/XY4bGtih9f9ic8hlrUDxVcZZBPWlnX/aHhaKxcVVX9SH/5VH7CSmvVo9GL6PKvQOA0X1bc552rnatQ==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-7.0.3.tgz",
+ "integrity": "sha512-O0O9pOEwrk+n1zzR3T2uuXRlw64QxHSPeNN1GaiNBloQFNaCUL9V8jxSVz4jlXXFP/CIqK8YecWf8BAvsSgMjw==",
"dev": true,
"requires": {
- "dotenv-defaults": "^2.0.1"
+ "dotenv-defaults": "^2.0.2"
}
},
"duplexer": {
@@ -6281,9 +6200,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.3.739",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.739.tgz",
- "integrity": "sha512-+LPJVRsN7hGZ9EIUUiWCpO7l4E3qBYHNadazlucBfsXBbccDFNKUBAgzE68FnkWGJPwD/AfKhSzL+G+Iqb8A4A==",
+ "version": "1.3.748",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.748.tgz",
+ "integrity": "sha512-fmIKfYALVeEybk/L2ucdgt7jN3JsbGtg3K9pmF/MRWgkeADBI1VSAa5IzdG2gZwTxsnsrFtdMpOTSM5mrBRKVQ==",
"dev": true
},
"emoji-regex": {
@@ -6299,23 +6218,21 @@
"dev": true
},
"enhanced-resolve": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
- "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "version": "5.8.2",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz",
+ "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.5.0",
- "tapable": "^1.0.0"
- }
- },
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^4.1.1"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "dependencies": {
+ "tapable": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz",
+ "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==",
+ "dev": true
+ }
}
},
"envinfo": {
@@ -6324,15 +6241,6 @@
"integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
"dev": true
},
- "errno": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
- "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
- "dev": true,
- "requires": {
- "prr": "~1.0.1"
- }
- },
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -6409,9 +6317,9 @@
"dev": true
},
"execa": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
- "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
"dev": true,
"requires": {
"cross-spawn": "^7.0.3",
@@ -6443,6 +6351,17 @@
"merge2": "^1.3.0",
"micromatch": "^4.0.2",
"picomatch": "^2.2.1"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
}
},
"fast-json-stable-stringify": {
@@ -6497,9 +6416,9 @@
}
},
"fork-ts-checker-webpack-plugin": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz",
- "integrity": "sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg==",
+ "version": "6.2.10",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz",
+ "integrity": "sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
@@ -6509,6 +6428,7 @@
"cosmiconfig": "^6.0.0",
"deepmerge": "^4.2.2",
"fs-extra": "^9.0.0",
+ "glob": "^7.1.6",
"memfs": "^3.1.2",
"minimatch": "^3.0.4",
"schema-utils": "2.7.0",
@@ -6621,9 +6541,9 @@
}
},
"glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz",
+ "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
@@ -6698,9 +6618,9 @@
"dev": true
},
"highlight.js": {
- "version": "10.7.2",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz",
- "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==",
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
"dev": true
},
"html-entities": {
@@ -6833,12 +6753,6 @@
"integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
"dev": true
},
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
- },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -6858,14 +6772,25 @@
"dev": true
},
"jest-worker": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
- "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "version": "27.0.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.2.tgz",
+ "integrity": "sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==",
"dev": true,
"requires": {
"@types/node": "*",
"merge-stream": "^2.0.0",
- "supports-color": "^7.0.0"
+ "supports-color": "^8.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
}
},
"js-tokens": {
@@ -7011,16 +6936,6 @@
"fs-monkey": "1.0.3"
}
},
- "memory-fs": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
- "dev": true,
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
- }
- },
"merge-source-map": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
@@ -7067,18 +6982,18 @@
"dev": true
},
"mime-db": {
- "version": "1.47.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
- "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "version": "1.48.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz",
+ "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==",
"dev": true
},
"mime-types": {
- "version": "2.1.30",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
- "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "version": "2.1.31",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz",
+ "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==",
"dev": true,
"requires": {
- "mime-db": "1.47.0"
+ "mime-db": "1.48.0"
}
},
"mimic-fn": {
@@ -7362,28 +7277,20 @@
}
},
"postcss": {
- "version": "8.2.10",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.10.tgz",
- "integrity": "sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==",
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz",
+ "integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==",
"dev": true,
"requires": {
"colorette": "^1.2.2",
- "nanoid": "^3.1.22",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
+ "nanoid": "^3.1.23",
+ "source-map-js": "^0.6.2"
}
},
"postcss-import": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.1.tgz",
- "integrity": "sha512-Xn2+z++vWObbEPhiiKO1a78JiyhqipyrXHBb3AHpv0ks7Cdg+GxQQJ24ODNMTanldf7197gSP3axppO9yaG0lA==",
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz",
+ "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.0.0",
@@ -7392,9 +7299,9 @@
}
},
"postcss-loader": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.2.0.tgz",
- "integrity": "sha512-uSuCkENFeUaOYsKrXm0eNNgVIxc71z8RcckLMbVw473rGojFnrUeqEz6zBgXsH2q1EIzXnO/4pEz9RhALjlITA==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz",
+ "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==",
"dev": true,
"requires": {
"cosmiconfig": "^7.0.0",
@@ -7499,18 +7406,6 @@
"dev": true,
"optional": true
},
- "process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
- },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -7582,21 +7477,6 @@
"pify": "^2.3.0"
}
},
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
"readdirp": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
@@ -7692,18 +7572,18 @@
"dev": true
},
"sass": {
- "version": "1.34.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz",
- "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==",
+ "version": "1.34.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz",
+ "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0"
}
},
"sass-loader": {
- "version": "11.0.1",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.0.1.tgz",
- "integrity": "sha512-Vp1LcP4slTsTNLEiDkTcm8zGN/XYYrZz2BZybQbliWA8eXveqA/AxsEjllQTpJbg2MzCsx/qNO48sHdZtOaxTw==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.0.0.tgz",
+ "integrity": "sha512-LJQMyDdNdhcvoO2gJFw7KpTaioVFDeRJOuatRDUNgCIqyu4s4kgDsNofdGzAZB1zFOgo/p3fy+aR/uGXamcJBg==",
"dev": true,
"requires": {
"klona": "^2.0.4",
@@ -7816,6 +7696,12 @@
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true
},
+ "source-map-js": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
+ "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
+ "dev": true
+ },
"source-map-resolve": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz",
@@ -7858,15 +7744,6 @@
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
"integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
"string-width": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -7928,17 +7805,17 @@
}
},
"terser-webpack-plugin": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz",
- "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.3.tgz",
+ "integrity": "sha512-cxGbMqr6+A2hrIB5ehFIF+F/iST5ZOxvOmy9zih9ySbP1C2oEWQSOUS+2SNBTjzx5xLKO4xnod9eywdfq1Nb9A==",
"dev": true,
"requires": {
- "jest-worker": "^26.6.2",
+ "jest-worker": "^27.0.2",
"p-limit": "^3.1.0",
"schema-utils": "^3.0.0",
"serialize-javascript": "^5.0.1",
"source-map": "^0.6.1",
- "terser": "^5.5.1"
+ "terser": "^5.7.0"
},
"dependencies": {
"schema-utils": {
@@ -8006,14 +7883,13 @@
"dev": true
},
"ts-loader": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-8.1.0.tgz",
- "integrity": "sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A==",
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.2.tgz",
+ "integrity": "sha512-hNIhGTQHtNKjOzR2ZtQ2OSVbXPykOae+zostf1IlHCf61Mt41GMJurKNqrYUbzHgpmj6UWRu8eBfb7q0XliV0g==",
"dev": true,
"requires": {
"chalk": "^4.1.0",
- "enhanced-resolve": "^4.0.0",
- "loader-utils": "^2.0.0",
+ "enhanced-resolve": "^5.0.0",
"micromatch": "^4.0.0",
"semver": "^7.3.4"
},
@@ -8063,9 +7939,9 @@
"integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
},
"typescript": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
- "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz",
+ "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==",
"dev": true
},
"universalify": {
@@ -8096,9 +7972,9 @@
"dev": true
},
"vue": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
- "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==",
+ "version": "2.6.13",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz",
+ "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw==",
"dev": true
},
"vue-hot-reload-api": {
@@ -8108,9 +7984,9 @@
"dev": true
},
"vue-loader": {
- "version": "15.9.6",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz",
- "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==",
+ "version": "15.9.7",
+ "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.7.tgz",
+ "integrity": "sha512-qzlsbLV1HKEMf19IqCJqdNvFJRCI58WNbS6XbPqK13MrLz65es75w392MSQ5TsARAfIjUw+ATm3vlCXUJSOH9Q==",
"dev": true,
"requires": {
"@vue/component-compiler-utils": "^3.1.0",
@@ -8196,22 +8072,22 @@
}
},
"webpack": {
- "version": "5.31.2",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.31.2.tgz",
- "integrity": "sha512-0bCQe4ybo7T5Z0SC5axnIAH+1WuIdV4FwLYkaAlLtvfBhIx8bPS48WHTfiRZS1VM+pSiYt7e/rgLs3gLrH82lQ==",
+ "version": "5.38.1",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz",
+ "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.0",
- "@types/estree": "^0.0.46",
+ "@types/estree": "^0.0.47",
"@webassemblyjs/ast": "1.11.0",
"@webassemblyjs/wasm-edit": "1.11.0",
"@webassemblyjs/wasm-parser": "1.11.0",
- "acorn": "^8.0.4",
+ "acorn": "^8.2.1",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.7.0",
+ "enhanced-resolve": "^5.8.0",
"es-module-lexer": "^0.4.0",
- "eslint-scope": "^5.1.1",
+ "eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.4",
@@ -8222,20 +8098,10 @@
"schema-utils": "^3.0.0",
"tapable": "^2.1.1",
"terser-webpack-plugin": "^5.1.1",
- "watchpack": "^2.0.0",
- "webpack-sources": "^2.1.1"
+ "watchpack": "^2.2.0",
+ "webpack-sources": "^2.3.0"
},
"dependencies": {
- "enhanced-resolve": {
- "version": "5.8.2",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz",
- "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
"schema-utils": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz",
@@ -8256,9 +8122,9 @@
}
},
"webpack-bundle-analyzer": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz",
- "integrity": "sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g==",
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz",
+ "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==",
"dev": true,
"requires": {
"acorn": "^8.0.4",
@@ -8299,18 +8165,17 @@
}
},
"webpack-cli": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz",
- "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.0.tgz",
+ "integrity": "sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g==",
"dev": true,
"requires": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.0.2",
- "@webpack-cli/info": "^1.2.3",
- "@webpack-cli/serve": "^1.3.1",
+ "@webpack-cli/configtest": "^1.0.3",
+ "@webpack-cli/info": "^1.2.4",
+ "@webpack-cli/serve": "^1.4.0",
"colorette": "^1.2.1",
"commander": "^7.0.0",
- "enquirer": "^2.3.6",
"execa": "^5.0.0",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
@@ -8331,9 +8196,9 @@
}
},
"webpack-sources": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz",
- "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz",
+ "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==",
"dev": true,
"requires": {
"source-list-map": "^2.0.1",
@@ -8349,9 +8214,9 @@
}
},
"webpack-virtual-modules": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.2.tgz",
- "integrity": "sha512-OUsT1VZhArN8nY7g6mMlw91HWnXcNXsIQjsQ83WteF4ViZ6YXqF2sWKOTDIZ0H+PPiApQdszLdZIrD7NNlU0Yw==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz",
+ "integrity": "sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==",
"dev": true
},
"which": {
diff --git a/package.json b/package.json
index c5fe4d58..1c93c7f3 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,8 @@
"dependencies": {
"@akylas/nativescript-sqlite": "^3.3.12",
"@nativescript-community/ui-collectionview": "^4.0.29",
- "@nativescript/core": "^8.0.5",
+ "@nativescript-rtl/ui": "^0.1.8",
+ "@nativescript/core": "^8.0.7",
"@nativescript/local-notifications": "^5.0.3",
"@nativescript/localize": "^5.0.4",
"@triniwiz/nativescript-accelerometer": "^4.0.3",
@@ -32,11 +33,11 @@
"devDependencies": {
"@nativescript/android": "8.0.0",
"@nativescript/types": "^8.0.1",
- "@nativescript/webpack": "beta",
- "@types/node": "^15.3.0",
+ "@nativescript/webpack": "^5.0.0-beta.12",
+ "@types/node": "^15.9.0",
"nativescript-vue-template-compiler": "~2.9.0",
- "sass": "^1.32.13",
+ "sass": "^1.34.1",
"typescript": "^4.2.4",
- "vue": "^2.6.12"
+ "vue": "^2.6.13"
}
}