diff --git a/.github/workflows/assets_artifact_build.yml b/.github/workflows/assets_artifact_build.yml index 0bbfe432..09dbbe38 100644 --- a/.github/workflows/assets_artifact_build.yml +++ b/.github/workflows/assets_artifact_build.yml @@ -39,7 +39,7 @@ jobs: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-composer- + ${{ runner.os }}-composer- - name: Install dependencies run: composer install --prefer-dist --no-progress --no-dev -a @@ -59,7 +59,7 @@ jobs: - name: Setup node uses: actions/setup-node@v4 with: - node-version: '18' + node-version: '20' - name: Install yarn dependencies run: yarn install diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8e6ea54c..1233996e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ on: branches: - '*' - "!l10n_*" - + jobs: phpunit: name: PHPUnit and coverage Test (PHP ${{ matrix.php-versions }}, ${{ matrix.db-type }}) @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: [ '8.1', '8.2', '8.3', '8.4' ] + php-versions: ['8.2', '8.3', '8.4' ] db-type: [ 'mysql', 'sqlite', 'postgres' ] env: @@ -52,7 +52,7 @@ jobs: coverage: pcov ini-values: xdebug.max_nesting_level=1000 extensions: mbstring, intl, gd, xsl, gmp, bcmath, :php-psr - + - name: Start MySQL run: sudo systemctl start mysql.service if: matrix.db-type == 'mysql' @@ -71,9 +71,9 @@ jobs: # mysql version: 5.7 # mysql database: 'part-db' # mysql root password: '1234' - + ## Setup caches - + - name: Get Composer Cache Directory id: composer-cache run: | @@ -83,8 +83,8 @@ jobs: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-composer- - + ${{ runner.os }}-composer- + - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" @@ -96,48 +96,48 @@ jobs: key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - + - name: Install composer dependencies run: composer install --prefer-dist --no-progress - + - name: Setup node uses: actions/setup-node@v4 with: - node-version: '18' - + node-version: '20' + - name: Install yarn dependencies run: yarn install - + - name: Build frontend run: yarn build - + - name: Create DB run: php bin/console --env test doctrine:database:create --if-not-exists -n if: matrix.db-type == 'mysql' || matrix.db-type == 'postgres' - + - name: Do migrations run: php bin/console --env test doctrine:migrations:migrate -n # Use our own custom fixtures loading command to circumvent some problems with reset the autoincrement values - name: Load fixtures run: php bin/console --env test partdb:fixtures:load -n - + - name: Run PHPunit and generate coverage run: ./bin/phpunit --coverage-clover=coverage.xml - + - name: Upload coverage uses: codecov/codecov-action@v5 with: env_vars: PHP_VERSION,DB_TYPE token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true - + - name: Test app:clean-attachments run: php bin/console partdb:attachments:clean-unused -n - + - name: Test app:convert-bbcode run: php bin/console app:convert-bbcode -n - + - name: Test app:show-logs run: php bin/console app:show-logs -n diff --git a/README.md b/README.md index 74ebfe7f..c9d25016 100644 --- a/README.md +++ b/README.md @@ -75,10 +75,10 @@ Part-DB is also used by small companies and universities for managing their inve * A **web server** (like Apache2 or nginx) that is capable of running [Symfony 6](https://symfony.com/doc/current/reference/requirements.html), - this includes a minimum PHP version of **PHP 8.1** + this includes a minimum PHP version of **PHP 8.2** * A **MySQL** (at least 5.7) /**MariaDB** (at least 10.4) database server, or **PostgreSQL** 10+ if you do not want to use SQLite. * Shell access to your server is highly recommended! -* For building the client-side assets **yarn** and **nodejs** (>= 18.0) is needed. +* For building the client-side assets **yarn** and **nodejs** (>= 20.0) is needed. ## Installation diff --git a/assets/js/app.js b/assets/js/app.js index 43acec5d..54b73676 100644 --- a/assets/js/app.js +++ b/assets/js/app.js @@ -49,7 +49,7 @@ window.$ = window.jQuery = require("jquery"); //Use the local WASM file for the ZXing library import { setZXingModuleOverrides, -} from "barcode-detector/pure"; +} from "barcode-detector/ponyfill"; import wasmFile from "../../node_modules/zxing-wasm/dist/reader/zxing_reader.wasm"; setZXingModuleOverrides({ locateFile: (path, prefix) => { @@ -58,4 +58,4 @@ setZXingModuleOverrides({ } return prefix + path; }, -}); \ No newline at end of file +}); diff --git a/bin/phpunit b/bin/phpunit old mode 100644 new mode 100755 diff --git a/composer.lock b/composer.lock index 638802d3..bd518441 100644 --- a/composer.lock +++ b/composer.lock @@ -4001,16 +4001,16 @@ }, { "name": "jbtronics/settings-bundle", - "version": "v2.6.0", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/jbtronics/settings-bundle.git", - "reference": "664fb806aa4449e781add38a5930e4139a24ca9e" + "reference": "a2a8f5b15c26ea790dcb6153c0e3ddc5c75df8af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/664fb806aa4449e781add38a5930e4139a24ca9e", - "reference": "664fb806aa4449e781add38a5930e4139a24ca9e", + "url": "https://api.github.com/repos/jbtronics/settings-bundle/zipball/a2a8f5b15c26ea790dcb6153c0e3ddc5c75df8af", + "reference": "a2a8f5b15c26ea790dcb6153c0e3ddc5c75df8af", "shasum": "" }, "require": { @@ -4071,7 +4071,7 @@ ], "support": { "issues": "https://github.com/jbtronics/settings-bundle/issues", - "source": "https://github.com/jbtronics/settings-bundle/tree/v2.6.0" + "source": "https://github.com/jbtronics/settings-bundle/tree/v2.6.1" }, "funding": [ { @@ -4083,7 +4083,7 @@ "type": "github" } ], - "time": "2025-06-01T22:03:48+00:00" + "time": "2025-08-03T19:40:00+00:00" }, { "name": "jfcherng/php-color-output", diff --git a/docs/installation/installation_guide-debian.md b/docs/installation/installation_guide-debian.md index 885eea90..10031a98 100644 --- a/docs/installation/installation_guide-debian.md +++ b/docs/installation/installation_guide-debian.md @@ -33,7 +33,7 @@ sudo apt install git curl zip ca-certificates software-properties-common apt-tra ### Install PHP and apache2 -Part-DB is written in [PHP](https://php.net) and therefore needs a PHP interpreter to run. Part-DB needs PHP 8.1 or +Part-DB is written in [PHP](https://php.net) and therefore needs a PHP interpreter to run. Part-DB needs PHP 8.2 or higher. However, it is recommended to use the most recent version of PHP for performance reasons and future compatibility. diff --git a/docs/upgrade_legacy.md b/docs/upgrade_legacy.md index e1e43831..080ed728 100644 --- a/docs/upgrade_legacy.md +++ b/docs/upgrade_legacy.md @@ -16,8 +16,8 @@ sections carefully before proceeding to upgrade. ## Changes -* PHP 8.1 or higher is required now (Part-DB 0.5 required PHP 5.4+, Part-DB 0.6 PHP 7.0). - Releases are available for Windows too, so almost everybody should be able to use PHP 8.1 +* PHP 8.2 or higher is required now (Part-DB 0.5 required PHP 5.4+, Part-DB 0.6 PHP 7.0). + Releases are available for Windows too, so almost everybody should be able to use PHP 8.2 * **Console access is highly recommended.** The installation of composer and frontend dependencies require console access, also more sensitive stuff like database migration works via CLI now, so you should have console access on your server. * Markdown/HTML is now used instead of BBCode for rich text in description and command fields. diff --git a/package.json b/package.json index 6ed3c259..7a3efaa4 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,11 @@ "devDependencies": { "@babel/core": "^7.19.6", "@babel/preset-env": "^7.19.4", - "@fortawesome/fontawesome-free": "^6.1.1", + "@fortawesome/fontawesome-free": "^7.0.0", "@hotwired/stimulus": "^3.0.0", "@hotwired/turbo": "^8.0.1", "@popperjs/core": "^2.10.2", - "@symfony/stimulus-bridge": "^3.2.0", + "@symfony/stimulus-bridge": "^4.0.0", "@symfony/ux-translator": "file:vendor/symfony/ux-translator/assets", "@symfony/ux-turbo": "file:vendor/symfony/ux-turbo/assets", "@symfony/webpack-encore": "^5.0.0", @@ -29,6 +29,9 @@ "watch": "encore dev --watch", "build": "encore production --progress" }, + "engines": { + "node": ">=20.0.0" + }, "dependencies": { "@algolia/autocomplete-js": "^1.17.0", "@algolia/autocomplete-plugin-recent-searches": "^1.17.0", @@ -36,14 +39,14 @@ "@ckeditor/ckeditor5-dev-translations": "^43.0.1", "@ckeditor/ckeditor5-dev-utils": "^43.0.1", "@jbtronics/bs-treeview": "^1.0.1", - "@part-db/html5-qrcode": "^3.1.0", + "@part-db/html5-qrcode": "^4.0.0", "@zxcvbn-ts/core": "^3.0.2", "@zxcvbn-ts/language-common": "^3.0.3", "@zxcvbn-ts/language-de": "^3.0.1", "@zxcvbn-ts/language-en": "^3.0.1", "@zxcvbn-ts/language-fr": "^3.0.1", "@zxcvbn-ts/language-ja": "^3.0.1", - "barcode-detector": "^2.3.1", + "barcode-detector": "^3.0.5", "bootbox": "^6.0.0", "bootswatch": "^5.1.3", "bs-custom-file-input": "^1.3.4", @@ -56,13 +59,13 @@ "datatables.net-colreorder-bs5": "^2.0.0", "datatables.net-fixedheader-bs5": "^4.0.0", "datatables.net-responsive-bs5": "^3.0.0", - "datatables.net-select-bs5": "^2.0.0", + "datatables.net-select-bs5": "^3.0.1", "dompurify": "^3.0.3", "exports-loader": "^5.0.0", "json-formatter-js": "^2.3.4", "jszip": "^3.2.0", "katex": "^0.16.0", - "marked": "^15.0.4", + "marked": "^16.1.1", "marked-gfm-heading-id": "^4.1.1", "marked-mangle": "^1.0.1", "pdfmake": "^0.2.2", diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 0a7c2dcb..4a37b420 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -21,6 +21,11 @@ + + + src + + diff --git a/src/Command/CheckRequirementsCommand.php b/src/Command/CheckRequirementsCommand.php index 5e15e8e2..f9080c42 100644 --- a/src/Command/CheckRequirementsCommand.php +++ b/src/Command/CheckRequirementsCommand.php @@ -69,8 +69,8 @@ class CheckRequirementsCommand extends Command if ($io->isVerbose()) { $io->comment('Checking PHP version...'); } - //We recommend PHP 8.2, but 8.1 is the minimum - if (PHP_VERSION_ID < 80200) { + //We recommend PHP 8.2, but 8.2 is the minimum + if (PHP_VERSION_ID < 80400) { $io->warning('You are using PHP '. PHP_VERSION .'. This will work, but a newer version is recommended.'); } elseif (!$only_issues) { $io->success('PHP version is sufficient.'); @@ -84,7 +84,7 @@ class CheckRequirementsCommand extends Command $io->success('You are using a 64-bit system.'); } } else { - $io->warning('You are using a system with an unknown bit size. That is interesting xD'); + $io->warning(' areYou using a system with an unknown bit size. That is interesting xD'); } //Check if opcache is enabled diff --git a/src/Command/Migrations/ImportPartKeeprCommand.php b/src/Command/Migrations/ImportPartKeeprCommand.php index 98272440..aee71afe 100644 --- a/src/Command/Migrations/ImportPartKeeprCommand.php +++ b/src/Command/Migrations/ImportPartKeeprCommand.php @@ -44,7 +44,7 @@ class ImportPartKeeprCommand extends Command protected PKDatastructureImporter $datastructureImporter, protected PKPartImporter $partImporter, protected PKImportHelper $importHelper, protected PKOptionalImporter $optionalImporter) { - parent::__construct(self::$defaultName); + parent::__construct(); } protected function configure(): void diff --git a/src/Command/User/UpgradePermissionsSchemaCommand.php b/src/Command/User/UpgradePermissionsSchemaCommand.php index 4947fd5c..a53e21a0 100644 --- a/src/Command/User/UpgradePermissionsSchemaCommand.php +++ b/src/Command/User/UpgradePermissionsSchemaCommand.php @@ -39,14 +39,7 @@ final class UpgradePermissionsSchemaCommand extends Command { public function __construct(private readonly PermissionSchemaUpdater $permissionSchemaUpdater, private readonly EntityManagerInterface $em, private readonly EventCommentHelper $eventCommentHelper) { - parent::__construct(self::$defaultName); - } - - protected function configure(): void - { - $this - ->setDescription(self::$defaultDescription) - ; + parent::__construct(); } protected function execute(InputInterface $input, OutputInterface $output): int diff --git a/src/Command/User/UsersPermissionsCommand.php b/src/Command/User/UsersPermissionsCommand.php index 6408e9c9..27382371 100644 --- a/src/Command/User/UsersPermissionsCommand.php +++ b/src/Command/User/UsersPermissionsCommand.php @@ -46,7 +46,7 @@ class UsersPermissionsCommand extends Command { $this->userRepository = $entityManager->getRepository(User::class); - parent::__construct(self::$defaultName); + parent::__construct(); } protected function configure(): void diff --git a/src/Entity/Base/AbstractDBElement.php b/src/Entity/Base/AbstractDBElement.php index 871a22d0..9fb5d648 100644 --- a/src/Entity/Base/AbstractDBElement.php +++ b/src/Entity/Base/AbstractDBElement.php @@ -39,6 +39,7 @@ use App\Entity\Attachments\SupplierAttachment; use App\Entity\Attachments\UserAttachment; use App\Entity\Parameters\AbstractParameter; use App\Entity\Parts\Category; +use App\Entity\PriceInformations\Pricedetail; use App\Entity\ProjectSystem\Project; use App\Entity\ProjectSystem\ProjectBOMEntry; use App\Entity\Parts\Footprint; @@ -67,7 +68,7 @@ use Symfony\Component\Serializer\Annotation\Groups; * Every database table which are managed with this class (or a subclass of it) * must have the table row "id"!! The ID is the unique key to identify the elements. */ -#[DiscriminatorMap(typeProperty: 'type', mapping: ['attachment_type' => AttachmentType::class, 'attachment' => Attachment::class, 'attachment_type_attachment' => AttachmentTypeAttachment::class, 'category_attachment' => CategoryAttachment::class, 'currency_attachment' => CurrencyAttachment::class, 'footprint_attachment' => FootprintAttachment::class, 'group_attachment' => GroupAttachment::class, 'label_attachment' => LabelAttachment::class, 'manufacturer_attachment' => ManufacturerAttachment::class, 'measurement_unit_attachment' => MeasurementUnitAttachment::class, 'part_attachment' => PartAttachment::class, 'project_attachment' => ProjectAttachment::class, 'storelocation_attachment' => StorageLocationAttachment::class, 'supplier_attachment' => SupplierAttachment::class, 'user_attachment' => UserAttachment::class, 'category' => Category::class, 'project' => Project::class, 'project_bom_entry' => ProjectBOMEntry::class, 'footprint' => Footprint::class, 'group' => Group::class, 'manufacturer' => Manufacturer::class, 'orderdetail' => Orderdetail::class, 'part' => Part::class, 'pricedetail' => 'App\Entity\PriceInformation\Pricedetail', 'storelocation' => StorageLocation::class, 'part_lot' => PartLot::class, 'currency' => Currency::class, 'measurement_unit' => MeasurementUnit::class, 'parameter' => AbstractParameter::class, 'supplier' => Supplier::class, 'user' => User::class])] +#[DiscriminatorMap(typeProperty: 'type', mapping: ['attachment_type' => AttachmentType::class, 'attachment' => Attachment::class, 'attachment_type_attachment' => AttachmentTypeAttachment::class, 'category_attachment' => CategoryAttachment::class, 'currency_attachment' => CurrencyAttachment::class, 'footprint_attachment' => FootprintAttachment::class, 'group_attachment' => GroupAttachment::class, 'label_attachment' => LabelAttachment::class, 'manufacturer_attachment' => ManufacturerAttachment::class, 'measurement_unit_attachment' => MeasurementUnitAttachment::class, 'part_attachment' => PartAttachment::class, 'project_attachment' => ProjectAttachment::class, 'storelocation_attachment' => StorageLocationAttachment::class, 'supplier_attachment' => SupplierAttachment::class, 'user_attachment' => UserAttachment::class, 'category' => Category::class, 'project' => Project::class, 'project_bom_entry' => ProjectBOMEntry::class, 'footprint' => Footprint::class, 'group' => Group::class, 'manufacturer' => Manufacturer::class, 'orderdetail' => Orderdetail::class, 'part' => Part::class, 'pricedetail' => Pricedetail::class, 'storelocation' => StorageLocation::class, 'part_lot' => PartLot::class, 'currency' => Currency::class, 'measurement_unit' => MeasurementUnit::class, 'parameter' => AbstractParameter::class, 'supplier' => Supplier::class, 'user' => User::class])] #[ORM\MappedSuperclass(repositoryClass: DBElementRepository::class)] abstract class AbstractDBElement implements JsonSerializable { diff --git a/src/Services/ImportExportSystem/EntityExporter.php b/src/Services/ImportExportSystem/EntityExporter.php index c37db50c..271642da 100644 --- a/src/Services/ImportExportSystem/EntityExporter.php +++ b/src/Services/ImportExportSystem/EntityExporter.php @@ -137,7 +137,7 @@ class EntityExporter $options = [ 'format' => $request->get('format') ?? 'json', 'level' => $request->get('level') ?? 'extended', - 'include_children' => $request->request->getBoolean('include_children') ?? false, + 'include_children' => $request->request->getBoolean('include_children'), ]; if (!is_array($entities)) { diff --git a/yarn.lock b/yarn.lock index b62d8e48..db845a82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1837,10 +1837,10 @@ dependencies: tslib "^2.8.0" -"@fortawesome/fontawesome-free@^6.1.1": - version "6.7.2" - resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz#8249de9b7e22fcb3ceb5e66090c30a1d5492b81a" - integrity sha512-JUOtgFW6k9u4Y+xeIaEiLr3+cjoUPiAuLXoyKOJSia6Duzb7pq+A76P9ZdPDoAoxHdHzq6gE9/jKBGXlZT8FbA== +"@fortawesome/fontawesome-free@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-7.0.0.tgz#e4a6788a2d395ea97e7812a096e29bf9c95b944c" + integrity sha512-X48nISrSOa89zu2VMljC4XaRf8NmgTwQBVHfS2Nu5G00ZwM31oOVrAtGxZF3b6wDYf9lJsf/Eq4cCSFKIkOWPQ== "@gar/promisify@^1.0.1": version "1.1.3" @@ -1991,12 +1991,12 @@ resolved "https://registry.yarnpkg.com/@orchidjs/unicode-variants/-/unicode-variants-1.1.2.tgz#1fd71791a67fdd1591ebe0dcaadd3964537a824e" integrity sha512-5DobW1CHgnBROOEpFlEXytED5OosEWESFvg/VYmH0143oXcijYTprRYJTs+55HzGM4IqxiLFSuqEzu9mPNwVsA== -"@part-db/html5-qrcode@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@part-db/html5-qrcode/-/html5-qrcode-3.1.1.tgz#96bf5e57796f3ec72ee6191ac7b8604298c98dfa" - integrity sha512-6lH77mvu9ClwIfKHWSOW1+jz+SkCJnbm/8XTuzqlcUWUIW8NRHC5x1wU7svV4gtoirqvBlQvaz1MaopVmfOAqQ== +"@part-db/html5-qrcode@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@part-db/html5-qrcode/-/html5-qrcode-4.0.0.tgz#aff7b4cc051ce72652cd63849158140550381d9d" + integrity sha512-BPdGZ6CSh8cr5Yg7az9JXbS1x0evZSUnjPXK8KHTKv7TVrK0o5YDA2LBp0fM+/nwXJ2AB7PG5hmkkAEiA9/MRQ== dependencies: - barcode-detector "^2.3.1" + barcode-detector "^3.0.0" "@polka/url@^1.0.0-next.24": version "1.0.0-next.29" @@ -2013,16 +2013,15 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@symfony/stimulus-bridge@^3.2.0": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@symfony/stimulus-bridge/-/stimulus-bridge-3.2.3.tgz#1c496d4b11e24051be26a11045118f29f9c3f9b7" - integrity sha512-36rQTihQ2MGOn8EmdOYCr3DQfP3WS1CNcUUXKTPY5ghtFOeb7OVuhbc32AjRowE2/vaVDOUCPOTv3VLf5VtXBA== +"@symfony/stimulus-bridge@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@symfony/stimulus-bridge/-/stimulus-bridge-4.0.1.tgz#af0ddabc88254648a812fc328c0f407a6d5f40dc" + integrity sha512-+/kSQ4qFXMbZS+HjkhzOxwdN+60pMev7kzzDpQV/Tdm/iIWoxx5GDsVcdLaBb2783BVQHyrBP72JerF2SXTbTg== dependencies: "@hotwired/stimulus-webpack-helpers" "^1.0.1" "@types/webpack-env" "^1.16.4" - acorn "^8.0.5" - loader-utils "^2.0.0" - schema-utils "^3.0.0" + loader-utils "^2.0.0 || ^3.0.0" + schema-utils "^3.0.0 || ^4.0.0" "@symfony/ux-translator@file:vendor/symfony/ux-translator/assets": version "2.28.1" @@ -2075,12 +2074,7 @@ dependencies: "@types/ms" "*" -"@types/dom-webcodecs@0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@types/dom-webcodecs/-/dom-webcodecs-0.1.11.tgz#2e36e5cc71789551f107e2fe15d956845fa19567" - integrity sha512-yPEZ3z7EohrmOxbk/QTAa0yonMFkNkjnVXqbGb7D4rMr+F1dGQ8ZUFxXkyLLJuiICPejZ0AZE9Rrk9wUCczx4A== - -"@types/emscripten@^1.39.13": +"@types/emscripten@^1.40.1": version "1.40.1" resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.40.1.tgz#4c34102d7cd1503979d4e6652082c23fd805805e" integrity sha512-sr53lnYkQNhjHNN0oJDdUm5564biioI5DuOpycufDVK7D3y+GR3oUswe2rlwY1nPNyusHbrJ9WoTyIHl4/Bpwg== @@ -2398,7 +2392,7 @@ acorn-walk@^8.0.0: dependencies: acorn "^8.11.0" -acorn@^8.0.4, acorn@^8.0.5, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.15.0: +acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.15.0: version "8.15.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== @@ -2601,13 +2595,12 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -barcode-detector@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/barcode-detector/-/barcode-detector-2.3.1.tgz#91d0d4e3b913d87f94bae5d024b6b9b5cedc420c" - integrity sha512-D9KEtrquS1tmBZduxBZl8qublIKnRrFqD8TAHDYcLCyrHQBo+vitIxmjMJ61LvXjXyAMalOlO7q0Oh/9Rl2PbQ== +barcode-detector@^3.0.0, barcode-detector@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/barcode-detector/-/barcode-detector-3.0.5.tgz#4a7b2d60378b2d74071fe922bf052550d35d9eda" + integrity sha512-SWeGhJ8SEW0T3Anbr2wEugUXW2bSCld3PauZh+LjTgN1lSInnIrI+RnG53NkzS4pl3cfPCl1AZ10Rq+hSkXBSw== dependencies: - "@types/dom-webcodecs" "0.1.11" - zxing-wasm "1.3.4" + zxing-wasm "2.2.0" base64-js@1.3.1: version "1.3.1" @@ -3446,19 +3439,19 @@ datatables.net-responsive@3.0.5: datatables.net "^2" jquery ">=1.7" -datatables.net-select-bs5@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-2.1.0.tgz#4cfd61007c644f224e10e1eae7662204d167caf2" - integrity sha512-N6VFo3DHsMCzM1Ef2pbUh1+pUd/MSHk48Z+X0QvbeknShWKdx0PS7FhLkaq8OalhHiEH0lyCy5L+1iR4bgAu9A== +datatables.net-select-bs5@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/datatables.net-select-bs5/-/datatables.net-select-bs5-3.0.1.tgz#50f72f60ae37e0461e131810e5c98e36b4ddef5e" + integrity sha512-DLBYlKMVm0cTMJuDonKKlK1b6YXz5FKUcdPyYw5xT5unhhymKGRDI/CExJcwgnzgL368rFUhlyqG+ZbGWL926Q== dependencies: datatables.net-bs5 "^2" - datatables.net-select "2.1.0" + datatables.net-select "3.0.1" jquery ">=1.7" -datatables.net-select@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-2.1.0.tgz#d50f13cd4c18d50c06b24efd8ca5371ed0bbe59d" - integrity sha512-6B1sI5pfvBen+8kySl1T0hkGoUmrw+5YGqaW4NCg+1srMw+48YV5SdWPiyCQDoev2ajBdKzHuG/wzD2INMbmJw== +datatables.net-select@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/datatables.net-select/-/datatables.net-select-3.0.1.tgz#f1f7aa0e012f8a3757f5ccea17fd67c3dc5745c5" + integrity sha512-f8XWWZtH3HD+OFF0Ytr1Y+2gw4J/rF2I+tyXHR0Jab8XXlQTQXOaK0gITFfFEIw2vSDmgwfeoJwZd8jj5FYXoA== dependencies: datatables.net "^2" jquery ">=1.7" @@ -5009,6 +5002,11 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: emojis-list "^3.0.0" json5 "^2.1.2" +"loader-utils@^2.0.0 || ^3.0.0": + version "3.3.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -5101,10 +5099,10 @@ marked-mangle@^1.0.1: resolved "https://registry.yarnpkg.com/marked-mangle/-/marked-mangle-1.1.11.tgz#d743093b5f48ce964e5594764915abdf05c364f6" integrity sha512-BUZiRqPooKZZhC7e8aDlzqkZt4MKkbJ/VY22b8iqrI3fJdnWmSyc7/uujDkrMszZrKURrXsYVUfgdWG6gEspcA== -marked@^15.0.4: - version "15.0.12" - resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e" - integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA== +marked@^16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/marked/-/marked-16.1.1.tgz#a7839dcf19fa5e349cad12c561f231320690acd4" + integrity sha512-ij/2lXfCRT71L6u0M29tJPhP0bM5shLL3u5BePhFwPELj2blMJ6GDtD7PfJhRLhJ/c2UwrK17ySVcDzy2YHjHQ== math-intrinsics@^1.1.0: version "1.1.0" @@ -6941,7 +6939,7 @@ schema-utils@^3.0.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.2: +"schema-utils@^3.0.0 || ^4.0.0", schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== @@ -7507,6 +7505,11 @@ tslib@^2.8.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== +type-fest@^4.41.0: + version "4.41.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" + integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== + typed-array-buffer@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" @@ -8042,9 +8045,10 @@ zwitch@^2.0.0, zwitch@^2.0.4: resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7" integrity sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A== -zxing-wasm@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/zxing-wasm/-/zxing-wasm-1.3.4.tgz#4bc45b78dc3594278bb0c24233bfb035ca9efab1" - integrity sha512-9l0QymyATF19FmI92QHe7Dayb+BUN7P7zFAt5iDgTnUf0dFWokz6GVA/W9EepjW5q8s3e89fIE/7uxpX27yqEQ== +zxing-wasm@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/zxing-wasm/-/zxing-wasm-2.2.0.tgz#ff055c3c81d11d88ed684fb75d96b8b72e3f0091" + integrity sha512-RyHxVaAHsLSDzmwcAG05IF8sVOE5Ta2JT1dRDh0mzVZOIiDXZstsjkqvKHasN1n4lvFSbX7ngkHDufnt/XI07Q== dependencies: - "@types/emscripten" "^1.39.13" + "@types/emscripten" "^1.40.1" + type-fest "^4.41.0"