diff --git a/js/dist/admin.js b/js/dist/admin.js index 51f6019..a1fb4a2 100644 --- a/js/dist/admin.js +++ b/js/dist/admin.js @@ -1,602 +1,2 @@ -module.exports = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./admin.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./admin.js": -/*!******************!*\ - !*** ./admin.js ***! - \******************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _src_admin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./src/admin */ "./src/admin/index.js"); -/* empty/unused harmony star reexport */ - -/***/ }), - -/***/ "./src/admin/getCategories.js": -/*!************************************!*\ - !*** ./src/admin/getCategories.js ***! - \************************************/ -/*! exports provided: default, getVendors */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getCategories; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getVendors", function() { return getVendors; }); -function getCategories() { - switch (app.data.settings['sycho-ace.selected-categorization']) { - case 'none': - return { - none: 0 - }; - - case 'vendor': - return getVendors(); - - case 'availability': - return { - enabled: 10, - disabled: 0 - }; - - default: - return app.extensionCategories; - } -} -function getVendors() { - var vendors = {}; - var vendorsArray = []; - Object.keys(app.data.extensions).map(function (id) { - vendorsArray.push(id.split('-')[0]); - }); - vendorsArray.sort(function (a, b) { - return a === 'flarum' ? -1 : a > b ? 1 : a === b ? 0 : -1; - }); - var k = vendorsArray.length * 10; - vendorsArray.forEach(function (v) { - return vendors[v] = k -= 10; - }); - if (vendors.flarum) vendors.flarum = 5000; - return vendors; -} - -/***/ }), - -/***/ "./src/admin/getCategoryLabels.js": -/*!****************************************!*\ - !*** ./src/admin/getCategoryLabels.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getCategoryLabels; }); -/* harmony import */ var _getCategories__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getCategories */ "./src/admin/getCategories.js"); - -function getCategoryLabels() { - var labels = {}; - var categories = Object(_getCategories__WEBPACK_IMPORTED_MODULE_0__["default"])(); - Object.keys(categories).map(function (category) { - switch (app.data.settings['sycho-ace.selected-categorization']) { - case 'default': - labels[category] = app.translator.trans("core.admin.nav.categories." + category); - break; - - case 'vendor': - labels[category] = category; - break; - - default: - labels[category] = app.translator.trans("sycho-ace.admin.categories." + category); - } - }); - return labels; -} - -/***/ }), - -/***/ "./src/admin/index.js": -/*!****************************!*\ - !*** ./src/admin/index.js ***! - \****************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/common/extend */ "flarum/common/extend"); -/* harmony import */ var flarum_common_extend__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var flarum_admin_components_AdminNav__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! flarum/admin/components/AdminNav */ "flarum/admin/components/AdminNav"); -/* harmony import */ var flarum_admin_components_AdminNav__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_AdminNav__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var flarum_admin_components_ExtensionLinkButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flarum/admin/components/ExtensionLinkButton */ "flarum/admin/components/ExtensionLinkButton"); -/* harmony import */ var flarum_admin_components_ExtensionLinkButton__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_ExtensionLinkButton__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! flarum/admin/components/ExtensionsWidget */ "flarum/admin/components/ExtensionsWidget"); -/* harmony import */ var flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var flarum_admin_components_LoadingModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! flarum/admin/components/LoadingModal */ "flarum/admin/components/LoadingModal"); -/* harmony import */ var flarum_admin_components_LoadingModal__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_components_LoadingModal__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! flarum/common/utils/ItemList */ "flarum/common/utils/ItemList"); -/* harmony import */ var flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! flarum/common/components/Dropdown */ "flarum/common/components/Dropdown"); -/* harmony import */ var flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! flarum/common/components/Button */ "flarum/common/components/Button"); -/* harmony import */ var flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! flarum/common/helpers/icon */ "flarum/common/helpers/icon"); -/* harmony import */ var flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var flarum_admin_utils_saveSettings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! flarum/admin/utils/saveSettings */ "flarum/admin/utils/saveSettings"); -/* harmony import */ var flarum_admin_utils_saveSettings__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_utils_saveSettings__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! flarum/admin/utils/isExtensionEnabled */ "flarum/admin/utils/isExtensionEnabled"); -/* harmony import */ var flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! flarum/common/components/Link */ "flarum/common/components/Link"); -/* harmony import */ var flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(flarum_common_components_Link__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _overrideGetCategorizedExtensions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./overrideGetCategorizedExtensions */ "./src/admin/overrideGetCategorizedExtensions.js"); -/* harmony import */ var _getCategories__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./getCategories */ "./src/admin/getCategories.js"); -/* harmony import */ var _getCategoryLabels__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./getCategoryLabels */ "./src/admin/getCategoryLabels.js"); - - - - - - - - - - - - - - - -app.initializers.add('sycho-advanced-extension-categories', function (app) { - var categorizationOptions = { - "default": app.translator.trans('sycho-ace.admin.category_selection.options.default'), - vendor: app.translator.trans('sycho-ace.admin.category_selection.options.vendor'), - availability: app.translator.trans('sycho-ace.admin.category_selection.options.availability'), - none: app.translator.trans('sycho-ace.admin.category_selection.options.none') - }; - app.extensionData["for"]('sycho-advanced-extension-categories').registerSetting(function () { - var selectbox = this.buildSettingComponent({ - setting: 'sycho-ace.selected-categorization', - label: app.translator.trans('sycho-ace.admin.category_selection.label'), - type: 'select', - options: categorizationOptions, - "default": 'default' - }); - var originalSaveSettings = this.saveSettings; - - this.saveSettings = function (e) { - originalSaveSettings.call(this, e); - app.modal.show(flarum_admin_components_LoadingModal__WEBPACK_IMPORTED_MODULE_4___default.a); - window.location.reload(); - }; - - return selectbox; - }); - - var saveCategorization = function saveCategorization(value) { - flarum_admin_utils_saveSettings__WEBPACK_IMPORTED_MODULE_9___default()({ - 'sycho-ace.selected-categorization': value - }).then(function () { - return window.location.reload(); - }); - app.modal.show(flarum_admin_components_LoadingModal__WEBPACK_IMPORTED_MODULE_4___default.a); - }; - - app.extensionCategories = Object(_getCategories__WEBPACK_IMPORTED_MODULE_13__["default"])(); - var categoryLabels = Object(_getCategoryLabels__WEBPACK_IMPORTED_MODULE_14__["default"])(); - - flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3___default.a.prototype.controlItems = function () { - var _app$data$settings$sy; - - var items = new flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default.a(); - var selectedCategorization = (_app$data$settings$sy = app.data.settings['sycho-ace.selected-categorization']) != null ? _app$data$settings$sy : 'default'; - items.add('categorization', m("div", { - className: "ExtensionsWidget-control-item" - }, m(flarum_common_components_Dropdown__WEBPACK_IMPORTED_MODULE_6___default.a, { - buttonClassName: "Button", - label: app.translator.trans('sycho-ace.admin.category_selection.label') - }, Object.keys(categorizationOptions).map(function (key) { - return m(flarum_common_components_Button__WEBPACK_IMPORTED_MODULE_7___default.a, { - icon: selectedCategorization === key ? 'fas fa-check' : true, - active: selectedCategorization === key, - onclick: function onclick() { - return saveCategorization(key); - } - }, categorizationOptions[key]); - })))); - return items; - }; - - Object(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__["override"])(flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3___default.a.prototype, 'oninit', function () { - this.categorizedExtensions = Object(_overrideGetCategorizedExtensions__WEBPACK_IMPORTED_MODULE_12__["default"])(); - }); - Object(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__["override"])(flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3___default.a.prototype, 'content', function (original) { - return [m("div", { - className: "ExtensionsWidget-list-heading" - }, m("h2", { - className: "ExtensionsWidget-list-name" - }, m("span", { - className: "ExtensionsWidget-list-icon" - }, flarum_common_helpers_icon__WEBPACK_IMPORTED_MODULE_8___default()('fas fa-puzzle-piece')), m("span", { - className: "ExtensionsWidget-list-title" - }, app.translator.trans('sycho-ace.admin.extensions'))), m("div", { - className: "ExtensionsWidget-list-controls" - }, this.controlItems().toArray())), original()]; - }); - Object(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__["extend"])(flarum_admin_components_ExtensionsWidget__WEBPACK_IMPORTED_MODULE_3___default.a.prototype, 'extensionCategory', function (vnode, category) { - vnode.children[0].text = categoryLabels[category]; - }); - Object(flarum_common_extend__WEBPACK_IMPORTED_MODULE_0__["override"])(flarum_admin_components_AdminNav__WEBPACK_IMPORTED_MODULE_1___default.a.prototype, 'extensionItems', function () { - var _this = this; - - var items = new flarum_common_utils_ItemList__WEBPACK_IMPORTED_MODULE_5___default.a(); - var categorizedExtensions = Object(_overrideGetCategorizedExtensions__WEBPACK_IMPORTED_MODULE_12__["default"])(); - var categories = app.extensionCategories; - Object.keys(categorizedExtensions).map(function (category) { - if (!_this.query()) { - items.add("category-" + category, m("h4", { - className: "ExtensionListTitle" - }, categoryLabels[category]), categories[category]); - } - - categorizedExtensions[category].map(function (extension) { - var query = _this.query().toUpperCase(); - - var title = extension.extra['flarum-extension'].title; - - if (!query || title.toUpperCase().includes(query) || extension.description.toUpperCase().includes(query)) { - items.add("extension-" + extension.id, m(flarum_admin_components_ExtensionLinkButton__WEBPACK_IMPORTED_MODULE_2___default.a, { - href: app.route('extension', { - id: extension.id - }), - extensionId: extension.id, - className: "ExtensionNavButton", - title: extension.description - }, title), categories[category]); - } - }); - }); - return items; - }); -}, -999); - -/***/ }), - -/***/ "./src/admin/overrideGetCategorizedExtensions.js": -/*!*******************************************************!*\ - !*** ./src/admin/overrideGetCategorizedExtensions.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return overrideGetCategorizedExtensions; }); -/* harmony import */ var flarum_admin_utils_getCategorizedExtensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/admin/utils/getCategorizedExtensions */ "flarum/admin/utils/getCategorizedExtensions"); -/* harmony import */ var flarum_admin_utils_getCategorizedExtensions__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_utils_getCategorizedExtensions__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_getAlphabeticallyOrderedExtensions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/getAlphabeticallyOrderedExtensions */ "./src/admin/utils/getAlphabeticallyOrderedExtensions.js"); -/* harmony import */ var _utils_getVendorCategorizedExtensions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/getVendorCategorizedExtensions */ "./src/admin/utils/getVendorCategorizedExtensions.js"); -/* harmony import */ var _utils_getAvailabilityCategorizedExtensions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/getAvailabilityCategorizedExtensions */ "./src/admin/utils/getAvailabilityCategorizedExtensions.js"); - - - - -function overrideGetCategorizedExtensions() { - switch (app.data.settings['sycho-ace.selected-categorization']) { - case 'none': - return Object(_utils_getAlphabeticallyOrderedExtensions__WEBPACK_IMPORTED_MODULE_1__["default"])(); - - case 'vendor': - return Object(_utils_getVendorCategorizedExtensions__WEBPACK_IMPORTED_MODULE_2__["default"])(); - - case 'availability': - return Object(_utils_getAvailabilityCategorizedExtensions__WEBPACK_IMPORTED_MODULE_3__["default"])(); - - default: - return flarum_admin_utils_getCategorizedExtensions__WEBPACK_IMPORTED_MODULE_0___default()(); - } -} - -/***/ }), - -/***/ "./src/admin/utils/getAlphabeticallyOrderedExtensions.js": -/*!***************************************************************!*\ - !*** ./src/admin/utils/getAlphabeticallyOrderedExtensions.js ***! - \***************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getAlphabeticallyOrderedExtensions; }); -function getAlphabeticallyOrderedExtensions() { - var extensions = {}; - extensions.none = Object.values(app.data.extensions); - return extensions; -} - -/***/ }), - -/***/ "./src/admin/utils/getAvailabilityCategorizedExtensions.js": -/*!*****************************************************************!*\ - !*** ./src/admin/utils/getAvailabilityCategorizedExtensions.js ***! - \*****************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getAvailabilityCategorizedExtensions; }); -/* harmony import */ var flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! flarum/admin/utils/isExtensionEnabled */ "flarum/admin/utils/isExtensionEnabled"); -/* harmony import */ var flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_0__); - -function getAvailabilityCategorizedExtensions() { - var extensions = { - enabled: [], - disabled: [] - }; - Object.keys(app.data.extensions).map(function (id) { - var category = flarum_admin_utils_isExtensionEnabled__WEBPACK_IMPORTED_MODULE_0___default()(id) ? 'enabled' : 'disabled'; - extensions[category].push(app.data.extensions[id]); - }); - return extensions; -} - -/***/ }), - -/***/ "./src/admin/utils/getVendorCategorizedExtensions.js": -/*!***********************************************************!*\ - !*** ./src/admin/utils/getVendorCategorizedExtensions.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return getVendorCategorizedExtensions; }); -function getVendorCategorizedExtensions() { - var extensions = {}; - Object.keys(app.data.extensions).map(function (id) { - var vendor = id.split('-')[0]; - extensions[vendor] = extensions[vendor] || []; - extensions[vendor].push(app.data.extensions[id]); - }); - return extensions; -} - -/***/ }), - -/***/ "flarum/admin/components/AdminNav": -/*!******************************************************************!*\ - !*** external "flarum.core.compat['admin/components/AdminNav']" ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/components/AdminNav']; - -/***/ }), - -/***/ "flarum/admin/components/ExtensionLinkButton": -/*!*****************************************************************************!*\ - !*** external "flarum.core.compat['admin/components/ExtensionLinkButton']" ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/components/ExtensionLinkButton']; - -/***/ }), - -/***/ "flarum/admin/components/ExtensionsWidget": -/*!**************************************************************************!*\ - !*** external "flarum.core.compat['admin/components/ExtensionsWidget']" ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/components/ExtensionsWidget']; - -/***/ }), - -/***/ "flarum/admin/components/LoadingModal": -/*!**********************************************************************!*\ - !*** external "flarum.core.compat['admin/components/LoadingModal']" ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/components/LoadingModal']; - -/***/ }), - -/***/ "flarum/admin/utils/getCategorizedExtensions": -/*!*****************************************************************************!*\ - !*** external "flarum.core.compat['admin/utils/getCategorizedExtensions']" ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/utils/getCategorizedExtensions']; - -/***/ }), - -/***/ "flarum/admin/utils/isExtensionEnabled": -/*!***********************************************************************!*\ - !*** external "flarum.core.compat['admin/utils/isExtensionEnabled']" ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/utils/isExtensionEnabled']; - -/***/ }), - -/***/ "flarum/admin/utils/saveSettings": -/*!*****************************************************************!*\ - !*** external "flarum.core.compat['admin/utils/saveSettings']" ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['admin/utils/saveSettings']; - -/***/ }), - -/***/ "flarum/common/components/Button": -/*!*****************************************************************!*\ - !*** external "flarum.core.compat['common/components/Button']" ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/components/Button']; - -/***/ }), - -/***/ "flarum/common/components/Dropdown": -/*!*******************************************************************!*\ - !*** external "flarum.core.compat['common/components/Dropdown']" ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/components/Dropdown']; - -/***/ }), - -/***/ "flarum/common/components/Link": -/*!***************************************************************!*\ - !*** external "flarum.core.compat['common/components/Link']" ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/components/Link']; - -/***/ }), - -/***/ "flarum/common/extend": -/*!******************************************************!*\ - !*** external "flarum.core.compat['common/extend']" ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/extend']; - -/***/ }), - -/***/ "flarum/common/helpers/icon": -/*!************************************************************!*\ - !*** external "flarum.core.compat['common/helpers/icon']" ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/helpers/icon']; - -/***/ }), - -/***/ "flarum/common/utils/ItemList": -/*!**************************************************************!*\ - !*** external "flarum.core.compat['common/utils/ItemList']" ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = flarum.core.compat['common/utils/ItemList']; - -/***/ }) - -/******/ }); +module.exports=function(e){var t={};function n(o){if(t[o])return t[o].exports;var a=t[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(o,a,function(t){return e[t]}.bind(null,a));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=12)}([function(e,t){e.exports=flarum.core.compat["common/extend"]},function(e,t){e.exports=flarum.core.compat["admin/components/ExtensionsWidget"]},function(e,t){e.exports=flarum.core.compat["admin/components/LoadingModal"]},function(e,t){e.exports=flarum.core.compat["common/utils/ItemList"]},function(e,t){e.exports=flarum.core.compat["admin/components/AdminNav"]},function(e,t){e.exports=flarum.core.compat["admin/components/ExtensionLinkButton"]},function(e,t){e.exports=flarum.core.compat["common/components/Dropdown"]},function(e,t){e.exports=flarum.core.compat["common/components/Button"]},function(e,t){e.exports=flarum.core.compat["common/helpers/icon"]},function(e,t){e.exports=flarum.core.compat["admin/utils/saveSettings"]},function(e,t){e.exports=flarum.core.compat["admin/utils/getCategorizedExtensions"]},function(e,t){e.exports=flarum.core.compat["admin/utils/isExtensionEnabled"]},function(e,t,n){"use strict";n.r(t);var o=n(0),a=n(4),r=n.n(a),i=n(5),s=n.n(i),c=n(1),l=n.n(c),u=n(2),d=n.n(u),p=n(3),f=n.n(p),x=n(6),y=n.n(x),g=n(7),v=n.n(g),b=n(8),h=n.n(b),j=n(9),O=n.n(j),E=n(10),z=n.n(E);var w=n(11),_=n.n(w);function k(){switch(app.data.settings["sycho-ace.selected-categorization"]){case"none":return(e={}).none=Object.values(app.data.extensions),e;case"vendor":return function(){var e={};return Object.keys(app.data.extensions).map((function(t){var n=t.split("-")[0];e[n]=e[n]||[],e[n].push(app.data.extensions[t])})),e}();case"availability":return function(){var e={enabled:[],disabled:[]};return Object.keys(app.data.extensions).map((function(t){var n=_()(t)?"enabled":"disabled";e[n].push(app.data.extensions[t])})),e}();default:return z()()}var e}function N(){switch(app.data.settings["sycho-ace.selected-categorization"]){case"none":return{none:0};case"vendor":return function(){var e={},t=[];Object.keys(app.data.extensions).map((function(e){t.push(e.split("-")[0])})),t.sort((function(e,t){return"flarum"===e?-1:e>t?1:e===t?0:-1}));var n=10*t.length;t.forEach((function(t){return e[t]=n-=10})),e.flarum&&(e.flarum=5e3);return e}();case"availability":return{enabled:10,disabled:0};default:return app.extensionCategories}}function C(){var e={},t=N();return Object.keys(t).map((function(t){switch(app.data.settings["sycho-ace.selected-categorization"]){case"default":e[t]=app.translator.trans("core.admin.nav.categories."+t);break;case"vendor":e[t]=t;break;default:e[t]=app.translator.trans("sycho-ace.admin.categories."+t)}})),e}app.initializers.add("sycho-advanced-extension-categories",(function(e){var t={default:e.translator.trans("sycho-ace.admin.category_selection.options.default"),vendor:e.translator.trans("sycho-ace.admin.category_selection.options.vendor"),availability:e.translator.trans("sycho-ace.admin.category_selection.options.availability"),none:e.translator.trans("sycho-ace.admin.category_selection.options.none")};e.extensionData.for("sycho-advanced-extension-categories").registerSetting((function(){var n=this.buildSettingComponent({setting:"sycho-ace.selected-categorization",label:e.translator.trans("sycho-ace.admin.category_selection.label"),type:"select",options:t,default:"default"}),o=this.saveSettings;return this.saveSettings=function(t){o.call(this,t),e.modal.show(d.a),window.location.reload()},n}));e.extensionCategories=N(),e.categorizedExtensions=k();var n=C();l.a.prototype.controlItems=function(){var n,o=new f.a,a=null!=(n=e.data.settings["sycho-ace.selected-categorization"])?n:"default";return o.add("categorization",m("div",{className:"ExtensionsWidget-control-item"},m(y.a,{buttonClassName:"Button",label:e.translator.trans("sycho-ace.admin.category_selection.label")},Object.keys(t).map((function(n){return m(v.a,{icon:a!==n||"fas fa-check",active:a===n,onclick:function(){return t=n,O()({"sycho-ace.selected-categorization":t}).then((function(){return window.location.reload()})),void e.modal.show(d.a);var t}},t[n])}))))),o},Object(o.override)(l.a.prototype,"oninit",(function(){this.categorizedExtensions=e.categorizedExtensions})),Object(o.override)(l.a.prototype,"content",(function(t){return[m("div",{className:"ExtensionsWidget-list-heading"},m("h2",{className:"ExtensionsWidget-list-name"},m("span",{className:"ExtensionsWidget-list-icon"},h()("fas fa-puzzle-piece")),m("span",{className:"ExtensionsWidget-list-title"},e.translator.trans("sycho-ace.admin.extensions"))),m("div",{className:"ExtensionsWidget-list-controls"},this.controlItems().toArray())),t()]})),Object(o.extend)(l.a.prototype,"extensionCategory",(function(e,t){e.children[0].text=n[t]})),Object(o.override)(r.a.prototype,"extensionItems",(function(){var t=this,o=new f.a,a=k(),r=e.extensionCategories;return Object.keys(a).map((function(i){t.query()||o.add("category-"+i,m("h4",{className:"ExtensionListTitle"},n[i]),r[i]),a[i].map((function(n){var a=t.query().toUpperCase(),c=n.extra["flarum-extension"].title;(!a||c.toUpperCase().includes(a)||n.description.toUpperCase().includes(a))&&o.add("extension-"+n.id,m(s.a,{href:e.route("extension",{id:n.id}),extensionId:n.id,className:"ExtensionNavButton",title:n.description},c),r[i])}))})),o}))}),-999)}]); //# sourceMappingURL=admin.js.map \ No newline at end of file diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index bd8620c..93f5506 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://@sycho/flarum-advanced-extension-categories/webpack/bootstrap","webpack://@sycho/flarum-advanced-extension-categories/./admin.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/getCategories.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/getCategoryLabels.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/index.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/overrideGetCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getAlphabeticallyOrderedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getAvailabilityCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getVendorCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/AdminNav']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/ExtensionLinkButton']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/ExtensionsWidget']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/LoadingModal']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/getCategorizedExtensions']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/isExtensionEnabled']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/saveSettings']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/components/Button']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/components/Dropdown']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/components/Link']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/extend']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/helpers/icon']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/utils/ItemList']\""],"names":["getCategories","app","data","settings","none","getVendors","enabled","disabled","extensionCategories","vendors","vendorsArray","Object","keys","extensions","map","id","push","split","sort","a","b","k","length","forEach","v","flarum","getCategoryLabels","labels","categories","category","translator","trans","initializers","add","categorizationOptions","vendor","availability","extensionData","registerSetting","selectbox","buildSettingComponent","setting","label","type","options","originalSaveSettings","saveSettings","e","call","modal","show","LoadingModal","window","location","reload","saveCategorization","value","then","categoryLabels","ExtensionsWidget","prototype","controlItems","items","ItemList","selectedCategorization","key","override","categorizedExtensions","overrideGetCategorizedExtensions","original","icon","toArray","extend","vnode","children","text","AdminNav","query","extension","toUpperCase","title","extra","includes","description","route","getAlphabeticallyOrderedExtensions","getVendorCategorizedExtensions","getAvailabilityCategorizedExtensions","getCategorizedExtensions","values","isExtensionEnabled"],"mappings":"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","file":"admin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./admin.js\");\n","export * from './src/admin';\n","export default function getCategories() {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'none':\n return { none: 0 };\n\n case 'vendor':\n return getVendors();\n\n case 'availability':\n return { enabled: 10, disabled: 0 };\n\n default:\n return app.extensionCategories;\n }\n}\n\nexport function getVendors() {\n let vendors = {};\n let vendorsArray = [];\n\n Object.keys(app.data.extensions).map((id) => {\n vendorsArray.push(id.split('-')[0]);\n });\n\n vendorsArray.sort((a, b) => {\n return a === 'flarum' ? -1 : a > b ? 1 : a === b ? 0 : -1;\n });\n\n let k = vendorsArray.length * 10;\n vendorsArray.forEach((v) => (vendors[v] = k -= 10));\n\n if (vendors.flarum) vendors.flarum = 5000;\n\n return vendors;\n}\n","import getCategories from './getCategories';\n\nexport default function getCategoryLabels() {\n let labels = {};\n const categories = getCategories();\n\n Object.keys(categories).map((category) => {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'default':\n labels[category] = app.translator.trans(`core.admin.nav.categories.${category}`);\n break;\n\n case 'vendor':\n labels[category] = category;\n break;\n\n default:\n labels[category] = app.translator.trans(`sycho-ace.admin.categories.${category}`);\n }\n });\n\n return labels;\n}\n","import { override, extend } from 'flarum/common/extend';\nimport AdminNav from 'flarum/admin/components/AdminNav';\nimport ExtensionLinkButton from 'flarum/admin/components/ExtensionLinkButton';\nimport ExtensionsWidget from 'flarum/admin/components/ExtensionsWidget';\nimport LoadingModal from 'flarum/admin/components/LoadingModal';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Button from 'flarum/common/components/Button';\nimport icon from 'flarum/common/helpers/icon';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled';\nimport Link from 'flarum/common/components/Link';\nimport overrideGetCategorizedExtensions from './overrideGetCategorizedExtensions';\nimport getCategories from './getCategories';\nimport getCategoryLabels from './getCategoryLabels';\n\napp.initializers.add(\n 'sycho-advanced-extension-categories',\n (app) => {\n const categorizationOptions = {\n default: app.translator.trans('sycho-ace.admin.category_selection.options.default'),\n vendor: app.translator.trans('sycho-ace.admin.category_selection.options.vendor'),\n availability: app.translator.trans('sycho-ace.admin.category_selection.options.availability'),\n none: app.translator.trans('sycho-ace.admin.category_selection.options.none'),\n };\n\n app.extensionData.for('sycho-advanced-extension-categories').registerSetting(function () {\n const selectbox = this.buildSettingComponent({\n setting: 'sycho-ace.selected-categorization',\n label: app.translator.trans('sycho-ace.admin.category_selection.label'),\n type: 'select',\n options: categorizationOptions,\n default: 'default',\n });\n\n const originalSaveSettings = this.saveSettings;\n this.saveSettings = function (e) {\n originalSaveSettings.call(this, e);\n app.modal.show(LoadingModal);\n window.location.reload();\n };\n\n return selectbox;\n });\n\n const saveCategorization = (value) => {\n saveSettings({\n 'sycho-ace.selected-categorization': value,\n }).then(() => window.location.reload());\n\n app.modal.show(LoadingModal);\n };\n\n app.extensionCategories = getCategories();\n const categoryLabels = getCategoryLabels();\n\n ExtensionsWidget.prototype.controlItems = function () {\n const items = new ItemList();\n\n const selectedCategorization = app.data.settings['sycho-ace.selected-categorization'] ?? 'default';\n\n items.add(\n 'categorization',\n
\n \n {Object.keys(categorizationOptions).map((key) => (\n saveCategorization(key)}\n >\n {categorizationOptions[key]}\n \n ))}\n \n
\n );\n\n return items;\n };\n\n override(ExtensionsWidget.prototype, 'oninit', function () {\n this.categorizedExtensions = overrideGetCategorizedExtensions();\n });\n\n override(ExtensionsWidget.prototype, 'content', function (original) {\n return [\n
\n

\n {icon('fas fa-puzzle-piece')}\n {app.translator.trans('sycho-ace.admin.extensions')}\n

\n
{this.controlItems().toArray()}
\n
,\n original()\n ];\n });\n\n extend(ExtensionsWidget.prototype, 'extensionCategory', function (vnode, category) {\n vnode.children[0].text = categoryLabels[category];\n });\n\n override(AdminNav.prototype, 'extensionItems', function () {\n const items = new ItemList();\n\n const categorizedExtensions = overrideGetCategorizedExtensions();\n const categories = app.extensionCategories;\n\n Object.keys(categorizedExtensions).map((category) => {\n if (!this.query()) {\n items.add(`category-${category}`,

{categoryLabels[category]}

, categories[category]);\n }\n\n categorizedExtensions[category].map((extension) => {\n const query = this.query().toUpperCase();\n const title = extension.extra['flarum-extension'].title;\n\n if (!query || title.toUpperCase().includes(query) || extension.description.toUpperCase().includes(query)) {\n items.add(\n `extension-${extension.id}`,\n \n {title}\n ,\n categories[category]\n );\n }\n });\n });\n\n return items;\n });\n },\n -999\n);\n","import getCategorizedExtensions from 'flarum/admin/utils/getCategorizedExtensions';\nimport getAlphabeticallyOrderedExtensions from './utils/getAlphabeticallyOrderedExtensions';\nimport getVendorCategorizedExtensions from './utils/getVendorCategorizedExtensions';\nimport getAvailabilityCategorizedExtensions from './utils/getAvailabilityCategorizedExtensions';\n\nexport default function overrideGetCategorizedExtensions() {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'none':\n return getAlphabeticallyOrderedExtensions();\n\n case 'vendor':\n return getVendorCategorizedExtensions();\n\n case 'availability':\n return getAvailabilityCategorizedExtensions();\n\n default:\n return getCategorizedExtensions();\n }\n}\n","export default function getAlphabeticallyOrderedExtensions() {\n let extensions = {};\n\n extensions.none = Object.values(app.data.extensions);\n\n return extensions;\n}\n","import isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled';\n\nexport default function getAvailabilityCategorizedExtensions() {\n let extensions = {enabled: [], disabled: []};\n\n Object.keys(app.data.extensions).map((id) => {\n const category = isExtensionEnabled(id) ? 'enabled' : 'disabled';\n\n extensions[category].push(app.data.extensions[id]);\n });\n\n return extensions;\n}\n","export default function getVendorCategorizedExtensions() {\n let extensions = {};\n\n Object.keys(app.data.extensions).map((id) => {\n const vendor = id.split('-')[0];\n\n extensions[vendor] = extensions[vendor] || [];\n extensions[vendor].push(app.data.extensions[id]);\n });\n\n return extensions;\n}\n","module.exports = flarum.core.compat['admin/components/AdminNav'];","module.exports = flarum.core.compat['admin/components/ExtensionLinkButton'];","module.exports = flarum.core.compat['admin/components/ExtensionsWidget'];","module.exports = flarum.core.compat['admin/components/LoadingModal'];","module.exports = flarum.core.compat['admin/utils/getCategorizedExtensions'];","module.exports = flarum.core.compat['admin/utils/isExtensionEnabled'];","module.exports = flarum.core.compat['admin/utils/saveSettings'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Link'];","module.exports = flarum.core.compat['common/extend'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['common/utils/ItemList'];"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://@sycho/flarum-advanced-extension-categories/webpack/bootstrap","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/extend']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/ExtensionsWidget']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/LoadingModal']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/utils/ItemList']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/AdminNav']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/components/ExtensionLinkButton']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/components/Dropdown']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/components/Button']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['common/helpers/icon']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/saveSettings']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/getCategorizedExtensions']\"","webpack://@sycho/flarum-advanced-extension-categories/external \"flarum.core.compat['admin/utils/isExtensionEnabled']\"","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/overrideGetCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getAlphabeticallyOrderedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getVendorCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/utils/getAvailabilityCategorizedExtensions.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/getCategories.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/getCategoryLabels.js","webpack://@sycho/flarum-advanced-extension-categories/./src/admin/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","overrideGetCategorizedExtensions","app","data","settings","extensions","none","values","keys","map","id","vendor","split","push","getVendorCategorizedExtensions","enabled","disabled","category","isExtensionEnabled","getAvailabilityCategorizedExtensions","getCategorizedExtensions","getCategories","vendors","vendorsArray","sort","a","b","k","length","forEach","v","getVendors","extensionCategories","getCategoryLabels","labels","categories","translator","trans","initializers","add","categorizationOptions","default","availability","extensionData","registerSetting","selectbox","this","buildSettingComponent","setting","label","type","options","originalSaveSettings","saveSettings","e","modal","show","LoadingModal","window","location","reload","categorizedExtensions","categoryLabels","ExtensionsWidget","controlItems","items","ItemList","selectedCategorization","className","buttonClassName","icon","active","onclick","then","override","original","toArray","extend","vnode","children","text","AdminNav","query","extension","toUpperCase","title","extra","includes","description","href","route","extensionId"],"mappings":"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","file":"admin.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n","module.exports = flarum.core.compat['common/extend'];","module.exports = flarum.core.compat['admin/components/ExtensionsWidget'];","module.exports = flarum.core.compat['admin/components/LoadingModal'];","module.exports = flarum.core.compat['common/utils/ItemList'];","module.exports = flarum.core.compat['admin/components/AdminNav'];","module.exports = flarum.core.compat['admin/components/ExtensionLinkButton'];","module.exports = flarum.core.compat['common/components/Dropdown'];","module.exports = flarum.core.compat['common/components/Button'];","module.exports = flarum.core.compat['common/helpers/icon'];","module.exports = flarum.core.compat['admin/utils/saveSettings'];","module.exports = flarum.core.compat['admin/utils/getCategorizedExtensions'];","module.exports = flarum.core.compat['admin/utils/isExtensionEnabled'];","import getCategorizedExtensions from 'flarum/admin/utils/getCategorizedExtensions';\nimport getAlphabeticallyOrderedExtensions from './utils/getAlphabeticallyOrderedExtensions';\nimport getVendorCategorizedExtensions from './utils/getVendorCategorizedExtensions';\nimport getAvailabilityCategorizedExtensions from './utils/getAvailabilityCategorizedExtensions';\n\nexport default function overrideGetCategorizedExtensions() {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'none':\n return getAlphabeticallyOrderedExtensions();\n\n case 'vendor':\n return getVendorCategorizedExtensions();\n\n case 'availability':\n return getAvailabilityCategorizedExtensions();\n\n default:\n return getCategorizedExtensions();\n }\n}\n","export default function getAlphabeticallyOrderedExtensions() {\n let extensions = {};\n\n extensions.none = Object.values(app.data.extensions);\n\n return extensions;\n}\n","export default function getVendorCategorizedExtensions() {\n let extensions = {};\n\n Object.keys(app.data.extensions).map((id) => {\n const vendor = id.split('-')[0];\n\n extensions[vendor] = extensions[vendor] || [];\n extensions[vendor].push(app.data.extensions[id]);\n });\n\n return extensions;\n}\n","import isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled';\n\nexport default function getAvailabilityCategorizedExtensions() {\n let extensions = {enabled: [], disabled: []};\n\n Object.keys(app.data.extensions).map((id) => {\n const category = isExtensionEnabled(id) ? 'enabled' : 'disabled';\n\n extensions[category].push(app.data.extensions[id]);\n });\n\n return extensions;\n}\n","export default function getCategories() {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'none':\n return { none: 0 };\n\n case 'vendor':\n return getVendors();\n\n case 'availability':\n return { enabled: 10, disabled: 0 };\n\n default:\n return app.extensionCategories;\n }\n}\n\nexport function getVendors() {\n let vendors = {};\n let vendorsArray = [];\n\n Object.keys(app.data.extensions).map((id) => {\n vendorsArray.push(id.split('-')[0]);\n });\n\n vendorsArray.sort((a, b) => {\n return a === 'flarum' ? -1 : a > b ? 1 : a === b ? 0 : -1;\n });\n\n let k = vendorsArray.length * 10;\n vendorsArray.forEach((v) => (vendors[v] = k -= 10));\n\n if (vendors.flarum) vendors.flarum = 5000;\n\n return vendors;\n}\n","import getCategories from './getCategories';\n\nexport default function getCategoryLabels() {\n let labels = {};\n const categories = getCategories();\n\n Object.keys(categories).map((category) => {\n switch (app.data.settings['sycho-ace.selected-categorization']) {\n case 'default':\n labels[category] = app.translator.trans(`core.admin.nav.categories.${category}`);\n break;\n\n case 'vendor':\n labels[category] = category;\n break;\n\n default:\n labels[category] = app.translator.trans(`sycho-ace.admin.categories.${category}`);\n }\n });\n\n return labels;\n}\n","import { override, extend } from 'flarum/common/extend';\nimport AdminNav from 'flarum/admin/components/AdminNav';\nimport ExtensionLinkButton from 'flarum/admin/components/ExtensionLinkButton';\nimport ExtensionsWidget from 'flarum/admin/components/ExtensionsWidget';\nimport LoadingModal from 'flarum/admin/components/LoadingModal';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Dropdown from 'flarum/common/components/Dropdown';\nimport Button from 'flarum/common/components/Button';\nimport icon from 'flarum/common/helpers/icon';\nimport saveSettings from 'flarum/admin/utils/saveSettings';\nimport overrideGetCategorizedExtensions from './overrideGetCategorizedExtensions';\nimport getCategories from './getCategories';\nimport getCategoryLabels from './getCategoryLabels';\n\napp.initializers.add(\n 'sycho-advanced-extension-categories',\n (app) => {\n const categorizationOptions = {\n default: app.translator.trans('sycho-ace.admin.category_selection.options.default'),\n vendor: app.translator.trans('sycho-ace.admin.category_selection.options.vendor'),\n availability: app.translator.trans('sycho-ace.admin.category_selection.options.availability'),\n none: app.translator.trans('sycho-ace.admin.category_selection.options.none'),\n };\n\n app.extensionData.for('sycho-advanced-extension-categories').registerSetting(function () {\n const selectbox = this.buildSettingComponent({\n setting: 'sycho-ace.selected-categorization',\n label: app.translator.trans('sycho-ace.admin.category_selection.label'),\n type: 'select',\n options: categorizationOptions,\n default: 'default',\n });\n\n const originalSaveSettings = this.saveSettings;\n this.saveSettings = function (e) {\n originalSaveSettings.call(this, e);\n app.modal.show(LoadingModal);\n window.location.reload();\n };\n\n return selectbox;\n });\n\n const saveCategorization = (value) => {\n saveSettings({\n 'sycho-ace.selected-categorization': value,\n }).then(() => window.location.reload());\n\n app.modal.show(LoadingModal);\n };\n\n app.extensionCategories = getCategories();\n app.categorizedExtensions = overrideGetCategorizedExtensions();\n const categoryLabels = getCategoryLabels();\n\n ExtensionsWidget.prototype.controlItems = function () {\n const items = new ItemList();\n\n const selectedCategorization = app.data.settings['sycho-ace.selected-categorization'] ?? 'default';\n\n items.add(\n 'categorization',\n
\n \n {Object.keys(categorizationOptions).map((key) => (\n saveCategorization(key)}\n >\n {categorizationOptions[key]}\n \n ))}\n \n
\n );\n\n return items;\n };\n\n override(ExtensionsWidget.prototype, 'oninit', function () {\n this.categorizedExtensions = app.categorizedExtensions;\n });\n\n override(ExtensionsWidget.prototype, 'content', function (original) {\n return [\n
\n

\n {icon('fas fa-puzzle-piece')}\n {app.translator.trans('sycho-ace.admin.extensions')}\n

\n
{this.controlItems().toArray()}
\n
,\n original()\n ];\n });\n\n extend(ExtensionsWidget.prototype, 'extensionCategory', function (vnode, category) {\n vnode.children[0].text = categoryLabels[category];\n });\n\n override(AdminNav.prototype, 'extensionItems', function () {\n const items = new ItemList();\n\n const categorizedExtensions = overrideGetCategorizedExtensions();\n const categories = app.extensionCategories;\n\n Object.keys(categorizedExtensions).map((category) => {\n if (!this.query()) {\n items.add(`category-${category}`,

{categoryLabels[category]}

, categories[category]);\n }\n\n categorizedExtensions[category].map((extension) => {\n const query = this.query().toUpperCase();\n const title = extension.extra['flarum-extension'].title;\n\n if (!query || title.toUpperCase().includes(query) || extension.description.toUpperCase().includes(query)) {\n items.add(\n `extension-${extension.id}`,\n \n {title}\n ,\n categories[category]\n );\n }\n });\n });\n\n return items;\n });\n },\n -999\n);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/package-lock.json b/js/package-lock.json index ccc9ee4..512a2b0 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -931,11 +931,10 @@ "to-fast-properties": "^2.0.0" } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "@types/parse-json": { "version": "4.0.0", @@ -1111,14 +1110,14 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" }, "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1132,9 +1131,9 @@ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", - "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==" + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "ansi-regex": { "version": "4.1.0", @@ -1150,9 +1149,9 @@ } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "optional": true, "requires": { "normalize-path": "^3.0.0", @@ -1185,19 +1184,20 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -1242,14 +1242,87 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, "babel-plugin-dynamic-import-node": { @@ -1261,9 +1334,9 @@ } }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", @@ -1316,9 +1389,9 @@ } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "big.js": { "version": "5.2.2", @@ -1326,9 +1399,9 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "optional": true }, "bluebird": { @@ -1337,9 +1410,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "brace-expansion": { "version": "1.1.11", @@ -1417,31 +1490,24 @@ } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - } } }, "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", + "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", @@ -1573,19 +1639,19 @@ } }, "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.5.0" }, "dependencies": { "braces": { @@ -1629,12 +1695,9 @@ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" }, "ci-info": { "version": "2.0.0", @@ -1799,31 +1862,31 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "requires": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -1975,9 +2038,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -2003,23 +2066,23 @@ "integrity": "sha512-cm2WzMKf/3dW5+hNANKm8GAW6SwIWOqLTJ6GPCD0Bbw1qJ9Wzm9nmx9M+byzSsgw8CdCv5fb/wzLFqVS5h6QrA==" }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -2099,11 +2162,18 @@ } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } } }, "estraverse": { @@ -2117,9 +2187,9 @@ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -2316,12 +2386,12 @@ } }, "find-versions": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", - "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", "dev": true, "requires": { - "semver-regex": "^2.0.0" + "semver-regex": "^3.1.2" } }, "findup-sync": { @@ -2399,9 +2469,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "optional": true }, "function-bind": { @@ -2438,9 +2508,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "optional": true, "requires": { "is-glob": "^4.0.1" @@ -2587,37 +2657,36 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "husky": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz", - "integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", "dev": true, "requires": { "chalk": "^4.0.0", "ci-info": "^2.0.0", "compare-versions": "^3.6.0", - "cosmiconfig": "^6.0.0", - "find-versions": "^3.2.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^4.2.0", + "pkg-dir": "^5.0.0", "please-upgrade-node": "^3.2.0", "slash": "^3.0.0", "which-pm-runs": "^1.0.0" }, "dependencies": { "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -2640,12 +2709,12 @@ "dev": true }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "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, "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, @@ -2656,21 +2725,30 @@ "dev": true }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "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, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" + } + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "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, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "path-exists": { @@ -2680,18 +2758,18 @@ "dev": true }, "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "requires": { - "find-up": "^4.0.0" + "find-up": "^5.0.0" } }, "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -2700,9 +2778,9 @@ } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "iferr": { "version": "0.1.5", @@ -2710,9 +2788,9 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -2761,9 +2839,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "interpret": { "version": "1.4.0", @@ -2940,6 +3018,12 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -3103,9 +3187,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -3169,18 +3253,11 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "minimist": "^1.2.5" } }, "move-concurrently": { @@ -3220,9 +3297,9 @@ } }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nice-try": { "version": "1.0.5", @@ -3417,27 +3494,26 @@ } }, "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" } }, "parse-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", - "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", + "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, @@ -3489,9 +3565,9 @@ "dev": true }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -3501,9 +3577,9 @@ } }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "optional": true }, "pify": { @@ -3578,9 +3654,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" } } }, @@ -3661,9 +3737,9 @@ } }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "optional": true, "requires": { "picomatch": "^2.2.1" @@ -3854,6 +3930,11 @@ "ret": "~0.1.10" } }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -3876,15 +3957,15 @@ "dev": true }, "semver-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", - "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.2.tgz", + "integrity": "sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA==", "dev": true }, "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "requires": { "randombytes": "^2.1.0" } @@ -4110,9 +4191,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "requires": { "figgy-pudding": "^3.5.1" } @@ -4228,15 +4309,15 @@ } }, "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", @@ -4260,9 +4341,9 @@ } }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "requires": { "setimmediate": "^1.0.4" } @@ -4315,11 +4396,6 @@ "repeat-string": "^1.6.1" } }, - "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" - }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -4424,9 +4500,9 @@ "optional": true }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -4488,20 +4564,20 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "requires": { - "chokidar": "^3.4.0", + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "watchpack-chokidar2": "^2.0.1" } }, "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "optional": true, "requires": { "chokidar": "^2.1.8" @@ -4604,9 +4680,9 @@ } }, "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "requires": { "@webassemblyjs/ast": "1.9.0", "@webassemblyjs/helper-module-context": "1.9.0", @@ -4616,7 +4692,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -4629,10 +4705,31 @@ "schema-utils": "^1.0.0", "tapable": "^1.1.3", "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", + "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" }, "dependencies": { + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -4735,9 +4832,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" }, "yallist": { "version": "3.1.1", @@ -4745,9 +4842,9 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { @@ -4775,6 +4872,12 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.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 } } } diff --git a/js/package.json b/js/package.json index eca2c16..5e526a0 100644 --- a/js/package.json +++ b/js/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "dependencies": { "flarum-webpack-config": "^0.1.0-beta.10", - "webpack": "^4.43.0", + "webpack": "^4.46.0", "webpack-cli": "^3.3.12" }, "scripts": { @@ -18,7 +18,7 @@ } }, "devDependencies": { - "husky": "^4.2.5", + "husky": "^4.3.8", "prettier": "2.0.2" } } diff --git a/js/src/admin/index.js b/js/src/admin/index.js index b742b6a..668a848 100644 --- a/js/src/admin/index.js +++ b/js/src/admin/index.js @@ -8,8 +8,6 @@ import Dropdown from 'flarum/common/components/Dropdown'; import Button from 'flarum/common/components/Button'; import icon from 'flarum/common/helpers/icon'; import saveSettings from 'flarum/admin/utils/saveSettings'; -import isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled'; -import Link from 'flarum/common/components/Link'; import overrideGetCategorizedExtensions from './overrideGetCategorizedExtensions'; import getCategories from './getCategories'; import getCategoryLabels from './getCategoryLabels'; @@ -52,6 +50,7 @@ app.initializers.add( }; app.extensionCategories = getCategories(); + app.categorizedExtensions = overrideGetCategorizedExtensions(); const categoryLabels = getCategoryLabels(); ExtensionsWidget.prototype.controlItems = function () { @@ -80,7 +79,7 @@ app.initializers.add( }; override(ExtensionsWidget.prototype, 'oninit', function () { - this.categorizedExtensions = overrideGetCategorizedExtensions(); + this.categorizedExtensions = app.categorizedExtensions; }); override(ExtensionsWidget.prototype, 'content', function (original) { @@ -92,7 +91,7 @@ app.initializers.add(
{this.controlItems().toArray()}
, - original() + original(), ]; }); diff --git a/js/src/admin/utils/getAvailabilityCategorizedExtensions.js b/js/src/admin/utils/getAvailabilityCategorizedExtensions.js index 0435ce2..0c3f1ea 100644 --- a/js/src/admin/utils/getAvailabilityCategorizedExtensions.js +++ b/js/src/admin/utils/getAvailabilityCategorizedExtensions.js @@ -1,7 +1,7 @@ import isExtensionEnabled from 'flarum/admin/utils/isExtensionEnabled'; export default function getAvailabilityCategorizedExtensions() { - let extensions = {enabled: [], disabled: []}; + let extensions = { enabled: [], disabled: [] }; Object.keys(app.data.extensions).map((id) => { const category = isExtensionEnabled(id) ? 'enabled' : 'disabled';