alpha version

This commit is contained in:
2022-12-30 11:17:00 +01:00
parent 8c4601144a
commit 6ee5c3d6ef
10 changed files with 1284 additions and 156 deletions

View File

@@ -17,4 +17,89 @@ class PersonController extends Controller
->get();
return response()->json($persons);
}
public function search(Request $request)
{
$query = $request->post();
$result = [];
$where = [];
$qr = null;
$qa = [$qr];
$q = $qr;
$count = 0;
foreach ($query as $c) {
if ($c["criteria"]["operator"] == "=") $where = [$c["field"]["name"], $c["pre"] == "NOT" ? '!=' : '=', $c["value"]];
if ($c["criteria"]["operator"] == "LIKE START") $where = [$c["field"]["name"], $c["pre"] == "NOT" ? 'not like': 'like', $c["value"].'%'];
if ($c["criteria"]["operator"] == "LIKE") $where = [$c["field"]["name"], $c["pre"] == "NOT" ? 'not like': 'like', '%'.$c["value"].'%'];
// $result[] = $where;
if ($c["count"] == 0) {
$q = \array_pop($qa);
if ($q == null)
$q = Person::where([$where]);
else
$q->where([$where]);
}
if ($c["level"] > 0 && $c["count"] == 0)
array_push($qa,$q);
if ($c["pre"] == 'AND') $q->andWhere($where);
if ($c["pre"] == 'OR') $q->orWhere($where);
if ($c["pre"] == 'AND NOT') $q->whereNot($where);
if ($c["pre"] == 'OR NOT') $q->orWhereNot($where);
if ($c["groupop"] != "") {
if ($c["count"] == 0) {
$qr2 = function($q) use ($c) {
};
array_push($qa,$qr2);
}
}
}
// DB::connection( 'mongodb' )->enableQueryLog();
if ($qr) $result = $qr->get();
else $result = [];
// dd(DB::connection('mongodb')->getQueryLog());
return response()->json($result);
// {
// "groupop": "",
// "pre": "NOT",
// "field": {
// "name": "fullNames.value",
// "desc": "Plné meno"
// },
// "value": "sds",
// "criteria": {
// "name": "Rovná sa",
// "operator": "%s"
// },
// "level": 0,
// "count": 0
// },
// {
// "groupop": "",
// "pre": "NOT",
// "field": {
// "name": "fullNames.value",
// "desc": "Plné meno"
// },
// "value": "sds",
// "criteria": {
// "name": "Rovná sa",
// "operator": "%s"
// },
// "level": 0,
// "count": 1
// }
// ]
}
}

View File

@@ -4,11 +4,14 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Jenssegers\Mongodb\Eloquent\Model;
use Mehradsadeghi\FilterQueryString\FilterQueryString;
class Person extends Model
{
use HasFactory;
use FilterQueryString;
protected $filters = [];
protected $connection = 'mongodb';
protected $collection = 'data';
}

850
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -24,6 +24,7 @@
"@fortawesome/fontawesome-svg-core": "^6.2.1",
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/vue-fontawesome": "^3.0.2",
"@phongthien/vue3-query-builder": "^0.1.7",
"@suadelabs/vue3-multiselect": "^1.0.2",
"font-awesome": "^4.7.0"
}

View File

@@ -3,13 +3,52 @@ defineProps(['conditions']);
</script>
<template>
<div v-for="p in conditions">
<div class="justify-center my-8 select-none flex" >
<button class="py-2 px-4 shadow-md no-underline rounded-full bg-blue-600 text-white font-sans font-semibold text-sm border-blue btn-primary hover:text-white hover:bg-blue-light focus:outline-none active:shadow-none mr-2">{{ p.pre }}</button>
<button class="py-2 px-4 shadow-md no-underline rounded-full bg-orange-600 text-white font-sans font-semibold text-sm border-orange btn-primary hover:text-white hover:bg-orange-light focus:outline-none active:shadow-none mr-2">{{ p.field.desc }}</button>
<button class="py-2 px-4 shadow-md no-underline rounded-full bg-red-600 text-white font-sans font-semibold text-sm border-red btn-primary hover:text-white hover:bg-red-light focus:outline-none active:shadow-none">{{ p.criteria.name }}</button>
<button class="py-2 px-4 shadow-md no-underline rounded-full bg-yellow-600 text-black font-sans font-semibold text-sm border-red btn-primary hover:text-white hover:bg-red-light focus:outline-none active:shadow-none">{{ p.value }}</button>
<slot />
<div v-if="conditions.length > 0" class="w-full h-auto relative">
<div
class="bg-white px-5 py-3.5 rounded-lg shadow hover:shadow-xl max-w-prose mx-auto transform hover:-translate-y-[0.125rem] transition duration-100 ease-linear">
<div class="w-full flex items-center justify-between">
<span class="font-medium text-sm text-slate-400">Podmienky na vyhľadávanie</span>
<button
class="-mr-1 bg-slate-100 hover:bg-slate-200 text-slate-400 hover:text-slate-600 h-5 w-5 rounded-full flex justify-center items-center">
<svg class="h-2 w-2 fill-current items-center" viewBox="0 0 20 20">
<path
d="M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z" />
</svg>
</button>
</div>
<div class="flex items-center mt-2 rounded-lg px-1 py-1 cursor-pointer">
<div class="ml-3">
<div v-for="p in conditions">
<div class="my-2 select-none flex">
<div :class="'w-' + p.level*8">&nbsp;</div>
<button v-if="p.level > 0" :class="p.count > 0 ? 'invisible' : ''"
class="py-2 px-4 shadow-md no-underline rounded-full bg-green-600 text-white font-sans font-semibold text-sm border-blue btn-primary hover:text-white hover:bg-blue-light focus:outline-none active:shadow-none mr-1">{{
p.groupop }}</button>
<button
class="py-2 px-4 shadow-md no-underline rounded-full bg-blue-600 text-white font-sans font-semibold text-sm border-blue btn-primary hover:text-white hover:bg-blue-light focus:outline-none active:shadow-none mr-1">{{
p.pre }}</button>
<button
class="py-2 px-4 shadow-md no-underline rounded-full bg-orange-600 text-white font-sans font-semibold text-sm border-orange btn-primary hover:text-white hover:bg-orange-light focus:outline-none active:shadow-none mr-1">{{
p.field.desc }}</button>
<button
class="py-2 px-4 shadow -md no-underline rounded-full bg-red-600 text-white font-sans font-semibold text-sm border-red btn-primary hover:text-white hover:bg-red-light focus:outline-none active:shadow-none mr-1">{{
p.criteria.name }}</button>
<button
class="py-2 px-4 shadow-md no-underline rounded-full bg-yellow-600 text-white font-sans font-semibold text-sm border-red btn-primary hover:text-white hover:bg-red-light focus:outline-none active:shadow-none mr-1">{{
p.value }}</button>
<slot />
</div>
</div>
</div>
</div>
</div>
</div>
<div>
</div>
</template>

View File

@@ -4,6 +4,7 @@ import { Link } from '@inertiajs/inertia-vue3';
</script>
<template>
<div class="min-h-screen bg-gray-100">
<nav class="flex items-center justify-between flex-wrap bg-stone-400 p-6">
<div class="flex items-center flex-no-shrink text-white mr-6">
<svg class="h-8 w-8 mr-2" width="54" height="54" viewBox="0 0 54 54" xmlns="http://www.w3.org/2000/svg"><path d="M13.5 22.1c1.8-7.2 6.3-10.8 13.5-10.8 10.8 0 12.15 8.1 17.55 9.45 3.6.9 6.75-.45 9.45-4.05-1.8 7.2-6.3 10.8-13.5 10.8-10.8 0-12.15-8.1-17.55-9.45-3.6-.9-6.75.45-9.45 4.05zM0 38.3c1.8-7.2 6.3-10.8 13.5-10.8 10.8 0 12.15 8.1 17.55 9.45 3.6.9 6.75-.45 9.45-4.05-1.8 7.2-6.3 10.8-13.5 10.8-10.8 0-12.15-8.1-17.55-9.45-3.6-.9-6.75.45-9.45 4.05z"/></svg>
@@ -31,14 +32,9 @@ import { Link } from '@inertiajs/inertia-vue3';
</div>
</div>
</nav>
<main>
<slot />
</main>
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100">
<div
class="w-full sm:max-w-md mt-6 px-6 py-4 bg-white shadow-md sm:rounded-lg"
>
<slot />
</div>
</div>
</div>
</template>

View File

@@ -9,6 +9,7 @@ import Multiselect from '@/Components/MultiSelect.vue';
import { Head, Link, useForm } from '@inertiajs/inertia-vue3';
import rpoFields from './Data/MultiSelectOptionsRPO';
import ConditionDisplay from '@/Components/ConditionStatement.vue';
import { Inertia } from '@inertiajs/inertia';
import { ref } from 'vue';
const preoperator_val1 = ref(['-', 'NOT']);
@@ -19,12 +20,13 @@ const podmienka = ref([]);
const count = ref(0);
const criteria_val = ref([
{ name: "Obsahuje", operator: '%%%s%%'},
{ name: "Začína", operator: '%s%%'},
{ name: "Rovná sa", operator: '%s'}
{ name: "Obsahuje", operator: 'LIKE'},
{ name: "Začína", operator: 'LIKE START'},
{ name: "Rovná sa", operator: '='}
]);
const form = useForm({
groupoperator: '',
preoperator: '',
field: '',
value: '',
@@ -32,11 +34,15 @@ const form = useForm({
});
const submit = () => {
form.post(route('search'), { });
console.log('Post data');
Inertia.post(`/search`, podmienka.value);
};
const AddContition = () => {
podmienka.value.push({pre: form.preoperator, field: form.field, value: form.value, criteria: form.criteria, level: level.value});
podmienka.value.push({groupop: form.groupoperator,pre: form.preoperator, field: form.field, value: form.value, criteria: form.criteria, level: level.value, count: count.value});
for (var i = count.value; i >= 0; i--) {
podmienka.value[podmienka.value.length - i - 1]["groupop"] = form.groupoperator;
}
count.value++;
ConstructCondition();
}
@@ -58,62 +64,74 @@ const ConstructCondition = () => {
<template>
<GuestLayout>
<ConditionDisplay :conditions="podmienka"></ConditionDisplay>
<Head title="Register" />
<ConditionDisplay :conditions="podmienka"></ConditionDisplay>
<form @submit.prevent="submit">
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100">
<div class="w-full sm:max-w-md mt-6 px-6 py-4 bg-white shadow-md sm:rounded-lg">
<form @submit.prevent="submit">
<template v-if="level > 0">
<InputLabel for="Operator" value="Skupinový operátor" />
<Multiselect v-model="form.groupoperator" :options="preoperator_val2">
</Multiselect>
</template>
<InputLabel for="Operator" value="Operator" />
<Multiselect v-model="form.preoperator" :options="count == 0 ? preoperator_val1 : preoperator_val2"></Multiselect>
<InputLabel for="field" value="Pole" />
<Multiselect v-model="form.field" label="desc" trackby="desc" :options="rpoFields"></Multiselect>
<InputLabel for="Kriteria" value="Kriteria" />
<Multiselect v-model="form.criteria" label="name" trackby="name" :options="criteria_val"></Multiselect>
<div class="mt-4">
<InputLabel for="Hodnota" value="Hodnota" />
<TextInput
id="value"
type="text"
class="mt-1 block w-full"
v-model="form.value"
required
/>
<InputError class="mt-2" :message="form.errors.email" />
</div>
<InputLabel for="Operator" value="Operator" />
<Multiselect v-model="form.preoperator" :options="count == 0 ? preoperator_val1 : preoperator_val2">
</Multiselect>
<pre>podmienka = {{ podmienka }} </pre>
<pre>level = {{ level }}</pre>
<pre>count = {{ count }}</pre>
<div class="flex items-center justify-end mt-4">
<PrimaryButton class="ml-4" :class="{ 'opacity-25': form.processing }" :disabled="form.processing">
Hľadaj
</PrimaryButton>
<InputLabel for="field" value="Pole" />
<Multiselect v-model="form.field" label="desc" trackby="desc" :options="rpoFields"></Multiselect>
<InputLabel for="Kriteria" value="Kriteria" />
<Multiselect v-model="form.criteria" label="name" trackby="name" :options="criteria_val">
</Multiselect>
<SecondaryButton class="ml-4" @click="AddLevel">
<font-awesome-icon icon="fa-solid fa-right-from-bracket"/>
</SecondaryButton>
<div class="mt-4">
<InputLabel for="Hodnota" value="Hodnota" />
<TextInput id="value" type="text" class="mt-1 block w-full" v-model="form.value" required />
<InputError class="mt-2" :message="form.errors.email" />
</div>
<SecondaryButton class="ml-4" @click="RemLevel">
<font-awesome-icon icon="fa-solid fa-right-to-bracket" />
</SecondaryButton>
<pre>podmienka = {{ podmienka }} </pre>
<pre>level = {{ level }}</pre>
<pre>count = {{ count }}</pre>
<SecondaryButton class="ml-4" @click="AddContition">
<font-awesome-icon icon="fa-solid fa-circle-plus" />
</SecondaryButton>
<div class="flex items-center justify-end mt-4">
<PrimaryButton class="ml-4" :class="{ 'opacity-25': form.processing }"
:disabled="form.processing">
Hľadaj
</PrimaryButton>
<SecondaryButton class="ml-4" @click="AddLevel">
<font-awesome-icon icon="fa-solid fa-right-from-bracket" />
</SecondaryButton>
<SecondaryButton class="ml-4" @click="RemLevel">
<font-awesome-icon icon="fa-solid fa-right-to-bracket" />
</SecondaryButton>
<SecondaryButton class="ml-4" @click="AddContition">
<font-awesome-icon icon="fa-solid fa-circle-plus" />
</SecondaryButton>
</div>
</form>
</div>
</form>
</div>
</GuestLayout>
</template>

View File

@@ -34,9 +34,7 @@ Route::middleware('guest')->group(function () {
Route::post('reset-password', [NewPasswordController::class, 'store'])
->name('password.store');
Route::post('search', [SearchController::class, 'search'])
->name('search');
});
Route::middleware('auth')->group(function () {

View File

@@ -43,5 +43,7 @@ Route::middleware('auth')->group(function () {
Route::get('/all', [PersonController::class, 'index']);
Route::post('/search', [PersonController::class, 'search'])
->name('search');
require __DIR__.'/auth.php';

312
yarn.lock
View File

@@ -2,11 +2,48 @@
# yarn lockfile v1
"@babel/parser@^7.16.4":
"@ant-design/colors@^6.0.0":
"integrity" "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ=="
"resolved" "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz"
"version" "6.0.0"
dependencies:
"@ctrl/tinycolor" "^3.4.0"
"@ant-design/icons-svg@^4.2.1":
"integrity" "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
"resolved" "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz"
"version" "4.2.1"
"@ant-design/icons-vue@^6.1.0":
"integrity" "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA=="
"resolved" "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz"
"version" "6.1.0"
dependencies:
"@ant-design/colors" "^6.0.0"
"@ant-design/icons-svg" "^4.2.1"
"@antfu/utils@^0.7.2":
"integrity" "sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g=="
"resolved" "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.2.tgz"
"version" "0.7.2"
"@babel/parser@^7.15.8", "@babel/parser@^7.16.4":
"integrity" "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg=="
"resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz"
"version" "7.20.7"
"@babel/runtime@^7.10.5":
"integrity" "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ=="
"resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz"
"version" "7.20.7"
dependencies:
"regenerator-runtime" "^0.13.11"
"@ctrl/tinycolor@^3.4.0":
"integrity" "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg=="
"resolved" "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.5.0.tgz"
"version" "3.5.0"
"@esbuild/linux-x64@0.16.10":
"integrity" "sha512-61lcjVC/RldNNMUzQQdyCWjCxp9YLEQgIxErxU9XluX7juBdGKb0pvddS0vPNuCvotRbzijZ1pzII+26haWzbA=="
"resolved" "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.10.tgz"
@@ -60,6 +97,11 @@
dependencies:
"nprogress" "^0.2.0"
"@jridgewell/sourcemap-codec@^1.4.13":
"integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
"resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
"version" "1.4.14"
"@nodelib/fs.scandir@2.1.5":
"integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="
"resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
@@ -81,6 +123,36 @@
"@nodelib/fs.scandir" "2.1.5"
"fastq" "^1.6.0"
"@phongthien/vue3-query-builder@^0.1.7":
"integrity" "sha512-kLaZO90sh/uHCzd5bnvtZkkirBhgkybFdvCulmte4Cm7Rq6X979KIZHGDbIJxwJdHkKXBH86htzAmWiAfijxOA=="
"resolved" "https://registry.npmjs.org/@phongthien/vue3-query-builder/-/vue3-query-builder-0.1.7.tgz"
"version" "0.1.7"
dependencies:
"@ant-design/icons-vue" "^6.1.0"
"ant-design-vue" "^3.2.12"
"mitt" "^3.0.0"
"sortablejs" "^1.14.0"
"unplugin-vue-components" "^0.22.7"
"vue" "^3.2.25"
"vuedraggable" "^4.0.1"
"@rollup/pluginutils@^5.0.2":
"integrity" "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA=="
"resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz"
"version" "5.0.2"
dependencies:
"@types/estree" "^1.0.0"
"estree-walker" "^2.0.2"
"picomatch" "^2.3.1"
"@simonwep/pickr@~1.8.0":
"integrity" "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA=="
"resolved" "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.2.tgz"
"version" "1.8.2"
dependencies:
"core-js" "^3.15.1"
"nanopop" "^2.1.0"
"@suadelabs/vue3-multiselect@^1.0.2":
"integrity" "sha512-bRe5SOAkY/egKC4yMQ1lXg3BTlnulA+0CXbl9yM0X7oMh8oavJUlSgb7WV7EXyOzIH2Ot0k28hdF3/K6D/YEFA=="
"resolved" "https://registry.npmjs.org/@suadelabs/vue3-multiselect/-/vue3-multiselect-1.0.2.tgz"
@@ -93,6 +165,11 @@
dependencies:
"mini-svg-data-uri" "^1.2.3"
"@types/estree@^1.0.0":
"integrity" "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ=="
"resolved" "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz"
"version" "1.0.0"
"@vitejs/plugin-vue@^4.0.0":
"integrity" "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA=="
"resolved" "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz"
@@ -207,6 +284,34 @@
"resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
"version" "7.4.1"
"acorn@^8.8.1":
"integrity" "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
"resolved" "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz"
"version" "8.8.1"
"ant-design-vue@^3.2.12":
"integrity" "sha512-sJfE7LWimSdAPe4dzNyQBrmVMnOTNQTkG9oOyr+7W8qIYrX8sYWyC68Nn1uum4KBJUSZUa/BU6dohvTG0urBhA=="
"resolved" "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-3.2.15.tgz"
"version" "3.2.15"
dependencies:
"@ant-design/colors" "^6.0.0"
"@ant-design/icons-vue" "^6.1.0"
"@babel/runtime" "^7.10.5"
"@ctrl/tinycolor" "^3.4.0"
"@simonwep/pickr" "~1.8.0"
"array-tree-filter" "^2.1.0"
"async-validator" "^4.0.0"
"dayjs" "^1.10.5"
"dom-align" "^1.12.1"
"dom-scroll-into-view" "^2.0.0"
"lodash" "^4.17.21"
"lodash-es" "^4.17.15"
"resize-observer-polyfill" "^1.5.1"
"scroll-into-view-if-needed" "^2.2.25"
"shallow-equal" "^1.0.0"
"vue-types" "^3.0.0"
"warning" "^4.0.0"
"anymatch@~3.1.2":
"integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="
"resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
@@ -220,6 +325,16 @@
"resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
"version" "5.0.2"
"array-tree-filter@^2.1.0":
"integrity" "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
"resolved" "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz"
"version" "2.1.0"
"async-validator@^4.0.0":
"integrity" "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
"resolved" "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz"
"version" "4.2.5"
"asynckit@^0.4.0":
"integrity" "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
"resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
@@ -253,11 +368,23 @@
"form-data" "^4.0.0"
"proxy-from-env" "^1.1.0"
"balanced-match@^1.0.0":
"integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
"resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
"version" "1.0.2"
"binary-extensions@^2.0.0":
"integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
"resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
"version" "2.2.0"
"brace-expansion@^2.0.1":
"integrity" "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="
"resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
"version" "2.0.1"
dependencies:
"balanced-match" "^1.0.0"
"braces@^3.0.2", "braces@~3.0.2":
"integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
"resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
@@ -320,6 +447,16 @@
dependencies:
"delayed-stream" "~1.0.0"
"compute-scroll-into-view@^1.0.20":
"integrity" "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="
"resolved" "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz"
"version" "1.0.20"
"core-js@^3.15.1":
"integrity" "sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww=="
"resolved" "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz"
"version" "3.27.1"
"cssesc@^3.0.0":
"integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
"resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
@@ -330,6 +467,18 @@
"resolved" "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz"
"version" "2.6.21"
"dayjs@^1.10.5":
"integrity" "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
"resolved" "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz"
"version" "1.11.7"
"debug@^4.3.4":
"integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
"resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
"version" "4.3.4"
dependencies:
"ms" "2.1.2"
"deepmerge@^4.0.0":
"integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
"resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz"
@@ -364,6 +513,16 @@
"resolved" "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
"version" "1.1.3"
"dom-align@^1.12.1":
"integrity" "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
"resolved" "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz"
"version" "1.12.4"
"dom-scroll-into-view@^2.0.0":
"integrity" "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
"resolved" "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz"
"version" "2.0.1"
"electron-to-chromium@^1.4.251":
"integrity" "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
"resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz"
@@ -539,6 +698,16 @@
"resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
"version" "7.0.0"
"is-plain-object@3.0.1":
"integrity" "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g=="
"resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz"
"version" "3.0.1"
"js-tokens@^3.0.0 || ^4.0.0":
"integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
"resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
"version" "4.0.0"
"laravel-vite-plugin@^0.7.2":
"integrity" "sha512-N6hH/JFA98oW1I0OZ2Gx1HF3/QzkBpUIkxqfKqxENQNLWLFx4+CWB7cxP+i4sGXp9LQUlLbH5Lq/eZoXtLAq8w=="
"resolved" "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.7.3.tgz"
@@ -552,6 +721,16 @@
"resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz"
"version" "2.0.6"
"local-pkg@^0.4.2":
"integrity" "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg=="
"resolved" "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz"
"version" "0.4.2"
"lodash-es@^4.17.15":
"integrity" "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
"resolved" "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz"
"version" "4.17.21"
"lodash.clonedeep@^4.5.0":
"integrity" "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
"resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz"
@@ -562,11 +741,18 @@
"resolved" "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz"
"version" "4.5.0"
"lodash@^4.17.19":
"lodash@^4.17.19", "lodash@^4.17.21":
"integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
"version" "4.17.21"
"loose-envify@^1.0.0":
"integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="
"resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"
"version" "1.4.0"
dependencies:
"js-tokens" "^3.0.0 || ^4.0.0"
"magic-string@^0.25.7":
"integrity" "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ=="
"resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz"
@@ -574,6 +760,13 @@
dependencies:
"sourcemap-codec" "^1.4.8"
"magic-string@^0.27.0":
"integrity" "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA=="
"resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz"
"version" "0.27.0"
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.13"
"merge2@^1.3.0":
"integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
"resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
@@ -604,16 +797,38 @@
"resolved" "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz"
"version" "1.4.4"
"minimatch@^5.1.1":
"integrity" "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg=="
"resolved" "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz"
"version" "5.1.2"
dependencies:
"brace-expansion" "^2.0.1"
"minimist@^1.2.6":
"integrity" "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
"resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz"
"version" "1.2.7"
"mitt@^3.0.0":
"integrity" "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ=="
"resolved" "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz"
"version" "3.0.0"
"ms@2.1.2":
"integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
"resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
"version" "2.1.2"
"nanoid@^3.3.4":
"integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
"resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz"
"version" "3.3.4"
"nanopop@^2.1.0":
"integrity" "sha512-E9JaHcxh3ere8/BEZHAcnuD10RluTSPyTToBvoFWS9/7DcCx6gyKjbn7M7Bx7E1veCxCuY1iO6h4+gdAf1j73Q=="
"resolved" "https://registry.npmjs.org/nanopop/-/nanopop-2.2.0.tgz"
"version" "2.2.0"
"node-releases@^2.0.6":
"integrity" "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A=="
"resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz"
@@ -753,6 +968,16 @@
dependencies:
"picomatch" "^2.2.1"
"regenerator-runtime@^0.13.11":
"integrity" "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
"resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
"version" "0.13.11"
"resize-observer-polyfill@^1.5.1":
"integrity" "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
"resolved" "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
"version" "1.5.1"
"resolve@^1.1.7", "resolve@^1.22.1":
"integrity" "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw=="
"resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
@@ -767,7 +992,7 @@
"resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
"version" "1.0.4"
"rollup@^3.7.0":
"rollup@^1.20.0||^2.0.0||^3.0.0", "rollup@^3.7.0":
"integrity" "sha512-+UR6PnUslneJNiJfLSzy4XH6R50ZGF0MS7UCv20ftXrktF/TkvZDwiBtXX65esblLR5p8w6LmXgPwt2f2B8SoQ=="
"resolved" "https://registry.npmjs.org/rollup/-/rollup-3.8.0.tgz"
"version" "3.8.0"
@@ -790,6 +1015,18 @@
"immutable" "^4.0.0"
"source-map-js" ">=0.6.2 <2.0.0"
"scroll-into-view-if-needed@^2.2.25":
"integrity" "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA=="
"resolved" "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz"
"version" "2.2.31"
dependencies:
"compute-scroll-into-view" "^1.0.20"
"shallow-equal@^1.0.0":
"integrity" "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
"resolved" "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz"
"version" "1.2.1"
"side-channel@^1.0.4":
"integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw=="
"resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz"
@@ -799,6 +1036,16 @@
"get-intrinsic" "^1.0.2"
"object-inspect" "^1.9.0"
"sortablejs@^1.14.0":
"integrity" "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
"resolved" "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz"
"version" "1.15.0"
"sortablejs@1.14.0":
"integrity" "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
"resolved" "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz"
"version" "1.14.0"
"source-map-js@^1.0.2", "source-map-js@>=0.6.2 <2.0.0":
"integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
"resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
@@ -855,6 +1102,32 @@
dependencies:
"is-number" "^7.0.0"
"unplugin-vue-components@^0.22.7":
"integrity" "sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA=="
"resolved" "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.22.12.tgz"
"version" "0.22.12"
dependencies:
"@antfu/utils" "^0.7.2"
"@rollup/pluginutils" "^5.0.2"
"chokidar" "^3.5.3"
"debug" "^4.3.4"
"fast-glob" "^3.2.12"
"local-pkg" "^0.4.2"
"magic-string" "^0.27.0"
"minimatch" "^5.1.1"
"resolve" "^1.22.1"
"unplugin" "^1.0.1"
"unplugin@^1.0.1":
"integrity" "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA=="
"resolved" "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"acorn" "^8.8.1"
"chokidar" "^3.5.3"
"webpack-sources" "^3.2.3"
"webpack-virtual-modules" "^0.5.0"
"update-browserslist-db@^1.0.9":
"integrity" "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ=="
"resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz"
@@ -888,7 +1161,14 @@
optionalDependencies:
"fsevents" "~2.3.2"
"vue@^3.0.0", "vue@^3.2.25", "vue@^3.2.41", "vue@>= 3.0.0 < 4", "vue@3.2.45":
"vue-types@^3.0.0":
"integrity" "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw=="
"resolved" "https://registry.npmjs.org/vue-types/-/vue-types-3.0.2.tgz"
"version" "3.0.2"
dependencies:
"is-plain-object" "3.0.1"
"vue@^3.0.0", "vue@^3.0.1", "vue@^3.2.25", "vue@^3.2.41", "vue@>= 3.0.0 < 4", "vue@>=3.0.3", "vue@>=3.2.0", "vue@2 || 3", "vue@3.2.45":
"integrity" "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA=="
"resolved" "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz"
"version" "3.2.45"
@@ -899,6 +1179,30 @@
"@vue/server-renderer" "3.2.45"
"@vue/shared" "3.2.45"
"vuedraggable@^4.0.1":
"integrity" "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww=="
"resolved" "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz"
"version" "4.1.0"
dependencies:
"sortablejs" "1.14.0"
"warning@^4.0.0":
"integrity" "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w=="
"resolved" "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz"
"version" "4.0.3"
dependencies:
"loose-envify" "^1.0.0"
"webpack-sources@^3.2.3":
"integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
"resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
"version" "3.2.3"
"webpack-virtual-modules@^0.5.0":
"integrity" "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
"resolved" "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
"version" "0.5.0"
"xtend@^4.0.2":
"integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
"resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"