diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19838367d2..3cf86fc3e6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,7 @@ name: B2C-CI on: pull_request: + types: [ labeled, synchronize ] push: branches: - master @@ -13,6 +14,9 @@ concurrency: jobs: validation: + if: > + contains(github.event.pull_request.labels.*.name, 'run-static-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') name: "Static analysis" runs-on: ubuntu-22.04 strategy: @@ -120,15 +124,6 @@ jobs: - name: Speccy lint Glue specification run: speccy lint src/Generated/Glue/Specification/spryker_rest_api.schema.yml --rules=default - - name: Style lint - run: npm run yves:stylelint - - - name: ES lint - run: npm run yves:lint - - - name: Front-end Formatter - run: npm run formatter - - name: Validate propel files run: | vendor/bin/console propel:schema:validate @@ -152,8 +147,36 @@ jobs: - name: Run Evaluator for all branches run: vendor/bin/evaluator evaluate --exclude-checkers=SPRYKER_DEV_PACKAGES_CHECKER --format=compact + js-validation: + if: > + contains(github.event.pull_request.labels.*.name, 'run-npm-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') + name: "NPM validation" + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + + env: + APPLICATION_ENV: ci.mysql + PROJECT: suite + + steps: + - uses: actions/checkout@v4 + + - name: Install NPM packages + run: npm ci + + - name: Style lint + run: npm run yves:stylelint + + - name: ES lint + run: npm run yves:lint + + - name: Front-end Formatter + run: npm run formatter php-83-mariadb-glue-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / MariaDB / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -180,7 +203,10 @@ jobs: php-83-mariadb-glue-alpine: name: "PHP 8.3 / MariaDB / Glue / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && (contains(github.event.pull_request.labels.*.name, 'run-api-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -206,6 +232,7 @@ jobs: docker/sdk testing codecept run -c codeception.api.yml php-83-postgresql-glue-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / PostgreSQL / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -232,6 +259,7 @@ jobs: php-83-postgresql-glue-alpine: name: "PHP 8.3 / PostgreSQL / Glue / Alpine" + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -257,6 +285,7 @@ jobs: docker/sdk testing codecept run -c codeception.api.yml php-83-mariadb-acceptance-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / MariaDB / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -282,7 +311,10 @@ jobs: php-83-mariadb-acceptance-alpine: name: "PHP 8.3 / MariaDB / Acceptance / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -307,6 +339,7 @@ jobs: docker/sdk testing codecept run -c codeception.acceptance.yml php-83-postgresql-acceptance-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / PostgreSQL / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -331,8 +364,10 @@ jobs: docker/sdk testing codecept run -c codeception.acceptance.yml php-83-postgresql-acceptance-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / PostgreSQL / Acceptance / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -357,6 +392,7 @@ jobs: docker/sdk testing codecept run -c codeception.acceptance.yml php-83-mariadb-functional-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / MariaDB / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -380,6 +416,9 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-83-mariadb-functional-alpine: + if: > + contains(github.event.pull_request.labels.*.name, 'run-functional-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci') name: "PHP 8.3 / MariaDB / Functional / Alpine" runs-on: ubuntu-22.04 env: @@ -404,6 +443,7 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-83-postgresql-functional-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / PostgreSQL / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -428,8 +468,10 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-83-postgresql-functional-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.3 / PostgreSQL / Functional / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -454,6 +496,7 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-82-mariadb-glue-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Glue / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -479,8 +522,10 @@ jobs: docker/sdk testing codecept run -c codeception.api.yml php-82-mariadb-glue-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Glue / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -507,6 +552,7 @@ jobs: docker/sdk testing codecept run -c codeception.api.yml php-82-postgresql-acceptance-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -531,6 +577,7 @@ jobs: docker/sdk testing codecept run -c codeception.acceptance.yml php-82-postgresql-acceptance-alpine: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Acceptance / Alpine" runs-on: ubuntu-22.04 env: @@ -558,6 +605,7 @@ jobs: php-82-postgresql-functional-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -582,8 +630,10 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-82-postgresql-functional-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Functional / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -609,6 +659,7 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-82-mariadb-acceptance-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Acceptance / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -633,8 +684,10 @@ jobs: docker/sdk testing codecept run -c codeception.acceptance.yml php-82-mariadb-acceptance-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Acceptance / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -661,6 +714,7 @@ jobs: php-82-mariadb-functional-alpine-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Functional / Alpine / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -684,8 +738,10 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-82-mariadb-functional-alpine: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / MariaDB / Functional / Alpine" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -711,6 +767,7 @@ jobs: php-82-postgres-functional-debian-dynamic-store-off: + if: contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Functional / Debian / Dynamic Store OFF" runs-on: ubuntu-22.04 env: @@ -734,8 +791,10 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml php-82-postgres-functional-debian: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "PHP 8.2 / PostgreSQL / Functional / Debian" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -760,8 +819,11 @@ jobs: docker/sdk testing codecept run -c codeception.functional.yml frontend-assets-via-docker-php-8-2: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && (contains(github.event.pull_request.labels.*.name, 'run-functional-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) name: "Docker / Alpine / PHP 8.2 / Frontend & Assets" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -781,8 +843,10 @@ jobs: - run: docker run -t --rm --entrypoint='' spryker_b2c_frontend:1.0-frontend ls -al /data/public/Zed/assets/ docker-alpine-php-82-mariadb-robot-dynamic-store-off: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "Docker / Alpine / PHP 8.2 / MariaDB / Robot / API / Dynamic Store OFF" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -822,8 +886,10 @@ jobs: AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/robot-api/${GITHUB_RUN_ID}/PHP8.2MariaDB/log.html docker-alpine-php-83-postgresql-robot: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "Docker / Alpine / PHP 8.3 / PostgreSQL / Robot / API" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -869,8 +935,11 @@ jobs: AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-api/${GITHUB_RUN_ID}/PHP8.3PostgreSQL/log.html docker-alpine-php-83-mariadb-robot: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && (contains(github.event.pull_request.labels.*.name, 'run-api-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / API" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -911,8 +980,10 @@ jobs: AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .robot/results/log.html s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-on/robot-api/${GITHUB_RUN_ID}/PHP8.3MariaDB/log.html docker-alpine-php-8-3-mariadb-cypress-dynamic-store-off: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI / Dynamic Store OFF" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -951,9 +1022,12 @@ jobs: run: | AWS_DEFAULT_REGION=${{env.ROBOT_TESTS_ARTIFACTS_BUCKET_REGION}} AWS_ACCESS_KEY_ID=${{ secrets.ROBOT_TESTS_ARTIFACTS_KEY }} AWS_SECRET_ACCESS_KEY=${{ secrets.ROBOT_TESTS_ARTIFACTS_SECRET }} aws s3 cp .cypress s3://${{vars.ROBOT_TESTS_ARTIFACTS_BUCKET}}/b2c/dms-off/cypress/${GITHUB_RUN_ID}/PHP8.3MariaDB/ --recursive - docker-alpine-php-83-mariadb-cypress: + docker-alpine-php-8-3-mariadb-cypress: + if: > + !contains(github.event.pull_request.head.ref, 'hackathon') + && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) name: "Docker / Alpine / PHP 8.3 / MariaDB / Cypress / UI" - if: "!contains(github.event.pull_request.head.ref, 'hackathon')" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain diff --git a/.github/workflows/enforce-labels.yml b/.github/workflows/enforce-labels.yml deleted file mode 100644 index 7279150bf3..0000000000 --- a/.github/workflows/enforce-labels.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Label Check - -on: - pull_request: - types: [opened, edited, labeled, unlabeled, synchronize] - -jobs: - label-check: - runs-on: ubuntu-latest - - steps: - - name: Verify Labels - run: | - labels=$(jq -r '.pull_request.labels[].name' "$GITHUB_EVENT_PATH") - required_labels=("robot-regression-ui-e2e" "skip-robot-regression-ui-e2e") - has_required_label=false - for label in "${required_labels[@]}"; do - if [[ "$labels" == *"$label"* ]]; then - has_required_label=true - break - fi - done - if [ "$has_required_label" == false ]; then - echo "Pull request does not have any of the required labels: ${required_labels[@]}" - echo "Please use at least one of the required labels to proceed:" - echo "- ${required_labels[0]}: to run Robot UI E2E tests (use this label by default)" - echo "- ${required_labels[1]}: to skip Robot UI E2E tests (use this label if the code can't affect any functionality)" - exit 1 - fi diff --git a/.github/workflows/robot-ui-e2e-tests.yml b/.github/workflows/robot-ui-e2e-tests.yml index 7f2e866a08..68000b3edc 100644 --- a/.github/workflows/robot-ui-e2e-tests.yml +++ b/.github/workflows/robot-ui-e2e-tests.yml @@ -15,8 +15,10 @@ concurrency: jobs: docker-alpine-php-8-3-mariadb-robot-ui-group-one: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') + (github.event_name == 'pull_request' + && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group One" runs-on: ubuntu-22.04 env: @@ -84,9 +86,11 @@ jobs: docker-alpine-php-8-3-mariadb-robot-ui-group-two: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') - name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group Two" + (github.event_name == 'pull_request' + && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') + name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI /Group Two" runs-on: ubuntu-22.04 env: PROGRESS_TYPE: plain @@ -153,8 +157,10 @@ jobs: docker-alpine-php-8-3-mariadb-robot-ui-group-three: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') + (github.event_name == 'pull_request' + && (contains(github.event.pull_request.labels.*.name, 'run-ui-ci') + || contains(github.event.pull_request.labels.*.name, 'run-latest-ci')) + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.3 / MariaDB / Robot / UI / Group Three" runs-on: ubuntu-22.04 env: @@ -221,8 +227,9 @@ jobs: docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-one: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') + (github.event_name == 'pull_request' + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group One" runs-on: ubuntu-22.04 env: @@ -289,8 +296,9 @@ jobs: docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-two: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') + (github.event_name == 'pull_request' + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Two" runs-on: ubuntu-22.04 env: @@ -357,8 +365,9 @@ jobs: docker-alpine-php-82-postgresql-dynamic-store-off-robot-ui-group-three: if: > - (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'robot-regression-ui-e2e')) || - (github.event_name == 'push' && github.ref == 'refs/heads/master') + (github.event_name == 'pull_request' + && contains(github.event.pull_request.labels.*.name, 'run-compatibility-ci') + ) || (github.event_name == 'push' && github.ref == 'refs/heads/master') name: "Docker / Alpine / PHP 8.2 / PostgreSQL / Dynamic Store OFF / Robot / UI / Group Three" runs-on: ubuntu-22.04 env: diff --git a/composer.lock b/composer.lock index 1b75834e52..8cc76d9448 100644 --- a/composer.lock +++ b/composer.lock @@ -56407,16 +56407,16 @@ }, { "name": "twig/twig", - "version": "v3.17.1", + "version": "v3.19.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "677ef8da6497a03048192aeeb5aa3018e379ac71" + "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/677ef8da6497a03048192aeeb5aa3018e379ac71", - "reference": "677ef8da6497a03048192aeeb5aa3018e379ac71", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e", + "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e", "shasum": "" }, "require": { @@ -56471,7 +56471,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.17.1" + "source": "https://github.com/twigphp/Twig/tree/v3.19.0" }, "funding": [ { @@ -56483,7 +56483,7 @@ "type": "tidelift" } ], - "time": "2024-12-12T09:58:10+00:00" + "time": "2025-01-29T07:06:14+00:00" }, { "name": "voku/anti-xss", @@ -63137,7 +63137,7 @@ "ext-readline": "*", "ext-redis": "*" }, - "platform-dev": [], + "platform-dev": {}, "platform-overrides": { "php": "8.2.0" },