implement jQuery-based app template using yiisoft/yii2-jquery extension.#339
implement jQuery-based app template using yiisoft/yii2-jquery extension.#339terabytesoftw merged 6 commits into22from
yiisoft/yii2-jquery extension.#339Conversation
terabytesoftw
commented
Apr 13, 2026
| Q | A |
|---|---|
| Is bugfix? | ❌ |
| New feature? | ✔️ |
| Breaks BC? | ✔️ |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 22 #339 +/- ##
======================================
Coverage ? 100.00%
======================================
Files ? 15
Lines ? 609
Branches ? 0
======================================
Hits ? 609
Misses ? 0
Partials ? 0 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Pull request overview
Implements a jQuery-based Yii2 application template (via yiisoft/yii2-jquery), restructuring the project layout and adding database-backed user/auth flows with comprehensive Codeception tests and CI automation.
Changes:
- Move app code to
src/, views/mail templates toresources/, and web entrypoints/assets topublic/(replacing legacyweb/,views/,models/, etc.). - Introduce DB-backed
Useridentity, migrations, RBAC config, and user flows (signup, verify email, password reset, users grid). - Add/expand Codeception unit/functional/acceptance tests plus PHPStan/ECS/Rector configs and GitHub Actions workflows.
Reviewed changes
Copilot reviewed 155 out of 185 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
yii |
Console bootstrap updated (drops explicit Yii.php include). |
widgets/Alert.php |
Removed legacy widget (replaced by src/widgets/Alert.php). |
web/robots.txt |
Removed legacy webroot file (webroot moved to public/). |
web/index.php |
Removed legacy web entrypoint (replaced by public/index.php). |
web/index-test.php |
Removed legacy test entrypoint (replaced by public/index-test.php). |
web/css/site.css |
Removed legacy CSS location (now under public/css/site.css). |
web/.htaccess |
Removed legacy Apache rewrite config under old webroot. |
views/site/login.php |
Removed legacy view (moved to resources/views/...). |
views/site/index.php |
Removed legacy view (moved to resources/views/...). |
views/site/error.php |
Removed legacy view (moved to resources/views/...). |
views/site/contact.php |
Removed legacy view (moved to resources/views/...). |
views/site/about.php |
Removed legacy view (moved to resources/views/...). |
views/layouts/main.php |
Removed legacy layout (replaced by resources/views/layouts/*). |
vagrant/provision/provision.awk |
Removed Vagrant provisioning support. |
vagrant/provision/once-as-vagrant.sh |
Removed Vagrant provisioning support. |
vagrant/provision/once-as-root.sh |
Removed Vagrant provisioning support. |
vagrant/provision/always-as-root.sh |
Removed Vagrant provisioning support. |
vagrant/nginx/log/.gitignore |
Removed Vagrant NGINX log ignores. |
vagrant/nginx/app.conf |
Removed Vagrant NGINX config. |
vagrant/config/vagrant-local.example.yml |
Removed Vagrant example config. |
vagrant/config/.gitignore |
Removed Vagrant local ignore. |
tests/unit/models/VerifyEmailFormTest.php |
Adds unit coverage for verify-email form. |
tests/unit/models/ResetPasswordFormTest.php |
Adds unit coverage for reset-password form. |
tests/unit/models/ResendVerificationEmailFormTest.php |
Adds unit coverage for resend verification flow. |
tests/unit/models/PasswordResetRequestFormTest.php |
Adds unit coverage for password reset request flow. |
tests/unit/models/LoginFormTest.php |
Updates login form unit tests for new user model/auth rules. |
tests/unit/models/ContactFormTest.php |
Updates contact form unit tests for new signature/phone field. |
tests/unit/migrations/CreateUserTableTest.php |
Adds migration unit tests for user table creation/drop. |
tests/unit/migrations/CreateAdminUserTest.php |
Adds migration unit tests for admin seed migration. |
tests/unit/_bootstrap.php |
Adds strict types/header for unit bootstrap. |
tests/unit/LogoutTest.php |
Adds unit coverage for logout/layout rendering. |
tests/unit/LoginTest.php |
Adds unit coverage for about/login rendering behavior. |
tests/unit/HelloControllerTest.php |
Adds unit coverage for console command output. |
tests/unit.suite.yml |
Normalizes suite YAML formatting. |
tests/support/phpstan-config.php |
Adds Yii config for PHPStan analysis. |
tests/support/envs/php-builtin.yml |
Adds env to run PHP built-in server for browser tests. |
tests/support/data/user.php |
Adds fixture users for DB-backed auth tests. |
tests/support/data/login_data.php |
Adds fixture users for login acceptance/functional tests. |
tests/support/MailerBootstrap.php |
Ensures DI mailer singleton matches Codeception test mailer. |
tests/support/Fixtures/UserFixture.php |
Adds ActiveFixture for users. |
tests/support/.gitignore |
Ignores generated Codeception support artifacts (lowercase path). |
tests/functional/_bootstrap.php |
Adds strict types/header for functional bootstrap. |
tests/functional/VerifyEmailCest.php |
Adds functional coverage for email verification endpoints. |
tests/functional/UserGridCest.php |
Adds functional coverage for user grid access/filtering. |
tests/functional/SignupCest.php |
Adds functional coverage for signup flow. |
tests/functional/ResendVerificationEmailCest.php |
Adds functional coverage for resend verification flow. |
tests/functional/PasswordResetCest.php |
Adds functional coverage for password reset flow. |
tests/functional/LoginFormCest.php |
Adds functional coverage for login validation/behavior. |
tests/functional/ContactFormCest.php |
Adds functional coverage for contact form validations/sending. |
tests/functional.suite.yml |
Normalizes suite YAML formatting. |
tests/bin/yii.bat |
Removes legacy Windows test runner script. |
tests/bin/yii |
Removes legacy test console bootstrap script. |
tests/acceptance/_bootstrap.php |
Adds strict types/header for acceptance bootstrap. |
tests/acceptance/LoginCest.php |
Adds acceptance coverage for login page. |
tests/acceptance/HomeCest.php |
Adds acceptance coverage for home/about navigation and extensions grid. |
tests/acceptance/ContactCest.php |
Updates acceptance contact test for phone field and button selector. |
tests/acceptance/AboutCest.php |
Adds acceptance coverage for about page. |
tests/acceptance.suite.yml |
Updates acceptance suite modules/coverage settings. |
tests/_support/UnitTester.php |
Removes legacy generated actor location (old casing/path). |
tests/_support/FunctionalTester.php |
Removes legacy generated actor location (old casing/path). |
tests/_support/AcceptanceTester.php |
Removes legacy generated actor location (old casing/path). |
tests/_phpstan_bootstrap.php |
Adds PHPStan bootstrap to load Composer autoload + define env. |
tests/_data/.gitkeep |
Removes legacy empty placeholder. |
tests/_bootstrap.php |
Adds migration bootstrapping for test DB initialization. |
tests/Support/UnitTester.php |
Removes legacy actor location (old directory casing). |
tests/Support/FunctionalTester.php |
Removes legacy actor location (old directory casing). |
tests/Support/AcceptanceTester.php |
Removes legacy actor location (old directory casing). |
tests/Functional/_bootstrap.php |
Removes legacy empty bootstrap (old directory casing). |
tests/Functional/LoginFormCest.php |
Removes legacy functional test (old directory casing). |
tests/Functional/ContactFormCest.php |
Removes legacy functional test (old directory casing). |
tests/Acceptance/_bootstrap.php |
Removes legacy empty bootstrap (old directory casing). |
tests/Acceptance/LoginCest.php |
Removes legacy acceptance test (old directory casing). |
tests/Acceptance/HomeCest.php |
Removes legacy acceptance test (old directory casing). |
tests/Acceptance/AboutCest.php |
Removes legacy acceptance test (old directory casing). |
src/widgets/Alert.php |
Reintroduces alert widget under new src/ layout. |
src/models/VerifyEmailForm.php |
Adds verify-email form model. |
src/models/UserSearch.php |
Adds GridView search/filter model. |
src/models/User.php |
Adds DB-backed identity model and token helpers. |
src/models/SignupForm.php |
Adds signup + verification email sending logic. |
src/models/ResetPasswordForm.php |
Adds password reset form model. |
src/models/ResendVerificationEmailForm.php |
Adds resend verification email form logic. |
src/models/PasswordResetRequestForm.php |
Adds password reset request form logic. |
src/models/LoginForm.php |
Adds DB-backed login form model. |
src/models/ContactForm.php |
Adds contact form with phone validation and explicit mailer dependency. |
src/migrations/M260403000000CreateAdminUser.php |
Adds migration to seed default admin user. |
src/migrations/M260330000000CreateUserTable.php |
Adds migration to create user table. |
src/controllers/SiteController.php |
Adds new site controller with injected mailer and updated contact flow. |
src/commands/HelloController.php |
Updates console hello command messaging/output formatting. |
src/assets/AppAsset.php |
Updates asset bundle dependencies + adds color mode JS. |
resources/views/user/signup.php |
Adds signup page view. |
resources/views/user/resetPassword.php |
Adds reset-password page view. |
resources/views/user/resendVerificationEmail.php |
Adds resend verification page view. |
resources/views/user/requestPasswordResetToken.php |
Adds request-reset page view. |
resources/views/user/login.php |
Adds login page view. |
resources/views/user/index.php |
Adds users GridView page. |
resources/views/site/index.php |
Adds new homepage with extensions grid. |
resources/views/site/error.php |
Adds new styled error page. |
resources/views/site/about.php |
Adds new styled about page. |
resources/views/site/_extension-card.php |
Adds homepage extension card partial. |
resources/views/layouts/main.php |
Adds new layout composition via partials. |
resources/views/layouts/_header.php |
Adds navbar + theme toggle button. |
resources/views/layouts/_head.php |
Adds head/meta/asset registration partial. |
resources/views/layouts/_footer.php |
Adds footer with Yii branding assets. |
resources/mail/passwordResetToken-text.php |
Adds password reset text template. |
resources/mail/passwordResetToken-html.php |
Adds password reset HTML template. |
resources/mail/layouts/text.php |
Adds mail text layout. |
resources/mail/layouts/html.php |
Updates mail HTML layout headers/typing/docs. |
resources/mail/emailVerify-text.php |
Adds email verification text template. |
resources/mail/emailVerify-html.php |
Adds email verification HTML template. |
rector.php |
Adds Rector config (PHP 8.3 sets/type declarations). |
rbac/rules.php |
Adds RBAC rules file. |
rbac/items.php |
Adds RBAC roles/permissions definitions. |
rbac/assignments.php |
Adds RBAC role assignments (admin user). |
public/js/color-mode.js |
Adds Bootstrap color mode toggler JS. |
public/index.php |
Adds new public web entrypoint with requirements check. |
public/index-test.php |
Adds new test entrypoint for coverage/c3. |
public/assets/.gitignore |
Ignores published asset runtime directory contents. |
phpstan.neon |
Adds PHPStan configuration. |
models/User.php |
Removes legacy in-memory identity implementation. |
models/LoginForm.php |
Removes legacy login form model location. |
models/ContactForm.php |
Removes legacy contact form model location. |
mail/layouts/text.php |
Removes legacy mail text layout location. |
ecs.php |
Adds Easy Coding Standard config. |
docker-compose.yml |
Updates container image and mounts public/ to Apache docroot. |
controllers/SiteController.php |
Removes legacy controller (replaced by src/controllers/...). |
config/web.php |
Updates web config for new structure, DI mailer, RBAC, user loginUrl. |
config/test_db.php |
Switches test DB to SQLite file DSN. |
config/test.php |
Updates test config for new paths, bootstrap, mailer, RBAC, assets. |
config/params.php |
Adds user/password/token expiry parameters and support email. |
config/db.php |
Switches main DB DSN to SQLite file. |
config/console.php |
Updates console config (migrate/serve controllerMap, new aliases). |
config/__autocomplete.php |
Removes IDE autocomplete stub file. |
composer.json |
Updates dependencies (adds yiisoft/yii2-jquery), autoload PSR-4, scripts, tooling. |
composer-require-checker.json |
Adds composer-require-checker allowlist. |
codeception.yml |
Updates Codeception namespaces/paths/coverage and Yii2 module config. |
Vagrantfile |
Removes Vagrant environment definition. |
.scrutinizer.yml |
Removes Scrutinizer CI config. |
.gitignore |
Updates ignore rules (but contains casing mismatch for Codeception dirs). |
.github/workflows/static.yml |
Adds PHPStan workflow. |
.github/workflows/ecs.yml |
Adds ECS workflow. |
.github/workflows/docker.yml |
Adds Docker-based CI workflow. |
.github/workflows/dependency-check.yml |
Adds composer-require-checker workflow. |
.github/workflows/build.yml |
Updates main Codeception workflow and coverage reporting config. |
.github/dependabot.yml |
Adds Dependabot config for actions + composer. |
.github/PULL_REQUEST_TEMPLATE.md |
Removes legacy PR template. |
.github/ISSUE_TEMPLATE.md |
Removes legacy issue template. |
.gitattributes |
Updates attributes and export-ignore list. |
.editorconfig |
Updates editor settings (adds JS/PHP/YAML tweaks). |
.bowerrc |
Removes legacy Bower config. |
LICENSE |
Adds BSD-3-Clause license file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 155 out of 185 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 155 out of 185 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
tests/acceptance.suite.yml:17
- In
acceptance.suite.ymlthe PhpBrowser base URL is set tohttp://localhost, but the suite’s remote coverage points tohttp://localhost:8080/index-test.phpand thephp-builtinenv starts the server onlocalhost:8080. This mismatch can break acceptance runs (or coverage) when not using the env override. Align the suite URL with the server/entry URL (or remove the hard-coded url here and rely on the env config).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 155 out of 185 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
tests/acceptance.suite.yml:17
PhpBrowser.urlishttp://localhost(port 80) but remote coverage is configured to hitc3_url: http://localhost:8080/index-test.php. When tests are run without thephp-builtinenv (e.g., in the docker workflow), there is no server on 8080, so coverage collection will fail. Makec3_urlconsistent with the actual base URL for the suite (or move the 8080 settings into an env-specific override).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 155 out of 185 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.