From b294bcce6345d96a1bd8b90854841f31683ca767 Mon Sep 17 00:00:00 2001 From: Isabelle Date: Fri, 8 May 2026 09:17:13 +0200 Subject: [PATCH] WIP on fix-config --- is_themecore/is_themecore/.DS_Store | Bin 0 -> 6148 bytes .../is_themecore/.php-cs-fixer.dist.php | 9 + .../LICENSE => is_themecore/LICENSE.md} | 0 is_themecore/is_themecore/Makefile | 21 + is_themecore/is_themecore/README.md | 96 + is_themecore/is_themecore/_module_dev/.nvmrc | 1 + .../_module_dev/package-lock.json | 3049 +++++++++++++++++ .../is_themecore/_module_dev/package.json | 20 + .../is_themecore/_module_dev/src/index.js | 10 + .../_module_dev/webpack.config.js | 26 + .../is_themecore/_theme_dev/.eslintignore | 4 + .../is_themecore/_theme_dev/.eslintrc.js | 27 + is_themecore/is_themecore/_theme_dev/.nvmrc | 1 + .../is_themecore/_theme_dev/.stylelintrc.json | 6 + .../is_themecore/_theme_dev/index.php | 11 + .../is_themecore/_theme_dev/package.json | 21 + .../is_themecore/_theme_dev/src/index.php | 11 + .../is_themecore/_theme_dev/src/js/index.php | 11 + .../_theme_dev/src/js/listing/index.js | 58 + .../_theme_dev/src/js/listing/index.php | 11 + .../is_themecore/_theme_dev/yarn.lock | 2096 +++++++++++ is_themecore/is_themecore/composer.json | 33 + is_themecore/is_themecore/composer.lock | 2788 +++++++++++++++ .../is_themecore/config/admin/services.yml | 75 + is_themecore/is_themecore/config/common.yml | 39 + .../is_themecore/config/front/services.yml | 81 + is_themecore/is_themecore/config/index.php | 11 + is_themecore/is_themecore/config/routes.yml | 30 + is_themecore/is_themecore/config_nl.xml | 11 + .../controllers/front/ajaxTheme.php | 35 + .../is_themecore/controllers/front/index.php | 11 + .../is_themecore/controllers/index.php | 11 + is_themecore/is_themecore/index.php | 11 + is_themecore/is_themecore/is_themecore.php | 212 ++ is_themecore/is_themecore/logo.png | Bin 0 -> 10578 bytes is_themecore/is_themecore/public/partytown.js | 1 + .../~partytown/debug/partytown-atomics.js | 1 + .../~partytown/debug/partytown-media.js | 1 + .../~partytown/debug/partytown-sandbox-sw.js | 1 + .../public/~partytown/debug/partytown-sw.js | 1 + .../~partytown/debug/partytown-ww-atomics.js | 1 + .../~partytown/debug/partytown-ww-sw.js | 1 + .../public/~partytown/debug/partytown.js | 1 + .../public/~partytown/partytown-atomics.js | 1 + .../public/~partytown/partytown-media.js | 1 + .../public/~partytown/partytown-sw.js | 1 + .../public/~partytown/partytown.js | 1 + .../Controller/Admin/SettingsController.php | 183 + .../src/Controller/Admin/index.php | 11 + .../src/Controller/Front/index.php | 11 + .../is_themecore/src/Controller/index.php | 11 + .../src/Core/Breadcrumbs/ThemeBreadcrumbs.php | 80 + .../src/Core/Breadcrumbs/index.php | 11 + .../src/Core/Htaccess/HtaccessGenerator.php | 233 ++ .../is_themecore/src/Core/Htaccess/index.php | 11 + .../Core/ListingDisplay/ThemeListDisplay.php | 60 + .../src/Core/ListingDisplay/index.php | 11 + .../src/Core/Partytown/FilesInstallation.php | 54 + .../src/Core/Partytown/PartytownScript.php | 36 + .../Partytown/PartytownScriptUriResolver.php | 21 + .../src/Core/Smarty/SmartyHelperFunctions.php | 303 ++ .../StructuredData/AbstractStructuredData.php | 45 + .../BreadcrumbStructuredData.php | 11 + .../StructuredDataBreadcrumbPresenter.php | 38 + .../StructuredDataPresenterInterface.php | 15 + .../StructuredDataProductPresenter.php | 166 + .../Presenter/StructuredDataShopPresenter.php | 75 + .../StructuredDataWebsitePresenter.php | 35 + .../StructuredData/ProductStructuredData.php | 11 + .../StructuredDataBreadcrumbProvider.php | 18 + .../StructuredDataProductProvider.php | 51 + .../StructuredDataProviderInterface.php | 13 + .../Provider/StructuredDataShopProvider.php | 18 + .../StructuredDataWebsiteProvider.php | 18 + .../StructuredData/ShopStructuredData.php | 11 + .../StructuredDataInterface.php | 15 + .../StructuredData/WebsiteStructuredData.php | 11 + .../ThemeAssets/ThemeAssetConfigProvider.php | 61 + .../Core/ThemeAssets/ThemeAssetsRegister.php | 140 + .../src/Core/Webp/RelatedImageFileFinder.php | 38 + .../src/Core/Webp/WebpConvertLibraries.php | 60 + .../src/Core/Webp/WebpFilesEraser.php | 79 + .../src/Core/Webp/WebpGenerator.php | 110 + .../src/Core/Webp/WebpPictureGenerator.php | 109 + .../is_themecore/src/Core/Webp/index.php | 11 + is_themecore/is_themecore/src/Core/index.php | 11 + .../ListDisplayChoiceProvider.php | 36 + .../WebpLibraryChoiceProvider.php | 50 + .../src/Form/ChoiceProvider/index.php | 11 + .../Form/Settings/GeneralConfiguration.php | 132 + .../Form/Settings/GeneralFormDataProvider.php | 49 + .../src/Form/Settings/GeneralType.php | 104 + .../src/Form/Settings/WebpConfiguration.php | 131 + .../Form/Settings/WebpFormDataProvider.php | 49 + .../src/Form/Settings/WebpType.php | 247 ++ .../is_themecore/src/Form/Settings/index.php | 11 + is_themecore/is_themecore/src/Form/index.php | 11 + .../is_themecore/src/Hook/AbstractHook.php | 25 + is_themecore/is_themecore/src/Hook/Assets.php | 45 + is_themecore/is_themecore/src/Hook/Header.php | 136 + .../is_themecore/src/Hook/Htaccess.php | 36 + .../is_themecore/src/Hook/HtmlOutput.php | 111 + is_themecore/is_themecore/src/Hook/Smarty.php | 70 + .../is_themecore/src/HookDispatcher.php | 63 + is_themecore/is_themecore/src/index.php | 11 + is_themecore/is_themecore/tests/.env.dist | 4 + .../is_themecore/tests/grumphp.dist.yml | 45 + .../tests/php/.php-cs-fixer.dist.php | 14 + .../tests/php/.phpstan_bootstrap.neon | 3 + .../tests/php/.phpstan_bootstrap.php | 70 + .../is_themecore/tests/php/php_syntax.sh | 1 + .../is_themecore/tests/php/phpstan.dist.neon | 14 + .../is_themecore/translations/index.php | 11 + is_themecore/is_themecore/translations/nl.php | 0 .../is_themecore/upgrade/upgrade-2-2-0.php | 12 + .../is_themecore/upgrade/upgrade-2-2-1.php | 10 + .../is_themecore/upgrade/upgrade-2-3-0.php | 15 + .../is_themecore/upgrade/upgrade-2-4-0.php | 20 + .../is_themecore/upgrade/upgrade-4-1-0.php | 20 + .../is_themecore/upgrade/upgrade-4-1-2.php | 14 + .../is_themecore/upgrade/upgrade-4.1.0.php | 20 + .../is_themecore/upgrade/upgrade-4.1.2.php | 14 + .../is_themecore/upgrade/upgrade-4.1.3.php | 20 + .../is_themecore/views/img/example.jpg | Bin 0 -> 2275 bytes .../is_themecore/views/img/example.webp | Bin 0 -> 130 bytes is_themecore/is_themecore/views/index.php | 11 + .../components/atoms/card-header.html.twig | 3 + .../templates/back/components/atoms/index.php | 11 + .../views/templates/back/components/index.php | 11 + .../back/components/layouts/index.php | 11 + .../components/layouts/settings.html.twig | 27 + .../back/components/molecules/index.php | 11 + .../back/components/organisms/form.html.twig | 28 + .../back/components/organisms/index.php | 11 + .../views/templates/back/index.php | 11 + .../front/components/atoms/index.php | 11 + .../templates/front/components/index.php | 11 + .../front/components/layouts/index.php | 11 + .../front/components/molecules/index.php | 11 + .../front/components/organisms/index.php | 11 + .../views/templates/front/index.php | 11 + .../views/templates/hook/head.tpl | 38 + .../views/templates/hook/og-data.tpl | 34 + .../views/templates/hook/twitter-data.tpl | 25 + .../is_themecore/views/templates/index.php | 11 + is_themecore/is_themecore/webp.php | 17 + 146 files changed, 13016 insertions(+) create mode 100644 is_themecore/is_themecore/.DS_Store create mode 100644 is_themecore/is_themecore/.php-cs-fixer.dist.php rename is_themecore/{vendor/rosell-dk/exec-with-fallback/LICENSE => is_themecore/LICENSE.md} (100%) create mode 100644 is_themecore/is_themecore/Makefile create mode 100644 is_themecore/is_themecore/README.md create mode 100644 is_themecore/is_themecore/_module_dev/.nvmrc create mode 100644 is_themecore/is_themecore/_module_dev/package-lock.json create mode 100644 is_themecore/is_themecore/_module_dev/package.json create mode 100644 is_themecore/is_themecore/_module_dev/src/index.js create mode 100644 is_themecore/is_themecore/_module_dev/webpack.config.js create mode 100644 is_themecore/is_themecore/_theme_dev/.eslintignore create mode 100644 is_themecore/is_themecore/_theme_dev/.eslintrc.js create mode 100644 is_themecore/is_themecore/_theme_dev/.nvmrc create mode 100644 is_themecore/is_themecore/_theme_dev/.stylelintrc.json create mode 100644 is_themecore/is_themecore/_theme_dev/index.php create mode 100644 is_themecore/is_themecore/_theme_dev/package.json create mode 100644 is_themecore/is_themecore/_theme_dev/src/index.php create mode 100644 is_themecore/is_themecore/_theme_dev/src/js/index.php create mode 100644 is_themecore/is_themecore/_theme_dev/src/js/listing/index.js create mode 100644 is_themecore/is_themecore/_theme_dev/src/js/listing/index.php create mode 100644 is_themecore/is_themecore/_theme_dev/yarn.lock create mode 100644 is_themecore/is_themecore/composer.json create mode 100644 is_themecore/is_themecore/composer.lock create mode 100644 is_themecore/is_themecore/config/admin/services.yml create mode 100644 is_themecore/is_themecore/config/common.yml create mode 100644 is_themecore/is_themecore/config/front/services.yml create mode 100644 is_themecore/is_themecore/config/index.php create mode 100644 is_themecore/is_themecore/config/routes.yml create mode 100644 is_themecore/is_themecore/config_nl.xml create mode 100644 is_themecore/is_themecore/controllers/front/ajaxTheme.php create mode 100644 is_themecore/is_themecore/controllers/front/index.php create mode 100644 is_themecore/is_themecore/controllers/index.php create mode 100644 is_themecore/is_themecore/index.php create mode 100644 is_themecore/is_themecore/is_themecore.php create mode 100644 is_themecore/is_themecore/logo.png create mode 100644 is_themecore/is_themecore/public/partytown.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-atomics.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-media.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-sandbox-sw.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-sw.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-ww-atomics.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown-ww-sw.js create mode 100644 is_themecore/is_themecore/public/~partytown/debug/partytown.js create mode 100644 is_themecore/is_themecore/public/~partytown/partytown-atomics.js create mode 100644 is_themecore/is_themecore/public/~partytown/partytown-media.js create mode 100644 is_themecore/is_themecore/public/~partytown/partytown-sw.js create mode 100644 is_themecore/is_themecore/public/~partytown/partytown.js create mode 100644 is_themecore/is_themecore/src/Controller/Admin/SettingsController.php create mode 100644 is_themecore/is_themecore/src/Controller/Admin/index.php create mode 100644 is_themecore/is_themecore/src/Controller/Front/index.php create mode 100644 is_themecore/is_themecore/src/Controller/index.php create mode 100644 is_themecore/is_themecore/src/Core/Breadcrumbs/ThemeBreadcrumbs.php create mode 100644 is_themecore/is_themecore/src/Core/Breadcrumbs/index.php create mode 100644 is_themecore/is_themecore/src/Core/Htaccess/HtaccessGenerator.php create mode 100644 is_themecore/is_themecore/src/Core/Htaccess/index.php create mode 100644 is_themecore/is_themecore/src/Core/ListingDisplay/ThemeListDisplay.php create mode 100644 is_themecore/is_themecore/src/Core/ListingDisplay/index.php create mode 100644 is_themecore/is_themecore/src/Core/Partytown/FilesInstallation.php create mode 100644 is_themecore/is_themecore/src/Core/Partytown/PartytownScript.php create mode 100644 is_themecore/is_themecore/src/Core/Partytown/PartytownScriptUriResolver.php create mode 100644 is_themecore/is_themecore/src/Core/Smarty/SmartyHelperFunctions.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/AbstractStructuredData.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/BreadcrumbStructuredData.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Presenter/StructuredDataBreadcrumbPresenter.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Presenter/StructuredDataPresenterInterface.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Presenter/StructuredDataProductPresenter.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Presenter/StructuredDataShopPresenter.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Presenter/StructuredDataWebsitePresenter.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/ProductStructuredData.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Provider/StructuredDataBreadcrumbProvider.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Provider/StructuredDataProductProvider.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Provider/StructuredDataProviderInterface.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Provider/StructuredDataShopProvider.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/Provider/StructuredDataWebsiteProvider.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/ShopStructuredData.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/StructuredDataInterface.php create mode 100644 is_themecore/is_themecore/src/Core/StructuredData/WebsiteStructuredData.php create mode 100644 is_themecore/is_themecore/src/Core/ThemeAssets/ThemeAssetConfigProvider.php create mode 100644 is_themecore/is_themecore/src/Core/ThemeAssets/ThemeAssetsRegister.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/RelatedImageFileFinder.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/WebpConvertLibraries.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/WebpFilesEraser.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/WebpGenerator.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/WebpPictureGenerator.php create mode 100644 is_themecore/is_themecore/src/Core/Webp/index.php create mode 100644 is_themecore/is_themecore/src/Core/index.php create mode 100644 is_themecore/is_themecore/src/Form/ChoiceProvider/ListDisplayChoiceProvider.php create mode 100644 is_themecore/is_themecore/src/Form/ChoiceProvider/WebpLibraryChoiceProvider.php create mode 100644 is_themecore/is_themecore/src/Form/ChoiceProvider/index.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/GeneralConfiguration.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/GeneralFormDataProvider.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/GeneralType.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/WebpConfiguration.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/WebpFormDataProvider.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/WebpType.php create mode 100644 is_themecore/is_themecore/src/Form/Settings/index.php create mode 100644 is_themecore/is_themecore/src/Form/index.php create mode 100644 is_themecore/is_themecore/src/Hook/AbstractHook.php create mode 100644 is_themecore/is_themecore/src/Hook/Assets.php create mode 100644 is_themecore/is_themecore/src/Hook/Header.php create mode 100644 is_themecore/is_themecore/src/Hook/Htaccess.php create mode 100644 is_themecore/is_themecore/src/Hook/HtmlOutput.php create mode 100644 is_themecore/is_themecore/src/Hook/Smarty.php create mode 100644 is_themecore/is_themecore/src/HookDispatcher.php create mode 100644 is_themecore/is_themecore/src/index.php create mode 100644 is_themecore/is_themecore/tests/.env.dist create mode 100644 is_themecore/is_themecore/tests/grumphp.dist.yml create mode 100644 is_themecore/is_themecore/tests/php/.php-cs-fixer.dist.php create mode 100644 is_themecore/is_themecore/tests/php/.phpstan_bootstrap.neon create mode 100644 is_themecore/is_themecore/tests/php/.phpstan_bootstrap.php create mode 100644 is_themecore/is_themecore/tests/php/php_syntax.sh create mode 100644 is_themecore/is_themecore/tests/php/phpstan.dist.neon create mode 100644 is_themecore/is_themecore/translations/index.php create mode 100644 is_themecore/is_themecore/translations/nl.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-2-2-0.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-2-2-1.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-2-3-0.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-2-4-0.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-4-1-0.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-4-1-2.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-4.1.0.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-4.1.2.php create mode 100644 is_themecore/is_themecore/upgrade/upgrade-4.1.3.php create mode 100644 is_themecore/is_themecore/views/img/example.jpg create mode 100644 is_themecore/is_themecore/views/img/example.webp create mode 100644 is_themecore/is_themecore/views/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/components/atoms/card-header.html.twig create mode 100644 is_themecore/is_themecore/views/templates/back/components/atoms/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/components/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/components/layouts/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/components/layouts/settings.html.twig create mode 100644 is_themecore/is_themecore/views/templates/back/components/molecules/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/components/organisms/form.html.twig create mode 100644 is_themecore/is_themecore/views/templates/back/components/organisms/index.php create mode 100644 is_themecore/is_themecore/views/templates/back/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/components/atoms/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/components/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/components/layouts/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/components/molecules/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/components/organisms/index.php create mode 100644 is_themecore/is_themecore/views/templates/front/index.php create mode 100644 is_themecore/is_themecore/views/templates/hook/head.tpl create mode 100644 is_themecore/is_themecore/views/templates/hook/og-data.tpl create mode 100644 is_themecore/is_themecore/views/templates/hook/twitter-data.tpl create mode 100644 is_themecore/is_themecore/views/templates/index.php create mode 100644 is_themecore/is_themecore/webp.php diff --git a/is_themecore/is_themecore/.DS_Store b/is_themecore/is_themecore/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..483d23a29e975734537ff26fa6fa9a4ff3f70b4b GIT binary patch literal 6148 zcmeHK!AiqG5S?wSO{roJ3VK`cTClAsikDF9!K)EHsMMwn8jM+KQhO+c-1Ue25r0Q# zcDJI`dK4=&F#9&M^OEe_u$ut@(H!*Z02Kgm&bQzo-DM-4cY5KpRr{yncNMjw99eBjsZbeIP63Z`OX|`NQPF@?QLhC`{5??N#LR zg@whUQ*_GCm3OO#UfM|qNwd?xpsQ1*B7f5F_-A1-Y*$tfRh)LhIOuCa*b6Y_@;r=t zYS>hRxR+?IX9k>-Q)*W>Mx*-9UR7@IH^x;ts_!JYt2R6C{KrCQb8}{i}kvP(#YcVs3BWS`<5e-$?5glqH8fTh!HgY5zsPl!wUSW0`Kr2U+4e; literal 0 HcmV?d00001 diff --git a/is_themecore/is_themecore/.php-cs-fixer.dist.php b/is_themecore/is_themecore/.php-cs-fixer.dist.php new file mode 100644 index 0000000..5b524f8 --- /dev/null +++ b/is_themecore/is_themecore/.php-cs-fixer.dist.php @@ -0,0 +1,9 @@ +setUsingCache(true)->getFinder(); +$finder->in(__DIR__)->exclude('vendor'); + +return $config; diff --git a/is_themecore/vendor/rosell-dk/exec-with-fallback/LICENSE b/is_themecore/is_themecore/LICENSE.md similarity index 100% rename from is_themecore/vendor/rosell-dk/exec-with-fallback/LICENSE rename to is_themecore/is_themecore/LICENSE.md diff --git a/is_themecore/is_themecore/Makefile b/is_themecore/is_themecore/Makefile new file mode 100644 index 0000000..47b6394 --- /dev/null +++ b/is_themecore/is_themecore/Makefile @@ -0,0 +1,21 @@ +build-module-zip: build-composer build-assets build-zip + +build-zip: + rm -rf is_themecore.zip + cp -Ra $(PWD) /tmp/is_themecore + rm -rf /tmp/is_themecore/config_*.xml + rm -rf /tmp/is_themecore/_theme_dev/node_modules + rm -rf /tmp/is_themecore/_module_dev/node_modules + rm -rf /tmp/is_themecore/.github + rm -rf /tmp/is_themecore/.gitignore + rm -rf /tmp/is_themecore/.php-cs-fixer.cache + rm -rf /tmp/is_themecore/.git + mv -v /tmp/is_themecore $(PWD)/is_themecore + zip -r is_themecore.zip is_themecore + rm -rf $(PWD)/is_themecore + +build-composer: + composer install --no-dev -o + +build-assets: + cd _module_dev && . ${HOME}/.nvm/nvm.sh && nvm install && npm install && npm run build diff --git a/is_themecore/is_themecore/README.md b/is_themecore/is_themecore/README.md new file mode 100644 index 0000000..3810d36 --- /dev/null +++ b/is_themecore/is_themecore/README.md @@ -0,0 +1,96 @@ +# Theme core module +Prestashop module created for [starter theme](https://github.com/Oksydan/modern-prestashop-starter-theme) + +#### How to use assets.yml file + +`assets.yml` file have to be placed inside `themes/THEME_NAME/config/` to work. +Example of `assets.yml` file: + +```yml +css: + product: + fileName: product.css + priority: 200 + include: + - product + checkout: + fileName: checkout.css + priority: 200 + include: + - cart + - order + - orderconfirmation + blog: + fileName: blog.css + priority: 200 + include: + - module-blog-* + example_remote_bootstrap: + fileName: //cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css + server: remote # required to set server: remote for remote file + priority: 200 + +js: + product: + fileName: product.js + priority: 200 + include: + - product + checkout: + fileName: checkout.js + priority: 200 + include: + - cart + - order + - orderconfirmation + blog: + fileName: blog.js + priority: 200 + include: + - module-blog-* + example_remote_bootstrap: + fileName: //cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js + server: remote # required to set server: remote for remote file + priority: 200 +``` + +You are able to use windcard `*` with include page name. + + +#### Structured data modification + +You are able to modify structured data with hooks. List of hooks: + - `actionStructuredDataBreadcrumb` + - `actionStructuredDataProduct` + - `actionStructuredDataShop` + - `actionStructuredDataWebsite` + +Every hook $param is an array with two keys: + - `$data` - reference of structured data array + - `$rawData` - raw structured data array (provided by data provider) + +#### Partytown + +You are able to use [partytown](https://partytown.builder.io/) with this module. You have to enable it first in module configuration. +Example of usage for GTAG: + +```html + + + +``` + +##### Beware that partytown is still in beta, and it may not work as expected. Make sure to test it before using in production. + diff --git a/is_themecore/is_themecore/_module_dev/.nvmrc b/is_themecore/is_themecore/_module_dev/.nvmrc new file mode 100644 index 0000000..e44a38e --- /dev/null +++ b/is_themecore/is_themecore/_module_dev/.nvmrc @@ -0,0 +1 @@ +v18.12.1 diff --git a/is_themecore/is_themecore/_module_dev/package-lock.json b/is_themecore/is_themecore/_module_dev/package-lock.json new file mode 100644 index 0000000..a0a5a41 --- /dev/null +++ b/is_themecore/is_themecore/_module_dev/package-lock.json @@ -0,0 +1,3049 @@ +{ + "name": "is_themecore_module", + "version": "4.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "is_themecore_module", + "version": "4.0.0", + "dependencies": { + "@builder.io/partytown": "^0.8.0" + }, + "devDependencies": { + "copy-webpack-plugin": "^11.0.0", + "webpack": "^5.81.0", + "webpack-cli": "^5.0.2" + } + }, + "node_modules/@builder.io/partytown": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@builder.io/partytown/-/partytown-0.8.0.tgz", + "integrity": "sha512-M6H7nSMwW2dHd1/MQ+9J1Jqdw22uhl1nKv90kIiL9G7gjFVqqouQp4qSS1oZclmtW1XjAa4Q5UnbHB4iytmxZA==", + "bin": { + "partytown": "bin/partytown.cjs" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz", + "integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==", + "dev": true, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "webpack": "5.x.x", + "webpack-cli": "5.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001482", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz", + "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chrome-trace-event": { + "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==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.380", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.380.tgz", + "integrity": "sha512-XKGdI4pWM78eLH2cbXJHiBnWUwFSzZM7XujsB6stDiGu9AeSqziedP6amNLpJzE3i0rLTcfAwdCTs5ecP5yeSg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globby": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/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 + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "dependencies": { + "resolve": "^1.20.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.81.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.81.0.tgz", + "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz", + "integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.2", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + } + }, + "dependencies": { + "@builder.io/partytown": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@builder.io/partytown/-/partytown-0.8.0.tgz", + "integrity": "sha512-M6H7nSMwW2dHd1/MQ+9J1Jqdw22uhl1nKv90kIiL9G7gjFVqqouQp4qSS1oZclmtW1XjAa4Q5UnbHB4iytmxZA==" + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/node": { + "version": "18.16.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.5.tgz", + "integrity": "sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.5.tgz", + "integrity": "sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.5.tgz", + "integrity": "sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.5.tgz", + "integrity": "sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.5.tgz", + "integrity": "sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.5.tgz", + "integrity": "sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.5.tgz", + "integrity": "sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.5.tgz", + "integrity": "sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.5.tgz", + "integrity": "sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.5.tgz", + "integrity": "sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.5.tgz", + "integrity": "sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/helper-wasm-section": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-opt": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5", + "@webassemblyjs/wast-printer": "1.11.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.5.tgz", + "integrity": "sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.5.tgz", + "integrity": "sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-buffer": "1.11.5", + "@webassemblyjs/wasm-gen": "1.11.5", + "@webassemblyjs/wasm-parser": "1.11.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.5.tgz", + "integrity": "sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@webassemblyjs/helper-api-error": "1.11.5", + "@webassemblyjs/helper-wasm-bytecode": "1.11.5", + "@webassemblyjs/ieee754": "1.11.5", + "@webassemblyjs/leb128": "1.11.5", + "@webassemblyjs/utf8": "1.11.5" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.5.tgz", + "integrity": "sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.5", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.0.1.tgz", + "integrity": "sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.1.tgz", + "integrity": "sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==", + "dev": true, + "requires": {} + }, + "@webpack-cli/serve": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.2.tgz", + "integrity": "sha512-S9h3GmOmzUseyeFW3tYNnWS7gNUuwxZ3mmMq0JyW78Vx1SGKPSkt5bT4pB0rUnVfHjP0EL9gW2bOzmtiTfQt0A==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001482", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz", + "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==", + "dev": true + }, + "chrome-trace-event": { + "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==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "requires": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "electron-to-chromium": { + "version": "1.4.380", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.380.tgz", + "integrity": "sha512-XKGdI4pWM78eLH2cbXJHiBnWUwFSzZM7XujsB6stDiGu9AeSqziedP6amNLpJzE3i0rLTcfAwdCTs5ecP5yeSg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", + "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globby": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "interpret": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", + "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", + "dev": true + }, + "is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "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", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "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==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "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==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "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==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", + "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", + "dev": true, + "requires": { + "resolve": "^1.20.0" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "requires": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.81.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.81.0.tgz", + "integrity": "sha512-AAjaJ9S4hYCVODKLQTgG5p5e11hiMawBwV2v8MYLE0C/6UAGLuAF4n1qa9GOwdxnicaP+5k6M5HrLmD4+gIB8Q==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + } + }, + "webpack-cli": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.2.tgz", + "integrity": "sha512-4y3W5Dawri5+8dXm3+diW6Mn1Ya+Dei6eEVAdIduAmYNLzv1koKVAqsfgrrc9P2mhrYHQphx5htnGkcNwtubyQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^2.0.1", + "@webpack-cli/info": "^2.0.1", + "@webpack-cli/serve": "^2.0.2", + "colorette": "^2.0.14", + "commander": "^10.0.1", + "cross-spawn": "^7.0.3", + "envinfo": "^7.7.3", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^3.1.1", + "rechoir": "^0.8.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + } + } +} diff --git a/is_themecore/is_themecore/_module_dev/package.json b/is_themecore/is_themecore/_module_dev/package.json new file mode 100644 index 0000000..6db1b8d --- /dev/null +++ b/is_themecore/is_themecore/_module_dev/package.json @@ -0,0 +1,20 @@ +{ + "name": "is_themecore_module", + "label": "Theme core module", + "version": "4.0.0", + "description": "Theme core module", + "author": "Igor Stępień", + "scripts": { + "build": "webpack --progress --mode=production --env stats=errors-only", + "js-lint": "eslint -c .eslintrc.js --ext .js,.vue ./src", + "js-lint-fix": "eslint -c .eslintrc.js --ext .js,.vue ./src --fix" + }, + "devDependencies": { + "copy-webpack-plugin": "^11.0.0", + "webpack": "^5.81.0", + "webpack-cli": "^5.0.2" + }, + "dependencies": { + "@builder.io/partytown": "^0.8.0" + } +} diff --git a/is_themecore/is_themecore/_module_dev/src/index.js b/is_themecore/is_themecore/_module_dev/src/index.js new file mode 100644 index 0000000..ddb9ee5 --- /dev/null +++ b/is_themecore/is_themecore/_module_dev/src/index.js @@ -0,0 +1,10 @@ +import { partytownSnippet } from '@builder.io/partytown/integration'; + +const snippetContent = partytownSnippet(); + +document.addEventListener('DOMContentLoaded', () => { + const script = document.createElement("script"); + + script.textContent=snippetContent; + document.body.append(script) +}); diff --git a/is_themecore/is_themecore/_module_dev/webpack.config.js b/is_themecore/is_themecore/_module_dev/webpack.config.js new file mode 100644 index 0000000..0b4c475 --- /dev/null +++ b/is_themecore/is_themecore/_module_dev/webpack.config.js @@ -0,0 +1,26 @@ +// webpack.config.js +const path = require('path'); +const CopyPlugin = require('copy-webpack-plugin'); +const partytown = require('@builder.io/partytown/utils'); + +module.exports = { + entry: { + partytown: './src/index.js', + }, + output: { + path: path.resolve(__dirname, '../public'), + }, + resolve: { + extensions: ['.ts', '.js', '.mjs'], + }, + plugins: [ + new CopyPlugin({ + patterns: [ + { + from: partytown.libDirPath(), + to: path.join(__dirname, '../public', '~partytown'), + }, + ], + }), + ], +}; diff --git a/is_themecore/is_themecore/_theme_dev/.eslintignore b/is_themecore/is_themecore/_theme_dev/.eslintignore new file mode 100644 index 0000000..a93bc5e --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/.eslintignore @@ -0,0 +1,4 @@ +/node_modules/ +/webpack/ +postcss.config.js +webpack.config.js diff --git a/is_themecore/is_themecore/_theme_dev/.eslintrc.js b/is_themecore/is_themecore/_theme_dev/.eslintrc.js new file mode 100644 index 0000000..2e440f1 --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/.eslintrc.js @@ -0,0 +1,27 @@ +module.exports = { + root: true, + env: { + browser: true, + node: false, + es6: true, + jquery: true, + }, + globals: { + google: true, + document: true, + navigator: false, + window: true, + prestashop: true, + }, + extends: ['airbnb-base'], + rules: { + 'max-len': ['error', {code: 140}], + 'no-underscore-dangle': 'off', + 'no-restricted-syntax': 'off', + 'no-param-reassign': 'off', + 'import/no-unresolved': 'off', + }, + parserOptions: { + ecmaVersion: 2022 + }, +} diff --git a/is_themecore/is_themecore/_theme_dev/.nvmrc b/is_themecore/is_themecore/_theme_dev/.nvmrc new file mode 100644 index 0000000..e44a38e --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/.nvmrc @@ -0,0 +1 @@ +v18.12.1 diff --git a/is_themecore/is_themecore/_theme_dev/.stylelintrc.json b/is_themecore/is_themecore/_theme_dev/.stylelintrc.json new file mode 100644 index 0000000..4622303 --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/.stylelintrc.json @@ -0,0 +1,6 @@ +{ + "extends": "stylelint-config-recommended-scss", + "rules": { + "scss/at-extend-no-missing-placeholder": null + } +} diff --git a/is_themecore/is_themecore/_theme_dev/index.php b/is_themecore/is_themecore/_theme_dev/index.php new file mode 100644 index 0000000..88355f6 --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/index.php @@ -0,0 +1,11 @@ + { + const target = e.target.closest('[data-toggle-listing]'); + + if (target && target.dataset.toggleListing !== undefined) { + e.preventDefault(); + + if (target.classList.contains('active')) { + return; + } + + const display = target.dataset.displayType; + const allButtons = document.querySelectorAll('[data-toggle-listing]'); + + allButtons.forEach((button) => { + button.classList.remove('active'); + }); + + target.classList.add('active'); + + let requestData = { + displayType: display, + ajax: 1, + }; + + requestData = Object.keys(requestData).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(requestData[key])}`).join('&'); + + fetch(window.listDisplayAjaxUrl, { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + body: requestData, + }) + .then((resp) => resp.text()) + .then((resp) => { + try { + const response = JSON.parse(resp); + + if (response.success) { + prestashop.emit('updateFacets', window.location.href); + } + } catch (error) { + console.error(error); // eslint-disable-line no-console + } + }) + .catch((error) => { + console.error(error); // eslint-disable-line no-console + }); + } + }; + + document.addEventListener('click', handleClickEvent); +} + +document.addEventListener('DOMContentLoaded', () => { + initListDisplay(); +}); diff --git a/is_themecore/is_themecore/_theme_dev/src/js/listing/index.php b/is_themecore/is_themecore/_theme_dev/src/js/listing/index.php new file mode 100644 index 0000000..88355f6 --- /dev/null +++ b/is_themecore/is_themecore/_theme_dev/src/js/listing/index.php @@ -0,0 +1,11 @@ +=7.1.0", + "rosell-dk/webp-convert": "^2.9" + }, + "require-dev": { + "prestashop/php-dev-tools": "^4.2" + }, + "autoload": { + "psr-4": { + "Oksydan\\Module\\IsThemeCore\\": "src/" + } + }, + "config": { + "prepend-autoloader": false, + "allow-plugins": { + "phpro/grumphp-shim": false, + "phpstan/extension-installer": false + } + } +} diff --git a/is_themecore/is_themecore/composer.lock b/is_themecore/is_themecore/composer.lock new file mode 100644 index 0000000..2738bd8 --- /dev/null +++ b/is_themecore/is_themecore/composer.lock @@ -0,0 +1,2788 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "e4be3267d3460c86338ab2b6a5a711aa", + "packages": [ + { + "name": "rosell-dk/exec-with-fallback", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/exec-with-fallback.git", + "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/exec-with-fallback/zipball/f88a6b29abd0b580566056b7c1eb0434eb5db20d", + "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ExecWithFallback\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "An exec() with fallback to emulations (proc_open, etc)", + "keywords": [ + "command", + "exec", + "fallback", + "open_proc", + "resiliant", + "sturdy" + ], + "support": { + "issues": "https://github.com/rosell-dk/exec-with-fallback/issues", + "source": "https://github.com/rosell-dk/exec-with-fallback/tree/1.2.0" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2021-12-08T12:09:43+00:00" + }, + { + "name": "rosell-dk/file-util", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/file-util.git", + "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/file-util/zipball/2ff895308c37f448b34b031cfbfd8e45f43936fd", + "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "rosell-dk/exec-with-fallback": "^1.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "FileUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Functions for dealing with files and paths", + "keywords": [ + "files", + "path", + "util" + ], + "support": { + "issues": "https://github.com/rosell-dk/file-util/issues", + "source": "https://github.com/rosell-dk/file-util/tree/0.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-19T10:12:31+00:00" + }, + { + "name": "rosell-dk/image-mime-type-guesser", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/image-mime-type-guesser.git", + "reference": "72f7040e95a78937ae2edece452530224fcacea6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/image-mime-type-guesser/zipball/72f7040e95a78937ae2edece452530224fcacea6", + "reference": "72f7040e95a78937ae2edece452530224fcacea6", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0", + "rosell-dk/image-mime-type-sniffer": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ImageMimeTypeGuesser\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Guess mime type of images", + "keywords": [ + "image", + "images", + "mime", + "mime type" + ], + "support": { + "issues": "https://github.com/rosell-dk/image-mime-type-guesser/issues", + "source": "https://github.com/rosell-dk/image-mime-type-guesser/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-05-19T09:57:15+00:00" + }, + { + "name": "rosell-dk/image-mime-type-sniffer", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/image-mime-type-sniffer.git", + "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/image-mime-type-sniffer/zipball/9ed14cc5d2c14c417660a4dd1946b5f056494691", + "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ImageMimeTypeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Sniff mime type (images only)", + "keywords": [ + "image", + "images", + "mime", + "mime type" + ], + "support": { + "issues": "https://github.com/rosell-dk/image-mime-type-sniffer/issues", + "source": "https://github.com/rosell-dk/image-mime-type-sniffer/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-20T14:31:25+00:00" + }, + { + "name": "rosell-dk/locate-binaries", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/locate-binaries.git", + "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/locate-binaries/zipball/bd2f493383ecd55aa519828dd2898e30f3b9cbb0", + "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "rosell-dk/exec-with-fallback": "^1.0.0", + "rosell-dk/file-util": "^0.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "LocateBinaries\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Locate a binaries by means of exec() or similar", + "keywords": [ + "binary", + "discover", + "locate", + "whereis", + "which" + ], + "support": { + "issues": "https://github.com/rosell-dk/locate-binaries/issues", + "source": "https://github.com/rosell-dk/locate-binaries/tree/1.0" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-20T07:20:07+00:00" + }, + { + "name": "rosell-dk/webp-convert", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/webp-convert.git", + "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/5ccba85ebe3b28ae229459fd0baed25314616ac9", + "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0", + "rosell-dk/exec-with-fallback": "^1.0.0", + "rosell-dk/image-mime-type-guesser": "^1.1.1", + "rosell-dk/locate-binaries": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "ext-gd": "to use GD extension for converting. Note: Gd must be compiled with webp support", + "ext-imagick": "to use Imagick extension for converting. Note: Gd must be compiled with webp support", + "ext-vips": "to use Vips extension for converting.", + "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "WebPConvert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Collaborator" + } + ], + "description": "Convert JPEG & PNG to WebP with PHP", + "keywords": [ + "Webp", + "cwebp", + "gd", + "image conversion", + "images", + "imagick", + "jpg", + "jpg2webp", + "png", + "png2webp" + ], + "support": { + "issues": "https://github.com/rosell-dk/webp-convert/issues", + "source": "https://github.com/rosell-dk/webp-convert/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-05-19T13:56:36+00:00" + } + ], + "packages-dev": [ + { + "name": "composer/pcre", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-11-17T09:50:14+00:00" + }, + { + "name": "composer/semver", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.3.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-04-01T19:23:25+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ced299686f41dce890debac69273b47ffe98a40c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-02-25T21:32:43+00:00" + }, + { + "name": "doctrine/annotations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.1" + }, + "time": "2023-02-02T22:02:53+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "84a527db05647743d50373e0ec53a152f2cde568" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-15T16:57:16+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.16.0", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "d40f9436e1c448d309fa995ab9c14c5c7a96f2dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/d40f9436e1c448d309fa995ab9c14c5c7a96f2dc", + "reference": "d40f9436e1c448d309fa995ab9c14c5c7a96f2dc", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "composer/xdebug-handler": "^3.0.3", + "doctrine/annotations": "^2", + "doctrine/lexer": "^2 || ^3", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0", + "sebastian/diff": "^4.0 || ^5.0", + "symfony/console": "^5.4 || ^6.0", + "symfony/event-dispatcher": "^5.4 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0", + "symfony/finder": "^5.4 || ^6.0", + "symfony/options-resolver": "^5.4 || ^6.0", + "symfony/polyfill-mbstring": "^1.27", + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27", + "symfony/process": "^5.4 || ^6.0", + "symfony/stopwatch": "^5.4 || ^6.0" + }, + "require-dev": { + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^2.0", + "mikey179/vfsstream": "^1.6.11", + "php-coveralls/php-coveralls": "^2.5.3", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy": "^1.16", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "phpunitgoodpractices/polyfill": "^1.6", + "phpunitgoodpractices/traits": "^1.9.2", + "symfony/phpunit-bridge": "^6.2.3", + "symfony/yaml": "^5.4 || ^6.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "keywords": [ + "Static code analysis", + "fixer", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.16.0" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2023-04-02T19:30:06+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "prestashop/autoindex", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/PrestaShopCorp/autoindex.git", + "reference": "235f3ec115432ffc32d582198ea498467b3946d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PrestaShopCorp/autoindex/zipball/235f3ec115432ffc32d582198ea498467b3946d0", + "reference": "235f3ec115432ffc32d582198ea498467b3946d0", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.10", + "php": "^8.0 || ^7.2", + "symfony/console": "^3.4 || ~4.0 || ~5.0 || ~6.0", + "symfony/finder": "^3.4 || ~4.0 || ~5.0 || ~6.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.83", + "prestashop/php-dev-tools": "1.*" + }, + "bin": [ + "bin/autoindex" + ], + "type": "library", + "autoload": { + "psr-4": { + "PrestaShop\\AutoIndex\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AFL-3.0" + ], + "authors": [ + { + "name": "PrestaShop SA", + "email": "contact@prestashop.com" + } + ], + "description": "Automatically add an 'index.php' in all the current or specified directories and all sub-directories.", + "homepage": "https://github.com/PrestaShopCorp/autoindex", + "support": { + "source": "https://github.com/PrestaShopCorp/autoindex/tree/v2.1.0" + }, + "time": "2022-10-10T08:35:00+00:00" + }, + { + "name": "prestashop/header-stamp", + "version": "v2.3", + "source": { + "type": "git", + "url": "https://github.com/PrestaShopCorp/header-stamp.git", + "reference": "3104b69ad73b6039c7082dbba4af9dbeb0b936b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PrestaShopCorp/header-stamp/zipball/3104b69ad73b6039c7082dbba4af9dbeb0b936b3", + "reference": "3104b69ad73b6039c7082dbba4af9dbeb0b936b3", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.10", + "php": "^8.0 || ^7.2", + "symfony/console": "^3.4 || ~4.0 || ~5.0 || ~6.0", + "symfony/finder": "^3.4 || ~4.0 || ~5.0 || ~6.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.83", + "prestashop/php-dev-tools": "1.*" + }, + "bin": [ + "bin/header-stamp" + ], + "type": "library", + "autoload": { + "psr-4": { + "PrestaShop\\HeaderStamp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AFL-3.0" + ], + "authors": [ + { + "name": "PrestaShop SA", + "email": "contact@prestashop.com" + } + ], + "description": "Rewrite your file headers to add the license or to make them up-to-date", + "homepage": "https://github.com/PrestaShopCorp/header-stamp", + "support": { + "issues": "https://github.com/PrestaShopCorp/header-stamp/issues", + "source": "https://github.com/PrestaShopCorp/header-stamp/tree/v2.3" + }, + "time": "2023-03-23T14:44:10+00:00" + }, + { + "name": "prestashop/php-dev-tools", + "version": "v4.3.0", + "source": { + "type": "git", + "url": "https://github.com/PrestaShop/php-dev-tools.git", + "reference": "843275b19729ba810d8ba2b9c97b568e5bbabe03" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PrestaShop/php-dev-tools/zipball/843275b19729ba810d8ba2b9c97b568e5bbabe03", + "reference": "843275b19729ba810d8ba2b9c97b568e5bbabe03", + "shasum": "" + }, + "require": { + "friendsofphp/php-cs-fixer": "^3.2", + "php": ">=7.2.5", + "prestashop/autoindex": "^2.0", + "prestashop/header-stamp": "^2.0", + "squizlabs/php_codesniffer": "^3.4", + "symfony/console": "~3.2 || ~4.0 || ~5.0 || ~6.0", + "symfony/filesystem": "~3.2 || ~4.0 || ~5.0 || ~6.0" + }, + "bin": [ + "bin/prestashop-coding-standards" + ], + "type": "library", + "autoload": { + "psr-4": { + "PrestaShop\\CodingStandards\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PrestaShop coding standards", + "support": { + "issues": "https://github.com/PrestaShop/php-dev-tools/issues", + "source": "https://github.com/PrestaShop/php-dev-tools/tree/v4.3.0" + }, + "time": "2022-10-18T14:19:51+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "sebastian/diff", + "version": "5.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "aae9a0a43bff37bd5d8d0311426c87bf36153f02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/aae9a0a43bff37bd5d8d0311426c87bf36153f02", + "reference": "aae9a0a43bff37bd5d8d0311426c87bf36153f02", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-03-23T05:12:41+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", + "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2023-02-22T23:07:41+00:00" + }, + { + "name": "symfony/console", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/3582d68a64a86ec25240aaa521ec8bc2342b369b", + "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-29T21:42:15+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:25:55+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/04046f35fd7d72f9646e721fc2ecb8f9c67d3339", + "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^5.4|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-20T16:06:02+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", + "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:32:47+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:44:56+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb", + "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-16T09:57:23+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "aa0e85b53bbb2b4951960efd61d295907eacd629" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/aa0e85b53bbb2b4951960efd61d295907eacd629", + "reference": "aa0e85b53bbb2b4951960efd61d295907eacd629", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:44:56+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/process", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "75ed64103df4f6615e15a7fe38b8111099f47416" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/75ed64103df4f6615e15a7fe38b8111099f47416", + "reference": "75ed64103df4f6615e15a7fe38b8111099f47416", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-09T16:20:02+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:32:47+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "f3adc98c1061875dd2edcd45e5b04e63d0e29f8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f3adc98c1061875dd2edcd45e5b04e63d0e29f8f", + "reference": "f3adc98c1061875dd2edcd45e5b04e63d0e29f8f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/service-contracts": "^1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:44:56+00:00" + }, + { + "name": "symfony/string", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-20T16:06:02+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.1.0" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/is_themecore/is_themecore/config/admin/services.yml b/is_themecore/is_themecore/config/admin/services.yml new file mode 100644 index 0000000..db8e7e0 --- /dev/null +++ b/is_themecore/is_themecore/config/admin/services.yml @@ -0,0 +1,75 @@ +imports: + - { resource: ../common.yml } +services: + _defaults: + public: true + + oksydan.module.is_themecore.form.settings.general_type: + class: 'Oksydan\Module\IsThemeCore\Form\Settings\GeneralType' + parent: "form.type.translatable.aware" + public: true + arguments: + $displayListChoices: '@=service("oksydan.module.is_themecore.form.choice_provider.list_display_choice_provider").getChoices()' + tags: + - { name: form.type } + + oksydan.module.is_themecore.form.settings.general_form_data_provider: + class: 'Oksydan\Module\IsThemeCore\Form\Settings\GeneralFormDataProvider' + arguments: + - "@oksydan.module.is_themecore.form.settings.general_configuration" + + oksydan.module.is_themecore.form.settings.general_form_data_handler: + class: 'PrestaShop\PrestaShop\Core\Form\Handler' + arguments: + - "@form.factory" + - "@prestashop.core.hook.dispatcher" + - "@oksydan.module.is_themecore.form.settings.general_form_data_provider" + - 'Oksydan\Module\IsThemeCore\Form\Settings\GeneralType' + - "General" + + oksydan.module.is_themecore.form.settings.webp_type: + class: 'Oksydan\Module\IsThemeCore\Form\Settings\WebpType' + parent: "form.type.translatable.aware" + public: true + arguments: + $convertersList: '@=service("oksydan.module.is_themecore.form.choice_provider.webp_library_choice_provider").getChoices()' + $convertersListFull: '@=service("oksydan.module.is_themecore.form.choice_provider.webp_library_choice_provider").getChoicesFull()' + $router: "@router" + tags: + - { name: form.type } + + oksydan.module.is_themecore.form.settings.webp_form_data_provider: + class: 'Oksydan\Module\IsThemeCore\Form\Settings\WebpFormDataProvider' + arguments: + - "@oksydan.module.is_themecore.form.settings.webp_configuration" + + oksydan.module.is_themecore.form.settings.webp_form_data_handler: + class: 'PrestaShop\PrestaShop\Core\Form\Handler' + arguments: + - "@form.factory" + - "@prestashop.core.hook.dispatcher" + - "@oksydan.module.is_themecore.form.settings.webp_form_data_provider" + - 'Oksydan\Module\IsThemeCore\Form\Settings\WebpType' + - "Webp" + + oksydan.module.is_themecore.form.choice_provider.webp_library_choice_provider: + class: Oksydan\Module\IsThemeCore\Form\ChoiceProvider\WebpLibraryChoiceProvider + arguments: + - "@oksydan.module.is_themecore.core.webp.webp_convert_libraries" + + oksydan.module.is_themecore.form.choice_provider.list_display_choice_provider: + class: Oksydan\Module\IsThemeCore\Form\ChoiceProvider\ListDisplayChoiceProvider + arguments: + - "@oksydan.module.is_themecore.core.listing_display.theme_list_display" + + oksydan.module.is_themecore.form.settings.webp_configuration: + class: Oksydan\Module\IsThemeCore\Form\Settings\WebpConfiguration + arguments: + - "@prestashop.adapter.legacy.configuration" + + oksydan.module.is_themecore.form.settings.general_configuration: + class: Oksydan\Module\IsThemeCore\Form\Settings\GeneralConfiguration + arguments: + - "@prestashop.adapter.legacy.configuration" + - "@prestashop.adapter.shop.context" + - "@prestashop.adapter.multistore_feature" diff --git a/is_themecore/is_themecore/config/common.yml b/is_themecore/is_themecore/config/common.yml new file mode 100644 index 0000000..5815693 --- /dev/null +++ b/is_themecore/is_themecore/config/common.yml @@ -0,0 +1,39 @@ +services: + _defaults: + public: true + + oksydan.module.is_themecore.module: + class: Is_themecore + factory: [ 'Module', 'getInstanceByName' ] + public: false + arguments: + - 'is_themecore' + + Is_themecore: '@oksydan.module.is_themecore.module' + + oksydan.module.is_themecore.core.webp.webp_convert_libraries: + class: Oksydan\Module\IsThemeCore\Core\Webp\WebpConvertLibraries + + oksydan.module.is_themecore.core.webp.webp_files_eraser: + class: Oksydan\Module\IsThemeCore\Core\Webp\WebpFilesEraser + + oksydan.module.is_themecore.core.listing_display.theme_list_display: + class: Oksydan\Module\IsThemeCore\Core\ListingDisplay\ThemeListDisplay + + oksydan.module.is_themecore.core.htaccess.htaccess_generator: + class: Oksydan\Module\IsThemeCore\Core\Htaccess\HtaccessGenerator + arguments: + - "@Is_themecore" + + oksydan.module.is_themecore.core.webp.related_image_file_finder: + class: Oksydan\Module\IsThemeCore\Core\Webp\RelatedImageFileFinder + + oksydan.module.is_themecore.core.webp.webp_generator: + class: Oksydan\Module\IsThemeCore\Core\Webp\WebpGenerator + arguments: + - "@oksydan.module.is_themecore.core.webp.related_image_file_finder" + + Oksydan\Module\IsThemeCore\Core\Partytown\FilesInstallation: + class: Oksydan\Module\IsThemeCore\Core\Partytown\FilesInstallation + arguments: + - "@Is_themecore" diff --git a/is_themecore/is_themecore/config/front/services.yml b/is_themecore/is_themecore/config/front/services.yml new file mode 100644 index 0000000..6806acd --- /dev/null +++ b/is_themecore/is_themecore/config/front/services.yml @@ -0,0 +1,81 @@ +imports: + - { resource: ../common.yml } +services: + _defaults: + public: true + + Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataBreadcrumbPresenter: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataBreadcrumbPresenter' + + Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataBreadcrumbProvider: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataBreadcrumbProvider' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\BreadcrumbStructuredData: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\BreadcrumbStructuredData' + public: true + arguments: + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataBreadcrumbProvider' + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataBreadcrumbPresenter' + + Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataWebsitePresenter: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataWebsitePresenter' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataWebsiteProvider: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataWebsiteProvider' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\WebsiteStructuredData: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\WebsiteStructuredData' + public: true + arguments: + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataWebsiteProvider' + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataWebsitePresenter' + + Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataShopPresenter: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataShopPresenter' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataShopProvider: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataShopProvider' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\ShopStructuredData: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\ShopStructuredData' + public: true + arguments: + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataShopProvider' + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataShopPresenter' + + Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataProductPresenter: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataProductPresenter' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataProductProvider: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataProductProvider' + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" + + Oksydan\Module\IsThemeCore\Core\StructuredData\ProductStructuredData: + class: 'Oksydan\Module\IsThemeCore\Core\StructuredData\ProductStructuredData' + public: true + arguments: + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Provider\StructuredDataProductProvider' + - '@Oksydan\Module\IsThemeCore\Core\StructuredData\Presenter\StructuredDataProductPresenter' + + Oksydan\Module\IsThemeCore\Core\Partytown\PartytownScript: + class: Oksydan\Module\IsThemeCore\Core\Partytown\PartytownScript + arguments: + - "@Is_themecore" + + Oksydan\Module\IsThemeCore\Core\Partytown\PartytownScriptUriResolver: + class: Oksydan\Module\IsThemeCore\Core\Partytown\PartytownScriptUriResolver + arguments: + - "@=service('prestashop.adapter.legacy.context').getContext()" diff --git a/is_themecore/is_themecore/config/index.php b/is_themecore/is_themecore/config/index.php new file mode 100644 index 0000000..88355f6 --- /dev/null +++ b/is_themecore/is_themecore/config/index.php @@ -0,0 +1,11 @@ + + + is_themecore + + + + + + 1 + 1 + \ No newline at end of file diff --git a/is_themecore/is_themecore/controllers/front/ajaxTheme.php b/is_themecore/is_themecore/controllers/front/ajaxTheme.php new file mode 100644 index 0000000..5a0a1e1 --- /dev/null +++ b/is_themecore/is_themecore/controllers/front/ajaxTheme.php @@ -0,0 +1,35 @@ +displayType = Tools::getValue('displayType'); + } + + public function initContent() + { + parent::initContent(); + + $themeDisplay = new ThemeListDisplay(); + + if ($this->displayType) { + $themeDisplay->setDisplay($this->displayType); + $this->ajaxRender(json_encode([ + 'hasError' => false, + 'success' => true, + ])); + } else { + $this->ajaxRender(json_encode([ + 'hasError' => true, + 'success' => false, + ])); + } + } +} diff --git a/is_themecore/is_themecore/controllers/front/index.php b/is_themecore/is_themecore/controllers/front/index.php new file mode 100644 index 0000000..88355f6 --- /dev/null +++ b/is_themecore/is_themecore/controllers/front/index.php @@ -0,0 +1,11 @@ + Configuration values + */ + public const CONFIGURATION_VALUES = [ + GeneralConfiguration::THEMECORE_DISPLAY_LIST => 'grid', + GeneralConfiguration::THEMECORE_EARLY_HINTS => false, + GeneralConfiguration::THEMECORE_PRELOAD_CSS => false, + GeneralConfiguration::THEMECORE_LOAD_PARTY_TOWN => false, + GeneralConfiguration::THEMECORE_DEBUG_PARTY_TOWN => false, + WebpConfiguration::THEMECORE_WEBP_ENABLED => false, + WebpConfiguration::THEMECORE_WEBP_QUALITY => 90, + WebpConfiguration::THEMECORE_WEBP_CONVERTER => null, + WebpConfiguration::THEMECORE_WEBP_SHARPYUV => false, + ]; + + /** + * @var string[] Hooks to register + */ + public const HOOKS = [ + 'actionOutputHTMLBefore', + 'actionDispatcherBefore', + 'actionFrontControllerSetMedia', + 'displayListingStructuredData', + 'displayHeader', + 'actionProductSearchAfter', + 'actionHtaccessCreate', + 'objectShopUrlAddAfter', + 'objectShopUrlUpdateAfter', + 'objectShopUrlDeleteAfter', + 'actionFrontControllerInitBefore', + ]; + + /** + * @var Configuration Configuration + */ + private $configuration; + + public function __construct() + { + $this->name = 'is_themecore'; + $this->tab = 'others'; + $this->version = '4.1.3'; + $this->author = 'Igor Stępień'; + $this->ps_versions_compliancy = ['min' => '8.0.0', 'max' => _PS_VERSION_]; + + $this->bootstrap = true; + + parent::__construct(); + + $this->displayName = $this->trans( + 'Theme core module', + [], + 'Modules.isthemecore.Admin' + ); + $this->description = $this->trans( + 'Required for theme to work.', + [], + 'Modules.isthemecore.Admin' + ); + + $this->tabs = [ + [ + 'name' => 'Theme core module settings', + 'class_name' => 'themecoreSettings', + 'route_name' => 'is_themecore_module_settings', + 'parent_class_name' => 'CONFIGURE', + 'visible' => false, + 'wording' => 'Theme core module settings', + 'wording_domain' => 'Modules.isthemecore.Admin', + ], + ]; + + $this->configuration = new Configuration(); + } + + /** + * {@inheritdoc} + */ + public function isUsingNewTranslationSystem(): bool + { + return true; + } + + /** + * {@inheritdoc} + */ + public function install(): bool + { + return parent::install() + && $this->installConfiguration() + && $this->installPartytown() + && $this->registerHook(self::HOOKS) + ; + } + + /** + * Install configuration values + */ + private function installConfiguration(): bool + { + try { + foreach (self::CONFIGURATION_VALUES as $key => $default_value) { + $this->configuration->set($key, $default_value); + } + } catch (Exception $e) { + return false; + } + + return true; + } + + /** + * Install Partytown + */ + private function installPartytown(): bool + { + $installer = new FilesInstallation($this); // SERVICES NOT AVAILABLE DURING INSTALLATION + + try { + $installer->installFiles(); + } catch (Exception $e) { + return false; + } + + return true; + } + + /** + * {@inheritdoc} + */ + public function uninstall(): bool + { + return parent::uninstall() + && $this->uninstallConfiguration() + ; + } + + /** + * Uninstall configuration values + */ + private function uninstallConfiguration(): bool + { + try { + foreach (array_keys(self::CONFIGURATION_VALUES) as $key) { + $this->configuration->remove($key); + } + } catch (Exception $e) { + return false; + } + + return true; + } + + /** + * Get module configuration page content + */ + public function getContent(): void + { + $container = SymfonyContainer::getInstance(); + + if ($container != null) { + /** @var UrlGeneratorInterface */ + $router = $container->get('router'); + + header('Location: https://houtendiershop.com'. $router->generate('is_themecore_module_settings')); + exit; + + /*Tools::redirectAdmin($router->generate('is_themecore_module_settings')); + die();*/ + } + } + + public function __call(string $methodName, array $arguments) + { + return $this + ->getHookDispatcher() + ->dispatch($methodName, $arguments[0] ?? []); + } + + protected function getHookDispatcher(): HookDispatcher + { + if (!isset($this->hookDispatcher)) { + if (!class_exists(HookDispatcher::class)) { + require_once dirname(__FILE__) . '/vendor/autoload.php'; + } + + $this->hookDispatcher = new HookDispatcher($this); + } + + return $this->hookDispatcher; + } +} diff --git a/is_themecore/is_themecore/logo.png b/is_themecore/is_themecore/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0316df9697303cb828628bac7155935098df4015 GIT binary patch literal 10578 zcmV-YDXrFtP)StO&>uS)ve<0AYj>5AR{$W90N^4L=L-RlQUJ&DC0@ZjPh;=*jPLSYvv5M~MFBAl0-BNIsH z15C~g000{K(ZT*WKal6<?_01!^k@7iDG<<3=fuAC~28EsPoqkpK{9G%|Vj005J}`Hw&=0RYXHq~ibpyyzHQsFW8>#s~laM4*8xut5h5 z!4#~(4xGUqyucR%VFpA%3?#rj5JCpzfE)^;7?wd9RKPme1hudO8lVxH;SjXJF*pt9 z;1XPc>u?taU>Kgl7`%oF1VP9M6Ja4bh!J9r*dopd7nzO(B4J20l7OTj>4+3jBE`sZ zqynizYLQ(?Bl0bB6giDtK>Co|$RIL`{EECsF_eL_Q3KQhbwIhO9~z3rpmWi5G!I>X zmZEFX8nhlgfVQHi(M#xcbO3#dj$?q)F%D*o*1Pf{>6$SWH+$s3q(pv=X`qR|$iJF~TPzlc-O$C3+J1 z#CT#lv5;6stS0Uu9wDA3UMCI{Uz12A4#|?_P6{CkNG+sOq(0IRX`DyT~9-sA|ffUF>wk++Z!kWZ5P$;0Hg6gtI-;!FvmBvPc55=u2?Kjj3apE5$3psG>L zsh-pbs)#zDT1jo7c2F-(3)vyY4>O^>2$gY-Gd%Qm(Z8e zYv>2*=jns=cMJ`N4THx>VkjAF8G9M07`GWOnM|ey)0dgZR4~^v8<}UA514ONSSt1^ zd=-((5|uiYR+WC0=c-gyb5%dpd8!Lkt5pxHURHgkMpd&=fR^vEcAI*_=wwAG2sV%zY%w@v@XU~7=xdm1xY6*0;iwVIXu6TaXrs|dqbIl~ z?uTdNHFy_3W~^@g_pF#!K2~{F^;XxcN!DEJEbDF7 zS8PxlSDOr*I-AS3sI8l=#CDr)-xT5$k15hA^;2%zG3@;83hbKf2JJcaVfH2VZT8O{ z%p4LO);n}Nd~$Sk%yw*Wyz8XlG{dRHsl(}4XB%gsbDi@w7p6;)%MzD%mlsoQr;4X; zpL)xc%+^yMd)ZNTI#eJ*$O)i@o$z8)e??LqN_gLa_%;TM>o2SC_ zkmoO6c3xRt`@J4dvz#WL)-Y|z+r(Soy~}%GIzByR`p)SCKE^%*pL(B%zNWq+-#xw~ ze%5}Oeh2)X`#bu}{g3#+;d$~F@lFL`0l@*~0lk45fwKc^10MvL1f>Tx1&sx}1}_Xg z6+#RN4Ot&@lW)Km@*DYMGu&q^n$Z=?2%QyL8~QNJCQKgI5srq>2;UHXZ>IT7>CCnW zh~P(Th`1kV8JQRPeH1AwGO8}>QM6NZadh`A)~w`N`)9q5@sFvDxjWlxwsLl7tZHmh zY-8-3xPZ8-xPf?w_(k!T5_A(J3GIpG#Ms0=iQ{tu=WLoYoaCBRmULsT<=mpV7v|~C z%bs^USv6UZd^m-e5|^?+<%1wXP%juy<)>~<9TW0|n}ttBzM_qyQL(qUN<5P0omQ3h zINdvaL;7fjPeygdGYL;pD|wL_lDQ-EO;$wK-mK5raoH_7l$?~Dqf!lNmb5F^Ft;eT zPi8AClMUo~=55LwlZVRpxOiFd;3B_8yA~shQx|tGF!j;$toK>JuS&gYLDkTP@C~gS@r~shUu{a>bfJ1` z^^VQ7&C1OKHDNXFTgC{M|V%fo{xK_dk6MK@9S!GZ*1JJzrV5xZBjOk z9!NTH<(q(S+MDf~ceQX@Dh|Ry<-sT4rhI$jQ0Sq~!`#Eo-%($2E^vo}is5J@NVEf|KK?WT&2;PCq@=ncR8z zO#GQ^T~S@VXG71PKNocFOt)Y6$@AXlk6rM*aP%VgV%sIRORYVwJx6|U{ozQjTW{-S z_si{9Jg#)~P3t?+@6&(!YQWWV*Z9{iU7vZq@5byKw{9lg9JnRA_4s!7?H6|n?o8ZW zdXIRo{Jz@#>IeD{>VLHUv1Pz*;P_y`V9&!@5AO~Mho1hF|I>%z(nrik)gwkDjgOrl z9~%uCz4Bzvli{bbrxVZ0epdf^>vOB;-~HnIOV3#R*zgPai_gEVd8zYq@2jb=I>#f& zAH2?aJ@KaetDI^TYEi@@*cK3!DH=&Ikc6BhXMD#! zt+nnSYw!1*ljI~JyyqlAzt8hNXTQ@v?^@rze)Df_VXfsiIC3Bl_Ye3D=HfSm9AWUf zd9q6`xeQ|rgM%ZKOI5Vax_SCT!Ha?C1Lp$A0aaiM*a+MPd<}T?KqvX~SN>_Ce&1f` zDj`P*Lg1aiTY=*NtThBd32QBBnhXgcP5@pAd=&UQ;N8Fxp-i7{BI`=v5#S@_WB_5lao$5jj{2a+Y$YdPoKbJv(;`kUHtsT7t(OWKKt5Q{emczTGe>)8((0LEydsLgrj zU(QQj`Um{mCywK z%ka_fp2W3RYA%1ycB)~(#_6;8(|=yg^)LM?Z@A>=G^Wb5Q}0+Q?7suY0F4D4%N!i7 zg!~0K0)&w4o~%)=1XL>}v^Mj8$y&kk{)mUSmAUQaD$1@cT^5`i1!|&hCOU{3k ztR51jK0;W40pNqcdlr634o4#)eZbWKQYm(hP4eQ4&S1Kka?kyn=RmG?8+BX+q8vDXDGkIif8??wea#Sciym~ z)W2p)Z?(4-`Zmrod%Lyzvc((T(MQO;iUVUbQb4s*f>unNW+=IDJInJt9^bZ|(@tE) z+uraB($SryS|fx+XKh+zKkr$3>g#-+wr<{j?@j2mjrB(;mr{h_e=geSIJ!jETHr;+ z6D1Ye!uVv3c9f7L8B*>&93cc!2p-?QjhDXQJc8v*nVPHvV6DYk$g+sIx$BRXpZSNJ zaPh~Geh<;qCXCJyVsWSFXj&m3pZ!Egf$#b39-m^W)*wkWp10@ZS$sca+Y{SaI$Y%? z&p)4R_ast~J1_aU5ZJ8!@_2g7(!t}e*j*kzg~xyL8BFvYjP6~8q0QiESs|wYFWd7) zDJ4mo(P%}aS%#b?vMd(Q3rLcfhc|BI4OhN^RVN?E)a3L$|3YA_enWfeQM}SH$6x$0 z`cJ)%w6Sf0hO}=SEi2?pLP&%VfW;W+{H1A1=zH{)O2EuTZ?X7Z09fw4`))3O-ZS~* zH@=eAu5tEXWFxKy_0goc8|gLimS2U@^AWf(SO7vSN+~?g?*#M?8u`bKF&L8p0;Rm` z1meszOPnH?`MHHe>x};19!5@D&5ET1Jo4C1R*wv#RKWPuH1|DtKbJgbJ)io>yD-L3 zt2I$dv7geXlYnP~_=!oIpc7c}rbC~KLqL}a5eOk^x0~oJ>s-kP4~w;yFf0>>WsET= zw%YZNH=8xmG)5bZQXbWEFJah2wH$KXF)N@PaMg>><%XNS#+L14=q#dIhIe1{a;|;T zmH58L=;%1g+baH%(Yx_?kON7t$K?czj6v$DzVR%kq3$Q z#5$abz4?#^@Dy>xD0LwOS(XB<9Uflsqn=9NN(*S6Va&``8u%eYLnEw?W4`hIf9Hw| zpT%>}Sb~Bd!Ij$ReHPlK zSxgX=86IBB*u)gyy7ewl5(`*k_kP%Uj*W8)&A#9Jt=XSjOmuaH9BQSaF&f_sk6W^2 z|)~s5=?RP)OLl13c?XfEupRCQ5K^BmbP7R!8Ms(%xi9&E0 zi=C;JyXcSx(gk#tkimgvPyR~+be4{UVf9|$5Bk&Wz&UJV489kzWN4WC9(tJD?|zVH zoOV2Ve0s049bsI|%7sbn9`6~16j)>SeD645HL$o|Azdbu1_%`*>-$?*M9O&(QsGozH3M{eg=sMfkzR$osqW0TW7`uGmYrGTQ~$9em+A9f$F?f0>^ zI9^N~PP6wa;P(OA?IxvC70>h0MpLg(qLfFu+%w1I-52~IAWb#9#;2WlvKC_vMw>kL zMW-UgTHEnw4g!az`1)`W(g)mZt;O>^j0uS17Ao~HCc{_*CPN4pigEKQ_9DkvgQq-% zluS(5Np(t+rhr9=8E3E{Ak!IADi9W9EHiuwXJOe~_qf*w7iA{)z~Lg~vw#myv;;v3 z<@x9=#rMnf`X!p}I*rB@K~Ty?h(-uO5R_)lVl7g7_@2*Htw9_mK<+>6A?}n?&f~YX zQz}$^LP&|x?)*|pjC+4^6CpVc2O;Zm;;I8<3<8Po=S?+PLg1H(tsza5e5DA;TL`Qz zR)F*Hl~S}?5lNC^%}jW{FtrMkS4xS_^z2oDwH7ZY!dgqFHP)@3{nZmK7!C&^|FG|u z_w*AiNpwsfqiEKQM0I)`u%y|XV9 zH?xK`OA!c!=zL~z!@M~bn~--F2hMwTqD2bnu2gH7&lizW5{4D0{H-DgN=T_Xq$%a} zKyeHLlW8pTopW!$$Nh%R)7Bx6@+n|32?>BV3L!|-1Zxdp=)`oIx^Ri-`ST`_OrD(T zt@gV>qRqn{`N}ATKGqttH0?x=3-MzuNF`x*_(TZUe}1IawUIvwEG8jWl3OmG=M%*( z8qJy$MM*>$mht@%Yv+>`!s&-ud`T(L){tpUwG^VHB#vXJE2R65Bf%h~??hUr@d9^z zfb8K!cZU7su$Y9r1?X5vl~NB$7Nev@NZBz-fsRFWpbVc7xo=`EJ(Uv1Xs6I&js|e& z%}}0)^gw4BTDu^Y6w(EIwaz72M~v<0=HL$&i$%x?aB=aZ@R)rsKuSfDrg;H_#26>r z(=J!9q3#Imdy$B)5bVlGydaEHxk~%*l*A)dp zHjhcANkW>W&R5X}lj|IC<)#ABSv^LZ4Mv;7NnA86)(Ux(6EALXvjd6NT0B1>u!dH< z0oJ0Vv!V`ALuPq5$!JG0O9qxv3Owqq2xFX%aI3M<7jn-3oG;=#%j)`m_ow0DuqcE$ zzaVq*B%$V5PelbH(5YT8{%W1!`vF;&p_GT#DRJDURH`C{B*{{eBxdE30ZO6IRK3-) zo^v&CDs@x z%A`aJiMG1<>?3e^EG$@fLS9@PxM=I#;yEdmQ{<4ZfSDAq5RxD$k!A^6XC!Gt7*=vo z<-|~}*<|@}KO=)x#wVw9bJfu?lMl&*Q@M{}jSEN?*}%Z_$?~$-Jn!=P1)h`rVxb9n zAutoOQVKiE($ZOq)*0neb+1&ZwFW6Afgh4(3FUItMS638CCgH#>kUp>vxc6s&*XG# z&T>$mm+KPi0*w|-ZVuZdrWA$^Y3%fUSG+LmEozMh z!@XsW8R=)b(e5a5AWzR`gh4=>WkgYw=R#&q5yvx1e^#93`fg6Zp~$k7=`Ar)Z_oX*g(!+i(=<=l z+5?1O0Qdq2vH#*iV<8Fo?K#i#2@yilYS-~RA1M`Cmd?qIfK%{M)FR6gdV2;i#)+OJ zPLN6w#Swyxlh!QBQ?5=y7a5LXCF*S6BDlRF#DD3|u%8+hijV=|IWte)ta!?!(VRvA zZaFh`CQH{LBZ^y8%00PbXb?h?nT&D}FgiBQF-!Y6W=SuTHFu6ANnB@@lB8*t zpR=eeIUpFyUE=`kM?+fb91{a*XhCsq}JEBx75riSe7?L=4Is_0(x+3a1`e`q6{uB7b0?osd z#zGPDyxC7WK1G@k1Z8K{7#Hv>8hZ*dTCF;LeM4kfk{7-ir1VIVIzbRJQERY#AmpUg zLrm6N`SyJgzVDMH2}Kp8wFXakc^`V}nuz3HwOty-UfsQi6AMMiS+k$GNmZ0eRY!!; zc^Jic@KQ?J?FMn&rl+UhZONxKK@jGqY3j^oFJ!vDi;GTMLg)#`YAI3*GMy5~u?x8f z0X8SQsKYWA&sU^rp4KgVc_FS4uzP{#;E=Eogh<>@(sST)6gr=57uPD4sx%r?)M^t* zsi;=_-AYNLymrbJw>6s6_8FfAqun>fF zdWeg#`b?#vBgf`B51rTV`hI}cu7$0rJh8@ER*mL3eo!V#GuE#NS=v`(qTX_$4k6IS zAOat(C5cl!PvxN%XY*z{4;toTP{8{<&-)vAGR+T*hlL>I*~NiNN|{bLy(rHq6m{X~ z%@F70d*Fw(qXrWbqXa>S@On6=(&D7$6~?ApD5a3f<>IX|80AP1!a0;llFkYiI^>@E zYn4)8J_slAuwfwxd1i4?B&CG#^8Ry0rZcd42~TeDNFj-H2N3`v2*V0W`ADyfCsS5c zQ<6+kDwWY%6U9lVprPH4D3_hCXtyIW?Sh3fun!94>y@W|dL)wp3#UV7tp=NiyYpaP zmgXV!8TsuxZZ%;TTW!slvivL;9^usgxVu{NUmGws?5W>+X?SxS~BlzIkc z0*uyTWJp;wDcc(DRPK=%caTyNCn?Qli!96Xhu$Wn*bpZv!-E4v1ks$DIv({3p)oHg|^!E+mm6i~OA#0as zJhXWOx8Jvg$y#IHEjJ33f`G?&?B>RQ?D8z_2i+#5AIP(HGkYK^sc1*dPVQs&mDz4L z@}?V=6C#m*iT2J7G^cj4%Nt>JsRym~oKhZ{7gncfM&Qrc9`+-Sn1Hcq%eLJUTy$oG z3)jP$$7{a$?FV__mwV(-jv#cKkP3h`25odlc`NAxht5xM`a>y?IBpZiEd~cia*N2K z!d{Z;?X<@pC9L!iCn-@B<<*F@_es=wm|f70T|PYU?7I*=-e^fu1M605E;udY%;ReK z%3w_|qCet>TQkA@RTdaBtybNYl6tOqPKAABtqJNo9zsYD zp?tJ4#7ROB_;dDk_Y`O?m}q#c8rD-%aP3r6eoh-$vn=DerzMFh?6$eN^kzU>j`N`4U|$YZWUB%Pd`E9i3h=Iq+bSW z$&8^D#rU3!ff)bWX;*4m^IXX0~{4L92>hc$yehKahO?($d6v!(A5 zhi((HTjmWog=a3Lq}8l-%0j_Kac93)Yc+`LJ4q)V#UeUnfD0V9qJ+?w?3z-fv0&+N z%;p^t7oTn}x$1fH<|ih^iN3ZB^}6r06T#@DLW(Dm!aYLJRYIgxKQKm5#&LVlZB`l3 zXiU;<)=<&|1YuBOx;8=U@=4p%P=CzzgQ#FmMUWJNL|b-EMO<`-$LXgUzI=;e z_Y|+Z>{;I3Q%zRot6)i#h_RXP&HZi0Lf{EX!4b1X*gnx!LZ+s6k6LT)Hr8GttYva? zCsEYwvRpFiTi`_$Fy z>!%*Wdv;Dz&ehTe;K#UV!2nRkMGZn=y5x&3JEyXrZQ9oQ9`LPhj=P)aDj`V{fe@>T z_Ow>JjzHvIxS-jZrq!xptuuv<^pIH#l{Oq1&UUQKcoUX~Q zjZNFr5cZ#}VZGMk93gnc?B62BI zZx4U=Jy(tV*-tmMNB`=dxAFaZr-R&zKHwI1i+Ruau4*_T#BoBndv(mYt3ckSCiB;< za6RLG>RQ1quG!z+Z_v_;1#3o1eDKYJ|M#(&Ykp7h*>BZGU;Fm$KSJ=nN>$aOSjZ$5 zWLl7-cM97;F{G8P-%CS+x?qmIZYy-3w{vW5t(^zpJfO1Ck>LyDQz;Yo?Hl8M@OPG2|9 zrtM{3`ZoXiYd*T`m0!MX^7Ehm*5uz*mii|P!T+80uj{~gnu(kGdh|DrTbbS#2KJj9 zHp=%lYeCPKKCtH1pZ{-XtoXr$_DlcyK>aN@erjuL$9Qx`H^<&Bbl2<^a#hhlS+pHk zY+m7>cTNd~vKc`(jX{EiAaFm!TIj2U{9@}C9@#p^j)@Z)>J1*4tha6~1)3<~fxrFA z1aEoy&}dItUe#!ut8wiEy|^u(zN@wPTyNEUv06#=V4qUEC)8bcZD_sb+>`sha@L9E z*DV|L-+s&8J8l^rZ`}f{=;rvlfv&C)Db?{#G%1Q^F(Cvp?|1^R(j&-fC=;WRc%DM# zNhK)+ajMy}V~X|1uVBr{U}kLeg5|@ixSdhUScqDh{8k~K1vSTI1SgR zc{A`qA^57XJiFBvmksyH?+h=?_~Pvo-@A8HwDzX2jq=#81mNw!VZBxNzR>LzvPwyr z;p`|70;PQNt;awrLR~|e41*(Mrf0-0At~VGHOug%{4;Irtpf0sq#VqD2R0xBE(iXX zG29UN;={vzlAf~of#~yI{JlGy=idCUJHYCqFirrs0F&Jue>c!oLOjpkBBZ<*tSn+# zN+~P?D+2=4Ce$@DJUk`wlt$@0ahY|19yI{np1m zxO$bm?Y;+_ci<9dmjWNg<@}%M=D53wZby5!fmmOx4lnO^wIZODjpOSEF&@6>irTcX zot05E+#tAUUsWPOu0xEmR7;Xzh0hWVOlvkg7IV+WHh28AMZKl5$ajp6x33%>=l#GP zK+*g0VGh$iSO<%4-(ly1&WSz0A%*PGQsJ4@l(UIehV1c_L`g|zOn%=%F?$P*R|+A1 zwXZXWd78Fb5*PtLxu?ljZ=L3j`&-QUhZUl7`C2;&`h3ajsss)QhKo{_~3SOEAjLcDH& zi9KsAVc_BWUcPhnfqzLCMsrxu?G^G%;Fk!273xDlv<)w--=t-@RSF(Amgh>D_b)kf zX@d~r;sfQog#=G2d{2-Z6dy+~79^i(rH@J`@Z+6W8Gc(x`6}SK0yY*~SYWvy*Se4u zZJ+Z$X7=WNx?_QQ3?;&(MLgvD0(=Xv7gBD(+JC`$$!}%edvg8yqN@q2-{7g^$S%S7 gHN{"use strict";const t=((t,e)=>{const{forward:n=[],...i}={},o=JSON.stringify(i,((t,e)=>("function"==typeof e&&(e=String(e)).startsWith(t+"(")&&(e="function "+e),e)));return["!(function(w,p,f,c){",Object.keys(i).length>0?`c=w[p]=Object.assign(w[p]||{},${o});`:"c=w[p]=w[p]||{};","c[f]=(c[f]||[])",n.length>0?`.concat(${JSON.stringify(n)})`:"","})(window,'partytown','forward');",'/* Partytown 0.8.0 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,l,p){function u(){p||(p=1,"/"==(a=(o.lib||"/~partytown/")+(o.debug?"debug/":""))[0]&&(s=e.querySelectorAll(\'script[type="text/partytown"]\'),i!=t?i.dispatchEvent(new CustomEvent("pt1",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener("pt0",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||"partytown-sw.js"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener("statechange",(function(t){"activated"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?"script":"iframe"),t||(c.setAttribute("style","display:block;width:0;height:0;border:0;visibility:hidden"),c.setAttribute("aria-hidden",!0)),c.src=a+"partytown-"+(t?"atomics.js?v=0.8.0":"sandbox-sw.html?"+Date.now()),e.querySelector(o.sandboxParent||"body").appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(".")[0]]})),n=0;n{const e=document.createElement("script");e.textContent=t,document.body.append(e)}))})(); \ No newline at end of file diff --git a/is_themecore/is_themecore/public/~partytown/debug/partytown-atomics.js b/is_themecore/is_themecore/public/~partytown/debug/partytown-atomics.js new file mode 100644 index 0000000..b01fb20 --- /dev/null +++ b/is_themecore/is_themecore/public/~partytown/debug/partytown-atomics.js @@ -0,0 +1 @@ +(e=>{const t=()=>{},n=e=>e.length,r=e=>{var t,n,r;try{const n=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(n)return n}catch(e){}try{const t=null===(r=null===(n=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===n?void 0:n.constructor)||void 0===r?void 0:r.name;if(t)return t}catch(e){}return""},o=(e,t)=>e.startsWith(t),a=e=>!(o(e,"webkit")||o(e,"toJSON")||o(e,"constructor")||o(e,"toString")||o(e,"_")),i=e=>11===e.nodeType&&e.host?"#s":e.nodeName,s=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),d={Anchor:"a",DList:"dl",Image:"img",OList:"ol",Paragraph:"p",Quote:"q",TableCaption:"caption",TableCell:"td",TableCol:"colgroup",TableRow:"tr",TableSection:"tbody",UList:"ul"},c={Graphics:"g",SVG:"svg"},l=Symbol(),$=Symbol(),p=new Map,u=new Map,m={},f=new WeakMap,w=(e,t)=>{if(e)return(t=f.get(e))||(t=e[l])||g(e,t=s()),t},y=(e,t,n,r,o)=>{if((n=m[e])&&n.$window$){if(e===t)return n.$window$;if(r=n.$window$.document,"d"===(o=t.split(".").pop()))return r;if("e"===o)return r.documentElement;if("h"===o)return r.head;if("b"===o)return r.body}return p.get(t)},g=(e,t,n)=>{e&&(p.set(t,e),e[l]=t,e[$]=n=Date.now(),n>h+5e3&&(p.forEach(((e,t)=>{e[$]{console.debug.apply(console,["%cMain 🌎","background: #717171; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;",e])},M=[],O=e=>(M.includes(e)||M.push(e),M.indexOf(e)+1),T=(e,t,n)=>{const r=((e,t)=>{return n=e,r={value:t},Object.defineProperty(n,"name",{...r,configurable:!0});var n,r})(class extends m[e].$window$.HTMLElement{},n[0]);return"connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",").map((n=>r.prototype[n]=function(...r){t.postMessage([15,e,w(this),n,r])})),r.observedAttributes=n[1],r},C=(e,t,n,a,s,d)=>void 0!==t&&(a=typeof t)?"string"===a||"number"===a||"boolean"===a||null==t?[0,t]:"function"===a?[6]:(n=n||new Set)&&Array.isArray(t)?n.has(t)?[1,[]]:n.add(t)&&[1,t.map((t=>C(e,t,n)))]:"object"===a?k(t)?[14,{name:t.name,message:t.message,stack:t.stack}]:""===(s=r(t))?[2,{}]:"Window"===s?[3,[e,e]]:"HTMLCollection"===s||"NodeList"===s?[7,Array.from(t).map((t=>C(e,t,n)[1]))]:s.endsWith("Event")?[5,L(e,t,n)]:"CSSRuleList"===s?[12,Array.from(t).map(A)]:o(s,"CSS")&&s.endsWith("Rule")?[11,A(t)]:"CSSStyleDeclaration"===s?[13,L(e,t,n)]:"Attr"===s?[10,[t.name,t.value]]:t.nodeType?[3,[e,w(t),i(t),d]]:[2,L(e,t,n,!0,!0)]:void 0:t,L=(e,t,n,o,i,s,d,c)=>{if(s={},!n.has(t))for(d in n.add(t),t)a(d)&&(c="path"===d&&r(t).endsWith("Event")?t.composedPath():t[d],(o||"function"!=typeof c)&&(i||""!==c)&&(s[d]=C(e,c,n)));return s},A=e=>{let t,n={};for(t in e)P.includes(t)&&(n[t]=String(e[t]));return n},k=t=>t instanceof e.top.Error,R=(t,n,r,o)=>{if(n)return r=n[0],o=n[1],0===r?o:4===r?x(t,o):1===r?o.map((e=>R(t,e))):3===r?y(o[0],o[1]):5===r?j(N(t,o)):2===r?N(t,o):8===r?o:9===r?new e[n[2]](o):void 0},x=(e,{$winId$:t,$instanceId$:n,$refId$:r},o)=>((o=u.get(r))||(o=function(...o){e.postMessage([9,{$winId$:t,$instanceId$:n,$refId$:r,$thisArg$:C(t,this),$args$:C(t,o)}])},u.set(r,o)),o),j=e=>new("detail"in e?CustomEvent:Event)(e.type,e),N=(e,t,n,r)=>{for(r in n={},t)n[r]=R(e,t[r]);return n},P="cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(","),W=async(e,t)=>{let r,o,a,i,s,d,c={$msgId$:t.$msgId$},l=n(t.$tasks$),$=0;for(;${let t=0,n=()=>{m[o]||t++>1e3?e():requestAnimationFrame(n)};n()})),1===a[0]&&a[1]in m[o].$window$?g(new m[o].$window$[a[1]](...R(e,a[2])),r.$instanceId$):(i=y(o,r.$instanceId$),i?(s=U(e,o,i,a,d,r.$groupedGetters$),r.$assignInstanceId$&&("string"==typeof r.$assignInstanceId$?g(s,r.$assignInstanceId$):m[r.$assignInstanceId$.$winId$]={$winId$:r.$assignInstanceId$.$winId$,$window$:{document:s}}),"object"==typeof(p=s)&&p&&p.then&&(s=await s,d&&(c.$isPromise$=!0)),d&&(c.$rtnValue$=C(o,s,void 0,void 0,void 0,r.$instanceId$))):(c.$error$=`Error finding instance "${r.$instanceId$}" on window ${O(o)}`,console.error(c.$error$,r)))}catch(e){d?c.$error$=String(e.stack||e):console.error(e)}var p;return c},U=(e,t,o,a,i,s)=>{let d,c,l,$,p,u=0,m=n(a);for(;up[e]=o[e])),p;o=o[c]}else{if(0===d)return void(o[l]=R(e,c));if("function"==typeof o[l]&&($=R(e,c),"define"===l&&"CustomElementRegistry"===r(o)&&($[1]=T(t,e,$[1])),"insertRule"===l&&$[1]>n(o.cssRules)&&($[1]=n(o.cssRules)),o=o[l].apply(o,$),"play"===l))return Promise.resolve()}}catch(e){if(i)throw e;console.debug("Non-blocking setter error:",e)}}return o},_=(e,t)=>{let r,o,a,i=t.$winId$,s=t.$window$,d=s.document;if(d&&d.body)if(r=d.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])'),r||(r=d.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror])')),r)r.dataset.ptid=o=w(r,i),a={$winId$:i,$instanceId$:o},r.src?(a.$url$=r.src,a.$orgUrl$=r.dataset.ptsrc||r.src):a.$content$=r.innerHTML,e.postMessage([7,a]);else{if(!t.$isInitialized$){t.$isInitialized$=1,((e,t,r)=>{let o,a,i=r._ptf,s=(r.partytown||{}).forward||[],d=(n,r)=>e.postMessage([10,{$winId$:t,$forward$:n,$args$:C(t,Array.from(r))}]);if(r._ptf=void 0,s.map((e=>{a=r,e.split(".").map(((e,t,r)=>{a=a[r[t]]=t+1d(r,e)}))})),i)for(o=0;o_(e,t)))},q=(e,t,n)=>{if(!f.has(n)){f.set(n,t);const r=n.document,o=n.history,a=f.get(n.parent);let i=!1;const s=[],d=e=>{i?e():s.push(e)},c=()=>{e.postMessage([5,{$winId$:t,$parentWinId$:a,$url$:r.baseURI,$visibilityState$:r.visibilityState}]),setTimeout((()=>{i=!0,s.forEach((e=>{e()}))}))},l=o.pushState.bind(o),$=o.replaceState.bind(o),p=(n,o,a,i)=>()=>{setTimeout((()=>{e.postMessage([13,{$winId$:t,type:n,state:o,url:r.baseURI,newUrl:a,oldUrl:i}])}))};o.pushState=(e,t,n)=>{l(e,t,n),d(p(0,e,null==n?void 0:n.toString()))},o.replaceState=(e,t,n)=>{$(e,t,n),d(p(1,e,null==n?void 0:n.toString()))},n.addEventListener("popstate",(e=>{d(p(2,e.state))})),n.addEventListener("hashchange",(e=>{d(p(3,{},e.newURL,e.oldURL))})),n.addEventListener("ptupdate",(()=>{_(e,m[t])})),r.addEventListener("visibilitychange",(()=>e.postMessage([14,t,r.visibilityState]))),m[t]={$winId$:t,$window$:n},m[t].$startTime$=performance.now(),E(`Registered ${t===a?"top":"iframe"} window ${O(t)}`),"complete"===r.readyState?c():n.addEventListener("load",c)}},D=()=>{const e=Object.getOwnPropertyNames(b).map((e=>((e,t,n,r)=>{if(n=t.match(/^(HTML|SVG)(.+)Element$/))return r=n[2],"S"==t[0]?e.createElementNS("http://www.w3.org/2000/svg",c[r]||r.slice(0,2).toLowerCase()+r.slice(2)):e.createElement(d[r]||r)})(v,e))).filter((e=>e)).map((e=>[e]));return z(e,[])},F=new Set(["Object"]),z=(e,t)=>(e.filter((e=>e[0])).map((e=>{const t=e[0],n=e[1],o=r(t);return[o,b[o].prototype,t,n]})).map((([e,n,r,o])=>H(F,t,e,n,r,o))),t),G=(e,t,n)=>{let r=[],o=[e,"Object",r];for(n in t)V(r,t,n);return o},H=(e,t,n,o,a,s)=>{if(!e.has(n)){e.add(n);const d=Object.getPrototypeOf(o),c=r(d),l=[],$=Object.getOwnPropertyDescriptors(o);H(e,t,c,d,a,s);for(const e in $)V(l,a,e);t.push([n,c,l,s,i(a)])}},V=(e,t,n,o,i,s)=>{try{a(n)&&isNaN(n[0])&&"all"!==n&&("function"==(i=typeof(o=t[n]))?(String(o).includes("[native")||Object.getPrototypeOf(t)[n])&&e.push([n,5]):"object"===i&&null!=o?"Object"!==(s=r(o))&&self[s]&&e.push([n,o.nodeType||s]):"symbol"!==i&&(n.toUpperCase()===n?e.push([n,6,o]):e.push([n,6])))}catch(e){console.warn(e)}},J=e=>{let t,r=[],o=0,a=n(b[e]);for(;ovoid 0!==e[n]?new e[n](t):0;let Q;(async e=>{const t=new SharedArrayBuffer(1073741824),n=new Int32Array(t);return(r,o)=>{const a=o[0],i=o[1];if(0===a){const e=(()=>{const e=v.createElement("i"),t=v.createTextNode(""),n=v.createComment(""),r=v.createDocumentFragment(),o=v.createElement("p").attachShadow({mode:"open"}),a=B(b,"IntersectionObserver"),i=B(b,"MutationObserver"),s=B(b,"ResizeObserver"),d=b.performance,c=b.screen,l=[[b.history],[d],[d.navigation],[d.timing],[c],[c.orientation],[b.visualViewport],[a,12],[i,12],[s,12],[t],[n],[r],[o],[e],[e.attributes],[e.classList],[e.dataset],[e.style],[v],[v.doctype]],$=[G("Window",b),G("Node",t)],p={$config$:JSON.stringify(I,((e,t)=>("function"==typeof t&&(t=String(t)).startsWith(e+"(")&&(t="function "+t),t))),$interfaces$:z(l,$),$libPath$:new URL(S,b.location)+"",$origin$:origin,$localStorage$:J("localStorage"),$sessionStorage$:J("sessionStorage")};return((e,t,n)=>{void 0!==t[n]&&e.push([n,"Object",Object.keys(t[n].prototype).map((e=>[e,6])),12])})(p.$interfaces$,b,"IntersectionObserverEntry"),p})();e.$sharedDataBuffer$=t,r.postMessage([1,e])}else 2===o[0]?r.postMessage([3,D()]):11===a?e(i,(e=>{const t=JSON.stringify(e),r=t.length;for(let e=0;e{4===t[0]?q(e,s(),b):(n=m[t[1]])&&(7===t[0]?requestAnimationFrame((()=>_(e,n))):6===t[0]&&((e,t,n,r,o)=>{(o=t.$window$.document.querySelector(`[data-ptid="${n}"]`))&&(r?o.dataset.pterror=r:o.type+="-x",delete o.dataset.ptid),_(e,t)})(e,n,t[2],t[3]))})(r,o)}})(((e,t)=>W(Q,e).then(t))).then((e=>{e&&(Q=new Worker(S+"partytown-ww-atomics.js?v=0.8.0",{name:"Partytown 🎉"}),Q.onmessage=t=>{const n=t.data;12===n[0]?W(Q,n[1]):e(Q,n)},E("Created Partytown web worker (0.8.0)"),Q.onerror=e=>console.error("Web Worker Error",e),b.addEventListener("pt1",(e=>q(Q,w(e.detail.frameElement),e.detail))))}))})(window); \ No newline at end of file diff --git a/is_themecore/is_themecore/public/~partytown/debug/partytown-media.js b/is_themecore/is_themecore/public/~partytown/debug/partytown-media.js new file mode 100644 index 0000000..1e4fea9 --- /dev/null +++ b/is_themecore/is_themecore/public/~partytown/debug/partytown-media.js @@ -0,0 +1 @@ +(e=>{const[t,s,n,r,i,a,o,d,u]=e.$bridgeToMedia$;delete e.$bridgeToMedia$;const c=Symbol(),h=Symbol(),f=Symbol(),p=Symbol(),g=Symbol(),l=Symbol(),m=[],v=(e,t,s)=>e[t]=S(t,s),S=(e,t)=>Object.defineProperty(t,"name",{value:e}),b=(e,t)=>{const r={getContext:{value(e,t){return this[c]||(this[c]=(e.includes("webgl")?g:p)(this,e,t)),this[c]}}},h=v(t,"CanvasGradient",class extends e{addColorStop(...e){n(this,["addColorStop"],e,2)}}),f=v(t,"CanvasPattern",class extends e{setTransform(...e){n(this,["setTransform"],e,2)}}),p=(e,t,r)=>{const i=e[o],c=a(),f={[o]:i,[d]:c,[u]:[]},p=n(e,["getContext"],[t,r],1,c),g="getContextAttributes,getImageData,getLineDash,getTransform,isPointInPath,isPointInStroke,measureText".split(","),l={get:(e,t)=>"string"==typeof t&&t in p?"function"==typeof p[t]?(...e)=>{if(t.startsWith("create")){const r=a();return n(f,[t],e,2,r),"createImageData"===t||"createPattern"===t?(s=`${t}()`,console.warn(`${s} not implemented`),{setTransform:()=>{}}):new h(i,r)}var s;const r=g.includes(t)?1:2;return n(f,[t],e,r)}:p[t]:e[t],set:(e,t,n)=>("string"==typeof t&&t in p?(p[t]!==n&&"function"!=typeof n&&s(f,[t],n),p[t]=n):e[t]=n,!0)};return new Proxy(p,l)},g=(e,t,r)=>{const i=e[o],c=a(),h={[o]:i,[d]:c,[u]:[]},f=n(e,["getContext"],[t,r],1,c),p={get:(e,t)=>"string"==typeof t?"function"!=typeof f[t]?f[t]:(...e)=>n(h,[t],e,m(t)):e[t],set:(e,t,n)=>("string"==typeof t&&t in f?(f[t]!==n&&"function"!=typeof n&&s(h,[t],n),f[t]=n):e[t]=n,!0)};return new Proxy(f,p)},l="checkFramebufferStatus,makeXRCompatible".split(","),m=e=>e.startsWith("create")||e.startsWith("get")||e.startsWith("is")||l.includes(e)?1:2;v(t,"CanvasGradient",h),v(t,"CanvasPattern",f),i(t.HTMLCanvasElement,r)},y=(e,u,c,b)=>{var y,T;b.Audio=S("HTMLAudioElement",class{constructor(e){const t=c.$createNode$("audio",a());return t.src=e,t}});const w=class extends e{get enabled(){return t(this,["enabled"])}set enabled(e){s(this,["enabled"],e)}get id(){return t(this,["id"])}get kind(){return t(this,["kind"])}get label(){return t(this,["label"])}get language(){return t(this,["language"])}get sourceBuffer(){return new x(this)}},k=class{constructor(e){const s=e[o],r=e[d];return new Proxy({addEventListener(...t){n(e,["audioTracks","addEventListener"],t,3)},getTrackById:(...t)=>n(e,["audioTracks","getTrackById"],t),get length(){return t(e,["audioTracks","length"])},removeEventListener(...t){n(e,["audioTracks","removeEventListener"],t,3)}},{get:(e,t)=>"number"==typeof t?new w(s,r,["audioTracks",t]):e[t]})}},E=v(b,"SourceBufferList",class extends Array{constructor(e){super(),this[h]=e}addEventListener(...e){n(this[h],["sourceBuffers","addEventListener"],e,3)}removeEventListener(...e){n(this[h],["sourceBuffers","removeEventListener"],e,3)}}),x=v(b,"SourceBuffer",(T=class extends u{constructor(e){super(e[o],e[d],["sourceBuffers"]),this[y]=[],this[h]=e}abort(){const e=R(this);n(this,[e,"appendWindowStart"],m,1)}addEventListener(...e){const t=R(this);n(this,[t,"addEventListener"],e,3)}appendBuffer(e){this[g].push(["appendBuffer",[e],e]),M(this)}get appendWindowStart(){const e=R(this);return t(this,[e,"appendWindowStart"])}set appendWindowStart(e){const t=R(this);s(this,[t,"appendWindowStart"],e)}get appendWindowEnd(){const e=R(this);return t(this,[e,"appendWindowEnd"])}set appendWindowEnd(e){const t=R(this);s(this,[t,"appendWindowEnd"],e)}get buffered(){const e=this[h],t=R(this);return new B(e[o],e[d],["sourceBuffers",t,"buffered"])}changeType(e){const t=R(this);n(this,[t,"changeType"],[e],2)}get mode(){const e=R(this);return t(this,[e,"mode"])}set mode(e){const t=R(this);s(this,[t,"mode"],e)}remove(e,t){this[g].push(["remove",[e,t]]),M(this)}removeEventListener(...e){const t=R(this);n(this,[t,"removeEventListener"],e,3)}get timestampOffset(){const e=R(this);return t(this,[e,"timestampOffset"])}set timestampOffset(e){const t=R(this);s(this,[t,"timestampOffset"],e)}get updating(){const e=R(this);return t(this,[e,"updating"])}},y=g,T)),B=v(b,"TimeRanges",class extends e{start(...e){return n(this,["start"],e)}end(...e){return n(this,["end"],e)}get length(){return t(this,["length"])}}),R=e=>e?e[h][p].indexOf(e):-1,M=e=>{if(e[g].length){if(!e.updating){const t=e[g].shift();if(t){const s=R(e);n(e,[s,t[0]],t[1],3,void 0,t[2])}}setTimeout((()=>M(e)),50)}},W={buffered:{get(){return this[l]||(this[l]=new B(this[o],this[d],["buffered"]),setTimeout((()=>{this[l]=void 0}),5e3)),this[l]}},readyState:{get(){return 4===this[f]?4:("number"!=typeof this[f]&&(this[f]=t(this,["readyState"]),setTimeout((()=>{this[f]=void 0}),1e3)),this[f])}}};v(b,"MediaSource",class extends u{constructor(){super(c.$winId$),this[p]=new E(this),r(this,"MediaSource",m)}get activeSourceBuffers(){return[]}addSourceBuffer(e){const t=new x(this);return this[p].push(t),n(this,["addSourceBuffer"],[e]),t}clearLiveSeekableRange(){n(this,["clearLiveSeekableRange"],m,2)}get duration(){return t(this,["duration"])}set duration(e){s(this,["duration"],e)}endOfStream(e){n(this,["endOfStream"],[e],3)}get readyState(){return t(this,["readyState"])}removeSourceBuffer(e){const t=R(e);t>-1&&(this[p].splice(t,1),n(this,["removeSourceBuffer"],[t],1))}setLiveSeekableRange(e,t){n(this,["setLiveSeekableRange"],[e,t],2)}get sourceBuffers(){return this[p]}static isTypeSupported(e){if(!L.has(e)){const t=n(b,["MediaSource","isTypeSupported"],[e]);L.set(e,t)}return L.get(e)}});const C=b.URL=S("URL",class extends URL{});"audioTracks"in b.HTMLMediaElement.prototype&&(v(b,"AudioTrackList",k),v(b,"AudioTrack",w),W.audioTracks={get(){return new k(this)}}),i(b.HTMLMediaElement,W),C.createObjectURL=e=>n(b,["URL","createObjectURL"],[e]),C.revokeObjectURL=e=>n(b,["URL","revokeObjectURL"],[e])},L=new Map;e.$bridgeFromMedia$=(e,t,s,n,r)=>{r.map((e=>{delete n[e]})),b(e,n),y(e,t,s,n)}})(self); \ No newline at end of file diff --git a/is_themecore/is_themecore/public/~partytown/debug/partytown-sandbox-sw.js b/is_themecore/is_themecore/public/~partytown/debug/partytown-sandbox-sw.js new file mode 100644 index 0000000..36f5fb4 --- /dev/null +++ b/is_themecore/is_themecore/public/~partytown/debug/partytown-sandbox-sw.js @@ -0,0 +1 @@ +(e=>{const t=()=>{},n=e=>e.length,r=e=>{var t,n,r;try{const n=null===(t=null==e?void 0:e.constructor)||void 0===t?void 0:t.name;if(n)return n}catch(e){}try{const t=null===(r=null===(n=null==e?void 0:e.__zone_symbol__originalInstance)||void 0===n?void 0:n.constructor)||void 0===r?void 0:r.name;if(t)return t}catch(e){}return""},o=(e,t)=>e.startsWith(t),a=e=>!(o(e,"webkit")||o(e,"toJSON")||o(e,"constructor")||o(e,"toString")||o(e,"_")),i=e=>11===e.nodeType&&e.host?"#s":e.nodeName,s=()=>Math.round(Math.random()*Number.MAX_SAFE_INTEGER).toString(36),d={Anchor:"a",DList:"dl",Image:"img",OList:"ol",Paragraph:"p",Quote:"q",TableCaption:"caption",TableCell:"td",TableCol:"colgroup",TableRow:"tr",TableSection:"tbody",UList:"ul"},c={Graphics:"g",SVG:"svg"},l=Symbol(),p=Symbol(),$=new Map,u=new Map,m={},w=new WeakMap,f=(e,t)=>{if(e)return(t=w.get(e))||(t=e[l])||y(e,t=s()),t},g=(e,t,n,r,o)=>{if((n=m[e])&&n.$window$){if(e===t)return n.$window$;if(r=n.$window$.document,"d"===(o=t.split(".").pop()))return r;if("e"===o)return r.documentElement;if("h"===o)return r.head;if("b"===o)return r.body}return $.get(t)},y=(e,t,n)=>{e&&($.set(t,e),e[l]=t,e[p]=n=Date.now(),n>h+5e3&&($.forEach(((e,t)=>{e[p]{console.debug.apply(console,["%cMain 🌎","background: #717171; color: white; padding: 2px 3px; border-radius: 2px; font-size: 0.8em;",e])},M=[],T=e=>(M.includes(e)||M.push(e),M.indexOf(e)+1),L=(e,t,n)=>{const r=((e,t)=>{return n=e,r={value:t},Object.defineProperty(n,"name",{...r,configurable:!0});var n,r})(class extends m[e].$window$.HTMLElement{},n[0]);return"connectedCallback,disconnectedCallback,attributeChangedCallback,adoptedCallback".split(",").map((n=>r.prototype[n]=function(...r){t.postMessage([15,e,f(this),n,r])})),r.observedAttributes=n[1],r},O=(e,t,n,a,s,d)=>void 0!==t&&(a=typeof t)?"string"===a||"number"===a||"boolean"===a||null==t?[0,t]:"function"===a?[6]:(n=n||new Set)&&Array.isArray(t)?n.has(t)?[1,[]]:n.add(t)&&[1,t.map((t=>O(e,t,n)))]:"object"===a?R(t)?[14,{name:t.name,message:t.message,stack:t.stack}]:""===(s=r(t))?[2,{}]:"Window"===s?[3,[e,e]]:"HTMLCollection"===s||"NodeList"===s?[7,Array.from(t).map((t=>O(e,t,n)[1]))]:s.endsWith("Event")?[5,C(e,t,n)]:"CSSRuleList"===s?[12,Array.from(t).map(k)]:o(s,"CSS")&&s.endsWith("Rule")?[11,k(t)]:"CSSStyleDeclaration"===s?[13,C(e,t,n)]:"Attr"===s?[10,[t.name,t.value]]:t.nodeType?[3,[e,f(t),i(t),d]]:[2,C(e,t,n,!0,!0)]:void 0:t,C=(e,t,n,o,i,s,d,c)=>{if(s={},!n.has(t))for(d in n.add(t),t)a(d)&&(c="path"===d&&r(t).endsWith("Event")?t.composedPath():t[d],(o||"function"!=typeof c)&&(i||""!==c)&&(s[d]=O(e,c,n)));return s},k=e=>{let t,n={};for(t in e)W.includes(t)&&(n[t]=String(e[t]));return n},R=t=>t instanceof e.top.Error,A=(t,n,r,o)=>{if(n)return r=n[0],o=n[1],0===r?o:4===r?x(t,o):1===r?o.map((e=>A(t,e))):3===r?g(o[0],o[1]):5===r?j(P(t,o)):2===r?P(t,o):8===r?o:9===r?new e[n[2]](o):void 0},x=(e,{$winId$:t,$instanceId$:n,$refId$:r},o)=>((o=u.get(r))||(o=function(...o){e.postMessage([9,{$winId$:t,$instanceId$:n,$refId$:r,$thisArg$:O(t,this),$args$:O(t,o)}])},u.set(r,o)),o),j=e=>new("detail"in e?CustomEvent:Event)(e.type,e),P=(e,t,n,r)=>{for(r in n={},t)n[r]=A(e,t[r]);return n},W="cssText,selectorText,href,media,namespaceURI,prefix,name,conditionText".split(","),N=async(e,t)=>{let r,o,a,i,s,d,c={$msgId$:t.$msgId$},l=n(t.$tasks$),p=0;for(;p{let t=0,n=()=>{m[o]||t++>1e3?e():requestAnimationFrame(n)};n()})),1===a[0]&&a[1]in m[o].$window$?y(new m[o].$window$[a[1]](...A(e,a[2])),r.$instanceId$):(i=g(o,r.$instanceId$),i?(s=U(e,o,i,a,d,r.$groupedGetters$),r.$assignInstanceId$&&("string"==typeof r.$assignInstanceId$?y(s,r.$assignInstanceId$):m[r.$assignInstanceId$.$winId$]={$winId$:r.$assignInstanceId$.$winId$,$window$:{document:s}}),"object"==typeof($=s)&&$&&$.then&&(s=await s,d&&(c.$isPromise$=!0)),d&&(c.$rtnValue$=O(o,s,void 0,void 0,void 0,r.$instanceId$))):(c.$error$=`Error finding instance "${r.$instanceId$}" on window ${T(o)}`,console.error(c.$error$,r)))}catch(e){d?c.$error$=String(e.stack||e):console.error(e)}var $;return c},U=(e,t,o,a,i,s)=>{let d,c,l,p,$,u=0,m=n(a);for(;u$[e]=o[e])),$;o=o[c]}else{if(0===d)return void(o[l]=A(e,c));if("function"==typeof o[l]&&(p=A(e,c),"define"===l&&"CustomElementRegistry"===r(o)&&(p[1]=L(t,e,p[1])),"insertRule"===l&&p[1]>n(o.cssRules)&&(p[1]=n(o.cssRules)),o=o[l].apply(o,p),"play"===l))return Promise.resolve()}}catch(e){if(i)throw e;console.debug("Non-blocking setter error:",e)}}return o},_=(e,t)=>{let r,o,a,i=t.$winId$,s=t.$window$,d=s.document;if(d&&d.body)if(r=d.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror]):not([async]):not([defer])'),r||(r=d.querySelector('script[type="text/partytown"]:not([data-ptid]):not([data-pterror])')),r)r.dataset.ptid=o=f(r,i),a={$winId$:i,$instanceId$:o},r.src?(a.$url$=r.src,a.$orgUrl$=r.dataset.ptsrc||r.src):a.$content$=r.innerHTML,e.postMessage([7,a]);else{if(!t.$isInitialized$){t.$isInitialized$=1,((e,t,r)=>{let o,a,i=r._ptf,s=(r.partytown||{}).forward||[],d=(n,r)=>e.postMessage([10,{$winId$:t,$forward$:n,$args$:O(t,Array.from(r))}]);if(r._ptf=void 0,s.map((e=>{a=r,e.split(".").map(((e,t,r)=>{a=a[r[t]]=t+1d(r,e)}))})),i)for(o=0;o_(e,t)))},q=(e,t,n)=>{if(!w.has(n)){w.set(n,t);const r=n.document,o=n.history,a=w.get(n.parent);let i=!1;const s=[],d=e=>{i?e():s.push(e)},c=()=>{e.postMessage([5,{$winId$:t,$parentWinId$:a,$url$:r.baseURI,$visibilityState$:r.visibilityState}]),setTimeout((()=>{i=!0,s.forEach((e=>{e()}))}))},l=o.pushState.bind(o),p=o.replaceState.bind(o),$=(n,o,a,i)=>()=>{setTimeout((()=>{e.postMessage([13,{$winId$:t,type:n,state:o,url:r.baseURI,newUrl:a,oldUrl:i}])}))};o.pushState=(e,t,n)=>{l(e,t,n),d($(0,e,null==n?void 0:n.toString()))},o.replaceState=(e,t,n)=>{p(e,t,n),d($(1,e,null==n?void 0:n.toString()))},n.addEventListener("popstate",(e=>{d($(2,e.state))})),n.addEventListener("hashchange",(e=>{d($(3,{},e.newURL,e.oldURL))})),n.addEventListener("ptupdate",(()=>{_(e,m[t])})),r.addEventListener("visibilitychange",(()=>e.postMessage([14,t,r.visibilityState]))),m[t]={$winId$:t,$window$:n},m[t].$startTime$=performance.now(),E(`Registered ${t===a?"top":"iframe"} window ${T(t)}`),"complete"===r.readyState?c():n.addEventListener("load",c)}},D=()=>{const e=v.createElement("i"),t=v.createTextNode(""),n=v.createComment(""),r=v.createDocumentFragment(),o=v.createElement("p").attachShadow({mode:"open"}),a=X(b,"IntersectionObserver"),i=X(b,"MutationObserver"),s=X(b,"ResizeObserver"),d=b.performance,c=b.screen,l=[[b.history],[d],[d.navigation],[d.timing],[c],[c.orientation],[b.visualViewport],[a,12],[i,12],[s,12],[t],[n],[r],[o],[e],[e.attributes],[e.classList],[e.dataset],[e.style],[v],[v.doctype]],p=[H("Window",b),H("Node",t)],$={$config$:JSON.stringify(I,((e,t)=>("function"==typeof t&&(t=String(t)).startsWith(e+"(")&&(t="function "+t),t))),$interfaces$:G(l,p),$libPath$:new URL(S,b.location)+"",$origin$:origin,$localStorage$:Q("localStorage"),$sessionStorage$:Q("sessionStorage")};return B($.$interfaces$,b,"IntersectionObserverEntry"),$},F=()=>{const e=Object.getOwnPropertyNames(b).map((e=>((e,t,n,r)=>{if(n=t.match(/^(HTML|SVG)(.+)Element$/))return r=n[2],"S"==t[0]?e.createElementNS("http://www.w3.org/2000/svg",c[r]||r.slice(0,2).toLowerCase()+r.slice(2)):e.createElement(d[r]||r)})(v,e))).filter((e=>e)).map((e=>[e]));return G(e,[])},z=new Set(["Object"]),G=(e,t)=>(e.filter((e=>e[0])).map((e=>{const t=e[0],n=e[1],o=r(t);return[o,b[o].prototype,t,n]})).map((([e,n,r,o])=>V(z,t,e,n,r,o))),t),H=(e,t,n)=>{let r=[],o=[e,"Object",r];for(n in t)J(r,t,n);return o},V=(e,t,n,o,a,s)=>{if(!e.has(n)){e.add(n);const d=Object.getPrototypeOf(o),c=r(d),l=[],p=Object.getOwnPropertyDescriptors(o);V(e,t,c,d,a,s);for(const e in p)J(l,a,e);t.push([n,c,l,s,i(a)])}},J=(e,t,n,o,i,s)=>{try{a(n)&&isNaN(n[0])&&"all"!==n&&("function"==(i=typeof(o=t[n]))?(String(o).includes("[native")||Object.getPrototypeOf(t)[n])&&e.push([n,5]):"object"===i&&null!=o?"Object"!==(s=r(o))&&self[s]&&e.push([n,o.nodeType||s]):"symbol"!==i&&(n.toUpperCase()===n?e.push([n,6,o]):e.push([n,6])))}catch(e){console.warn(e)}},Q=e=>{let t,r=[],o=0,a=n(b[e]);for(;ovoid 0!==e[n]?new e[n](t):0,B=(e,t,n)=>{void 0!==t[n]&&e.push([n,"Object",Object.keys(t[n].prototype).map((e=>[e,6])),12])};let K;(t=>{const n=e.navigator.serviceWorker;return n.getRegistration().then((e=>(n.addEventListener("message",(t=>{return n=t.data,r=t=>e.active&&e.active.postMessage(t),N(K,n).then(r);var n,r})),(e,t)=>{0===t[0]?e.postMessage([1,D()]):2===t[0]?e.postMessage([3,F()]):((e,t,n)=>{4===t[0]?q(e,s(),b):(n=m[t[1]])&&(7===t[0]?requestAnimationFrame((()=>_(e,n))):6===t[0]&&((e,t,n,r,o)=>{(o=t.$window$.document.querySelector(`[data-ptid="${n}"]`))&&(r?o.dataset.pterror=r:o.type+="-x",delete o.dataset.ptid),_(e,t)})(e,n,t[2],t[3]))})(e,t)})))})().then((e=>{e&&(K=new Worker(S+"partytown-ww-sw.js?v=0.8.0",{name:"Partytown 🎉"}),K.onmessage=t=>{const n=t.data;12===n[0]?N(K,n[1]):e(K,n)},E("Created Partytown web worker (0.8.0)"),K.onerror=e=>console.error("Web Worker Error",e),b.addEventListener("pt1",(e=>q(K,f(e.detail.frameElement),e.detail))))}))})(window); \ No newline at end of file diff --git a/is_themecore/is_themecore/public/~partytown/debug/partytown-sw.js b/is_themecore/is_themecore/public/~partytown/debug/partytown-sw.js new file mode 100644 index 0000000..200cd83 --- /dev/null +++ b/is_themecore/is_themecore/public/~partytown/debug/partytown-sw.js @@ -0,0 +1 @@ +const resolves=new Map,swMessageError=(e,s)=>({$msgId$:e.$msgId$,$error$:s}),httpRequestFromWebWorker=e=>new Promise((async s=>{const t=await e.clone().json(),o=await(e=>new Promise((async s=>{const t=[...await self.clients.matchAll()].sort(((e,s)=>e.url>s.url?-1:e.url{resolves.delete(e.$msgId$),s(swMessageError(e,"Timeout"))}),12e4)];resolves.set(e.$msgId$,o),t.postMessage(e)}else s(swMessageError(e,"NoParty"))})))(t);s(response(JSON.stringify(o),"application/json"))})),response=(e,s)=>new Response(e,{headers:{"content-type":s||"text/html","Cache-Control":"no-store"}});self.oninstall=()=>self.skipWaiting(),self.onactivate=()=>self.clients.claim(),self.onmessage=e=>{const s=e.data,t=resolves.get(s.$msgId$);t&&(resolves.delete(s.$msgId$),clearTimeout(t[1]),t[0](s))},self.onfetch=e=>{const s=e.request,t=new URL(s.url).pathname;t.endsWith("sw.html")?e.respondWith(response(' + {/if} +{/foreach} + +{if $loadPartytown && $partytownScript && $partytownScriptUri} + + + +{/if} diff --git a/is_themecore/is_themecore/views/templates/hook/og-data.tpl b/is_themecore/is_themecore/views/templates/hook/og-data.tpl new file mode 100644 index 0000000..d452253 --- /dev/null +++ b/is_themecore/is_themecore/views/templates/hook/og-data.tpl @@ -0,0 +1,34 @@ + +{if !empty($page.meta.description)} + +{/if} + + + + +{if isset($product) && $page.page_name == 'product'} + + {if $product.images|count > 0} + {foreach from=$product.images item=p_img name="p_img_list"} + + {/foreach} + + + + {/if} + {if $product.show_price} + + + {if $product.has_discount} + + {/if} + {/if} + {if !empty($product_manufacturer) && $product_manufacturer->name} + + {/if} + +{elseif $page.page_name === 'category' && isset($category) && !empty($category.image.large.url)} + +{else} + +{/if} diff --git a/is_themecore/is_themecore/views/templates/hook/twitter-data.tpl b/is_themecore/is_themecore/views/templates/hook/twitter-data.tpl new file mode 100644 index 0000000..45858e3 --- /dev/null +++ b/is_themecore/is_themecore/views/templates/hook/twitter-data.tpl @@ -0,0 +1,25 @@ + + +{if !empty($page.meta.description)} + +{/if} + + + + +{if isset($product) && $page.page_name == 'product' && !empty($product.default_image)} + + {if !empty($page.meta.description)} + + {/if} +{elseif $page.page_name === 'category' && isset($category) && !empty($category.image.large.url)} + + {if !empty($page.meta.description)} + + {/if} +{else} + + {if !empty($page.meta.description)} + + {/if} +{/if} diff --git a/is_themecore/is_themecore/views/templates/index.php b/is_themecore/is_themecore/views/templates/index.php new file mode 100644 index 0000000..88355f6 --- /dev/null +++ b/is_themecore/is_themecore/views/templates/index.php @@ -0,0 +1,11 @@ +setDestinationFile($_GET['source']); +$webpGenerator->setQuality((int) Configuration::get(WebpConfiguration::THEMECORE_WEBP_QUALITY)); +$webpGenerator->setConverter(Configuration::get(WebpConfiguration::THEMECORE_WEBP_CONVERTER)); +$webpGenerator->setSharpYuv((bool) Configuration::get(WebpConfiguration::THEMECORE_WEBP_SHARPYUV)); +$webpGenerator->convertAndServe(); +exit;