Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/contacts.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Kirschenheuter <6078378+JuliaKirschenheuter@users.noreply.github.com>2022-11-09 09:49:53 +0300
committerGitHub <noreply@github.com>2022-11-09 09:49:53 +0300
commit1c1a1375db7abd755452a80aafedae06bdf4d173 (patch)
tree52c20b5e233d8331a6f298d3f5a321a15209436c
parent9b10c2831e83de8d57af968533c40a208b8a39a4 (diff)
parent85ffd7158bc76c6a1b32273393af0e2cb0a9ca48 (diff)
Merge pull request #2885 from nextcloud/dependabot/npm_and_yarn/nextcloud/eslint-config-8.1.2
Bump @nextcloud/eslint-config from 6.1.2 to 8.1.2
-rw-r--r--.eslintrc.js4
-rw-r--r--package-lock.json1353
-rw-r--r--package.json2
-rw-r--r--src/admin-settings.js2
-rw-r--r--src/components/Actions/ActionCopyNtoFN.vue6
-rw-r--r--src/components/Actions/ActionToggleYear.vue4
-rw-r--r--src/components/AdminSettings.vue3
-rw-r--r--src/components/AppContent/ChartContent.vue4
-rw-r--r--src/components/AppContent/CircleContent.vue25
-rw-r--r--src/components/AppContent/ContactsContent.vue27
-rw-r--r--src/components/AppNavigation/CircleNavigationItem.vue51
-rw-r--r--src/components/AppNavigation/ContactsSettings.vue10
-rw-r--r--src/components/AppNavigation/GroupNavigationItem.vue38
-rw-r--r--src/components/AppNavigation/RootNavigation.vue82
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbook.vue34
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookShare.vue9
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue13
-rw-r--r--src/components/AppNavigation/Settings/SettingsImportContacts.vue23
-rw-r--r--src/components/AppNavigation/Settings/SettingsNewAddressbook.vue2
-rw-r--r--src/components/AppNavigation/Settings/SettingsSortContacts.vue7
-rw-r--r--src/components/ChartTemplate.vue5
-rw-r--r--src/components/CircleDetails.vue35
-rw-r--r--src/components/CircleDetails/CircleConfigs.vue4
-rw-r--r--src/components/CircleDetails/CirclePasswordSettings.vue15
-rw-r--r--src/components/ContactDetails.vue56
-rw-r--r--src/components/ContactDetails/ContactDetailsAddNewProp.vue10
-rw-r--r--src/components/ContactDetails/ContactDetailsAvatar.vue41
-rw-r--r--src/components/ContactDetails/ContactDetailsProperty.vue14
-rw-r--r--src/components/ContactsList.vue4
-rw-r--r--src/components/ContactsList/ContactsListItem.vue5
-rw-r--r--src/components/DetailsHeader.vue2
-rw-r--r--src/components/EntityPicker/ContactsPicker.vue8
-rw-r--r--src/components/EntityPicker/EntityBubble.vue5
-rw-r--r--src/components/EntityPicker/EntityPicker.vue30
-rw-r--r--src/components/EntityPicker/EntitySearchResult.vue5
-rw-r--r--src/components/EntityPicker/NewCircleIntro.vue22
-rw-r--r--src/components/MemberList.vue36
-rw-r--r--src/components/MembersList/MembersListItem.vue31
-rw-r--r--src/components/OrgChart.vue7
-rw-r--r--src/components/ProcessingScreen.vue4
-rw-r--r--src/components/Properties/PropertyActions.vue6
-rw-r--r--src/components/Properties/PropertyDateTime.vue16
-rw-r--r--src/components/Properties/PropertyGroups.vue9
-rw-r--r--src/components/Properties/PropertyMultipleText.vue8
-rw-r--r--src/components/Properties/PropertySelect.vue11
-rw-r--r--src/components/Properties/PropertyText.vue11
-rw-r--r--src/components/Properties/PropertyTitle.vue2
-rw-r--r--src/components/Properties/PropertyTitleIcon.vue32
-rw-r--r--src/main.js10
-rw-r--r--src/mixins/CircleActionsMixin.js2
-rw-r--r--src/mixins/OrgChartsMixin.js2
-rw-r--r--src/mixins/PropertyMixin.js4
-rw-r--r--src/models/contact.js4
-rw-r--r--src/models/member.ts6
-rw-r--r--src/models/rfcProps.js8
-rw-r--r--src/router/index.js2
-rw-r--r--src/services/checks/badGenderType.js2
-rw-r--r--src/services/checks/index.js8
-rw-r--r--src/services/parseVcf.js4
-rw-r--r--src/services/validate.js4
-rw-r--r--src/store/addressbooks.js6
-rw-r--r--src/store/circles.js4
-rw-r--r--src/store/contacts.js4
-rw-r--r--src/store/index.js12
-rw-r--r--src/utils/fileUtils.js2
-rw-r--r--src/utils/url.js2
-rw-r--r--src/views/Contacts.vue33
-rw-r--r--src/views/Processing/AddToGroupView.vue4
-rw-r--r--src/views/Processing/ImportView.vue4
69 files changed, 1314 insertions, 946 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 29134f1d..e9481cf8 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -18,4 +18,8 @@ module.exports = {
},
},
},
+
+ rules: {
+ 'vue/no-reserved-component-names': 'off', // @nextcloud/vue has Button, Content components restricted by rule
+ },
}
diff --git a/package-lock.json b/package-lock.json
index 923cf749..801c1702 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -52,7 +52,7 @@
"@babel/preset-env": "^7.20.2",
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
- "@nextcloud/eslint-config": "^6.1.2",
+ "@nextcloud/eslint-config": "^8.1.2",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/typings": "^1.5.0",
"@nextcloud/webpack-vue-config": "~5.1.0",
@@ -1764,41 +1764,51 @@
}
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz",
- "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==",
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.0.tgz",
+ "integrity": "sha512-u0XZyvUF6Urb2cSivSXA8qXIpT/CxkHcdtZKoWusAzgzmsTWpg0F2FpWXsolHmMUyVY3dLWaoy+0ccJ5uf2QjA==",
"dev": true,
"peer": true,
"dependencies": {
- "comment-parser": "1.3.0",
+ "comment-parser": "1.3.1",
"esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "~2.2.3"
+ "jsdoc-type-pratt-parser": "~3.1.0"
},
"engines": {
- "node": "^12 || ^14 || ^16 || ^17"
+ "node": "^14 || ^16 || ^17 || ^18 || ^19"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
+ "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
"dev": true,
"peer": true,
"dependencies": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/@eslint/eslintrc/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1833,14 +1843,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
"peer": true,
- "engines": {
- "node": ">= 4"
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
"node_modules/@eslint/eslintrc/node_modules/ms": {
@@ -1864,15 +1877,15 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.11.7",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz",
+ "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==",
"dev": true,
"peer": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
+ "@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
@@ -1903,6 +1916,20 @@
"dev": true,
"peer": true
},
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -2781,25 +2808,25 @@
}
},
"node_modules/@nextcloud/eslint-config": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-6.1.2.tgz",
- "integrity": "sha512-KEErxReF89vuOVRvOWtky/j1UtOjBGgtDK+LjdehGah66P9se0WACtbIC+3DLZ9IIrtOP45X05LashELnXs7dg==",
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.1.2.tgz",
+ "integrity": "sha512-uyYBSGQrbq7VZaqv0A4RBH5c80go07Xaebc00RxPhpG7IHkry92gTYlY8YarnlEFWaeAnXGPh3OhfXGDC40EyQ==",
"dev": true,
"engines": {
- "node": "^14.0.0",
- "npm": "^7.0.0"
+ "node": "^16.0.0",
+ "npm": "^7.0.0 || ^8.0.0"
},
"peerDependencies": {
"@babel/core": "^7.13.10",
- "@babel/eslint-parser": "^7.13.10",
+ "@babel/eslint-parser": "^7.16.5",
"@nextcloud/eslint-plugin": "^2.0.0",
- "eslint": "^7.13.0",
- "eslint-config-standard": "^16.0.1",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-jsdoc": "^37.0.3",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^5.1.0",
- "eslint-plugin-vue": "^7.15.0",
+ "eslint": "^8.6.0",
+ "eslint-config-standard": "^17.0.0-0",
+ "eslint-plugin-import": "^2.25.4",
+ "eslint-plugin-jsdoc": "^39.2.1",
+ "eslint-plugin-n": "^15.2.3",
+ "eslint-plugin-promise": "^6.0.0",
+ "eslint-plugin-vue": "^9.1.1",
"webpack": "^5.4.0"
}
},
@@ -3103,11 +3130,12 @@
}
},
"node_modules/@nodelib/fs.scandir": {
- "version": "2.1.4",
- "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": {
@@ -3115,19 +3143,21 @@
}
},
"node_modules/@nodelib/fs.stat": {
- "version": "2.0.4",
- "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",
- "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.4",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
},
"engines": {
@@ -4188,16 +4218,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -4763,6 +4783,13 @@
"multicast-dns": "^7.2.5"
}
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
@@ -4991,6 +5018,32 @@
"dev": true,
"peer": true
},
+ "node_modules/builtins": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "semver": "^7.0.0"
+ }
+ },
+ "node_modules/builtins/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -5255,9 +5308,9 @@
"peer": true
},
"node_modules/comment-parser": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
- "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz",
+ "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
"dev": true,
"peer": true,
"engines": {
@@ -6628,19 +6681,6 @@
"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==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
"node_modules/entities": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
@@ -6868,67 +6908,66 @@
}
},
"node_modules/eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "version": "8.26.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz",
+ "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==",
"dev": true,
"peer": true,
"dependencies": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
+ "@eslint/eslintrc": "^1.3.3",
+ "@humanwhocodes/config-array": "^0.11.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.4.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.15.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
+ "text-table": "^0.2.0"
},
"bin": {
"eslint": "bin/eslint.js"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://opencollective.com/eslint"
}
},
"node_modules/eslint-config-standard": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz",
- "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==",
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz",
+ "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==",
"dev": true,
"funding": [
{
@@ -6946,10 +6985,10 @@
],
"peer": true,
"peerDependencies": {
- "eslint": "^7.12.1",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1 || ^5.0.0"
+ "eslint": "^8.0.1",
+ "eslint-plugin-import": "^2.25.2",
+ "eslint-plugin-n": "^15.0.0",
+ "eslint-plugin-promise": "^6.0.0"
}
},
"node_modules/eslint-import-resolver-node": {
@@ -7095,9 +7134,9 @@
"peer": true
},
"node_modules/eslint-plugin-es": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
- "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
+ "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
"dev": true,
"peer": true,
"dependencies": {
@@ -7114,6 +7153,32 @@
"eslint": ">=4.19.1"
}
},
+ "node_modules/eslint-plugin-es/node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/eslint-plugin-es/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/eslint-plugin-import": {
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
@@ -7156,23 +7221,22 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
- "version": "37.9.7",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz",
- "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==",
+ "version": "39.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.2.tgz",
+ "integrity": "sha512-dvgY/W7eUFoAIIiaWHERIMI61ZWqcz9YFjEeyTzdPlrZc3TY/3aZm5aB91NUoTLWYZmO/vFlYSuQi15tF7uE5A==",
"dev": true,
"peer": true,
"dependencies": {
- "@es-joy/jsdoccomment": "~0.20.1",
- "comment-parser": "1.3.0",
- "debug": "^4.3.3",
+ "@es-joy/jsdoccomment": "~0.36.0",
+ "comment-parser": "1.3.1",
+ "debug": "^4.3.4",
"escape-string-regexp": "^4.0.0",
"esquery": "^1.4.0",
- "regextras": "^0.8.0",
- "semver": "^7.3.5",
+ "semver": "^7.3.8",
"spdx-expression-parse": "^3.0.1"
},
"engines": {
- "node": "^12 || ^14 || ^16 || ^17"
+ "node": "^14 || ^16 || ^17 || ^18 || ^19"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0"
@@ -7217,9 +7281,9 @@
"peer": true
},
"node_modules/eslint-plugin-jsdoc/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"peer": true,
"dependencies": {
@@ -7232,59 +7296,109 @@
"node": ">=10"
}
},
- "node_modules/eslint-plugin-node": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
- "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "node_modules/eslint-plugin-n": {
+ "version": "15.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.4.0.tgz",
+ "integrity": "sha512-MkoKy9/lfd52TAXK4fkABgCp0aglk82Q3viy2UOWIEpTVE/Cem5P/UAxMBA4vSw7Gy+2egPqImE9euitLGp5aw==",
"dev": true,
"peer": true,
"dependencies": {
- "eslint-plugin-es": "^3.0.0",
- "eslint-utils": "^2.0.0",
+ "builtins": "^5.0.1",
+ "eslint-plugin-es": "^4.1.0",
+ "eslint-utils": "^3.0.0",
"ignore": "^5.1.1",
- "minimatch": "^3.0.4",
- "resolve": "^1.10.1",
- "semver": "^6.1.0"
+ "is-core-module": "^2.10.0",
+ "minimatch": "^3.1.2",
+ "resolve": "^1.22.1",
+ "semver": "^7.3.7"
},
"engines": {
- "node": ">=8.10.0"
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
},
"peerDependencies": {
- "eslint": ">=5.16.0"
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-n/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/eslint-plugin-promise": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz",
- "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
+ "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
"dev": true,
"peer": true,
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"peerDependencies": {
- "eslint": "^7.0.0"
+ "eslint": "^7.0.0 || ^8.0.0"
}
},
"node_modules/eslint-plugin-vue": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
- "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
+ "version": "9.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.7.0.tgz",
+ "integrity": "sha512-DrOO3WZCZEwcLsnd3ohFwqCoipGRSTKTBTnLwdhqAbYZtzWl0o7D+D8ZhlmiZvABKTEl8AFsqH1GHGdybyoQmw==",
"dev": true,
"peer": true,
"dependencies": {
- "eslint-utils": "^2.1.0",
+ "eslint-utils": "^3.0.0",
"natural-compare": "^1.4.0",
- "semver": "^6.3.0",
- "vue-eslint-parser": "^7.10.0"
+ "nth-check": "^2.0.1",
+ "postcss-selector-parser": "^6.0.9",
+ "semver": "^7.3.5",
+ "vue-eslint-parser": "^9.0.1",
+ "xml-name-validator": "^4.0.0"
},
"engines": {
- "node": ">=8.10"
+ "node": "^14.17.0 || >=16.0.0"
},
"peerDependencies": {
"eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/eslint-plugin-vue/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -7300,29 +7414,22 @@
}
},
"node_modules/eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
"dev": true,
"peer": true,
"dependencies": {
- "eslint-visitor-keys": "^1.1.0"
+ "eslint-visitor-keys": "^2.0.0"
},
"engines": {
- "node": ">=6"
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
}
},
"node_modules/eslint-visitor-keys": {
@@ -7335,16 +7442,6 @@
"node": ">=10"
}
},
- "node_modules/eslint/node_modules/@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
- "dev": true,
- "peer": true,
- "dependencies": {
- "@babel/highlight": "^7.10.4"
- }
- },
"node_modules/eslint/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -7361,6 +7458,13 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/eslint/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -7429,6 +7533,70 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/eslint/node_modules/globals": {
"version": "13.17.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
@@ -7455,14 +7623,33 @@
"node": ">=8"
}
},
- "node_modules/eslint/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
"peer": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
"engines": {
- "node": ">= 4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint/node_modules/ms": {
@@ -7472,20 +7659,36 @@
"dev": true,
"peer": true
},
- "node_modules/eslint/node_modules/semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "node_modules/eslint/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"peer": true,
"dependencies": {
- "lru-cache": "^6.0.0"
+ "yocto-queue": "^0.1.0"
},
- "bin": {
- "semver": "bin/semver.js"
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
},
"engines": {
"node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint/node_modules/supports-color": {
@@ -7501,29 +7704,58 @@
"node": ">=8"
}
},
+ "node_modules/eslint/node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
"dev": true,
"peer": true,
"dependencies": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/acorn": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "dev": true,
+ "peer": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
}
},
"node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true,
"peer": true,
"engines": {
- "node": ">=4"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/esprima": {
@@ -8046,13 +8278,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true,
- "peer": true
- },
"node_modules/functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -8274,6 +8499,13 @@
"integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"dev": true
},
+ "node_modules/grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/hammerjs": {
"version": "2.0.8",
"integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=",
@@ -9127,6 +9359,16 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-plain-obj": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
@@ -11146,6 +11388,13 @@
"url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
+ "node_modules/js-sdsl": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
+ "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
@@ -11164,9 +11413,9 @@
}
},
"node_modules/jsdoc-type-pratt-parser": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
- "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz",
+ "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==",
"dev": true,
"peer": true,
"engines": {
@@ -11972,6 +12221,19 @@
"node": ">=8"
}
},
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
"node_modules/nwsapi": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
@@ -12616,16 +12878,6 @@
"dev": true,
"peer": true
},
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/prompts": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -12748,6 +13000,7 @@
},
"node_modules/queue-microtask": {
"version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true,
"funding": [
@@ -13048,16 +13301,6 @@
"node": ">=4"
}
},
- "node_modules/regextras": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
- "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=0.1.14"
- }
- },
"node_modules/regjsgen": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
@@ -13227,6 +13470,7 @@
},
"node_modules/run-parallel": {
"version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
"funding": [
@@ -15350,28 +15594,28 @@
}
},
"node_modules/vue-eslint-parser": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz",
- "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz",
+ "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==",
"dev": true,
"peer": true,
"dependencies": {
- "debug": "^4.1.1",
- "eslint-scope": "^5.1.1",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.2.1",
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
- "semver": "^6.3.0"
+ "semver": "^7.3.6"
},
"engines": {
- "node": ">=8.10"
+ "node": "^14.17.0 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/mysticatea"
},
"peerDependencies": {
- "eslint": ">=5.0.0"
+ "eslint": ">=6.0.0"
}
},
"node_modules/vue-eslint-parser/node_modules/debug": {
@@ -15392,29 +15636,38 @@
}
}
},
+ "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true,
"peer": true,
"engines": {
- "node": ">=4"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
- "node_modules/vue-eslint-parser/node_modules/espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "node_modules/vue-eslint-parser/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
"peer": true,
- "dependencies": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- },
"engines": {
- "node": ">=6.0.0"
+ "node": ">=4.0"
}
},
"node_modules/vue-eslint-parser/node_modules/ms": {
@@ -15424,6 +15677,22 @@
"dev": true,
"peer": true
},
+ "node_modules/vue-eslint-parser/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/vue-hot-reload-api": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
@@ -17518,35 +17787,42 @@
"peer": true
},
"@es-joy/jsdoccomment": {
- "version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz",
- "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==",
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.0.tgz",
+ "integrity": "sha512-u0XZyvUF6Urb2cSivSXA8qXIpT/CxkHcdtZKoWusAzgzmsTWpg0F2FpWXsolHmMUyVY3dLWaoy+0ccJ5uf2QjA==",
"dev": true,
"peer": true,
"requires": {
- "comment-parser": "1.3.0",
+ "comment-parser": "1.3.1",
"esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "~2.2.3"
+ "jsdoc-type-pratt-parser": "~3.1.0"
}
},
"@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
+ "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
"dev": true,
"peer": true,
"requires": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -17567,12 +17843,15 @@
"type-fest": "^0.20.2"
}
},
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "peer": true
+ "peer": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
},
"ms": {
"version": "2.1.2",
@@ -17597,15 +17876,15 @@
}
},
"@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.11.7",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz",
+ "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==",
"dev": true,
"peer": true,
"requires": {
- "@humanwhocodes/object-schema": "^1.2.0",
+ "@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "minimatch": "^3.0.5"
},
"dependencies": {
"debug": {
@@ -17627,6 +17906,13 @@
}
}
},
+ "@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "peer": true
+ },
"@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -18302,9 +18588,9 @@
}
},
"@nextcloud/eslint-config": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-6.1.2.tgz",
- "integrity": "sha512-KEErxReF89vuOVRvOWtky/j1UtOjBGgtDK+LjdehGah66P9se0WACtbIC+3DLZ9IIrtOP45X05LashELnXs7dg==",
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.1.2.tgz",
+ "integrity": "sha512-uyYBSGQrbq7VZaqv0A4RBH5c80go07Xaebc00RxPhpG7IHkry92gTYlY8YarnlEFWaeAnXGPh3OhfXGDC40EyQ==",
"dev": true,
"requires": {}
},
@@ -18533,25 +18819,28 @@
}
},
"@nodelib/fs.scandir": {
- "version": "2.1.4",
- "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",
- "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",
- "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"requires": {
- "@nodelib/fs.scandir": "2.1.4",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
}
},
@@ -19450,13 +19739,6 @@
"peer": true,
"requires": {}
},
- "ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "peer": true
- },
"ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -19890,6 +20172,13 @@
"multicast-dns": "^7.2.5"
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true,
+ "peer": true
+ },
"brace-expansion": {
"version": "1.1.11",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
@@ -20070,6 +20359,28 @@
"dev": true,
"peer": true
},
+ "builtins": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "semver": "^7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -20269,9 +20580,9 @@
"peer": true
},
"comment-parser": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
- "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz",
+ "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==",
"dev": true,
"peer": true
},
@@ -21320,16 +21631,6 @@
"tapable": "^2.2.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,
- "peer": true,
- "requires": {
- "ansi-colors": "^4.1.1"
- }
- },
"entities": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
@@ -21502,64 +21803,53 @@
}
},
"eslint": {
- "version": "7.32.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz",
- "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==",
+ "version": "8.26.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.26.0.tgz",
+ "integrity": "sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==",
"dev": true,
"peer": true,
"requires": {
- "@babel/code-frame": "7.12.11",
- "@eslint/eslintrc": "^0.4.3",
- "@humanwhocodes/config-array": "^0.5.0",
+ "@eslint/eslintrc": "^1.3.3",
+ "@humanwhocodes/config-array": "^0.11.6",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
"ajv": "^6.10.0",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
- "debug": "^4.0.1",
+ "debug": "^4.3.2",
"doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^5.1.1",
- "eslint-utils": "^2.1.0",
- "eslint-visitor-keys": "^2.0.0",
- "espree": "^7.3.1",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.4.0",
"esquery": "^1.4.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
"file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^5.1.2",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.15.0",
+ "grapheme-splitter": "^1.0.4",
+ "ignore": "^5.2.0",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
- "js-yaml": "^3.13.1",
+ "is-path-inside": "^3.0.3",
+ "js-sdsl": "^4.1.4",
+ "js-yaml": "^4.1.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.4.1",
"lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
"optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.1.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.0",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
"strip-json-comments": "^3.1.0",
- "table": "^6.0.9",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
+ "text-table": "^0.2.0"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
- "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
- "dev": true,
- "peer": true,
- "requires": {
- "@babel/highlight": "^7.10.4"
- }
- },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -21570,6 +21860,13 @@
"color-convert": "^2.0.1"
}
},
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -21615,6 +21912,52 @@
"dev": true,
"peer": true
},
+ "eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "peer": true
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "peer": true
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
"globals": {
"version": "13.17.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
@@ -21632,12 +21975,25 @@
"dev": true,
"peer": true
},
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
- "peer": true
+ "peer": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
},
"ms": {
"version": "2.1.2",
@@ -21646,14 +22002,24 @@
"dev": true,
"peer": true
},
- "semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
"peer": true,
"requires": {
- "lru-cache": "^6.0.0"
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "p-limit": "^3.0.2"
}
},
"supports-color": {
@@ -21665,13 +22031,20 @@
"requires": {
"has-flag": "^4.0.0"
}
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "peer": true
}
}
},
"eslint-config-standard": {
- "version": "16.0.3",
- "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz",
- "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==",
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz",
+ "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==",
"dev": true,
"peer": true,
"requires": {}
@@ -21787,14 +22160,33 @@
}
},
"eslint-plugin-es": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
- "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz",
+ "integrity": "sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==",
"dev": true,
"peer": true,
"requires": {
"eslint-utils": "^2.0.0",
"regexpp": "^3.0.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "peer": true
+ }
}
},
"eslint-plugin-import": {
@@ -21832,19 +22224,18 @@
}
},
"eslint-plugin-jsdoc": {
- "version": "37.9.7",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.9.7.tgz",
- "integrity": "sha512-8alON8yYcStY94o0HycU2zkLKQdcS+qhhOUNQpfONHHwvI99afbmfpYuPqf6PbLz5pLZldG3Te5I0RbAiTN42g==",
+ "version": "39.6.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.2.tgz",
+ "integrity": "sha512-dvgY/W7eUFoAIIiaWHERIMI61ZWqcz9YFjEeyTzdPlrZc3TY/3aZm5aB91NUoTLWYZmO/vFlYSuQi15tF7uE5A==",
"dev": true,
"peer": true,
"requires": {
- "@es-joy/jsdoccomment": "~0.20.1",
- "comment-parser": "1.3.0",
- "debug": "^4.3.3",
+ "@es-joy/jsdoccomment": "~0.36.0",
+ "comment-parser": "1.3.1",
+ "debug": "^4.3.4",
"escape-string-regexp": "^4.0.0",
"esquery": "^1.4.0",
- "regextras": "^0.8.0",
- "semver": "^7.3.5",
+ "semver": "^7.3.8",
"spdx-expression-parse": "^3.0.1"
},
"dependencies": {
@@ -21873,9 +22264,9 @@
"peer": true
},
"semver": {
- "version": "7.3.7",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
- "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
"peer": true,
"requires": {
@@ -21884,40 +22275,76 @@
}
}
},
- "eslint-plugin-node": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
- "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "eslint-plugin-n": {
+ "version": "15.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-15.4.0.tgz",
+ "integrity": "sha512-MkoKy9/lfd52TAXK4fkABgCp0aglk82Q3viy2UOWIEpTVE/Cem5P/UAxMBA4vSw7Gy+2egPqImE9euitLGp5aw==",
"dev": true,
"peer": true,
"requires": {
- "eslint-plugin-es": "^3.0.0",
- "eslint-utils": "^2.0.0",
+ "builtins": "^5.0.1",
+ "eslint-plugin-es": "^4.1.0",
+ "eslint-utils": "^3.0.0",
"ignore": "^5.1.1",
- "minimatch": "^3.0.4",
- "resolve": "^1.10.1",
- "semver": "^6.1.0"
+ "is-core-module": "^2.10.0",
+ "minimatch": "^3.1.2",
+ "resolve": "^1.22.1",
+ "semver": "^7.3.7"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
}
},
"eslint-plugin-promise": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz",
- "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz",
+ "integrity": "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==",
"dev": true,
"peer": true,
"requires": {}
},
"eslint-plugin-vue": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
- "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
+ "version": "9.7.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.7.0.tgz",
+ "integrity": "sha512-DrOO3WZCZEwcLsnd3ohFwqCoipGRSTKTBTnLwdhqAbYZtzWl0o7D+D8ZhlmiZvABKTEl8AFsqH1GHGdybyoQmw==",
"dev": true,
"peer": true,
"requires": {
- "eslint-utils": "^2.1.0",
+ "eslint-utils": "^3.0.0",
"natural-compare": "^1.4.0",
- "semver": "^6.3.0",
- "vue-eslint-parser": "^7.10.0"
+ "nth-check": "^2.0.1",
+ "postcss-selector-parser": "^6.0.9",
+ "semver": "^7.3.5",
+ "vue-eslint-parser": "^9.0.1",
+ "xml-name-validator": "^4.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "peer": true
+ }
}
},
"eslint-scope": {
@@ -21932,22 +22359,13 @@
}
},
"eslint-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
"dev": true,
"peer": true,
"requires": {
- "eslint-visitor-keys": "^1.1.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
- "dev": true,
- "peer": true
- }
+ "eslint-visitor-keys": "^2.0.0"
}
},
"eslint-visitor-keys": {
@@ -21958,21 +22376,28 @@
"peer": true
},
"espree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
- "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
"dev": true,
"peer": true,
"requires": {
- "acorn": "^7.4.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^1.3.0"
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
},
"dependencies": {
+ "acorn": {
+ "version": "8.8.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
+ "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
+ "dev": true,
+ "peer": true
+ },
"eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true,
"peer": true
}
@@ -22382,13 +22807,6 @@
"functions-have-names": "^1.2.2"
}
},
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true,
- "peer": true
- },
"functions-have-names": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
@@ -22555,6 +22973,13 @@
"integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==",
"dev": true
},
+ "grapheme-splitter": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+ "dev": true,
+ "peer": true
+ },
"hammerjs": {
"version": "2.0.8",
"integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
@@ -23168,6 +23593,13 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "peer": true
+ },
"is-plain-obj": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
@@ -24669,6 +25101,13 @@
}
}
},
+ "js-sdsl": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz",
+ "integrity": "sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==",
+ "dev": true,
+ "peer": true
+ },
"js-tokens": {
"version": "4.0.0",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
@@ -24684,9 +25123,9 @@
}
},
"jsdoc-type-pratt-parser": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
- "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz",
+ "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==",
"dev": true,
"peer": true
},
@@ -25316,6 +25755,16 @@
"path-key": "^3.0.0"
}
},
+ "nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "boolbase": "^1.0.0"
+ }
+ },
"nwsapi": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
@@ -25789,13 +26238,6 @@
"dev": true,
"peer": true
},
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "peer": true
- },
"prompts": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
@@ -25897,6 +26339,7 @@
},
"queue-microtask": {
"version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true
},
@@ -26129,13 +26572,6 @@
"unicode-match-property-value-ecmascript": "^2.0.0"
}
},
- "regextras": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
- "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
- "dev": true,
- "peer": true
- },
"regjsgen": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz",
@@ -26263,6 +26699,7 @@
},
"run-parallel": {
"version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
"dev": true,
"requires": {
@@ -27810,19 +28247,19 @@
"requires": {}
},
"vue-eslint-parser": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz",
- "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==",
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz",
+ "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==",
"dev": true,
"peer": true,
"requires": {
- "debug": "^4.1.1",
- "eslint-scope": "^5.1.1",
- "eslint-visitor-keys": "^1.1.0",
- "espree": "^6.2.1",
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
"esquery": "^1.4.0",
"lodash": "^4.17.21",
- "semver": "^6.3.0"
+ "semver": "^7.3.6"
},
"dependencies": {
"debug": {
@@ -27835,24 +28272,30 @@
"ms": "2.1.2"
}
},
+ "eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
"eslint-visitor-keys": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
"dev": true,
"peer": true
},
- "espree": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
- "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
- "peer": true,
- "requires": {
- "acorn": "^7.1.1",
- "acorn-jsx": "^5.2.0",
- "eslint-visitor-keys": "^1.1.0"
- }
+ "peer": true
},
"ms": {
"version": "2.1.2",
@@ -27860,6 +28303,16 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true,
"peer": true
+ },
+ "semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
}
}
},
diff --git a/package.json b/package.json
index 7bbf904f..ea07b94b 100644
--- a/package.json
+++ b/package.json
@@ -83,7 +83,7 @@
"@babel/preset-env": "^7.20.2",
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
- "@nextcloud/eslint-config": "^6.1.2",
+ "@nextcloud/eslint-config": "^8.1.2",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/typings": "^1.5.0",
"@nextcloud/webpack-vue-config": "~5.1.0",
diff --git a/src/admin-settings.js b/src/admin-settings.js
index 2a7ebf85..6fd86dec 100644
--- a/src/admin-settings.js
+++ b/src/admin-settings.js
@@ -21,7 +21,7 @@
*/
import Vue from 'vue'
-import AdminSettings from './components/AdminSettings'
+import AdminSettings from './components/AdminSettings.vue'
document.addEventListener('DOMContentLoaded', main)
diff --git a/src/components/Actions/ActionCopyNtoFN.vue b/src/components/Actions/ActionCopyNtoFN.vue
index 5e1157e8..aeeb3917 100644
--- a/src/components/Actions/ActionCopyNtoFN.vue
+++ b/src/components/Actions/ActionCopyNtoFN.vue
@@ -29,9 +29,9 @@
</ActionButton>
</template>
<script>
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionsMixin from '../../mixins/ActionsMixin'
-import IconCopy from 'vue-material-design-icons/ContentCopy'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionsMixin from '../../mixins/ActionsMixin.js'
+import IconCopy from 'vue-material-design-icons/ContentCopy.vue'
export default {
name: 'ActionCopyNtoFN',
diff --git a/src/components/Actions/ActionToggleYear.vue b/src/components/Actions/ActionToggleYear.vue
index eb169880..f74a2cf4 100644
--- a/src/components/Actions/ActionToggleYear.vue
+++ b/src/components/Actions/ActionToggleYear.vue
@@ -28,8 +28,8 @@
</ActionCheckbox>
</template>
<script>
-import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox'
-import ActionsMixin from '../../mixins/ActionsMixin'
+import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox.js'
+import ActionsMixin from '../../mixins/ActionsMixin.js'
export default {
name: 'ActionToggleYear',
diff --git a/src/components/AdminSettings.vue b/src/components/AdminSettings.vue
index 415048ce..32ad9a64 100644
--- a/src/components/AdminSettings.vue
+++ b/src/components/AdminSettings.vue
@@ -24,8 +24,7 @@
<div id="contacts" class="section">
<h2>{{ t('contacts', 'Contacts') }}</h2>
<p>
- <input
- id="allow-social-sync"
+ <input id="allow-social-sync"
v-model="allowSocialSync"
type="checkbox"
class="checkbox"
diff --git a/src/components/AppContent/ChartContent.vue b/src/components/AppContent/ChartContent.vue
index e9c3b82f..a4fe165e 100644
--- a/src/components/AppContent/ChartContent.vue
+++ b/src/components/AppContent/ChartContent.vue
@@ -5,10 +5,10 @@
</template>
<script>
-import AppContent from '@nextcloud/vue/dist/Components/NcAppContent'
+import AppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'
import OrgChart from '../OrgChart.vue'
-import { getChart, transformNode } from '../../utils/chartUtils'
+import { getChart, transformNode } from '../../utils/chartUtils.js'
export default {
name: 'ChartContent',
diff --git a/src/components/AppContent/CircleContent.vue b/src/components/AppContent/CircleContent.vue
index 90619e90..57c9e6cd 100644
--- a/src/components/AppContent/CircleContent.vue
+++ b/src/components/AppContent/CircleContent.vue
@@ -24,8 +24,7 @@
<AppContent v-if="!circle">
<EmptyContent :title="t('contacts', 'Please select a circle')">
<template #icon>
- <IconCircles
- :size="20" />
+ <IconCircles :size="20" />
</template>
</EmptyContent>
</AppContent>
@@ -41,8 +40,7 @@
<AppContent v-else :show-details.sync="showDetails">
<!-- member list -->
<template #list>
- <MemberList
- :list="members"
+ <MemberList :list="members"
:loading="loadingList"
:show-details.sync="showDetails" />
</template>
@@ -60,8 +58,7 @@
<EmptyContent v-else :title="t('contacts', 'You are not a member of {circle}', { circle: circle.displayName})">
<template #icon>
- <IconCircles
- :size="20" />
+ <IconCircles :size="20" />
</template>
</EmptyContent>
</template>
@@ -70,14 +67,14 @@
</template>
<script>
import { showError } from '@nextcloud/dialogs'
-import AppContent from '@nextcloud/vue/dist/Components/NcAppContent'
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import isMobile from '@nextcloud/vue/dist/Mixins/isMobile'
-import IconCircles from '../Icons/IconCircles'
-import CircleDetails from '../CircleDetails'
-import MemberList from '../MemberList'
-import RouterMixin from '../../mixins/RouterMixin'
+import AppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import isMobile from '@nextcloud/vue/dist/Mixins/isMobile.js'
+import IconCircles from '../Icons/IconCircles.vue'
+import CircleDetails from '../CircleDetails.vue'
+import MemberList from '../MemberList.vue'
+import RouterMixin from '../../mixins/RouterMixin.js'
export default {
name: 'CircleContent',
diff --git a/src/components/AppContent/ContactsContent.vue b/src/components/AppContent/ContactsContent.vue
index cf029546..60c3a5c1 100644
--- a/src/components/AppContent/ContactsContent.vue
+++ b/src/components/AppContent/ContactsContent.vue
@@ -32,8 +32,7 @@
<AppContent v-else-if="isEmptyGroup && !isRealGroup">
<EmptyContent :title="t('contacts', 'There are no contacts yet')">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template #desc>
<Button type="primary" @click="newContact">
@@ -46,8 +45,7 @@
<AppContent v-else-if="isEmptyGroup && isRealGroup">
<EmptyContent :title=" t('contacts', 'There are no contacts in this group')">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template #desc>
<Button v-if="contacts.length === 0" type="primary" @click="addContactsToGroup(selectedGroup)">
@@ -63,8 +61,7 @@
<AppContent v-else :show-details="showDetails" @update:showDetails="hideDetails">
<!-- contacts list -->
<template #list>
- <ContactsList
- :list="contactsList"
+ <ContactsList :list="contactsList"
:contacts="contacts"
:search-query="searchQuery" />
</template>
@@ -75,15 +72,15 @@
</template>
<script>
import { emit } from '@nextcloud/event-bus'
-import AppContent from '@nextcloud/vue/dist/Components/NcAppContent'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-
-import ContactDetails from '../ContactDetails'
-import ContactsList from '../ContactsList'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import RouterMixin from '../../mixins/RouterMixin'
+import AppContent from '@nextcloud/vue/dist/Components/NcAppContent.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+
+import ContactDetails from '../ContactDetails.vue'
+import ContactsList from '../ContactsList.vue'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import RouterMixin from '../../mixins/RouterMixin.js'
export default {
name: 'ContactsContent',
diff --git a/src/components/AppNavigation/CircleNavigationItem.vue b/src/components/AppNavigation/CircleNavigationItem.vue
index d276bad1..22be2dad 100644
--- a/src/components/AppNavigation/CircleNavigationItem.vue
+++ b/src/components/AppNavigation/CircleNavigationItem.vue
@@ -20,13 +20,11 @@
-
-->
<template>
- <AppNavigationItem
- :key="circle.key"
+ <AppNavigationItem :key="circle.key"
:title="circle.displayName"
:to="circle.router">
<template #icon>
- <IconCircles
- :size="20" />
+ <IconCircles :size="20" />
</template>
<template v-if="loadingAction" slot="actions">
<ActionText>
@@ -38,28 +36,24 @@
</template>
<template v-else slot="actions">
- <ActionButton
- v-if="circle.canManageMembers"
+ <ActionButton v-if="circle.canManageMembers"
:close-after-click="true"
@click="addMemberToCircle">
<template #icon>
- <IconAdd
- :size="20" />
+ <IconAdd :size="20" />
</template>
{{ t('contacts', 'Add member') }}
</ActionButton>
<!-- copy circle link -->
- <ActionLink
- :href="circleUrl"
+ <ActionLink :href="circleUrl"
:icon="copyLinkIcon"
@click.stop.prevent="copyToClipboard(circleUrl)">
{{ copyButtonText }}
</ActionLink>
<!-- leave circle -->
- <ActionButton
- v-if="circle.canLeave"
+ <ActionButton v-if="circle.canLeave"
@click="confirmLeaveCircle">
{{ t('contacts', 'Leave circle') }}
<ExitToApp slot="icon"
@@ -68,8 +62,7 @@
</ActionButton>
<!-- join circle -->
- <ActionButton
- v-else-if="!circle.isMember && circle.canJoin"
+ <ActionButton v-else-if="!circle.isMember && circle.canJoin"
:disabled="loadingJoin"
@click="joinCircle">
{{ joinButtonTitle }}
@@ -79,12 +72,10 @@
</ActionButton>
<!-- delete circle -->
- <ActionButton
- v-if="circle.canDelete"
+ <ActionButton v-if="circle.canDelete"
@click="confirmDeleteCircle">
<template #icon>
- <IconDelete
- :size="20" />
+ <IconDelete :size="20" />
</template>
{{ t('contacts', 'Delete circle') }}
</ActionButton>
@@ -99,19 +90,19 @@
</template>
<script>
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import ActionText from '@nextcloud/vue/dist/Components/NcActionText'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import ExitToApp from 'vue-material-design-icons/ExitToApp'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconDelete from 'vue-material-design-icons/Delete'
-import LocationEnter from 'vue-material-design-icons/LocationEnter'
-import IconCircles from '../Icons/IconCircles'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import ActionText from '@nextcloud/vue/dist/Components/NcActionText.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import ExitToApp from 'vue-material-design-icons/ExitToApp.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import LocationEnter from 'vue-material-design-icons/LocationEnter.vue'
+import IconCircles from '../Icons/IconCircles.vue'
import Circle from '../../models/circle.ts'
-import CircleActionsMixin from '../../mixins/CircleActionsMixin'
+import CircleActionsMixin from '../../mixins/CircleActionsMixin.js'
export default {
name: 'CircleNavigationItem',
diff --git a/src/components/AppNavigation/ContactsSettings.vue b/src/components/AppNavigation/ContactsSettings.vue
index a355bde3..9cb402f6 100644
--- a/src/components/AppNavigation/ContactsSettings.vue
+++ b/src/components/AppNavigation/ContactsSettings.vue
@@ -62,11 +62,11 @@
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
-import SettingsAddressbook from './Settings/SettingsAddressbook'
-import SettingsNewAddressbook from './Settings/SettingsNewAddressbook'
-import SettingsImportContacts from './Settings/SettingsImportContacts'
-import SettingsSortContacts from './Settings/SettingsSortContacts'
-import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch'
+import SettingsAddressbook from './Settings/SettingsAddressbook.vue'
+import SettingsNewAddressbook from './Settings/SettingsNewAddressbook.vue'
+import SettingsImportContacts from './Settings/SettingsImportContacts.vue'
+import SettingsSortContacts from './Settings/SettingsSortContacts.vue'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
import { CONTACTS_SETTINGS } from '../../models/constants.ts'
import { NcAppSettingsDialog as AppSettingsDialog, NcAppSettingsSection as AppSettingsSection } from '@nextcloud/vue'
diff --git a/src/components/AppNavigation/GroupNavigationItem.vue b/src/components/AppNavigation/GroupNavigationItem.vue
index adfd3cf9..9ffad9ba 100644
--- a/src/components/AppNavigation/GroupNavigationItem.vue
+++ b/src/components/AppNavigation/GroupNavigationItem.vue
@@ -20,38 +20,30 @@
-
-->
<template>
- <AppNavigationItem
- :key="group.key"
+ <AppNavigationItem :key="group.key"
:to="group.router"
:title="group.name">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template slot="actions">
- <ActionButton
- :close-after-click="true"
+ <ActionButton :close-after-click="true"
@click="addContactsToGroup(group)">
<template #icon>
- <IconAdd
- :size="20" />
+ <IconAdd :size="20" />
</template>
{{ t('contacts', 'Add contacts') }}
</ActionButton>
- <ActionButton
- :close-after-click="true"
+ <ActionButton :close-after-click="true"
@click="downloadGroup(group)">
<template #icon>
- <IconDownload
- :size="20" />
+ <IconDownload :size="20" />
</template>
{{ t('contacts', 'Download') }}
</ActionButton>
- <ActionButton
- @click="emailGroup(group)">
+ <ActionButton @click="emailGroup(group)">
<template #icon>
- <IconEmail
- :size="20" />
+ <IconEmail :size="20" />
</template>
{{ t('contacts', 'Send email') }}
</ActionButton>
@@ -70,13 +62,13 @@ import { emit } from '@nextcloud/event-bus'
import download from 'downloadjs'
import moment from 'moment'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconEmail from 'vue-material-design-icons/Email'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconEmail from 'vue-material-design-icons/Email.vue'
export default {
name: 'GroupNavigationItem',
diff --git a/src/components/AppNavigation/RootNavigation.vue b/src/components/AppNavigation/RootNavigation.vue
index 7e1bf430..bc26c08d 100644
--- a/src/components/AppNavigation/RootNavigation.vue
+++ b/src/components/AppNavigation/RootNavigation.vue
@@ -40,8 +40,7 @@
params: { selectedGroup: GROUP_ALL_CONTACTS },
}">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="sortedContacts.length">
@@ -61,8 +60,7 @@
icon="icon-category-monitoring" />
<!-- Not grouped group -->
- <AppNavigationItem
- v-if="ungroupedContacts.length > 0"
+ <AppNavigationItem v-if="ungroupedContacts.length > 0"
id="notgrouped"
:title="GROUP_NO_GROUP_CONTACTS"
:to="{
@@ -70,8 +68,7 @@
params: { selectedGroup: GROUP_NO_GROUP_CONTACTS },
}">
<template #icon>
- <IconUser
- :size="20" />
+ <IconUser :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="ungroupedContacts.length">
@@ -81,8 +78,7 @@
</AppNavigationItem>
<!-- Recently contacted group -->
- <AppNavigationItem
- v-if="isContactsInteractionEnabled && recentlyContactedContacts && recentlyContactedContacts.contacts.length > 0"
+ <AppNavigationItem v-if="isContactsInteractionEnabled && recentlyContactedContacts && recentlyContactedContacts.contacts.length > 0"
id="recentlycontacted"
:title="GROUP_RECENTLY_CONTACTED"
:to="{
@@ -90,8 +86,7 @@
params: { selectedGroup: GROUP_RECENTLY_CONTACTED },
}">
<template #icon>
- <IconRecentlyContacted
- :size="20" />
+ <IconRecentlyContacted :size="20" />
</template>
<template #counter>
<NcCounterBubble v-if="recentlyContactedContacts.contacts.length">
@@ -100,8 +95,7 @@
</template>
</AppNavigationItem>
- <AppNavigationCaption
- id="newgroup"
+ <AppNavigationCaption id="newgroup"
:force-menu="true"
:menu-open.sync="isNewGroupMenuOpen"
:title="t('contacts', 'Groups')"
@@ -117,31 +111,27 @@
</template>
{{ createGroupError ? createGroupError : t('contacts', 'Create a new group') }}
</ActionText>
- <ActionInput
- icon=""
+ <ActionInput icon=""
:placeholder="t('contacts','Group name')"
@submit.prevent.stop="createNewGroup" />
</template>
</AppNavigationCaption>
<!-- Custom groups -->
- <GroupNavigationItem
- v-for="group in ellipsisGroupsMenu"
+ <GroupNavigationItem v-for="group in ellipsisGroupsMenu"
:key="group.key"
:group="group" />
<template v-if="isCirclesEnabled">
<!-- Toggle groups ellipsis -->
- <AppNavigationItem
- v-if="groupsMenu.length > ELLIPSIS_COUNT"
+ <AppNavigationItem v-if="groupsMenu.length > ELLIPSIS_COUNT"
:title="collapseGroupsTitle"
class="app-navigation__collapse"
icon=""
@click="onToggleGroups" />
<!-- New circle button caption and modal -->
- <AppNavigationCaption
- id="newcircle"
+ <AppNavigationCaption id="newcircle"
:title="t('contacts', 'Circles')">
<template #actions>
<NcActionButton @click="toggleNewCircleModal">
@@ -159,14 +149,12 @@
<template v-if="circlesMenu.length > 0">
<!-- Circles -->
- <CircleNavigationItem
- v-for="circle in ellipsisCirclesMenu"
+ <CircleNavigationItem v-for="circle in ellipsisCirclesMenu"
:key="circle.key"
:circle="circle" />
<!-- Toggle circles ellipsis -->
- <AppNavigationItem
- v-if="circlesMenu.length > ELLIPSIS_COUNT"
+ <AppNavigationItem v-if="circlesMenu.length > ELLIPSIS_COUNT"
:title="collapseCirclesTitle"
class="app-navigation__collapse"
icon=""
@@ -203,33 +191,33 @@
<script>
import { GROUP_ALL_CONTACTS, CHART_ALL_CONTACTS, GROUP_NO_GROUP_CONTACTS, GROUP_RECENTLY_CONTACTED, ELLIPSIS_COUNT, CIRCLE_DESC, CONTACTS_SETTINGS } from '../../models/constants.ts'
-import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput'
-import ActionText from '@nextcloud/vue/dist/Components/NcActionText'
-import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import AppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble'
-import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem'
-import AppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'
+import ActionText from '@nextcloud/vue/dist/Components/NcActionText.js'
+import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import AppNavigation from '@nextcloud/vue/dist/Components/NcAppNavigation.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import NcCounterBubble from '@nextcloud/vue/dist/Components/NcCounterBubble.js'
+import AppNavigationItem from '@nextcloud/vue/dist/Components/NcAppNavigationItem.js'
+import AppNavigationCaption from '@nextcloud/vue/dist/Components/NcAppNavigationCaption.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
import naturalCompare from 'string-natural-compare'
-import CircleNavigationItem from './CircleNavigationItem'
+import CircleNavigationItem from './CircleNavigationItem.vue'
import Cog from 'vue-material-design-icons/Cog.vue'
-import ContactsSettings from './ContactsSettings'
-import GroupNavigationItem from './GroupNavigationItem'
-import NewCircleIntro from '../EntityPicker/NewCircleIntro'
-
-import isCirclesEnabled from '../../services/isCirclesEnabled'
-import isContactsInteractionEnabled from '../../services/isContactsInteractionEnabled'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconUser from 'vue-material-design-icons/Account'
-import IconRecentlyContacted from '../Icons/IconRecentlyContacted'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconError from 'vue-material-design-icons/AlertCircle'
-
-import RouterMixin from '../../mixins/RouterMixin'
+import ContactsSettings from './ContactsSettings.vue'
+import GroupNavigationItem from './GroupNavigationItem.vue'
+import NewCircleIntro from '../EntityPicker/NewCircleIntro.vue'
+
+import isCirclesEnabled from '../../services/isCirclesEnabled.js'
+import isContactsInteractionEnabled from '../../services/isContactsInteractionEnabled.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconUser from 'vue-material-design-icons/Account.vue'
+import IconRecentlyContacted from '../Icons/IconRecentlyContacted.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconError from 'vue-material-design-icons/AlertCircle.vue'
+
+import RouterMixin from '../../mixins/RouterMixin.js'
import { showError } from '@nextcloud/dialogs'
export default {
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbook.vue b/src/components/AppNavigation/Settings/SettingsAddressbook.vue
index b3d50408..cd976f96 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbook.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbook.vue
@@ -45,16 +45,14 @@
<!-- popovermenu -->
<Actions class="addressbook__menu" menu-align="right">
<!-- copy addressbook link -->
- <ActionLink
- :href="addressbook.url"
+ <ActionLink :href="addressbook.url"
:icon="copyLinkIcon"
@click.stop.prevent="copyToClipboard(addressbookUrl)">
{{ copyButtonText }}
</ActionLink>
<!-- download addressbook -->
- <ActionLink
- :href="addressbook.url + '?export'">
+ <ActionLink :href="addressbook.url + '?export'">
<template #icon>
<IconDownload :size="20" />
</template>
@@ -113,22 +111,22 @@
</template>
<script>
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput'
-import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconRename from 'vue-material-design-icons/Pencil'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconShare from 'vue-material-design-icons/ShareVariant'
-import ShareAddressBook from './SettingsAddressbookShare'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'
+import ActionCheckbox from '@nextcloud/vue/dist/Components/NcActionCheckbox.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconRename from 'vue-material-design-icons/Pencil.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconShare from 'vue-material-design-icons/ShareVariant.vue'
+import ShareAddressBook from './SettingsAddressbookShare.vue'
import { showError } from '@nextcloud/dialogs'
-import CopyToClipboardMixin from '../../../mixins/CopyToClipboardMixin'
+import CopyToClipboardMixin from '../../../mixins/CopyToClipboardMixin.js'
export default {
name: 'SettingsAddressbook',
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue b/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
index c1583e35..f54d50fb 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbookShare.vue
@@ -22,8 +22,7 @@
<template>
<div class="addressbook-shares">
- <Multiselect
- id="users-groups-search"
+ <Multiselect id="users-groups-search"
:options="usersOrGroups"
:searchable="true"
:internal-search="false"
@@ -48,10 +47,10 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import client from '../../../services/cdav'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import client from '../../../services/cdav.js'
-import addressBookSharee from './SettingsAddressbookSharee'
+import addressBookSharee from './SettingsAddressbookSharee.vue'
import debounce from 'debounce'
import { urldecode } from '../../../utils/url.js'
diff --git a/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue b/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
index 75a8c043..91cb9a6d 100644
--- a/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
+++ b/src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue
@@ -30,8 +30,7 @@
{{ sharee.displayName }}
</span>
<span class="addressbook-sharee__utils">
- <input
- :id="uid"
+ <input :id="uid"
:checked="writeable"
:disabled="loading"
class="checkbox"
@@ -56,11 +55,11 @@
<script>
import { showError } from '@nextcloud/dialogs'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconGroup from 'vue-material-design-icons/AccountMultiple'
-import IconUser from 'vue-material-design-icons/Account'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconGroup from 'vue-material-design-icons/AccountMultiple.vue'
+import IconUser from 'vue-material-design-icons/Account.vue'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
export default {
name: 'SettingsAddressbookSharee',
diff --git a/src/components/AppNavigation/Settings/SettingsImportContacts.vue b/src/components/AppNavigation/Settings/SettingsImportContacts.vue
index 2eac8403..31834f75 100644
--- a/src/components/AppNavigation/Settings/SettingsImportContacts.vue
+++ b/src/components/AppNavigation/Settings/SettingsImportContacts.vue
@@ -36,8 +36,7 @@
@close="toggleModal">
<section class="import-contact__modal-addressbook">
<h3>{{ t('contacts', 'Import contacts') }}</h3>
- <Multiselect
- v-if="!isSingleAddressbook"
+ <Multiselect v-if="!isSingleAddressbook"
id="select-addressbook"
v-model="selectedAddressbook"
:allow-empty="false"
@@ -58,8 +57,7 @@
type="file"
class="hidden-visually"
@change="processFile">
- <Button
- :disabled="loading"
+ <Button :disabled="loading"
class="import-contact__button import-contact__button--local"
@click="clickImportInput">
<template #icon>
@@ -67,8 +65,7 @@
</template>
{{ t('contacts', 'Select local file') }}
</Button>
- <Button
- type="primary"
+ <Button type="primary"
:disabled="loading"
class="import-contact__button import-contact__button--files"
@click="openPicker">
@@ -95,18 +92,18 @@
</template>
<script>
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
import { encodePath } from '@nextcloud/paths'
import { getCurrentUser } from '@nextcloud/auth'
import { generateRemoteUrl } from '@nextcloud/router'
import { getFilePickerBuilder } from '@nextcloud/dialogs'
import axios from '@nextcloud/axios'
-import IconUpload from 'vue-material-design-icons/Upload'
-import IconError from 'vue-material-design-icons/AlertCircle'
-import IconFolder from 'vue-material-design-icons/Folder'
+import IconUpload from 'vue-material-design-icons/Upload.vue'
+import IconError from 'vue-material-design-icons/AlertCircle.vue'
+import IconFolder from 'vue-material-design-icons/Folder.vue'
const CancelToken = axios.CancelToken
diff --git a/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue b/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
index 52de5e4e..2ecec899 100644
--- a/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
+++ b/src/components/AppNavigation/Settings/SettingsNewAddressbook.vue
@@ -49,7 +49,7 @@
<script>
import { showError } from '@nextcloud/dialogs'
-import IconAdd from 'vue-material-design-icons/Plus'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
export default {
name: 'SettingsNewAddressbook',
diff --git a/src/components/AppNavigation/Settings/SettingsSortContacts.vue b/src/components/AppNavigation/Settings/SettingsSortContacts.vue
index 839bd770..9f40df50 100644
--- a/src/components/AppNavigation/Settings/SettingsSortContacts.vue
+++ b/src/components/AppNavigation/Settings/SettingsSortContacts.vue
@@ -23,8 +23,7 @@
<template>
<div class="sort-contacts">
<IconList class="settings-line__icon" />
- <Multiselect
- id="sort-by"
+ <Multiselect id="sort-by"
:value="orderKeyOption"
:searchable="false"
:allow-empty="false"
@@ -37,8 +36,8 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import IconList from 'vue-material-design-icons/FormatListBulletedSquare'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import IconList from 'vue-material-design-icons/FormatListBulletedSquare.vue'
export default {
name: 'SettingsSortContacts',
diff --git a/src/components/ChartTemplate.vue b/src/components/ChartTemplate.vue
index d6b2ccb4..a48dded8 100644
--- a/src/components/ChartTemplate.vue
+++ b/src/components/ChartTemplate.vue
@@ -8,8 +8,7 @@
selectedContact: data.key,
},
}">
- <Avatar
- :disable-tooltip="true"
+ <Avatar :disable-tooltip="true"
:display-name="data.fullName"
:is-no-user="true"
:size="60"
@@ -38,7 +37,7 @@
</template>
<script>
-import Avatar from '@nextcloud/vue/dist/Components/NcAvatar'
+import Avatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
export default {
name: 'ChartTemplate',
diff --git a/src/components/CircleDetails.vue b/src/components/CircleDetails.vue
index ac04c93e..4d919d53 100644
--- a/src/components/CircleDetails.vue
+++ b/src/components/CircleDetails.vue
@@ -26,8 +26,7 @@
<DetailsHeader>
<!-- avatar and upload photo -->
<template #avatar="{avatarSize}">
- <Avatar
- :disable-tooltip="true"
+ <Avatar :disable-tooltip="true"
:display-name="circle.displayName"
:is-no-user="true"
:size="avatarSize" />
@@ -35,8 +34,7 @@
<!-- display name -->
<template #title>
- <input
- v-model="circle.displayName"
+ <input v-model="circle.displayName"
:readonly="!circle.isOwner"
:placeholder="t('contacts', 'Circle name')"
type="text"
@@ -80,8 +78,7 @@
{{ t('contacts', 'Description') }}
</ContentHeading>
- <RichContenteditable
- :value.sync="circle.description"
+ <RichContenteditable :value.sync="circle.description"
:auto-complete="onAutocomplete"
:maxlength="1024"
:multiline="true"
@@ -129,21 +126,21 @@
import { showError } from '@nextcloud/dialogs'
import debounce from 'debounce'
-import AppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails'
-import Avatar from '@nextcloud/vue/dist/Components/NcAvatar'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import RichContenteditable from '@nextcloud/vue/dist/Components/NcRichContenteditable'
+import AppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails.js'
+import Avatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import RichContenteditable from '@nextcloud/vue/dist/Components/NcRichContenteditable.js'
-import Login from 'vue-material-design-icons/Login'
-import Logout from 'vue-material-design-icons/Logout'
-import IconDelete from 'vue-material-design-icons/Delete'
+import Login from 'vue-material-design-icons/Login.vue'
+import Logout from 'vue-material-design-icons/Logout.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
import { CircleEdit, editCircle } from '../services/circles.ts'
-import CircleActionsMixin from '../mixins/CircleActionsMixin'
-import DetailsHeader from './DetailsHeader'
-import CircleConfigs from './CircleDetails/CircleConfigs'
-import ContentHeading from './CircleDetails/ContentHeading'
-import CirclePasswordSettings from './CircleDetails/CirclePasswordSettings'
+import CircleActionsMixin from '../mixins/CircleActionsMixin.js'
+import DetailsHeader from './DetailsHeader.vue'
+import CircleConfigs from './CircleDetails/CircleConfigs.vue'
+import ContentHeading from './CircleDetails/ContentHeading.vue'
+import CirclePasswordSettings from './CircleDetails/CirclePasswordSettings.vue'
export default {
name: 'CircleDetails',
@@ -200,7 +197,7 @@ export default {
*/
onAutocomplete(search, callback) {
// TODO: implement autocompletion. Disabled for now
- // eslint-disable-next-line node/no-callback-literal
+ // eslint-disable-next-line n/no-callback-literal
callback([])
},
diff --git a/src/components/CircleDetails/CircleConfigs.vue b/src/components/CircleDetails/CircleConfigs.vue
index fdd8dea6..aeeb0f03 100644
--- a/src/components/CircleDetails/CircleConfigs.vue
+++ b/src/components/CircleDetails/CircleConfigs.vue
@@ -43,8 +43,8 @@
</template>
<script>
-import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch'
-import ContentHeading from './ContentHeading'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
+import ContentHeading from './ContentHeading.vue'
import { PUBLIC_CIRCLE_CONFIG } from '../../models/constants.ts'
import Circle from '../../models/circle.ts'
diff --git a/src/components/CircleDetails/CirclePasswordSettings.vue b/src/components/CircleDetails/CirclePasswordSettings.vue
index 1547319b..f24911e2 100644
--- a/src/components/CircleDetails/CirclePasswordSettings.vue
+++ b/src/components/CircleDetails/CirclePasswordSettings.vue
@@ -47,21 +47,18 @@
<li class="unique-password">
<template v-if="showUniquePasswordInput">
- <input
- v-model="uniquePassword"
+ <input v-model="uniquePassword"
:disabled="loading.length > 0"
:placeholder="t('contacts', 'Unique password …')"
type="text"
@keyup.enter="saveUniquePassword">
- <Button
- type="tertiary-no-background"
+ <Button type="tertiary-no-background"
:disabled="loading.length > 0 || uniquePassword.length === 0"
@click="saveUniquePassword">
{{ t('contacts', 'Save') }}
</Button>
</template>
- <Button
- v-else-if="useUniquePassword"
+ <Button v-else-if="useUniquePassword"
class="change-unique-password"
@click="onClickChangePassword">
{{ t('contacts', 'Change unique password') }}
@@ -77,9 +74,9 @@
</template>
<script>
-import ContentHeading from './ContentHeading'
-import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
+import ContentHeading from './ContentHeading.vue'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
// Circle setting keys
const ENFORCE_PASSWORD_PROTECTION = 'enforce_password'
diff --git a/src/components/ContactDetails.vue b/src/components/ContactDetails.vue
index e333ea43..9fe9f173 100644
--- a/src/components/ContactDetails.vue
+++ b/src/components/ContactDetails.vue
@@ -27,8 +27,7 @@
:title="t('contacts', 'No contact selected')"
:description="t('contacts', 'Select a contact on the list to begin')">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
</EmptyContent>
@@ -36,8 +35,7 @@
<!-- contact header -->
<DetailsHeader>
<!-- avatar and upload photo -->
- <ContactAvatar
- slot="avatar"
+ <ContactAvatar slot="avatar"
:contact="contact"
@update-local-contact="updateLocalContact" />
@@ -258,36 +256,36 @@
import { showError } from '@nextcloud/dialogs'
import { stringify } from 'ical.js'
import debounce from 'debounce'
-// eslint-disable-next-line import/no-unresolved, node/no-missing-import
+// eslint-disable-next-line import/no-unresolved, n/no-missing-import
import PQueue from 'p-queue'
import qr from 'qr-image'
import Vue from 'vue'
import { VueMasonryPlugin } from 'vue-masonry'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import AppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails'
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconQr from 'vue-material-design-icons/Qrcode'
-import CakeIcon from 'vue-material-design-icons/Cake'
-import IconCopy from 'vue-material-design-icons/ContentCopy'
-
-import rfcProps from '../models/rfcProps'
-import validate from '../services/validate'
-
-import AddNewProp from './ContactDetails/ContactDetailsAddNewProp'
-import ContactAvatar from './ContactDetails/ContactDetailsAvatar'
-import ContactProperty from './ContactDetails/ContactDetailsProperty'
-import DetailsHeader from './DetailsHeader'
-import PropertyGroups from './Properties/PropertyGroups'
-import PropertyRev from './Properties/PropertyRev'
-import PropertySelect from './Properties/PropertySelect'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import AppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails.js'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconQr from 'vue-material-design-icons/Qrcode.vue'
+import CakeIcon from 'vue-material-design-icons/Cake.vue'
+import IconCopy from 'vue-material-design-icons/ContentCopy.vue'
+
+import rfcProps from '../models/rfcProps.js'
+import validate from '../services/validate.js'
+
+import AddNewProp from './ContactDetails/ContactDetailsAddNewProp.vue'
+import ContactAvatar from './ContactDetails/ContactDetailsAvatar.vue'
+import ContactProperty from './ContactDetails/ContactDetailsProperty.vue'
+import DetailsHeader from './DetailsHeader.vue'
+import PropertyGroups from './Properties/PropertyGroups.vue'
+import PropertyRev from './Properties/PropertyRev.vue'
+import PropertySelect from './Properties/PropertySelect.vue'
Vue.use(VueMasonryPlugin)
const updateQueue = new PQueue({ concurrency: 1 })
diff --git a/src/components/ContactDetails/ContactDetailsAddNewProp.vue b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
index 66df1ca2..9bff1dc3 100644
--- a/src/components/ContactDetails/ContactDetailsAddNewProp.vue
+++ b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
@@ -40,11 +40,11 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import rfcProps from '../../models/rfcProps'
-import Contact from '../../models/contact'
-import OrgChartsMixin from '../../mixins/OrgChartsMixin'
-import PropertyTitle from '../Properties/PropertyTitle'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import rfcProps from '../../models/rfcProps.js'
+import Contact from '../../models/contact.js'
+import OrgChartsMixin from '../../mixins/OrgChartsMixin.js'
+import PropertyTitle from '../Properties/PropertyTitle.vue'
import ICAL from 'ical.js'
export default {
diff --git a/src/components/ContactDetails/ContactDetailsAvatar.vue b/src/components/ContactDetails/ContactDetailsAvatar.vue
index 65a7cca0..3c52182c 100644
--- a/src/components/ContactDetails/ContactDetailsAvatar.vue
+++ b/src/components/ContactDetails/ContactDetailsAvatar.vue
@@ -32,16 +32,14 @@
@change="processFile">
<!-- Avatar display -->
- <Avatar
- :disable-tooltip="true"
+ <Avatar :disable-tooltip="true"
:display-name="contact.displayName"
:is-no-user="true"
:size="75"
:url="photoUrl"
class="contact-header-avatar__photo" />
- <Actions
- v-if="!isReadOnly || contact.photo"
+ <Actions v-if="!isReadOnly || contact.photo"
:force-menu="true"
:open.sync="opened"
class="contact-header-avatar__menu">
@@ -49,22 +47,19 @@
<IconImage :size="20" fill-color="#fff" />
</template>
<template v-if="!isReadOnly">
- <ActionButton
- @click.stop.prevent="selectFileInput">
+ <ActionButton @click.stop.prevent="selectFileInput">
<template #icon>
<IconUpload :size="20" />
</template>
{{ t('contacts', 'Upload a new picture') }}
</ActionButton>
- <ActionButton
- @click="selectFilePicker">
+ <ActionButton @click="selectFilePicker">
<template #icon>
<IconFolder :size="20" />
</template>
{{ t('contacts', 'Choose from Files') }}
</ActionButton>
- <ActionButton
- v-for="network in supportedSocial"
+ <ActionButton v-for="network in supportedSocial"
:key="network"
@click="getSocialAvatar(network)">
<template #icon>
@@ -76,16 +71,14 @@
<template v-if="contact.photo">
<!-- FIXME: the link seems to have a bigger font size than the button caption -->
- <ActionLink
- :href="`${contact.url}?photo`"
+ <ActionLink :href="`${contact.url}?photo`"
target="_blank">
<template #icon>
<IconDownload :size="20" />
</template>
{{ t('contacts', 'Download picture') }}
</ActionLink>
- <ActionButton
- v-if="!isReadOnly"
+ <ActionButton v-if="!isReadOnly"
@click="removePhoto">
<template #icon>
<IconDelete :size="20" />
@@ -98,16 +91,16 @@
</template>
<script>
-import Avatar from '@nextcloud/vue/dist/Components/NcAvatar'
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
-import IconDownload from 'vue-material-design-icons/Download'
-import IconCloudDownload from 'vue-material-design-icons/CloudDownload'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconUpload from 'vue-material-design-icons/Upload'
-import IconFolder from 'vue-material-design-icons/Folder'
-import IconImage from 'vue-material-design-icons/Image'
+import Avatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import IconDownload from 'vue-material-design-icons/Download.vue'
+import IconCloudDownload from 'vue-material-design-icons/CloudDownload.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconUpload from 'vue-material-design-icons/Upload.vue'
+import IconFolder from 'vue-material-design-icons/Folder.vue'
+import IconImage from 'vue-material-design-icons/Image.vue'
import { showError, showInfo, getFilePickerBuilder, showSuccess } from '@nextcloud/dialogs'
import { generateUrl, generateRemoteUrl } from '@nextcloud/router'
diff --git a/src/components/ContactDetails/ContactDetailsProperty.vue b/src/components/ContactDetails/ContactDetailsProperty.vue
index fe33352a..714b98c1 100644
--- a/src/components/ContactDetails/ContactDetailsProperty.vue
+++ b/src/components/ContactDetails/ContactDetailsProperty.vue
@@ -46,14 +46,14 @@
<script>
import { Property } from 'ical.js'
-import rfcProps from '../../models/rfcProps'
-import Contact from '../../models/contact'
+import rfcProps from '../../models/rfcProps.js'
+import Contact from '../../models/contact.js'
-import OrgChartsMixin from '../../mixins/OrgChartsMixin'
-import PropertyText from '../Properties/PropertyText'
-import PropertyMultipleText from '../Properties/PropertyMultipleText'
-import PropertyDateTime from '../Properties/PropertyDateTime'
-import PropertySelect from '../Properties/PropertySelect'
+import OrgChartsMixin from '../../mixins/OrgChartsMixin.js'
+import PropertyText from '../Properties/PropertyText.vue'
+import PropertyMultipleText from '../Properties/PropertyMultipleText.vue'
+import PropertyDateTime from '../Properties/PropertyDateTime.vue'
+import PropertySelect from '../Properties/PropertySelect.vue'
export default {
name: 'ContactDetailsProperty',
diff --git a/src/components/ContactsList.vue b/src/components/ContactsList.vue
index 76d31d91..80c95620 100644
--- a/src/components/ContactsList.vue
+++ b/src/components/ContactsList.vue
@@ -37,8 +37,8 @@
</template>
<script>
-import AppContentList from '@nextcloud/vue/dist/Components/NcAppContentList'
-import ContactsListItem from './ContactsList/ContactsListItem'
+import AppContentList from '@nextcloud/vue/dist/Components/NcAppContentList.js'
+import ContactsListItem from './ContactsList/ContactsListItem.vue'
import VirtualList from 'vue-virtual-scroll-list'
export default {
diff --git a/src/components/ContactsList/ContactsListItem.vue b/src/components/ContactsList/ContactsListItem.vue
index 9252e4bc..37204df4 100644
--- a/src/components/ContactsList/ContactsListItem.vue
+++ b/src/components/ContactsList/ContactsListItem.vue
@@ -1,6 +1,5 @@
<template>
- <ListItem
- :id="id"
+ <ListItem :id="id"
:key="source.key"
class="list-item-style envelope"
:title="source.displayName"
@@ -24,7 +23,7 @@
<script>
import { NcListItem as ListItem } from '@nextcloud/vue'
-import BaseAvatar from '@nextcloud/vue/dist/Components/NcAvatar'
+import BaseAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
export default {
name: 'ContactsListItem',
diff --git a/src/components/DetailsHeader.vue b/src/components/DetailsHeader.vue
index 1eef7309..a536e8ff 100644
--- a/src/components/DetailsHeader.vue
+++ b/src/components/DetailsHeader.vue
@@ -53,7 +53,7 @@
</template>
<script>
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
export default {
name: 'DetailsHeader',
diff --git a/src/components/EntityPicker/ContactsPicker.vue b/src/components/EntityPicker/ContactsPicker.vue
index 05fd9e98..0ef7334b 100644
--- a/src/components/EntityPicker/ContactsPicker.vue
+++ b/src/components/EntityPicker/ContactsPicker.vue
@@ -20,11 +20,11 @@
import { subscribe } from '@nextcloud/event-bus'
import pLimit from 'p-limit'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
-import AddToGroupView from '../../views/Processing/AddToGroupView'
-import appendContactToGroup from '../../services/appendContactToGroup'
-import EntityPicker from './EntityPicker'
+import AddToGroupView from '../../views/Processing/AddToGroupView.vue'
+import appendContactToGroup from '../../services/appendContactToGroup.js'
+import EntityPicker from './EntityPicker.vue'
export default {
name: 'ContactsPicker',
diff --git a/src/components/EntityPicker/EntityBubble.vue b/src/components/EntityPicker/EntityBubble.vue
index 47280e8f..d06f4d99 100644
--- a/src/components/EntityPicker/EntityBubble.vue
+++ b/src/components/EntityPicker/EntityBubble.vue
@@ -21,8 +21,7 @@
-
-->
<template>
- <UserBubble
- class="entity-picker__bubble"
+ <UserBubble class="entity-picker__bubble"
:margin="0"
:size="22"
:display-name="label">
@@ -36,7 +35,7 @@
</template>
<script>
-import UserBubble from '@nextcloud/vue/dist/Components/NcUserBubble'
+import UserBubble from '@nextcloud/vue/dist/Components/NcUserBubble.js'
export default {
name: 'EntityBubble',
diff --git a/src/components/EntityPicker/EntityPicker.vue b/src/components/EntityPicker/EntityPicker.vue
index 8730eafd..4de077de 100644
--- a/src/components/EntityPicker/EntityPicker.vue
+++ b/src/components/EntityPicker/EntityPicker.vue
@@ -20,16 +20,14 @@
-->
<template>
- <Modal
- size="normal"
+ <Modal size="normal"
@close="onCancel">
<!-- Wrapper for content & navigation -->
<div class="entity-picker">
<!-- Search -->
<div class="entity-picker__search">
<div class="entity-picker__search-icon icon-search" />
- <input
- ref="input"
+ <input ref="input"
v-model="searchQuery"
:placeholder="t('contacts', 'Search {types}', {types: searchPlaceholderTypes})"
class="entity-picker__search-input"
@@ -46,13 +44,11 @@
<template v-else>
<!-- Picked entities -->
- <transition-group
- v-if="Object.keys(selectionSet).length > 0"
+ <transition-group v-if="Object.keys(selectionSet).length > 0"
name="zoom"
tag="ul"
class="entity-picker__selection">
- <EntityBubble
- v-for="entity in selectionSet"
+ <EntityBubble v-for="entity in selectionSet"
:key="entity.key || `entity-${entity.type}-${entity.id}`"
v-bind="entity"
@delete="onDelete(entity)" />
@@ -81,14 +77,12 @@
</EmptyContent>
<div class="entity-picker__navigation">
- <button
- :disabled="loading"
+ <button :disabled="loading"
class="navigation__button-left"
@click="onCancel">
{{ t('contacts', 'Cancel') }}
</button>
- <button
- :disabled="isEmptySelection || loading"
+ <button :disabled="isEmptySelection || loading"
class="navigation__button-right primary"
@click="onSubmit">
{{ confirmLabel }}
@@ -102,13 +96,13 @@
<script>
import debounce from 'debounce'
import VirtualList from 'vue-virtual-scroll-list'
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import IconSearch from 'vue-material-design-icons/Magnify'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import IconSearch from 'vue-material-design-icons/Magnify.vue'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
-import EntityBubble from './EntityBubble'
-import EntitySearchResult from './EntitySearchResult'
+import EntityBubble from './EntityBubble.vue'
+import EntitySearchResult from './EntitySearchResult.vue'
export default {
name: 'EntityPicker',
diff --git a/src/components/EntityPicker/EntitySearchResult.vue b/src/components/EntityPicker/EntitySearchResult.vue
index 609617cb..6cd3fe32 100644
--- a/src/components/EntityPicker/EntitySearchResult.vue
+++ b/src/components/EntityPicker/EntitySearchResult.vue
@@ -24,8 +24,7 @@
{{ t('contacts', 'Add {type}', {type: source.label.toLowerCase()}) }}
</h4>
- <UserBubble
- v-else
+ <UserBubble v-else
class="entity-picker__bubble"
:class="{'entity-picker__bubble--selected': isSelected}"
:display-name="source.label"
@@ -41,7 +40,7 @@
</template>
<script>
-import UserBubble from '@nextcloud/vue/dist/Components/NcUserBubble'
+import UserBubble from '@nextcloud/vue/dist/Components/NcUserBubble.js'
export default {
name: 'EntitySearchResult',
diff --git a/src/components/EntityPicker/NewCircleIntro.vue b/src/components/EntityPicker/NewCircleIntro.vue
index 96db20d1..d6242b52 100644
--- a/src/components/EntityPicker/NewCircleIntro.vue
+++ b/src/components/EntityPicker/NewCircleIntro.vue
@@ -20,15 +20,13 @@
-->
<template>
- <Modal
- size="normal"
+ <Modal size="normal"
@close="onCancel">
<!-- Wrapper for content & navigation -->
<div class="entity-picker">
<!-- Search -->
<div class="entity-picker__new">
- <input
- ref="input"
+ <input ref="input"
v-model="circleName"
:placeholder="t('contacts', 'New circle name')"
class="entity-picker__new-input"
@@ -42,8 +40,7 @@
<!-- Personal circle, TODO: IMPLEMENT -->
<template v-if="false">
- <CheckboxRadioSwitch
- :checked.sync="isPersonal"
+ <CheckboxRadioSwitch :checked.sync="isPersonal"
:disabled="loading !== false">
{{ t('contacts', 'Personal circle') }}
</CheckboxRadioSwitch>
@@ -54,8 +51,7 @@
<!-- Local circle -->
<template v-if="isGlobalScale">
- <CheckboxRadioSwitch
- :checked.sync="isLocal"
+ <CheckboxRadioSwitch :checked.sync="isLocal"
:disabled="loading !== false">
{{ t('contacts', 'Local circle') }}
</CheckboxRadioSwitch>
@@ -66,14 +62,12 @@
</div>
<div class="entity-picker__navigation">
- <button
- :disabled="loading"
+ <button :disabled="loading"
class="navigation__button-left"
@click="onCancel">
{{ t('contacts', 'Cancel') }}
</button>
- <button
- :disabled="isEmptyName || loading"
+ <button :disabled="isEmptyName || loading"
class="navigation__button-right primary"
@click="onSubmit">
{{ t('contacts', 'Create circle') }}
@@ -85,8 +79,8 @@
<script>
import { getCapabilities } from '@nextcloud/capabilities'
-import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
+import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
import { CIRCLE_DESC } from '../../models/constants.ts'
diff --git a/src/components/MemberList.vue b/src/components/MemberList.vue
index b73ed3f7..0bef24e0 100644
--- a/src/components/MemberList.vue
+++ b/src/components/MemberList.vue
@@ -32,16 +32,14 @@
<template v-else-if="!circle.isMember">
<EmptyContent :title="t('contacts', 'The list of members is only visible to members of this circle')">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
</EmptyContent>
</template>
<template v-else>
<EmptyContent :title="t('contacts', 'There is no member in this circle')">
<template #icon>
- <IconContact
- :size="20" />
+ <IconContact :size="20" />
</template>
</EmptyContent>
</template>
@@ -53,16 +51,14 @@
@click="onShowPicker(circle.id)">
<template #icon>
<IconLoading v-if="loading" />
- <IconAdd
- :size="20" />
+ <IconAdd :size="20" />
</template>
{{ t('contacts', 'Add members') }}
</Button>
<Button v-if="isMobile"
@click="showCircleDetails">
<template #icon>
- <IconInfo
- :size="20" />
+ <IconInfo :size="20" />
</template>
{{ t('contacts', 'Show circle details') }}
</Button>
@@ -89,21 +85,21 @@
</template>
<script>
-import AppContentList from '@nextcloud/vue/dist/Components/NcAppContentList'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon'
-import isMobile from '@nextcloud/vue/dist/Mixins/isMobile'
+import AppContentList from '@nextcloud/vue/dist/Components/NcAppContentList.js'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconLoading from '@nextcloud/vue/dist/Components/NcLoadingIcon.js'
+import isMobile from '@nextcloud/vue/dist/Mixins/isMobile.js'
import VirtualList from 'vue-virtual-scroll-list'
-import MembersListItem from './MembersList/MembersListItem'
-import EntityPicker from './EntityPicker/EntityPicker'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconInfo from 'vue-material-design-icons/InformationOutline'
-import RouterMixin from '../mixins/RouterMixin'
+import MembersListItem from './MembersList/MembersListItem.vue'
+import EntityPicker from './EntityPicker/EntityPicker.vue'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconInfo from 'vue-material-design-icons/InformationOutline.vue'
+import RouterMixin from '../mixins/RouterMixin.js'
-import { getRecommendations, getSuggestions } from '../services/collaborationAutocompletion'
+import { getRecommendations, getSuggestions } from '../services/collaborationAutocompletion.js'
import { showError, showWarning } from '@nextcloud/dialogs'
import { subscribe } from '@nextcloud/event-bus'
import { SHARES_TYPES_MEMBER_MAP, CIRCLES_MEMBER_GROUPING } from '../models/constants.ts'
diff --git a/src/components/MembersList/MembersListItem.vue b/src/components/MembersList/MembersListItem.vue
index 227dd1f9..52b7f833 100644
--- a/src/components/MembersList/MembersListItem.vue
+++ b/src/components/MembersList/MembersListItem.vue
@@ -37,8 +37,7 @@
<!-- Accept invite -->
<template v-if="!loading && isPendingApproval && circle.canManageMembers">
<Actions>
- <ActionButton
- @click="acceptMember">
+ <ActionButton @click="acceptMember">
<template #icon>
<IconCheck :size="20" />
</template>
@@ -46,8 +45,7 @@
</ActionButton>
</Actions>
<Actions>
- <ActionButton
- @click="deleteMember">
+ <ActionButton @click="deleteMember">
<template #icon>
<IconClose :size="20" />
</template>
@@ -71,8 +69,7 @@
:size="16"
decorative />
</ActionText>
- <ActionButton
- v-for="level in availableLevelsChange"
+ <ActionButton v-for="level in availableLevelsChange"
:key="level"
icon=""
@click="changeLevel(level)">
@@ -103,21 +100,21 @@
<script>
import { CIRCLES_MEMBER_LEVELS, MemberLevels, MemberStatus } from '../../models/constants.ts'
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
-import ListItemIcon from '@nextcloud/vue/dist/Components/NcListItemIcon'
-import ActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import ActionText from '@nextcloud/vue/dist/Components/NcActionText'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconCheck from 'vue-material-design-icons/Check'
-import IconClose from 'vue-material-design-icons/Close'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
+import ListItemIcon from '@nextcloud/vue/dist/Components/NcListItemIcon.js'
+import ActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import ActionText from '@nextcloud/vue/dist/Components/NcActionText.js'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconCheck from 'vue-material-design-icons/Check.vue'
+import IconClose from 'vue-material-design-icons/Close.vue'
-import ExitToApp from 'vue-material-design-icons/ExitToApp'
-import ShieldCheck from 'vue-material-design-icons/ShieldCheck'
+import ExitToApp from 'vue-material-design-icons/ExitToApp.vue'
+import ShieldCheck from 'vue-material-design-icons/ShieldCheck.vue'
import { changeMemberLevel } from '../../services/circles.ts'
import { showError } from '@nextcloud/dialogs'
-import RouterMixin from '../../mixins/RouterMixin'
+import RouterMixin from '../../mixins/RouterMixin.js'
export default {
name: 'MembersListItem',
diff --git a/src/components/OrgChart.vue b/src/components/OrgChart.vue
index 2ad9a99c..3b2dd21f 100644
--- a/src/components/OrgChart.vue
+++ b/src/components/OrgChart.vue
@@ -4,8 +4,7 @@
<h3>
{{ t('contacts', 'Chart') }}:
</h3>
- <Multiselect
- v-model="chart"
+ <Multiselect v-model="chart"
class="chart-selection"
:disabled="data.length === 1"
:options="charts"
@@ -24,9 +23,9 @@
import * as d3 from 'd3'
import ChartTemplate from './ChartTemplate.vue'
import { getLocale } from '@nextcloud/l10n'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
import { OrgChart } from 'd3-org-chart'
-import router from './../router'
+import router from './../router/index.js'
import Vue from 'vue'
export default {
diff --git a/src/components/ProcessingScreen.vue b/src/components/ProcessingScreen.vue
index 1581d5ee..084b7208 100644
--- a/src/components/ProcessingScreen.vue
+++ b/src/components/ProcessingScreen.vue
@@ -14,8 +14,8 @@
</template>
<script>
-import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'
-import IconContact from 'vue-material-design-icons/AccountMultiple'
+import EmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import IconContact from 'vue-material-design-icons/AccountMultiple.vue'
export default {
name: 'ProcessingScreen',
diff --git a/src/components/Properties/PropertyActions.vue b/src/components/Properties/PropertyActions.vue
index b0d8adcd..47da7441 100644
--- a/src/components/Properties/PropertyActions.vue
+++ b/src/components/Properties/PropertyActions.vue
@@ -36,9 +36,9 @@
</template>
<script>
-import Actions from '@nextcloud/vue/dist/Components/NcActions'
-import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton'
-import IconDelete from 'vue-material-design-icons/Delete'
+import Actions from '@nextcloud/vue/dist/Components/NcActions.js'
+import ActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
export default {
name: 'PropertyActions',
diff --git a/src/components/Properties/PropertyDateTime.vue b/src/components/Properties/PropertyDateTime.vue
index cd064ddb..3f2dec1a 100644
--- a/src/components/Properties/PropertyDateTime.vue
+++ b/src/components/Properties/PropertyDateTime.vue
@@ -51,8 +51,7 @@
</div>
<!-- Real input where the picker shows -->
- <DatetimePicker
- v-if="!isReadOnly"
+ <DatetimePicker v-if="!isReadOnly"
:value="vcardTimeLocalValue.toJSDate()"
:minute-step="10"
:lang="lang"
@@ -70,8 +69,7 @@
class="property__value">
<!-- props actions -->
- <PropertyActions
- v-if="!isReadOnly"
+ <PropertyActions v-if="!isReadOnly"
:actions="actions"
:property-component="this"
@delete="deleteProperty" />
@@ -82,14 +80,14 @@
<script>
import debounce from 'debounce'
import moment from 'moment'
-import DatetimePicker from '@nextcloud/vue/dist/Components/NcDatetimePicker'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
+import DatetimePicker from '@nextcloud/vue/dist/Components/NcDatetimePicker.js'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
import { getLocale } from '@nextcloud/l10n'
import { VCardTime } from 'ical.js'
-import PropertyMixin from '../../mixins/PropertyMixin'
-import PropertyTitle from './PropertyTitle'
-import PropertyActions from './PropertyActions'
+import PropertyMixin from '../../mixins/PropertyMixin.js'
+import PropertyTitle from './PropertyTitle.vue'
+import PropertyActions from './PropertyActions.vue'
export default {
name: 'PropertyDateTime',
diff --git a/src/components/Properties/PropertyGroups.vue b/src/components/Properties/PropertyGroups.vue
index 85581d38..fcae659d 100644
--- a/src/components/Properties/PropertyGroups.vue
+++ b/src/components/Properties/PropertyGroups.vue
@@ -22,8 +22,7 @@
<template>
<div v-if="propModel" class="property property--without-actions">
- <PropertyTitle
- icon="icon-contacts-dark"
+ <PropertyTitle icon="icon-contacts-dark"
:readable-name="t('contacts', 'Groups')" />
<div class="property__row">
@@ -60,9 +59,9 @@
<script>
import debounce from 'debounce'
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import Contact from '../../models/contact'
-import PropertyTitle from './PropertyTitle'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import Contact from '../../models/contact.js'
+import PropertyTitle from './PropertyTitle.vue'
import naturalCompare from 'string-natural-compare'
export default {
diff --git a/src/components/Properties/PropertyMultipleText.vue b/src/components/Properties/PropertyMultipleText.vue
index 3a411bd1..1bd9886f 100644
--- a/src/components/Properties/PropertyMultipleText.vue
+++ b/src/components/Properties/PropertyMultipleText.vue
@@ -101,10 +101,10 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import PropertyMixin from '../../mixins/PropertyMixin'
-import PropertyTitle from './PropertyTitle'
-import PropertyActions from './PropertyActions'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import PropertyMixin from '../../mixins/PropertyMixin.js'
+import PropertyTitle from './PropertyTitle.vue'
+import PropertyActions from './PropertyActions.vue'
export default {
name: 'PropertyMultipleText',
diff --git a/src/components/Properties/PropertySelect.vue b/src/components/Properties/PropertySelect.vue
index 0ada5bf0..e899e3b1 100644
--- a/src/components/Properties/PropertySelect.vue
+++ b/src/components/Properties/PropertySelect.vue
@@ -48,8 +48,7 @@
@input="updateValue" />
<!-- props actions -->
- <PropertyActions
- v-if="!isReadOnly"
+ <PropertyActions v-if="!isReadOnly"
:actions="actions"
:property-component="this"
@delete="deleteProperty" />
@@ -58,10 +57,10 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
-import PropertyMixin from '../../mixins/PropertyMixin'
-import PropertyTitle from './PropertyTitle'
-import PropertyActions from './PropertyActions'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
+import PropertyMixin from '../../mixins/PropertyMixin.js'
+import PropertyTitle from './PropertyTitle.vue'
+import PropertyActions from './PropertyActions.vue'
export default {
name: 'PropertySelect',
diff --git a/src/components/Properties/PropertyText.vue b/src/components/Properties/PropertyText.vue
index 93159790..6aa938df 100644
--- a/src/components/Properties/PropertyText.vue
+++ b/src/components/Properties/PropertyText.vue
@@ -82,8 +82,7 @@
target="_blank" />
<!-- props actions -->
- <PropertyActions
- v-if="!isReadOnly"
+ <PropertyActions v-if="!isReadOnly"
:actions="actions"
:property-component="this"
@delete="deleteProperty" />
@@ -92,11 +91,11 @@
</template>
<script>
-import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
+import Multiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
import debounce from 'debounce'
-import PropertyMixin from '../../mixins/PropertyMixin'
-import PropertyTitle from './PropertyTitle'
-import PropertyActions from './PropertyActions'
+import PropertyMixin from '../../mixins/PropertyMixin.js'
+import PropertyTitle from './PropertyTitle.vue'
+import PropertyActions from './PropertyActions.vue'
export default {
name: 'PropertyText',
diff --git a/src/components/Properties/PropertyTitle.vue b/src/components/Properties/PropertyTitle.vue
index d4979320..f45d2445 100644
--- a/src/components/Properties/PropertyTitle.vue
+++ b/src/components/Properties/PropertyTitle.vue
@@ -31,7 +31,7 @@
</template>
<script>
-import PropertyTitleIcon from './PropertyTitleIcon'
+import PropertyTitleIcon from './PropertyTitleIcon.vue'
export default {
name: 'PropertyTitle',
components: {
diff --git a/src/components/Properties/PropertyTitleIcon.vue b/src/components/Properties/PropertyTitleIcon.vue
index efa31792..b4c5e1a0 100644
--- a/src/components/Properties/PropertyTitleIcon.vue
+++ b/src/components/Properties/PropertyTitleIcon.vue
@@ -40,22 +40,22 @@
</template>
<script>
-import IconAdd from 'vue-material-design-icons/Plus'
-import IconAddressBook from '../Icons/IconAddressBook'
-import IconEmail from 'vue-material-design-icons/Email'
-import IconPhone from 'vue-material-design-icons/Cellphone'
-import IconDelete from 'vue-material-design-icons/Delete'
-import IconUser from 'vue-material-design-icons/Account'
-import IconNotes from 'vue-material-design-icons/Pencil'
-import IconGeo from 'vue-material-design-icons/MapMarker'
-import IconGroup from 'vue-material-design-icons/AccountMultiple'
-import IconUrl from 'vue-material-design-icons/Link'
-import IconBday from 'vue-material-design-icons/CalendarBlankOutline'
-import IconImpp from 'vue-material-design-icons/MessageReplyText'
-import IconSocialMedia from 'vue-material-design-icons/Heart'
-import IconRelationship from 'vue-material-design-icons/AccountSupervisor'
-import IconTz from 'vue-material-design-icons/Web'
-import IconLang from 'vue-material-design-icons/AccountVoice'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
+import IconAddressBook from '../Icons/IconAddressBook.vue'
+import IconEmail from 'vue-material-design-icons/Email.vue'
+import IconPhone from 'vue-material-design-icons/Cellphone.vue'
+import IconDelete from 'vue-material-design-icons/Delete.vue'
+import IconUser from 'vue-material-design-icons/Account.vue'
+import IconNotes from 'vue-material-design-icons/Pencil.vue'
+import IconGeo from 'vue-material-design-icons/MapMarker.vue'
+import IconGroup from 'vue-material-design-icons/AccountMultiple.vue'
+import IconUrl from 'vue-material-design-icons/Link.vue'
+import IconBday from 'vue-material-design-icons/CalendarBlankOutline.vue'
+import IconImpp from 'vue-material-design-icons/MessageReplyText.vue'
+import IconSocialMedia from 'vue-material-design-icons/Heart.vue'
+import IconRelationship from 'vue-material-design-icons/AccountSupervisor.vue'
+import IconTz from 'vue-material-design-icons/Web.vue'
+import IconLang from 'vue-material-design-icons/AccountVoice.vue'
export default {
name: 'PropertyTitleIcon',
components: {
diff --git a/src/main.js b/src/main.js
index e3122e08..85a3e7d0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -25,14 +25,14 @@ import { getRequestToken } from '@nextcloud/auth'
import { sync } from 'vuex-router-sync'
import Vue from 'vue'
-import App from './ContactsRoot'
-import router from './router'
-import store from './store'
-import logger from './services/logger'
+import App from './ContactsRoot.vue'
+import router from './router/index.js'
+import store from './store/index.js'
+import logger from './services/logger.js'
/** GLOBAL COMPONENTS AND DIRECTIVE */
import ClickOutside from 'vue-click-outside'
-import VTooltip from '@nextcloud/vue/dist/Directives/Tooltip'
+import VTooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'
// Global scss sheets
import '../css/contacts.scss'
diff --git a/src/mixins/CircleActionsMixin.js b/src/mixins/CircleActionsMixin.js
index d79b6511..ce1d8eb3 100644
--- a/src/mixins/CircleActionsMixin.js
+++ b/src/mixins/CircleActionsMixin.js
@@ -24,7 +24,7 @@ import { showError } from '@nextcloud/dialogs'
import { joinCircle } from '../services/circles.ts'
import Circle from '../models/circle.ts'
-import CopyToClipboardMixin from './CopyToClipboardMixin'
+import CopyToClipboardMixin from './CopyToClipboardMixin.js'
import Member from '../models/member.ts'
export default {
diff --git a/src/mixins/OrgChartsMixin.js b/src/mixins/OrgChartsMixin.js
index d3877b77..416958d9 100644
--- a/src/mixins/OrgChartsMixin.js
+++ b/src/mixins/OrgChartsMixin.js
@@ -19,7 +19,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-import { otherContacts } from '../utils/chartUtils'
+import { otherContacts } from '../utils/chartUtils.js'
export default {
methods: {
diff --git a/src/mixins/PropertyMixin.js b/src/mixins/PropertyMixin.js
index ebc63695..abd06bed 100644
--- a/src/mixins/PropertyMixin.js
+++ b/src/mixins/PropertyMixin.js
@@ -20,8 +20,8 @@
*
*/
import debounce from 'debounce'
-import Contact from '../models/contact'
-import { setPropertyAlias } from '../services/updateDesignSet'
+import Contact from '../models/contact.js'
+import { setPropertyAlias } from '../services/updateDesignSet.js'
export default {
props: {
diff --git a/src/models/contact.js b/src/models/contact.js
index 8c8bbdab..85c7be8c 100644
--- a/src/models/contact.js
+++ b/src/models/contact.js
@@ -24,8 +24,8 @@ import { v4 as uuid } from 'uuid'
import ICAL from 'ical.js'
import b64toBlob from 'b64-to-blob'
-import store from '../store'
-import updateDesignSet from '../services/updateDesignSet'
+import store from '../store/index.js'
+import updateDesignSet from '../services/updateDesignSet.js'
import sanitizeSVG from '@mattkrick/sanitize-svg'
/**
diff --git a/src/models/member.ts b/src/models/member.ts
index 0e2adc5c..c217cffd 100644
--- a/src/models/member.ts
+++ b/src/models/member.ts
@@ -22,7 +22,7 @@
import { MemberLevel, MemberLevels, MemberType, MemberTypes } from './constants'
import Circle from './circle'
-import logger from '../services/logger'
+import logger from '../services/logger.js'
export default class Member {
_data: any = {}
@@ -110,7 +110,7 @@ export default class Member {
/**
* Member level
- *
+ *
*/
get level(): MemberLevel {
return this._data.level
@@ -118,7 +118,7 @@ export default class Member {
/**
* Member request status
- *
+ *
*/
get status(): string {
return this._data.status
diff --git a/src/models/rfcProps.js b/src/models/rfcProps.js
index 861d74b0..145c5a9c 100644
--- a/src/models/rfcProps.js
+++ b/src/models/rfcProps.js
@@ -21,11 +21,11 @@
*/
import { VCardTime } from 'ical.js'
import { loadState } from '@nextcloud/initial-state'
-import { otherContacts } from '../utils/chartUtils'
+import { otherContacts } from '../utils/chartUtils.js'
-import ActionCopyNtoFN from '../components/Actions/ActionCopyNtoFN'
-import ActionToggleYear from '../components/Actions/ActionToggleYear'
-import zones from './zones'
+import ActionCopyNtoFN from '../components/Actions/ActionCopyNtoFN.vue'
+import ActionToggleYear from '../components/Actions/ActionToggleYear.vue'
+import zones from './zones.js'
// Load the default profile (for example, home or work) configured by the user
const defaultProfileState = loadState('contacts', 'defaultProfile', 'HOME')
diff --git a/src/router/index.js b/src/router/index.js
index e0fe4df7..6bc4a5a5 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -25,7 +25,7 @@ import Router from 'vue-router'
import { generateUrl } from '@nextcloud/router'
import { ROUTE_CIRCLE, ROUTE_CHART } from '../models/constants.ts'
-import Contacts from '../views/Contacts'
+import Contacts from '../views/Contacts.vue'
Vue.use(Router)
diff --git a/src/services/checks/badGenderType.js b/src/services/checks/badGenderType.js
index dc61f8ab..f8eb77eb 100644
--- a/src/services/checks/badGenderType.js
+++ b/src/services/checks/badGenderType.js
@@ -20,7 +20,7 @@
*
*/
-import rfcProps from '../../models/rfcProps'
+import rfcProps from '../../models/rfcProps.js'
// https://tools.ietf.org/html/rfc6350#section-6.2.7
diff --git a/src/services/checks/index.js b/src/services/checks/index.js
index 544c8571..e7c17dc7 100644
--- a/src/services/checks/index.js
+++ b/src/services/checks/index.js
@@ -20,10 +20,10 @@
*
*/
-import badGenderType from './badGenderType'
-import duplicateTypes from './duplicateTypes'
-import invalidREV from './invalidREV'
-import missingFN from './missingFN'
+import badGenderType from './badGenderType.js'
+import duplicateTypes from './duplicateTypes.js'
+import invalidREV from './invalidREV.js'
+import missingFN from './missingFN.js'
export default [
badGenderType,
diff --git a/src/services/parseVcf.js b/src/services/parseVcf.js
index 2ab0d045..620624e7 100644
--- a/src/services/parseVcf.js
+++ b/src/services/parseVcf.js
@@ -20,8 +20,8 @@
*
*/
-import Contact from '../models/contact'
-import Store from '../store/index'
+import Contact from '../models/contact.js'
+import Store from '../store/index.js'
/**
* Parse a vcf data string, add them to the store
diff --git a/src/services/validate.js b/src/services/validate.js
index 1bac5613..e169dfc6 100644
--- a/src/services/validate.js
+++ b/src/services/validate.js
@@ -20,8 +20,8 @@
*
*/
-import Contact from '../models/contact'
-import checks from './checks/'
+import Contact from '../models/contact.js'
+import checks from './checks/index.js'
/**
* @param contact
diff --git a/src/store/addressbooks.js b/src/store/addressbooks.js
index de1ea138..f338227e 100644
--- a/src/store/addressbooks.js
+++ b/src/store/addressbooks.js
@@ -26,10 +26,10 @@ import { showError } from '@nextcloud/dialogs'
import pLimit from 'p-limit'
import Vue from 'vue'
-import Contact, { MinimalContactProperties } from '../models/contact'
+import Contact, { MinimalContactProperties } from '../models/contact.js'
-import client from '../services/cdav'
-import parseVcf from '../services/parseVcf'
+import client from '../services/cdav.js'
+import parseVcf from '../services/parseVcf.js'
const addressbookModel = {
id: '',
diff --git a/src/store/circles.js b/src/store/circles.js
index d570eede..048e6a7f 100644
--- a/src/store/circles.js
+++ b/src/store/circles.js
@@ -37,10 +37,10 @@ import {
} from '../services/circles.ts'
import Member from '../models/member.ts'
import Circle from '../models/circle.ts'
-import logger from '../services/logger'
+import logger from '../services/logger.js'
const state = {
- /** @type {object.<string>} Circle */
+ /** @type {Object<string>} Circle */
circles: {},
}
diff --git a/src/store/contacts.js b/src/store/contacts.js
index 01521391..58b1c7c5 100644
--- a/src/store/contacts.js
+++ b/src/store/contacts.js
@@ -24,8 +24,8 @@ import { showError } from '@nextcloud/dialogs'
import ICAL from 'ical.js'
import Vue from 'vue'
-import Contact from '../models/contact'
-import validate from '../services/validate'
+import Contact from '../models/contact.js'
+import validate from '../services/validate.js'
/*
* Currently ical.js does not serialize parameters with multiple values correctly. This is
diff --git a/src/store/index.js b/src/store/index.js
index 9f7cb923..aa0240ce 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -23,13 +23,13 @@
import Vue from 'vue'
import Vuex, { Store } from 'vuex'
-import addressbooks from './addressbooks'
-import circles from './circles'
-import contacts from './contacts'
-import groups from './groups'
-import importState from './importState'
+import addressbooks from './addressbooks.js'
+import circles from './circles.js'
+import contacts from './contacts.js'
+import groups from './groups.js'
+import importState from './importState.js'
-import isCirclesEnabled from '../services/isCirclesEnabled'
+import isCirclesEnabled from '../services/isCirclesEnabled.js'
Vue.use(Vuex)
diff --git a/src/utils/fileUtils.js b/src/utils/fileUtils.js
index 61cadc32..56c47970 100644
--- a/src/utils/fileUtils.js
+++ b/src/utils/fileUtils.js
@@ -20,7 +20,7 @@
*
*/
import camelcase from 'camelcase'
-import { isNumber } from './numberUtils'
+import { isNumber } from './numberUtils.js'
export const formatObject = function(obj) {
const data = {}
diff --git a/src/utils/url.js b/src/utils/url.js
index 1040d03b..c7dd5aeb 100644
--- a/src/utils/url.js
+++ b/src/utils/url.js
@@ -25,7 +25,7 @@
*
* @see https://www.php.net/manual/en/function.urldecode.php
* @param {string} url The url to be decoded
- * @returns {string} The decoded url
+ * @return {string} The decoded url
*/
export function urldecode(url) {
return decodeURIComponent(url.replace(/\+/g, ' '))
diff --git a/src/views/Contacts.vue b/src/views/Contacts.vue
index fa6236de..4c425210 100644
--- a/src/views/Contacts.vue
+++ b/src/views/Contacts.vue
@@ -24,8 +24,7 @@
<template>
<Content :app-name="appName">
<!-- new-contact-button + navigation + settings -->
- <RootNavigation
- :contacts-list="contactsList"
+ <RootNavigation :contacts-list="contactsList"
:loading="loadingContacts || loadingCircles"
:selected-group="selectedGroup"
:selected-contact="selectedContact">
@@ -70,27 +69,27 @@
<script>
import { GROUP_ALL_CONTACTS, GROUP_NO_GROUP_CONTACTS, ROUTE_CIRCLE } from '../models/constants.ts'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
-import Content from '@nextcloud/vue/dist/Components/NcContent'
-import isMobile from '@nextcloud/vue/dist/Mixins/isMobile'
-import Modal from '@nextcloud/vue/dist/Components/NcModal'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
+import Content from '@nextcloud/vue/dist/Components/NcContent.js'
+import isMobile from '@nextcloud/vue/dist/Mixins/isMobile.js'
+import Modal from '@nextcloud/vue/dist/Components/NcModal.js'
import { showError } from '@nextcloud/dialogs'
import { VCardTime } from 'ical.js'
-import CircleContent from '../components/AppContent/CircleContent'
-import ChartContent from '../components/AppContent/ChartContent'
-import ContactsContent from '../components/AppContent/ContactsContent'
-import ContactsPicker from '../components/EntityPicker/ContactsPicker'
-import ImportView from './Processing/ImportView'
-import RootNavigation from '../components/AppNavigation/RootNavigation'
-import IconAdd from 'vue-material-design-icons/Plus'
+import CircleContent from '../components/AppContent/CircleContent.vue'
+import ChartContent from '../components/AppContent/ChartContent.vue'
+import ContactsContent from '../components/AppContent/ContactsContent.vue'
+import ContactsPicker from '../components/EntityPicker/ContactsPicker.vue'
+import ImportView from './Processing/ImportView.vue'
+import RootNavigation from '../components/AppNavigation/RootNavigation.vue'
+import IconAdd from 'vue-material-design-icons/Plus.vue'
-import Contact from '../models/contact'
-import rfcProps from '../models/rfcProps'
+import Contact from '../models/contact.js'
+import rfcProps from '../models/rfcProps.js'
-import client from '../services/cdav'
-import isCirclesEnabled from '../services/isCirclesEnabled'
+import client from '../services/cdav.js'
+import isCirclesEnabled from '../services/isCirclesEnabled.js'
export default {
name: 'Contacts',
diff --git a/src/views/Processing/AddToGroupView.vue b/src/views/Processing/AddToGroupView.vue
index 409bb706..3eb8495c 100644
--- a/src/views/Processing/AddToGroupView.vue
+++ b/src/views/Processing/AddToGroupView.vue
@@ -37,8 +37,8 @@
</template>
<script>
-import ProcessingScreen from '../../components/ProcessingScreen'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
+import ProcessingScreen from '../../components/ProcessingScreen.vue'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
export default {
name: 'AddToGroupView',
diff --git a/src/views/Processing/ImportView.vue b/src/views/Processing/ImportView.vue
index 4b62bafc..ca5891fc 100644
--- a/src/views/Processing/ImportView.vue
+++ b/src/views/Processing/ImportView.vue
@@ -37,8 +37,8 @@
</template>
<script>
-import ProcessingScreen from '../../components/ProcessingScreen'
-import Button from '@nextcloud/vue/dist/Components/NcButton'
+import ProcessingScreen from '../../components/ProcessingScreen.vue'
+import Button from '@nextcloud/vue/dist/Components/NcButton.js'
export default {
name: 'ImportView',