diff --git a/.editorconfig b/.editorconfig
index cfec585..cb5cb07 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,15 +1,28 @@
+# editorconfig.org
+
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
-indent_style = spaces
+indent_style = space
indent_size = 4
trim_trailing_whitespace = true
+[*.js]
+indent_size = 2
+
[*.md]
trim_trailing_whitespace = false
+[*.php]
+ij_php_space_before_short_closure_left_parenthesis = false
+ij_php_space_after_type_cast = true
+
[*.yml]
indent_size = 2
+
+[LICENSE*]
+indent_style = unset
+indent_size = unset
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..6ed6edb
--- /dev/null
+++ b/.github/CODE_OF_CONDUCT.md
@@ -0,0 +1,102 @@
+# Code of Conduct
+
+## Our Pledge
+
+As contributors and maintainers of this project, and in order to keep community open and welcoming, we ask to
+respect all community members.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our community include:
+
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
+- Focusing on what is best not just for us as individuals, but for the overall community
+
+Examples of unacceptable behavior by participants include:
+
+- The use of sexualized language or imagery, and sexual attention or advances of any kind
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email address, without their explicit permission
+- Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Enforcement Responsibilities
+
+Core team members are responsible for clarifying and enforcing our standards of acceptable behavior and will take
+appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Core team members have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
+issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for
+moderation decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing
+the community in public spaces. Examples of representing a project or community include using an official email
+address, posting via an official social media account, within project GitHub, official forum or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting core team members. All
+complaints will be reviewed and investigated promptly and fairly.
+
+All core team members are obligated to respect the privacy and security of the reporter of any incident.
+
+## Enforcement Guidelines
+
+Core team members will follow these Community Impact Guidelines in determining the consequences for any action they
+deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in
+the community.
+
+**Consequence**: A private, written warning from core team members, providing clarity around the nature of the violation
+and an explanation of why the behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including
+unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding
+interactions in community spaces as well as external channels like social media. Violating these terms may lead to
+a temporary or permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified
+period of time. No public or private interaction with the people involved, including unsolicited interaction with those
+enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate
+behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at
+[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
+[https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..102c3ed
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+---
+github: [terabytesoftw]
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
index a7c47a8..0d78c31 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE.md
@@ -1,13 +1,15 @@
-### What steps will reproduce the problem?
+# Issue Report
-### What is the expected result?
+## What steps will reproduce the problem?
-### What do you get instead?
+## What is the expected result?
-### Additional info
+## What do you get instead?
-| Q | A
-| ---------------- | ---
-| Version | 1.0.?
-| PHP version |
-| Operating system |
+## Additional info
+
+| Q | A |
+| ---------------- | ----- |
+| Version | 1.0.? |
+| PHP version | |
+| Operating system | |
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 0c07f8d..caa140a 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,6 +1,8 @@
-| Q | A
-| ------------ | ---
-| Is bugfix | ✔️/❌
-| New feature | ✔️/❌
-| Breaks BC | ✔️/❌
-| Fixed issues | comma-separated list of tickets # fixed by the PR, if any
+# Pull Request
+
+| Q | A |
+| ------------ | ------------------------------------------------------------------ |
+| Is bugfix? | ✔️/❌ |
+| New feature? | ✔️/❌ |
+| Breaks BC? | ✔️/❌ |
+| Fixed issues | |
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index d7ebdbf..ce0844c 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,16 +1,15 @@
+---
version: 2
updates:
- # Maintain dependencies for GitHub Actions.
- - package-ecosystem: "github-actions"
- directory: "/"
- schedule:
- interval: "daily"
- # Too noisy. See https://github.community/t/increase-if-necessary-for-github-actions-in-dependabot/179581
- open-pull-requests-limit: 0
+ # Maintain dependencies for GitHub Actions
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
- # Maintain dependencies for Composer
- - package-ecosystem: "composer"
- directory: "/"
- schedule:
- interval: "daily"
- versioning-strategy: increase-if-necessary
+ # Maintain dependencies for Composer
+ - package-ecosystem: "composer"
+ directory: "/"
+ schedule:
+ interval: "daily"
+ versioning-strategy: increase-if-necessary
diff --git a/.github/linters/actionlint.yml b/.github/linters/actionlint.yml
new file mode 100644
index 0000000..785d850
--- /dev/null
+++ b/.github/linters/actionlint.yml
@@ -0,0 +1,7 @@
+---
+paths:
+ .github/workflows/**/*.yml:
+ ignore:
+ - '"pull_request" section is alias node but mapping node is expected'
+ - '"push" section is alias node but mapping node is expected'
+ - "section is alias node but mapping node is expected"
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0c908e6..0f270c8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,25 +1,23 @@
+---
on:
- pull_request:
+ pull_request: &ignore-paths
paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ - ".gitattributes"
+ - ".gitignore"
+ - "CHANGELOG.md"
+ - "docs/**"
+ - "README.md"
- push:
- paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ push: *ignore-paths
name: build
+permissions:
+ contents: read
+
jobs:
codeception:
- uses: php-forge/actions/.github/workflows/codeception.yml@main
+ uses: yii2-framework/actions/.github/workflows/codeception.yml@main
secrets:
AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/dependency-check.yml b/.github/workflows/dependency-check.yml
index 3e588e2..94a100b 100644
--- a/.github/workflows/dependency-check.yml
+++ b/.github/workflows/dependency-check.yml
@@ -1,24 +1,23 @@
+---
on:
- pull_request:
+ pull_request: &ignore-paths
paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ - ".gitattributes"
+ - ".gitignore"
+ - "CHANGELOG.md"
+ - "docs/**"
+ - "README.md"
- push:
- paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ push: *ignore-paths
+
+name: Composer require checker
-name: dependency-check
+permissions:
+ contents: read
+ pull-requests: write
jobs:
composer-require-checker:
- uses: php-forge/actions/.github/workflows/composer-require-checker.yml@main
+ uses: yii2-framework/actions/.github/workflows/composer-require-checker.yml@main
secrets:
AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
diff --git a/.github/workflows/ecs.yml b/.github/workflows/ecs.yml
index 0693163..0fa6e11 100644
--- a/.github/workflows/ecs.yml
+++ b/.github/workflows/ecs.yml
@@ -1,24 +1,23 @@
+---
on:
- pull_request:
+ pull_request: &ignore-paths
paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ - ".gitattributes"
+ - ".gitignore"
+ - "CHANGELOG.md"
+ - "docs/**"
+ - "README.md"
- push:
- paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ push: *ignore-paths
name: ecs
+permissions:
+ contents: read
+ pull-requests: write
+
jobs:
easy-coding-standard:
- uses: php-forge/actions/.github/workflows/ecs.yml@main
+ uses: yii2-framework/actions/.github/workflows/ecs.yml@main
with:
extensions: mbstring
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
new file mode 100644
index 0000000..7b46557
--- /dev/null
+++ b/.github/workflows/linter.yml
@@ -0,0 +1,17 @@
+---
+on:
+ - pull_request
+ - push
+
+name: linter
+
+permissions:
+ checks: write
+ contents: read
+ statuses: write
+
+jobs:
+ linter:
+ uses: yii2-framework/actions/.github/workflows/super-linter.yml@v1
+ secrets:
+ AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml
index 6d1ad1b..2623179 100644
--- a/.github/workflows/static.yml
+++ b/.github/workflows/static.yml
@@ -1,25 +1,24 @@
+---
on:
- pull_request:
+ pull_request: &ignore-paths
paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ - ".gitattributes"
+ - ".gitignore"
+ - "CHANGELOG.md"
+ - "docs/**"
+ - "README.md"
- push:
- paths-ignore:
- - 'docs/**'
- - 'README.md'
- - 'CHANGELOG.md'
- - '.gitignore'
- - '.gitattributes'
+ push: *ignore-paths
name: static analysis
+permissions:
+ contents: read
+ pull-requests: write
+
jobs:
phpstan:
- uses: php-forge/actions/.github/workflows/phpstan.yml@main
+ uses: yii2-framework/actions/.github/workflows/phpstan.yml@main
secrets:
AUTH_TOKEN: ${{ secrets.AUTH_TOKEN }}
with:
diff --git a/.gitignore b/.gitignore
index 48678c8..0c1ed62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,12 @@ composer.phar
# composer vendor dir
/vendor
+# config plugin
+/config/.merge-plan.php
+
+#copilot
+copilot
+
# local phpunit config
/phpunit.xml
@@ -46,6 +52,3 @@ requirements.php
.buildpath
.project
.settings
-
-# config plugin
-/config/.merge-plan.php
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644
index 0000000..12624ca
--- /dev/null
+++ b/.stylelintrc.json
@@ -0,0 +1,6 @@
+{
+ "extends": "stylelint-config-standard",
+ "rules": {
+ "selector-pseudo-element-colon-notation": "double"
+ }
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index af8e916..caad2b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,8 @@
-# Change Log
+# ChangeLog
-## 0.1.2 Under development
+## 0.1.2 October 8, 2025
+
+- Bug #197: Update workflows and documentation for improved CI/CD processes and feature clarity (@terabytesoftw)
## 0.1.1 September 03, 2025
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..0ece5fe
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: BSD-3-Clause
+
+BSD 3-Clause License
+
+Copyright (c) 2008, Terabytesoftw (https://github.com/terabytesoftw/)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSE.md b/LICENSE.md
deleted file mode 100644
index 13bf79d..0000000
--- a/LICENSE.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# BSD 3-Clause License
-
-Copyright © 2008 by Terabytesoftw ( )
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-* Neither the name of Yii Software nor the names of its contributors may be
- used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
index 06d2d93..0c161aa 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,28 @@
+
-
-
-
+
+
+
+
+
Web Application Basic
+
+
-
-
-
-
-
-
-
-
-
-
+
-
+
-A modern, Bootstrap 5-powered Yii2 application template designed for rapid web-application development. Built with best practices, clean architecture, and developer-friendly configuration, it lets you create production-ready apps with minimal setup while maintaining code quality and extensibility.
+
+ A modern, Bootstrap 5-powered Yii2 application template for rapid development
+ Clean architecture, production-ready features, and developer-friendly configuration
+
@@ -33,12 +32,10 @@ A modern, Bootstrap 5-powered Yii2 application template designed for rapid web-a
## Features
-- ✅ **Asset Management** - Optimized asset bundles for CSS, JS, and resource management.
-- ✅ **Clean Architecture** - Well-organized directory structure following Yii2 best practices.
-- ✅ **Console Commands** - Example console commands for background tasks and maintenance.
-- ✅ **Developer Tools** - Debugging tools, logging, and development-friendly configurations.
-- ✅ **Modern Bootstrap 5 UI** - Responsive, mobile-first design with latest Bootstrap components.
-- ✅ **Testing Ready** - Codeception test suite with examples for functional and unit testing.
+
+
+
+
## Available deployment options
@@ -57,6 +54,7 @@ Long-running PHP workers for higher throughput and lower latency.
[](https://github.com/yii2-extensions/app-basic/tree/franken-php)
[](https://github.com/yii2-extensions/app-basic/tree/road-runner)
+> [!IMPORTANT]
> For setup instructions, see `README.md` in each branch.
## How it works
@@ -75,7 +73,8 @@ The Yii2 Web Application Basic template provides a complete foundation for build
- **Extensible**: Easy to customize and extend for specific project requirements.
- **Production-ready**: Includes security features and optimizations for deployment.
->Note: Also, make sure to install [`npm`](https://nodejs.org/en/download/) for frontend dependency management.
+> [!NOTE]
+> Also, make sure to install [`npm`](https://nodejs.org/en/download/) for frontend dependency management.
### Installation
@@ -104,7 +103,7 @@ php -S localhost:8080 -t web
root/
├── config/ Configuration files
│ ├── common/ Common configuration
-│ ├── console/ Console configuration
+P│ ├── console/ Console configuration
│ ├── web/ Web configuration
│ └── messages.php Translation config
├── src/
@@ -155,8 +154,11 @@ final class SiteController extends Controller
## Package information
+[](https://www.php.net/releases/8.1/en.php)
+[](https://github.com/yiisoft/yii2/tree/2.0.53)
+[](https://github.com/yiisoft/yii2/tree/22.0)
[](https://packagist.org/packages/yii2-extensions/app-basic)
-[](https://packagist.org/packages/yii2-extensions/app-basic)
+[](https://packagist.org/packages/yii2-extensions/app-basic)
## Quality code
@@ -169,7 +171,7 @@ final class SiteController extends Controller
For detailed configuration options and advanced usage:
- 📚 [Installation Guide](docs/installation.md)
-- ⚙️ [Configuration Reference](docs/configuration.md)
+- ⚙️ [Configuration Reference](docs/configuration.md)
- 🧪 [Testing Guide](docs/testing.md)
- 📸 [Screenshots](docs/screenshots.md)
@@ -179,4 +181,4 @@ For detailed configuration options and advanced usage:
## License
-[](LICENSE.md)
+[](LICENSE)
diff --git a/composer-require-checker.json b/composer-require-checker.json
index e6a9190..8eb9cdd 100644
--- a/composer-require-checker.json
+++ b/composer-require-checker.json
@@ -1,5 +1,3 @@
{
- "symbol-whitelist": [
- "YII_ENV"
- ]
+ "symbol-whitelist": ["YII_ENV"]
}
diff --git a/composer.json b/composer.json
index 93998b5..c3a7a46 100644
--- a/composer.json
+++ b/composer.json
@@ -13,7 +13,7 @@
"require": {
"php": ">=8.1",
"php-forge/foxy": "^0.1",
- "ui-awesome/html-svg":"^0.2",
+ "ui-awesome/html-svg": "^0.2",
"vlucas/phpdotenv": "^5.6",
"yiisoft/yii2": "^2.0.53|^22",
"yiisoft/yii2-bootstrap5": "^2.0.50|^22"
diff --git a/composer.lock b/composer.lock
index 49a6f96..da7cbab 100644
--- a/composer.lock
+++ b/composer.lock
@@ -77,12 +77,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65"
+ "reference": "96a9896f1a7d418fc78c0c7b2a3757664f80e7fc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/719026bb30813accb68271fee7e39552a58e9f65",
- "reference": "719026bb30813accb68271fee7e39552a58e9f65",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/96a9896f1a7d418fc78c0c7b2a3757664f80e7fc",
+ "reference": "96a9896f1a7d418fc78c0c7b2a3757664f80e7fc",
"shasum": ""
},
"require": {
@@ -130,7 +130,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.5.8"
+ "source": "https://github.com/composer/ca-bundle/tree/main"
},
"funding": [
{
@@ -142,7 +142,7 @@
"type": "github"
}
],
- "time": "2025-08-20T18:49:47+00:00"
+ "time": "2025-09-17T07:10:22+00:00"
},
{
"name": "composer/class-map-generator",
@@ -150,12 +150,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/class-map-generator.git",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076"
+ "reference": "9a419ca773c1c9f294ad687c6f53e799c6a0571c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/ba9f089655d4cdd64e762a6044f411ccdaec0076",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076",
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/9a419ca773c1c9f294ad687c6f53e799c6a0571c",
+ "reference": "9a419ca773c1c9f294ad687c6f53e799c6a0571c",
"shasum": ""
},
"require": {
@@ -200,7 +200,7 @@
],
"support": {
"issues": "https://github.com/composer/class-map-generator/issues",
- "source": "https://github.com/composer/class-map-generator/tree/1.6.2"
+ "source": "https://github.com/composer/class-map-generator/tree/main"
},
"funding": [
{
@@ -212,7 +212,7 @@
"type": "github"
}
],
- "time": "2025-08-20T18:52:43+00:00"
+ "time": "2025-10-03T14:57:42+00:00"
},
{
"name": "composer/composer",
@@ -220,12 +220,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/composer.git",
- "reference": "b88968cf6ad5098de2d5510e42216c4d912940cc"
+ "reference": "fee2383ed5bb0dfd95315997cd789fa8d37f2f47"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/composer/zipball/b88968cf6ad5098de2d5510e42216c4d912940cc",
- "reference": "b88968cf6ad5098de2d5510e42216c4d912940cc",
+ "url": "https://api.github.com/repos/composer/composer/zipball/fee2383ed5bb0dfd95315997cd789fa8d37f2f47",
+ "reference": "fee2383ed5bb0dfd95315997cd789fa8d37f2f47",
"shasum": ""
},
"require": {
@@ -236,20 +236,20 @@
"composer/semver": "^3.3",
"composer/spdx-licenses": "^1.5.7",
"composer/xdebug-handler": "^2.0.2 || ^3.0.3",
- "justinrainbow/json-schema": "^6.3.1",
+ "justinrainbow/json-schema": "^6.5.1",
"php": "^7.2.5 || ^8.0",
"psr/log": "^1.0 || ^2.0 || ^3.0",
- "react/promise": "^2.11 || ^3.3",
+ "react/promise": "^3.3",
"seld/jsonlint": "^1.4",
"seld/phar-utils": "^1.2",
"seld/signal-handler": "^2.0",
- "symfony/console": "^5.4.35 || ^6.3.12 || ^7.0.3 || ^8.0",
- "symfony/filesystem": "^5.4.35 || ^6.3.12 || ^7.0.3 || ^8.0",
- "symfony/finder": "^5.4.35 || ^6.3.12 || ^7.0.3 || ^8.0",
+ "symfony/console": "^5.4.47 || ^6.4.25 || ^7.1.10 || ^8.0",
+ "symfony/filesystem": "^5.4.45 || ^6.4.24 || ^7.1.10 || ^8.0",
+ "symfony/finder": "^5.4.45 || ^6.4.24 || ^7.1.10 || ^8.0",
"symfony/polyfill-php73": "^1.24",
"symfony/polyfill-php80": "^1.24",
"symfony/polyfill-php81": "^1.24",
- "symfony/process": "^5.4.35 || ^6.3.12 || ^7.0.3 || ^8.0"
+ "symfony/process": "^5.4.47 || ^6.4.25 || ^7.1.10 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.11.8",
@@ -257,7 +257,7 @@
"phpstan/phpstan-phpunit": "^1.4.0",
"phpstan/phpstan-strict-rules": "^1.6.0",
"phpstan/phpstan-symfony": "^1.4.0",
- "symfony/phpunit-bridge": "^6.4.3 || ^7.0.1 || ^8.0"
+ "symfony/phpunit-bridge": "^6.4.25 || ^7.3.3 || ^8.0"
},
"suggest": {
"ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages",
@@ -323,7 +323,7 @@
"type": "github"
}
],
- "time": "2025-08-27T20:54:37+00:00"
+ "time": "2025-10-07T09:41:51+00:00"
},
{
"name": "composer/metadata-minifier",
@@ -331,12 +331,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/metadata-minifier.git",
- "reference": "0a38292ff395f3716454613e3a6c6eaa422456c8"
+ "reference": "9178fb630c1f69cb0f3b56e2052ed3d347fa171a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/0a38292ff395f3716454613e3a6c6eaa422456c8",
- "reference": "0a38292ff395f3716454613e3a6c6eaa422456c8",
+ "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/9178fb630c1f69cb0f3b56e2052ed3d347fa171a",
+ "reference": "9178fb630c1f69cb0f3b56e2052ed3d347fa171a",
"shasum": ""
},
"require": {
@@ -387,13 +387,9 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2025-02-17T12:51:19+00:00"
+ "time": "2025-09-03T06:59:18+00:00"
},
{
"name": "composer/pcre",
@@ -401,12 +397,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "fadb6382c5d62e4e59ca45a4e77d3a356b40c594"
+ "reference": "efd688146c54599288d52f9f459d81b345a9778f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/fadb6382c5d62e4e59ca45a4e77d3a356b40c594",
- "reference": "fadb6382c5d62e4e59ca45a4e77d3a356b40c594",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/efd688146c54599288d52f9f459d81b345a9778f",
+ "reference": "efd688146c54599288d52f9f459d81b345a9778f",
"shasum": ""
},
"require": {
@@ -470,7 +466,7 @@
"type": "github"
}
],
- "time": "2025-05-28T08:54:55+00:00"
+ "time": "2025-10-06T14:04:28+00:00"
},
{
"name": "composer/semver",
@@ -478,12 +474,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95"
+ "reference": "b52829022cb18210bb84e44e457bd4e890f8d2a7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95",
- "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95",
+ "url": "https://api.github.com/repos/composer/semver/zipball/b52829022cb18210bb84e44e457bd4e890f8d2a7",
+ "reference": "b52829022cb18210bb84e44e457bd4e890f8d2a7",
"shasum": ""
},
"require": {
@@ -536,7 +532,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.4"
+ "source": "https://github.com/composer/semver/tree/main"
},
"funding": [
{
@@ -548,7 +544,7 @@
"type": "github"
}
],
- "time": "2025-08-20T19:15:30+00:00"
+ "time": "2025-09-03T06:59:12+00:00"
},
{
"name": "composer/spdx-licenses",
@@ -556,12 +552,12 @@
"source": {
"type": "git",
"url": "https://github.com/composer/spdx-licenses.git",
- "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f"
+ "reference": "f22eab83707e49be5a66ef4b7b9cb4bbd667f39a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/edf364cefe8c43501e21e88110aac10b284c3c9f",
- "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f",
+ "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/f22eab83707e49be5a66ef4b7b9cb4bbd667f39a",
+ "reference": "f22eab83707e49be5a66ef4b7b9cb4bbd667f39a",
"shasum": ""
},
"require": {
@@ -613,7 +609,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/spdx-licenses/issues",
- "source": "https://github.com/composer/spdx-licenses/tree/1.5.9"
+ "source": "https://github.com/composer/spdx-licenses/tree/main"
},
"funding": [
{
@@ -623,13 +619,9 @@
{
"url": "https://github.com/composer",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
}
],
- "time": "2025-05-12T21:07:07+00:00"
+ "time": "2025-10-02T06:46:19+00:00"
},
{
"name": "composer/xdebug-handler",
@@ -872,12 +864,12 @@
"source": {
"type": "git",
"url": "https://github.com/jsonrainbow/json-schema.git",
- "reference": "b5ab21e431594897e5bb86343c01f140ba862c26"
+ "reference": "1ed72392105ee98ce8b18c3a2b5dbe096c9af27f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/b5ab21e431594897e5bb86343c01f140ba862c26",
- "reference": "b5ab21e431594897e5bb86343c01f140ba862c26",
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/1ed72392105ee98ce8b18c3a2b5dbe096c9af27f",
+ "reference": "1ed72392105ee98ce8b18c3a2b5dbe096c9af27f",
"shasum": ""
},
"require": {
@@ -938,9 +930,9 @@
],
"support": {
"issues": "https://github.com/jsonrainbow/json-schema/issues",
- "source": "https://github.com/jsonrainbow/json-schema/tree/6.5.1"
+ "source": "https://github.com/jsonrainbow/json-schema/tree/master"
},
- "time": "2025-08-29T10:58:11+00:00"
+ "time": "2025-09-20T10:54:20+00:00"
},
{
"name": "marc-mabe/php-enum",
@@ -948,12 +940,12 @@
"source": {
"type": "git",
"url": "https://github.com/marc-mabe/php-enum.git",
- "reference": "7159809e5cfa041dca28e61f7f7ae58063aae8ed"
+ "reference": "bb426fcdd65c60fb3638ef741e8782508fda7eef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/marc-mabe/php-enum/zipball/7159809e5cfa041dca28e61f7f7ae58063aae8ed",
- "reference": "7159809e5cfa041dca28e61f7f7ae58063aae8ed",
+ "url": "https://api.github.com/repos/marc-mabe/php-enum/zipball/bb426fcdd65c60fb3638ef741e8782508fda7eef",
+ "reference": "bb426fcdd65c60fb3638ef741e8782508fda7eef",
"shasum": ""
},
"require": {
@@ -1012,9 +1004,9 @@
],
"support": {
"issues": "https://github.com/marc-mabe/php-enum/issues",
- "source": "https://github.com/marc-mabe/php-enum/tree/v4.7.1"
+ "source": "https://github.com/marc-mabe/php-enum/tree/v4.7.2"
},
- "time": "2024-11-28T04:54:44+00:00"
+ "time": "2025-09-14T11:18:39+00:00"
},
{
"name": "php-forge/awesome-widget",
@@ -1573,12 +1565,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "dc8d57e6d71f26f368f80053b4e5bc92f6c395e5"
+ "reference": "8294fbe48814e9e313f5af7adcd2ce3d49fcba84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/dc8d57e6d71f26f368f80053b4e5bc92f6c395e5",
- "reference": "dc8d57e6d71f26f368f80053b4e5bc92f6c395e5",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8294fbe48814e9e313f5af7adcd2ce3d49fcba84",
+ "reference": "8294fbe48814e9e313f5af7adcd2ce3d49fcba84",
"shasum": ""
},
"require": {
@@ -1663,7 +1655,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T07:40:56+00:00"
+ "time": "2025-10-08T10:26:29+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -1813,12 +1805,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "57861c3e46d9c85d89b73588afae62049ceafc5e"
+ "reference": "c1a41e8ecb0f76b9e6d93deaeb5b85718975b12a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/57861c3e46d9c85d89b73588afae62049ceafc5e",
- "reference": "57861c3e46d9c85d89b73588afae62049ceafc5e",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/c1a41e8ecb0f76b9e6d93deaeb5b85718975b12a",
+ "reference": "c1a41e8ecb0f76b9e6d93deaeb5b85718975b12a",
"shasum": ""
},
"require": {
@@ -1873,7 +1865,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-12T20:20:59+00:00"
+ "time": "2025-09-08T21:17:01+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -2622,12 +2614,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8"
+ "reference": "48bad913268c8cafabbf7034b39c8bb24fbc5ab8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8",
- "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8",
+ "url": "https://api.github.com/repos/symfony/process/zipball/48bad913268c8cafabbf7034b39c8bb24fbc5ab8",
+ "reference": "48bad913268c8cafabbf7034b39c8bb24fbc5ab8",
"shasum": ""
},
"require": {
@@ -2679,7 +2671,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-14T06:23:17+00:00"
+ "time": "2025-09-11T09:57:09+00:00"
},
{
"name": "symfony/service-contracts",
@@ -2775,12 +2767,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "b87a95c24475492ac665704843e341873eea1b28"
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/b87a95c24475492ac665704843e341873eea1b28",
- "reference": "b87a95c24475492ac665704843e341873eea1b28",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f",
+ "reference": "f929eccf09531078c243df72398560e32fa4cf4f",
"shasum": ""
},
"require": {
@@ -2795,7 +2787,6 @@
},
"require-dev": {
"symfony/emoji": "^7.4|^8.0",
- "symfony/error-handler": "^7.4|^8.0",
"symfony/http-client": "^7.4|^8.0",
"symfony/intl": "^7.4|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
@@ -2858,7 +2849,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-26T09:23:28+00:00"
+ "time": "2025-09-11T14:37:55+00:00"
},
{
"name": "ui-awesome/html-attribute",
@@ -3549,12 +3540,12 @@
"source": {
"type": "git",
"url": "https://github.com/yiisoft/yii2-framework.git",
- "reference": "1069366405ec1c99605839047900945bc25b2c2d"
+ "reference": "4655ce6a4d01452df9bf2146658a15cef6d35766"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/1069366405ec1c99605839047900945bc25b2c2d",
- "reference": "1069366405ec1c99605839047900945bc25b2c2d",
+ "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/4655ce6a4d01452df9bf2146658a15cef6d35766",
+ "reference": "4655ce6a4d01452df9bf2146658a15cef6d35766",
"shasum": ""
},
"require": {
@@ -3656,7 +3647,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T13:44:35+00:00"
+ "time": "2025-09-04T21:30:36+00:00"
},
{
"name": "yiisoft/yii2-bootstrap5",
@@ -3822,12 +3813,12 @@
"source": {
"type": "git",
"url": "https://github.com/Behat/Gherkin.git",
- "reference": "a70421e94b11b7e92e9922e2494ea7debdcac79a"
+ "reference": "bfcf25c7bd3912977dffa31da96f1dfda9a2ad5b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Behat/Gherkin/zipball/a70421e94b11b7e92e9922e2494ea7debdcac79a",
- "reference": "a70421e94b11b7e92e9922e2494ea7debdcac79a",
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/bfcf25c7bd3912977dffa31da96f1dfda9a2ad5b",
+ "reference": "bfcf25c7bd3912977dffa31da96f1dfda9a2ad5b",
"shasum": ""
},
"require": {
@@ -3835,7 +3826,7 @@
"php": "8.1.* || 8.2.* || 8.3.* || 8.4.*"
},
"require-dev": {
- "cucumber/gherkin-monorepo": "dev-gherkin-v34.0.0",
+ "cucumber/gherkin-monorepo": "dev-gherkin-v35.1.0",
"friendsofphp/php-cs-fixer": "^3.77",
"mikey179/vfsstream": "^1.6",
"phpstan/extension-installer": "^1",
@@ -3884,7 +3875,7 @@
"issues": "https://github.com/Behat/Gherkin/issues",
"source": "https://github.com/Behat/Gherkin/tree/master"
},
- "time": "2025-08-19T15:39:32+00:00"
+ "time": "2025-09-22T07:34:30+00:00"
},
{
"name": "codeception/c3",
@@ -3945,16 +3936,16 @@
},
{
"name": "codeception/codeception",
- "version": "5.3.2",
+ "version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/Codeception/Codeception.git",
- "reference": "582112d7a603d575e41638df1e96900b10ae91b8"
+ "reference": "96443080d3c5b345b8bceb1f9c6251c520f2a7f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/582112d7a603d575e41638df1e96900b10ae91b8",
- "reference": "582112d7a603d575e41638df1e96900b10ae91b8",
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/96443080d3c5b345b8bceb1f9c6251c520f2a7f6",
+ "reference": "96443080d3c5b345b8bceb1f9c6251c520f2a7f6",
"shasum": ""
},
"require": {
@@ -4017,13 +4008,14 @@
"symfony/phpunit-bridge": "For phpunit-bridge support",
"vlucas/phpdotenv": "For loading params from .env files"
},
+ "default-branch": true,
"bin": [
"codecept"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.2.x-dev"
+ "dev-main": "5.3.x-dev"
}
},
"autoload": {
@@ -4060,7 +4052,7 @@
],
"support": {
"issues": "https://github.com/Codeception/Codeception/issues",
- "source": "https://github.com/Codeception/Codeception/tree/5.3.2"
+ "source": "https://github.com/Codeception/Codeception/tree/main"
},
"funding": [
{
@@ -4068,7 +4060,7 @@
"type": "open_collective"
}
],
- "time": "2025-05-26T07:47:39+00:00"
+ "time": "2025-10-05T00:04:31+00:00"
},
{
"name": "codeception/lib-asserts",
@@ -4347,16 +4339,16 @@
},
{
"name": "codeception/module-phpbrowser",
- "version": "3.0.1",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/Codeception/module-phpbrowser.git",
- "reference": "a972411f60cd00d00d5e5e3b35496ba4a23bcffc"
+ "reference": "460e392c77370f7836012b16e06071eb1607876a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/a972411f60cd00d00d5e5e3b35496ba4a23bcffc",
- "reference": "a972411f60cd00d00d5e5e3b35496ba4a23bcffc",
+ "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/460e392c77370f7836012b16e06071eb1607876a",
+ "reference": "460e392c77370f7836012b16e06071eb1607876a",
"shasum": ""
},
"require": {
@@ -4364,8 +4356,8 @@
"codeception/lib-innerbrowser": "*@dev",
"ext-json": "*",
"guzzlehttp/guzzle": "^7.4",
- "php": "^8.0",
- "symfony/browser-kit": "^5.4 || ^6.0 || ^7.0"
+ "php": "^8.1",
+ "symfony/browser-kit": "^5.4 | ^6.0 | ^7.0"
},
"conflict": {
"codeception/codeception": "<5.0",
@@ -4373,8 +4365,10 @@
},
"require-dev": {
"aws/aws-sdk-php": "^3.199",
- "codeception/module-rest": "^2.0 || *@dev",
- "ext-curl": "*"
+ "codeception/module-rest": "^2.0 | *@dev",
+ "ext-curl": "*",
+ "phpstan/phpstan": "^1.10",
+ "squizlabs/php_codesniffer": "^3.10"
},
"suggest": {
"codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
@@ -4406,9 +4400,9 @@
],
"support": {
"issues": "https://github.com/Codeception/module-phpbrowser/issues",
- "source": "https://github.com/Codeception/module-phpbrowser/tree/3.0.1"
+ "source": "https://github.com/Codeception/module-phpbrowser/tree/3.0.2"
},
- "time": "2023-12-08T19:41:28+00:00"
+ "time": "2025-09-04T10:45:58+00:00"
},
{
"name": "codeception/module-yii2",
@@ -5105,12 +5099,12 @@
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f7c23a43eee861070ab4e88819a4e76a611c7e4f"
+ "reference": "0da2d6679a3df45d6d720aa2e0d4568f82a32e46"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f7c23a43eee861070ab4e88819a4e76a611c7e4f",
- "reference": "f7c23a43eee861070ab4e88819a4e76a611c7e4f",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0da2d6679a3df45d6d720aa2e0d4568f82a32e46",
+ "reference": "0da2d6679a3df45d6d720aa2e0d4568f82a32e46",
"shasum": ""
},
"require": {
@@ -5156,7 +5150,7 @@
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/master"
},
- "time": "2025-08-19T18:41:44+00:00"
+ "time": "2025-09-08T07:54:25+00:00"
},
{
"name": "phar-io/manifest",
@@ -5324,23 +5318,23 @@
"source": {
"type": "git",
"url": "https://github.com/phpstan/extension-installer.git",
- "reference": "a998f10f8e3f5f38739e82cacebdee731a3c04a3"
+ "reference": "1d5bbbff94b8d43d3f6ccb83652989483c6e3dce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/a998f10f8e3f5f38739e82cacebdee731a3c04a3",
- "reference": "a998f10f8e3f5f38739e82cacebdee731a3c04a3",
+ "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/1d5bbbff94b8d43d3f6ccb83652989483c6e3dce",
+ "reference": "1d5bbbff94b8d43d3f6ccb83652989483c6e3dce",
"shasum": ""
},
"require": {
"composer-plugin-api": "^2.0",
- "php": "^7.2 || ^8.0",
- "phpstan/phpstan": "^1.12.0 || ^2.0"
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^2.0"
},
"require-dev": {
"composer/composer": "^2.0",
"php-parallel-lint/php-parallel-lint": "^1.2.0",
- "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
+ "phpstan/phpstan-strict-rules": "^2.0"
},
"default-branch": true,
"type": "composer-plugin",
@@ -5365,20 +5359,15 @@
"issues": "https://github.com/phpstan/extension-installer/issues",
"source": "https://github.com/phpstan/extension-installer/tree/1.4.x"
},
- "time": "2025-08-21T08:44:40+00:00"
+ "time": "2025-09-06T11:38:31+00:00"
},
{
"name": "phpstan/phpstan",
"version": "2.1.x-dev",
- "source": {
- "type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "b3ae3d27beb3625f29c7a01799d3f45506c53745"
- },
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b3ae3d27beb3625f29c7a01799d3f45506c53745",
- "reference": "b3ae3d27beb3625f29c7a01799d3f45506c53745",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d16b1ca949bc5563f76488bbab6ff7ad5c9e84a2",
+ "reference": "d16b1ca949bc5563f76488bbab6ff7ad5c9e84a2",
"shasum": ""
},
"require": {
@@ -5424,7 +5413,7 @@
"type": "github"
}
],
- "time": "2025-08-31T15:28:24+00:00"
+ "time": "2025-10-08T13:59:05+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
@@ -5432,17 +5421,17 @@
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "b043bd81404b8e4e4783c8b348c05bc08fafeb02"
+ "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/b043bd81404b8e4e4783c8b348c05bc08fafeb02",
- "reference": "b043bd81404b8e4e4783c8b348c05bc08fafeb02",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/d6211c46213d4181054b3d77b10a5c5cb0d59538",
+ "reference": "d6211c46213d4181054b3d77b10a5c5cb0d59538",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
- "phpstan/phpstan": "^2.0.4"
+ "phpstan/phpstan": "^2.1.29"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
@@ -5473,7 +5462,7 @@
"issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
"source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.x"
},
- "time": "2025-08-30T08:29:42+00:00"
+ "time": "2025-09-26T11:19:08+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -5481,12 +5470,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "96dc0466673e215bf5536301039017f03cd45c6b"
+ "reference": "98384864722106029944f669cc51668a0de2717a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/96dc0466673e215bf5536301039017f03cd45c6b",
- "reference": "96dc0466673e215bf5536301039017f03cd45c6b",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/98384864722106029944f669cc51668a0de2717a",
+ "reference": "98384864722106029944f669cc51668a0de2717a",
"shasum": ""
},
"require": {
@@ -5514,7 +5503,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.3.x-dev"
+ "dev-main": "12.4.x-dev"
}
},
"autoload": {
@@ -5543,7 +5532,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.3.5"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/main"
},
"funding": [
{
@@ -5563,7 +5552,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-01T08:07:42+00:00"
+ "time": "2025-09-26T13:02:34+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -5571,12 +5560,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "43ce4a5be5e5e2d254a04af27a531f044c3f4b98"
+ "reference": "b141834426cf398b3842ad514710cc15993830b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/43ce4a5be5e5e2d254a04af27a531f044c3f4b98",
- "reference": "43ce4a5be5e5e2d254a04af27a531f044c3f4b98",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/b141834426cf398b3842ad514710cc15993830b7",
+ "reference": "b141834426cf398b3842ad514710cc15993830b7",
"shasum": ""
},
"require": {
@@ -5637,7 +5626,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:45:36+00:00"
+ "time": "2025-09-26T11:54:35+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -5645,12 +5634,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "e894566d235809c82c77424f08810952755d9f80"
+ "reference": "11785bf0cbc64eb1b089a3f22c31e0f17ace93f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/e894566d235809c82c77424f08810952755d9f80",
- "reference": "e894566d235809c82c77424f08810952755d9f80",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/11785bf0cbc64eb1b089a3f22c31e0f17ace93f8",
+ "reference": "11785bf0cbc64eb1b089a3f22c31e0f17ace93f8",
"shasum": ""
},
"require": {
@@ -5714,7 +5703,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:46:26+00:00"
+ "time": "2025-09-26T11:58:40+00:00"
},
{
"name": "phpunit/php-text-template",
@@ -5722,12 +5711,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "cee043439ecbe031d409def48af2f1e3bf13a6eb"
+ "reference": "8afd12ba4cbf06b65a0a2336f0e796bc4b0f986d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/cee043439ecbe031d409def48af2f1e3bf13a6eb",
- "reference": "cee043439ecbe031d409def48af2f1e3bf13a6eb",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/8afd12ba4cbf06b65a0a2336f0e796bc4b0f986d",
+ "reference": "8afd12ba4cbf06b65a0a2336f0e796bc4b0f986d",
"shasum": ""
},
"require": {
@@ -5787,7 +5776,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:47:03+00:00"
+ "time": "2025-09-26T12:04:00+00:00"
},
{
"name": "phpunit/php-timer",
@@ -5795,12 +5784,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "23036cd263bd4812edd4642cd866db831704821f"
+ "reference": "6e392b79f23b813fa3ebdc33f3de8e8f68820353"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/23036cd263bd4812edd4642cd866db831704821f",
- "reference": "23036cd263bd4812edd4642cd866db831704821f",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/6e392b79f23b813fa3ebdc33f3de8e8f68820353",
+ "reference": "6e392b79f23b813fa3ebdc33f3de8e8f68820353",
"shasum": ""
},
"require": {
@@ -5860,20 +5849,20 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:47:33+00:00"
+ "time": "2025-09-26T12:07:45+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "dev-main",
+ "version": "12.5.x-dev",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "fb9037c729d0298d9052e92303a8bd4213659116"
+ "reference": "e294589ec7d702bb7b69667206d9c17bb502e85a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fb9037c729d0298d9052e92303a8bd4213659116",
- "reference": "fb9037c729d0298d9052e92303a8bd4213659116",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e294589ec7d702bb7b69667206d9c17bb502e85a",
+ "reference": "e294589ec7d702bb7b69667206d9c17bb502e85a",
"shasum": ""
},
"require": {
@@ -5887,30 +5876,29 @@
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.3",
- "phpunit/php-code-coverage": "^12.3.4",
+ "phpunit/php-code-coverage": "^12.4.0",
"phpunit/php-file-iterator": "^6.0.0",
"phpunit/php-invoker": "^6.0.0",
"phpunit/php-text-template": "^5.0.0",
"phpunit/php-timer": "^8.0.0",
- "sebastian/cli-parser": "^4.0.0",
+ "sebastian/cli-parser": "^4.2.0",
"sebastian/comparator": "^7.1.3",
"sebastian/diff": "^7.0.0",
"sebastian/environment": "^8.0.3",
- "sebastian/exporter": "^7.0.0",
+ "sebastian/exporter": "^7.0.2",
"sebastian/global-state": "^8.0.2",
"sebastian/object-enumerator": "^7.0.0",
"sebastian/type": "^6.0.3",
"sebastian/version": "^6.0.0",
"staabm/side-effects-detector": "^1.0.5"
},
- "default-branch": true,
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.4-dev"
+ "dev-main": "12.5-dev"
}
},
"autoload": {
@@ -5942,7 +5930,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/main"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5"
},
"funding": [
{
@@ -5966,7 +5954,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T11:33:58+00:00"
+ "time": "2025-10-08T05:59:53+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -6189,12 +6177,12 @@
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "2f0a5bf8e3a4ffeb93fbf5182cb6a4b378ee6194"
+ "reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2f0a5bf8e3a4ffeb93fbf5182cb6a4b378ee6194",
- "reference": "2f0a5bf8e3a4ffeb93fbf5182cb6a4b378ee6194",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/cd23863404a40ccfaf733e3af4db2b459837f7e7",
+ "reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7",
"shasum": ""
},
"require": {
@@ -6258,9 +6246,9 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/main"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.12"
},
- "time": "2025-08-23T23:30:16+00:00"
+ "time": "2025-09-20T13:46:31+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -6308,21 +6296,21 @@
},
{
"name": "rector/rector",
- "version": "2.1.4",
+ "version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/rectorphp/rector.git",
- "reference": "fe613c528819222f8686a9a037a315ef9d4915b3"
+ "reference": "e1aaf3061e9ae9342ed0824865e3a3360defddeb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/rectorphp/rector/zipball/fe613c528819222f8686a9a037a315ef9d4915b3",
- "reference": "fe613c528819222f8686a9a037a315ef9d4915b3",
+ "url": "https://api.github.com/repos/rectorphp/rector/zipball/e1aaf3061e9ae9342ed0824865e3a3360defddeb",
+ "reference": "e1aaf3061e9ae9342ed0824865e3a3360defddeb",
"shasum": ""
},
"require": {
"php": "^7.4|^8.0",
- "phpstan/phpstan": "^2.1.18"
+ "phpstan/phpstan": "^2.1.26"
},
"conflict": {
"rector/rector-doctrine": "*",
@@ -6356,7 +6344,7 @@
],
"support": {
"issues": "https://github.com/rectorphp/rector/issues",
- "source": "https://github.com/rectorphp/rector/tree/2.1.4"
+ "source": "https://github.com/rectorphp/rector/tree/2.2.1"
},
"funding": [
{
@@ -6364,7 +6352,7 @@
"type": "github"
}
],
- "time": "2025-08-15T14:41:36+00:00"
+ "time": "2025-10-06T21:25:14+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -6372,12 +6360,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "9b9963bb4f869e2aae7d1483e0d9075b1f5cb436"
+ "reference": "13e61c39b4a79fd74518c7f282c0e053d2ebec92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/9b9963bb4f869e2aae7d1483e0d9075b1f5cb436",
- "reference": "9b9963bb4f869e2aae7d1483e0d9075b1f5cb436",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/13e61c39b4a79fd74518c7f282c0e053d2ebec92",
+ "reference": "13e61c39b4a79fd74518c7f282c0e053d2ebec92",
"shasum": ""
},
"require": {
@@ -6390,7 +6378,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "4.2-dev"
}
},
"autoload": {
@@ -6434,7 +6422,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:37:02+00:00"
+ "time": "2025-09-26T09:03:38+00:00"
},
{
"name": "sebastian/comparator",
@@ -6442,12 +6430,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "812ce2426e84729afecd5f1647e39083b0ff158c"
+ "reference": "2f7e868cdac74c96ea7ee067df6083b8672890ee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/812ce2426e84729afecd5f1647e39083b0ff158c",
- "reference": "812ce2426e84729afecd5f1647e39083b0ff158c",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2f7e868cdac74c96ea7ee067df6083b8672890ee",
+ "reference": "2f7e868cdac74c96ea7ee067df6083b8672890ee",
"shasum": ""
},
"require": {
@@ -6527,7 +6515,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-23T11:55:05+00:00"
+ "time": "2025-09-26T09:21:08+00:00"
},
{
"name": "sebastian/complexity",
@@ -6535,12 +6523,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "7f27b19d08f99a44041720b185cfdabfb4599adb"
+ "reference": "259ab527b8a1d91d55c4dd6fcd9cbd53881d2d1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/7f27b19d08f99a44041720b185cfdabfb4599adb",
- "reference": "7f27b19d08f99a44041720b185cfdabfb4599adb",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/259ab527b8a1d91d55c4dd6fcd9cbd53881d2d1d",
+ "reference": "259ab527b8a1d91d55c4dd6fcd9cbd53881d2d1d",
"shasum": ""
},
"require": {
@@ -6598,7 +6586,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:38:26+00:00"
+ "time": "2025-09-26T09:30:00+00:00"
},
{
"name": "sebastian/diff",
@@ -6606,12 +6594,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "98c299d8486b460efd667d0d64f1a32dd588971d"
+ "reference": "9aff9b4e75e81bbfe6c769be3f393055febf1c6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/98c299d8486b460efd667d0d64f1a32dd588971d",
- "reference": "98c299d8486b460efd667d0d64f1a32dd588971d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/9aff9b4e75e81bbfe6c769be3f393055febf1c6a",
+ "reference": "9aff9b4e75e81bbfe6c769be3f393055febf1c6a",
"shasum": ""
},
"require": {
@@ -6678,7 +6666,7 @@
"type": "tidelift"
}
],
- "time": "2025-06-26T11:32:07+00:00"
+ "time": "2025-09-26T09:46:36+00:00"
},
{
"name": "sebastian/environment",
@@ -6686,12 +6674,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68"
+ "reference": "353a6fa7e92ca85324a5d7bcdf17a12b3a030353"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/24a711b5c916efc6d6e62aa65aa2ec98fef77f68",
- "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/353a6fa7e92ca85324a5d7bcdf17a12b3a030353",
+ "reference": "353a6fa7e92ca85324a5d7bcdf17a12b3a030353",
"shasum": ""
},
"require": {
@@ -6735,7 +6723,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/8.0.3"
+ "source": "https://github.com/sebastianbergmann/environment/tree/main"
},
"funding": [
{
@@ -6755,7 +6743,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-12T14:11:56+00:00"
+ "time": "2025-09-26T09:55:55+00:00"
},
{
"name": "sebastian/exporter",
@@ -6763,12 +6751,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "0ef7d66753a1282b23890c2d9a8c775607e8e07f"
+ "reference": "d4d9bba3c5904cdebea5c9bebab27d8abd6c1af1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0ef7d66753a1282b23890c2d9a8c775607e8e07f",
- "reference": "0ef7d66753a1282b23890c2d9a8c775607e8e07f",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d4d9bba3c5904cdebea5c9bebab27d8abd6c1af1",
+ "reference": "d4d9bba3c5904cdebea5c9bebab27d8abd6c1af1",
"shasum": ""
},
"require": {
@@ -6846,7 +6834,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:40:56+00:00"
+ "time": "2025-09-26T11:25:33+00:00"
},
{
"name": "sebastian/global-state",
@@ -6854,12 +6842,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "ef1377171613d09edd25b7816f05be8313f9115d"
+ "reference": "a10949d1e386170a423618c690b8efcb2ca56ae2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d",
- "reference": "ef1377171613d09edd25b7816f05be8313f9115d",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a10949d1e386170a423618c690b8efcb2ca56ae2",
+ "reference": "a10949d1e386170a423618c690b8efcb2ca56ae2",
"shasum": ""
},
"require": {
@@ -6901,7 +6889,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/main"
},
"funding": [
{
@@ -6921,7 +6909,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T11:29:25+00:00"
+ "time": "2025-09-26T11:32:43+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -6929,12 +6917,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "62b4d88ce107fb2a4d33a9e8b7e9b38f97c1b5cb"
+ "reference": "2f9169ba549af53f680e68abb56e62a5f0dee84e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/62b4d88ce107fb2a4d33a9e8b7e9b38f97c1b5cb",
- "reference": "62b4d88ce107fb2a4d33a9e8b7e9b38f97c1b5cb",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/2f9169ba549af53f680e68abb56e62a5f0dee84e",
+ "reference": "2f9169ba549af53f680e68abb56e62a5f0dee84e",
"shasum": ""
},
"require": {
@@ -6992,7 +6980,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:41:57+00:00"
+ "time": "2025-09-26T11:38:29+00:00"
},
{
"name": "sebastian/object-enumerator",
@@ -7000,12 +6988,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5346e40be4f996fb6643214c754dc91fac81f66d"
+ "reference": "e1cd261f5ea34e8568b3fc827919410292d1ca69"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5346e40be4f996fb6643214c754dc91fac81f66d",
- "reference": "5346e40be4f996fb6643214c754dc91fac81f66d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e1cd261f5ea34e8568b3fc827919410292d1ca69",
+ "reference": "e1cd261f5ea34e8568b3fc827919410292d1ca69",
"shasum": ""
},
"require": {
@@ -7063,7 +7051,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:43:17+00:00"
+ "time": "2025-09-26T11:43:21+00:00"
},
{
"name": "sebastian/object-reflector",
@@ -7071,12 +7059,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "20c26ab19b751ae8e0771bcff9e1581ea7db8817"
+ "reference": "cea2f459bb5d3d0a63bce71ddda57903d7150e53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/20c26ab19b751ae8e0771bcff9e1581ea7db8817",
- "reference": "20c26ab19b751ae8e0771bcff9e1581ea7db8817",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/cea2f459bb5d3d0a63bce71ddda57903d7150e53",
+ "reference": "cea2f459bb5d3d0a63bce71ddda57903d7150e53",
"shasum": ""
},
"require": {
@@ -7132,7 +7120,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:44:27+00:00"
+ "time": "2025-09-26T11:48:46+00:00"
},
{
"name": "sebastian/recursion-context",
@@ -7140,12 +7128,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c"
+ "reference": "ee84e0473412ee0a6c381fbabd618b31955f3c7e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
- "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/ee84e0473412ee0a6c381fbabd618b31955f3c7e",
+ "reference": "ee84e0473412ee0a6c381fbabd618b31955f3c7e",
"shasum": ""
},
"require": {
@@ -7189,7 +7177,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/main"
},
"funding": [
{
@@ -7209,7 +7197,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T04:44:59+00:00"
+ "time": "2025-09-26T12:16:33+00:00"
},
{
"name": "sebastian/type",
@@ -7217,12 +7205,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d"
+ "reference": "04f923c375c0430774f283e53340c374c498a562"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d",
- "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/04f923c375c0430774f283e53340c374c498a562",
+ "reference": "04f923c375c0430774f283e53340c374c498a562",
"shasum": ""
},
"require": {
@@ -7259,7 +7247,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/6.0.3"
+ "source": "https://github.com/sebastianbergmann/type/tree/main"
},
"funding": [
{
@@ -7279,7 +7267,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-09T06:57:12+00:00"
+ "time": "2025-09-26T12:20:52+00:00"
},
{
"name": "sebastian/version",
@@ -7287,12 +7275,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "200159ecc0a10f655df0e5ce4d7cd0f0c3037784"
+ "reference": "225ee32d2b812505e0a9bbe0faaf88c7b0c9ebd3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/200159ecc0a10f655df0e5ce4d7cd0f0c3037784",
- "reference": "200159ecc0a10f655df0e5ce4d7cd0f0c3037784",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/225ee32d2b812505e0a9bbe0faaf88c7b0c9ebd3",
+ "reference": "225ee32d2b812505e0a9bbe0faaf88c7b0c9ebd3",
"shasum": ""
},
"require": {
@@ -7346,7 +7334,7 @@
"type": "tidelift"
}
],
- "time": "2025-05-25T06:50:56+00:00"
+ "time": "2025-09-26T12:29:27+00:00"
},
{
"name": "staabm/side-effects-detector",
@@ -7543,12 +7531,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "62e6c8883d8faa24d9815e1e4daf5ddeac0adde8"
+ "reference": "d4e84f351805b6e39747d6851c623836e9e81522"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/62e6c8883d8faa24d9815e1e4daf5ddeac0adde8",
- "reference": "62e6c8883d8faa24d9815e1e4daf5ddeac0adde8",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d4e84f351805b6e39747d6851c623836e9e81522",
+ "reference": "d4e84f351805b6e39747d6851c623836e9e81522",
"shasum": ""
},
"require": {
@@ -7607,7 +7595,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-21T08:46:20+00:00"
+ "time": "2025-09-09T06:33:17+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -7615,12 +7603,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "c511634ea987e9f96eafe4270a3c5e7cf6f2f747"
+ "reference": "899a660f2d62e493ce6e68844b9089d4e1a639a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c511634ea987e9f96eafe4270a3c5e7cf6f2f747",
- "reference": "c511634ea987e9f96eafe4270a3c5e7cf6f2f747",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/899a660f2d62e493ce6e68844b9089d4e1a639a1",
+ "reference": "899a660f2d62e493ce6e68844b9089d4e1a639a1",
"shasum": ""
},
"require": {
@@ -7691,7 +7679,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T13:43:36+00:00"
+ "time": "2025-10-05T07:10:02+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -7780,12 +7768,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "2492ca878da0addda89d9edefc3e4bad973efca2"
+ "reference": "0c9272cc57ad469bbcb3f881f2c9d0b1295d477d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2492ca878da0addda89d9edefc3e4bad973efca2",
- "reference": "2492ca878da0addda89d9edefc3e4bad973efca2",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0c9272cc57ad469bbcb3f881f2c9d0b1295d477d",
+ "reference": "0c9272cc57ad469bbcb3f881f2c9d0b1295d477d",
"shasum": ""
},
"require": {
@@ -7859,7 +7847,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-17T17:04:24+00:00"
+ "time": "2025-09-29T13:00:59+00:00"
},
{
"name": "symfony/yaml",
@@ -7867,12 +7855,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "87fee1ea580fbbd338642ee42c2dd1906f161bce"
+ "reference": "0d7c67f404dc22bfa340546f8537cd0eb61eec6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/87fee1ea580fbbd338642ee42c2dd1906f161bce",
- "reference": "87fee1ea580fbbd338642ee42c2dd1906f161bce",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/0d7c67f404dc22bfa340546f8537cd0eb61eec6a",
+ "reference": "0d7c67f404dc22bfa340546f8537cd0eb61eec6a",
"shasum": ""
},
"require": {
@@ -7935,20 +7923,20 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T12:26:27+00:00"
+ "time": "2025-09-27T09:05:58+00:00"
},
{
"name": "symplify/easy-coding-standard",
- "version": "12.5.24",
+ "version": "12.6.0",
"source": {
"type": "git",
"url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
- "reference": "4b90f2b6efed9508000968eac2397ac7aff34354"
+ "reference": "781e6124dc7e14768ae999a8f5309566bbe62004"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/4b90f2b6efed9508000968eac2397ac7aff34354",
- "reference": "4b90f2b6efed9508000968eac2397ac7aff34354",
+ "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/781e6124dc7e14768ae999a8f5309566bbe62004",
+ "reference": "781e6124dc7e14768ae999a8f5309566bbe62004",
"shasum": ""
},
"require": {
@@ -7984,7 +7972,7 @@
],
"support": {
"issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
- "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.5.24"
+ "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.6.0"
},
"funding": [
{
@@ -7996,7 +7984,7 @@
"type": "github"
}
],
- "time": "2025-08-21T06:57:14+00:00"
+ "time": "2025-09-10T14:21:58+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/docs/configuration.md b/docs/configuration.md
index 6363034..95f3d24 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -2,7 +2,7 @@
## Overview
-This guide covers all configuration options for the Yii2 Web Application Basic template, from basic setup to advanced
+This guide covers all configuration options for the Yii2 Web Application Basic template, from basic setup to advanced
customization for production environments.
## Configuration structure
@@ -201,13 +201,13 @@ declare(strict_types=1);
$config = [
'debug' => [
'class' => yii\debug\Module::class,
- // development only: allows all IPs.
+ // development only: allows all IPs.
// for production, replace '*' with explicit trusted IPs (for example, ['127.0.0.1', '::1']).
'allowedIPs' => ['*'],
],
'gii' => [
'class' => yii\gii\Module::class,
- // development only: allows all IPs.
+ // development only: allows all IPs.
// for production, replace '*' with explicit trusted IPs (for example, ['127.0.0.1', '::1']).
'allowedIPs' => ['*'],
],
diff --git a/docs/installation.md b/docs/installation.md
index 1004315..0b061d1 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -25,17 +25,19 @@ cd app-basic
### Method 2: Manual installation
1. **Download the template**:
+
```bash
git clone --branch 0.1 https://github.com/yii2-extensions/app-basic.git app-basic
cd app-basic
```
2. **Install dependencies**
+
```bash
composer install
```
-### Method 3: Using git
+### Method 3: Using Git
Clone the repository and set up your project.
@@ -77,16 +79,19 @@ php -S localhost:8080 -t web
### Database setup
1. **Create database**
+
```sql
CREATE DATABASE app_basic CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
2. **Run migrations** (if available)
+
```bash
./yii migrate
```
3. **Seed test data** (optional)
+
```bash
./yii fixture/load
```
diff --git a/docs/svgs/features-mobile.svg b/docs/svgs/features-mobile.svg
new file mode 100644
index 0000000..327abb4
--- /dev/null
+++ b/docs/svgs/features-mobile.svg
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
Asset Management
+
Optimized bundles • CSS & JS management • Resource optimization
+
+
+
Clean Architecture
+
Organized structure • Yii2 best practices • Extensible design
+
+
+
Console Commands
+
Background tasks • Maintenance tools • Custom commands
+
+
+
Developer Tools
+
Debugging support • Logging • Development configs
+
+
+
Modern Bootstrap 5 UI
+
Responsive design • Mobile-first • Latest components
+
+
+
Testing Ready
+
Codeception suite • Functional tests • Unit testing examples
+
+
+
+
+
diff --git a/docs/svgs/features.svg b/docs/svgs/features.svg
new file mode 100644
index 0000000..a449eaa
--- /dev/null
+++ b/docs/svgs/features.svg
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
Asset Management
+
Optimized bundles • CSS & JS management • Resource optimization
+
+
+
Clean Architecture
+
Organized structure • Yii2 best practices • Extensible design
+
+
+
Console Commands
+
Background tasks • Maintenance tools • Custom commands
+
+
+
Developer Tools
+
Debugging support • Logging • Development configs
+
+
+
Modern Bootstrap 5 UI
+
Responsive design • Mobile-first • Latest components
+
+
+
Testing Ready
+
Codeception suite • Functional tests • Unit testing examples
+
+
+
+
+
diff --git a/src/framework/resource/css/site.css b/src/framework/resource/css/site.css
index 4ae43d7..2e3f230 100644
--- a/src/framework/resource/css/site.css
+++ b/src/framework/resource/css/site.css
@@ -2,25 +2,26 @@
* Css web application basic
*/
:root {
- --input-padding-x: .75rem;
- --input-padding-y: .75rem;
+ --input-padding-x: 0.75rem;
+ --input-padding-y: 0.75rem;
}
-a.asc:after {
+a.asc::after {
content: "\2191";
- padding-left: 2px;
+ padding-left: 2px;
}
-a.desc:after {
- content: "\2193";
+a.desc::after {
+ content: "\2193";
padding-left: 2px;
}
-html, body {
- height: 100vh;
+html,
+body {
+ height: 100vh;
}
-.breadcrumb > li + li:before {
+.breadcrumb > li + li::before {
color: var(--bs-tertiary-color);
content: "/\00a0";
padding: 0 5px;
diff --git a/src/framework/resource/js/toggle-theme.js b/src/framework/resource/js/toggle-theme.js
index 07d1bb2..b842e88 100644
--- a/src/framework/resource/js/toggle-theme.js
+++ b/src/framework/resource/js/toggle-theme.js
@@ -5,115 +5,132 @@
*/
(() => {
- 'use strict'
+ "use strict";
- const getStoredTheme = () => localStorage.getItem('theme')
- const setStoredTheme = theme => localStorage.setItem('theme', theme)
+ const getStoredTheme = () => localStorage.getItem("theme");
+ const setStoredTheme = (theme) => localStorage.setItem("theme", theme);
const getPreferredTheme = () => {
- const storedTheme = getStoredTheme()
+ const storedTheme = getStoredTheme();
if (storedTheme) {
- return storedTheme
+ return storedTheme;
}
- return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
- }
-
- const setTheme = theme => {
- if (theme === 'auto') {
- document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'))
+ return window.matchMedia("(prefers-color-scheme: dark)").matches
+ ? "dark"
+ : "light";
+ };
+
+ const setTheme = (theme) => {
+ if (theme === "auto") {
+ document.documentElement.setAttribute(
+ "data-bs-theme",
+ window.matchMedia("(prefers-color-scheme: dark)").matches
+ ? "dark"
+ : "light",
+ );
} else {
- document.documentElement.setAttribute('data-bs-theme', theme)
+ document.documentElement.setAttribute("data-bs-theme", theme);
}
- }
+ };
- setTheme(getPreferredTheme())
+ setTheme(getPreferredTheme());
const showActiveTheme = (theme, focus = false) => {
// Original Bootstrap theme switcher logic
- const themeSwitcher = document.querySelector('#bd-theme')
+ const themeSwitcher = document.querySelector("#bd-theme");
if (themeSwitcher) {
- const themeSwitcherText = document.querySelector('#bd-theme-text')
- const activeThemeIcon = document.querySelector('.theme-icon-active use')
- const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
+ const themeSwitcherText = document.querySelector("#bd-theme-text");
+ const activeThemeIcon = document.querySelector(".theme-icon-active use");
+ const btnToActive = document.querySelector(
+ `[data-bs-theme-value="${theme}"]`,
+ );
if (btnToActive) {
- const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href')
-
- document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
- element.classList.remove('active')
- element.setAttribute('aria-pressed', 'false')
- })
-
- btnToActive.classList.add('active')
- btnToActive.setAttribute('aria-pressed', 'true')
- activeThemeIcon.setAttribute('href', svgOfActiveBtn)
- const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`
- themeSwitcher.setAttribute('aria-label', themeSwitcherLabel)
+ const svgOfActiveBtn = btnToActive
+ .querySelector("svg use")
+ .getAttribute("href");
+
+ document
+ .querySelectorAll("[data-bs-theme-value]")
+ .forEach((element) => {
+ element.classList.remove("active");
+ element.setAttribute("aria-pressed", "false");
+ });
+
+ btnToActive.classList.add("active");
+ btnToActive.setAttribute("aria-pressed", "true");
+ activeThemeIcon.setAttribute("href", svgOfActiveBtn);
+ const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`;
+ themeSwitcher.setAttribute("aria-label", themeSwitcherLabel);
if (focus) {
- themeSwitcher.focus()
+ themeSwitcher.focus();
}
}
}
// Custom theme toggle icons logic
- const themeToggle = document.querySelector('#theme-toggle')
+ const themeToggle = document.querySelector("#theme-toggle");
if (themeToggle) {
- const moonIcon = themeToggle.querySelector('#theme-dark-icon')
- const sunIcon = themeToggle.querySelector('#theme-light-icon')
+ const moonIcon = themeToggle.querySelector("#theme-dark-icon");
+ const sunIcon = themeToggle.querySelector("#theme-light-icon");
if (moonIcon && sunIcon) {
// Determine effective theme (handle 'auto' case)
- const effectiveTheme = theme === 'auto'
- ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
- : theme
-
- if (effectiveTheme === 'dark') {
- moonIcon.classList.remove('d-none')
- sunIcon.classList.add('d-none')
+ const effectiveTheme =
+ theme === "auto"
+ ? window.matchMedia("(prefers-color-scheme: dark)").matches
+ ? "dark"
+ : "light"
+ : theme;
+
+ if (effectiveTheme === "dark") {
+ moonIcon.classList.remove("d-none");
+ sunIcon.classList.add("d-none");
} else {
- moonIcon.classList.add('d-none')
- sunIcon.classList.remove('d-none')
+ moonIcon.classList.add("d-none");
+ sunIcon.classList.remove("d-none");
}
}
}
- }
-
- window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
- const storedTheme = getStoredTheme()
- if (storedTheme !== 'light' && storedTheme !== 'dark') {
- setTheme(getPreferredTheme())
- // Update icons when system preference changes
- showActiveTheme(getPreferredTheme())
- }
- })
+ };
+
+ window
+ .matchMedia("(prefers-color-scheme: dark)")
+ .addEventListener("change", () => {
+ const storedTheme = getStoredTheme();
+ if (storedTheme !== "light" && storedTheme !== "dark") {
+ setTheme(getPreferredTheme());
+ // Update icons when system preference changes
+ showActiveTheme(getPreferredTheme());
+ }
+ });
- window.addEventListener('DOMContentLoaded', () => {
- showActiveTheme(getPreferredTheme())
+ window.addEventListener("DOMContentLoaded", () => {
+ showActiveTheme(getPreferredTheme());
- document.querySelectorAll('[data-bs-theme-value]')
- .forEach(toggle => {
- toggle.addEventListener('click', () => {
- const theme = toggle.getAttribute('data-bs-theme-value')
- setStoredTheme(theme)
- setTheme(theme)
- showActiveTheme(theme, true)
- })
- })
+ document.querySelectorAll("[data-bs-theme-value]").forEach((toggle) => {
+ toggle.addEventListener("click", () => {
+ const theme = toggle.getAttribute("data-bs-theme-value");
+ setStoredTheme(theme);
+ setTheme(theme);
+ showActiveTheme(theme, true);
+ });
+ });
// Add event listener for custom theme toggle button
- const customThemeToggle = document.querySelector('#theme-toggle')
+ const customThemeToggle = document.querySelector("#theme-toggle");
if (customThemeToggle) {
- customThemeToggle.addEventListener('click', () => {
- const currentTheme = getStoredTheme() || getPreferredTheme()
- const newTheme = currentTheme === 'dark' ? 'light' : 'dark'
-
- setStoredTheme(newTheme)
- setTheme(newTheme)
- showActiveTheme(newTheme, true)
- })
+ customThemeToggle.addEventListener("click", () => {
+ const currentTheme = getStoredTheme() || getPreferredTheme();
+ const newTheme = currentTheme === "dark" ? "light" : "dark";
+
+ setStoredTheme(newTheme);
+ setTheme(newTheme);
+ showActiveTheme(newTheme, true);
+ });
}
- })
-})()
+ });
+})();
diff --git a/tests/Acceptance.suite.yml b/tests/Acceptance.suite.yml
index 03e52e8..abe2320 100644
--- a/tests/Acceptance.suite.yml
+++ b/tests/Acceptance.suite.yml
@@ -5,7 +5,7 @@
# If you need both WebDriver and PHPBrowser tests - create a separate suite.
actor: AcceptanceTester
modules:
- enabled:
- - PhpBrowser:
- url: localhost:8080
+ enabled:
+ - PhpBrowser:
+ url: localhost:8080
step_decorators: ~
diff --git a/tests/Functional.suite.yml b/tests/Functional.suite.yml
index a9fc97f..7d5ef82 100644
--- a/tests/Functional.suite.yml
+++ b/tests/Functional.suite.yml
@@ -6,8 +6,8 @@
# Remove this suite if you don't use frameworks
actor: FunctionalTester
modules:
- enabled:
- - Filesystem
- - Yii2
- - Asserts
+ enabled:
+ - Filesystem
+ - Yii2
+ - Asserts
step_decorators: ~
diff --git a/tests/Unit.suite.yml b/tests/Unit.suite.yml
index c819da1..6790db3 100644
--- a/tests/Unit.suite.yml
+++ b/tests/Unit.suite.yml
@@ -3,8 +3,8 @@
# Suite for unit or integration tests.
actor: UnitTester
modules:
- enabled:
- - Asserts
- - Yii2:
- part: [orm, email, fixtures]
+ enabled:
+ - Asserts
+ - Yii2:
+ part: [orm, email, fixtures]
step_decorators: ~
diff --git a/tests/_envs/dockerized.yml b/tests/_envs/dockerized.yml
index 546f0cc..abbe856 100644
--- a/tests/_envs/dockerized.yml
+++ b/tests/_envs/dockerized.yml
@@ -1,4 +1,4 @@
modules:
- config:
- PhpBrowser:
- url: https://localhost:443
+ config:
+ PhpBrowser:
+ url: https://localhost:443
diff --git a/tests/_envs/php-builtin.yml b/tests/_envs/php-builtin.yml
index ce9c804..ad3b2fb 100644
--- a/tests/_envs/php-builtin.yml
+++ b/tests/_envs/php-builtin.yml
@@ -1,9 +1,9 @@
extensions:
- enabled:
- - Codeception\Extension\RunProcess:
- 0: php -d variables_order=EGPCS -S localhost:8085 -t web
- sleep: 1
+ enabled:
+ - Codeception\Extension\RunProcess:
+ 0: php -d variables_order=EGPCS -S localhost:8085 -t web
+ sleep: 1
modules:
- config:
- PhpBrowser:
- url: http://localhost:8085
+ config:
+ PhpBrowser:
+ url: http://localhost:8085
diff --git a/web/robots.txt b/web/robots.txt
index 6f27bb6..eb05362 100644
--- a/web/robots.txt
+++ b/web/robots.txt
@@ -1,2 +1,2 @@
User-agent: *
-Disallow:
\ No newline at end of file
+Disallow: