Compare commits

...

12 commits

Author SHA1 Message Date
Jan Böhmer
496df89e0b Added configuration what should be reported for test coverage by phpunit
Some checks are pending
Build assets artifact / Build assets artifact (push) Waiting to run
Docker Image Build / docker (push) Waiting to run
Docker Image Build (FrankenPHP) / docker (push) Waiting to run
Static analysis / Static analysis (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Waiting to run
2025-08-03 22:04:45 +02:00
Jan Böhmer
58d4207b49 Fixed phpstan issues 2025-08-03 21:59:51 +02:00
Jan Böhmer
390736cf5a Made bin/phpunit executable again 2025-08-03 21:48:38 +02:00
Jan Böhmer
fd090b8701 Use newer version of settings-bundle that should not fail anymore if the database does not exist during cache warmup 2025-08-03 21:43:56 +02:00
Jan Böhmer
286cd009de Use node 20 in test runners 2025-08-03 21:23:26 +02:00
Jan Böhmer
1f384a6ab8 Removed Part-DB 8.1 runner on github 2025-08-03 21:21:42 +02:00
Jan Böhmer
883d38ecfc Updated barcode-detector lib and wasm in background 2025-08-03 21:19:19 +02:00
Jan Böhmer
a691be6584 Updated datatables.net-select-bs5 plugin 2025-08-03 20:55:25 +02:00
Jan Böhmer
833a8c34f4 Updated stimulus-bridge 2025-08-03 20:51:35 +02:00
Jan Böhmer
9fde748fbe Updated marked 2025-08-03 20:46:53 +02:00
Jan Böhmer
8c22ec46bc Require nodejs 20.0 or later 2025-08-03 20:44:45 +02:00
Jan Böhmer
74cc8629f6 Upgrade fontawesome 6 -> 7 2025-08-03 20:40:03 +02:00
17 changed files with 109 additions and 103 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
},
});
});

0
bin/phpunit Normal file → Executable file
View file

12
composer.lock generated
View file

@ -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",

View file

@ -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.

View file

@ -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.

View file

@ -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",

View file

@ -21,6 +21,11 @@
</php>
<coverage includeUncoveredFiles="true">
</coverage>
<source ignoreIndirectDeprecations="true" restrictNotices="true" restrictWarnings="true">
<include>
<directory>src</directory>
</include>
</source>
<testsuites>
<testsuite name="Project Test Suite">

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -46,7 +46,7 @@ class UsersPermissionsCommand extends Command
{
$this->userRepository = $entityManager->getRepository(User::class);
parent::__construct(self::$defaultName);
parent::__construct();
}
protected function configure(): void

View file

@ -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
{

View file

@ -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)) {

100
yarn.lock
View file

@ -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"