Skip to content

implement jQuery-based app template using yiisoft/yii2-jquery extension.#339

Merged
terabytesoftw merged 6 commits into22from
update-22-branch
Apr 13, 2026
Merged

implement jQuery-based app template using yiisoft/yii2-jquery extension.#339
terabytesoftw merged 6 commits into22from
update-22-branch

Conversation

@terabytesoftw
Copy link
Copy Markdown
Member

Q A
Is bugfix?
New feature? ✔️
Breaks BC? ✔️

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (22@3465163). Learn more about missing BASE report.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@terabytesoftw
Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 13, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 to resources/, and web entrypoints/assets to public/ (replacing legacy web/, views/, models/, etc.).
  • Introduce DB-backed User identity, 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.

Comment thread resources/views/layouts/_head.php
Comment thread config/web.php
Comment thread src/widgets/Alert.php
Comment thread src/widgets/Alert.php
Comment thread tests/unit/models/ContactFormTest.php
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread codeception.yml
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml the PhpBrowser base URL is set to http://localhost, but the suite’s remote coverage points to http://localhost:8080/index-test.php and the php-builtin env starts the server on localhost: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.

Comment thread src/migrations/M260403000000CreateAdminUser.php Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.url is http://localhost (port 80) but remote coverage is configured to hit c3_url: http://localhost:8080/index-test.php. When tests are run without the php-builtin env (e.g., in the docker workflow), there is no server on 8080, so coverage collection will fail. Make c3_url consistent 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.

Comment thread tests/_bootstrap.php
Comment thread config/console.php
Comment thread .github/workflows/docker.yml
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@terabytesoftw terabytesoftw merged commit 20fb680 into 22 Apr 13, 2026
24 checks passed
@terabytesoftw terabytesoftw deleted the update-22-branch branch April 13, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants