Skip to content

feat!: Rescaffold and update dependencies. - #124

Merged
justlevine merged 18 commits into
developfrom
feat/migrate
Jun 22, 2026
Merged

justlevine merged 18 commits into
developfrom
feat/migrate

Conversation

@justlevine

@justlevine justlevine commented Jun 21, 2026 •

Copy link
Copy Markdown
Collaborator

What

Rescaffolds plugin to match OneSearch & OneMedia.

  • Updated configs
  • Minimum PHP 8.2
  • JS -> TS
  • Type fixes.

Why

Related Issue(s):

How

Testing Instructions

Screenshots

Additional Info

Checklist

  • I have read the Contribution Guidelines.
  • I have read the Development Guidelines.
  • My code is tested to the best of my abilities.
  • My code passes all lints (ESLint etc.).
  • My code has detailed inline documentation.
  • I have updated the project documentation as needed.
Open WordPress Playground Preview

Copilot AI review requested due to automatic review settings June 21, 2026 18:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Rescaffolds the OneAccess WordPress plugin to align with the OneSearch/OneMedia structure, modernizes tooling (PHP 8.2+, TS, lint/test automation), and adds new CI/release workflows.

Changes:

  • Modernized build/tooling: TypeScript setup, updated Webpack config, Jest/Playwright configs, and expanded lint/test scripts.
  • Updated plugin bootstrap + settings/assets plumbing (localized globals, new admin menu wiring), plus various PHP strict typing/docblock adjustments.
  • Added/updated CI and release automation (reusable workflows, release-please, playground previews), plus new PHPUnit/Jest/E2E test scaffolding.

Reviewed changes

Copilot reviewed 102 out of 112 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
webpack.config.js Updates wp-scripts webpack setup; defines TS entrypoints and CSS extraction.
uninstall.php Refactors uninstall flow; centralizes option/table prefixes.
tsconfig.json Switches to shared base config; adjusts include/exclude/types.
tsconfig.base.json Adds shared TS strictness + module settings.
tests/phpunit/TestCase.php Introduces PHPUnit 11.5 compatibility base test class.
tests/phpunit/Integration/Modules/Core/RestTest.php Adds integration tests for REST header behavior.
tests/phpunit/Integration/Modules/Core/AssetsTest.php Adds integration tests for assets registration/localization.
tests/phpunit/Integration/MainTest.php Adds integration tests for Main singleton + permalink requirement notice.
tests/phpunit/Integration/EncryptorTest.php Adds integration tests for Encryptor roundtrip and failure modes.
tests/phpunit/Integration/Contracts/Traits/SingletonTest.php Adds tests for Singleton trait protections.
tests/phpunit/Integration/AutoloaderTest.php Adds tests for autoloader behavior + admin notices.
tests/phpunit/bootstrap.php Updates PHPUnit bootstrap wiring and repo root constant.
tests/js/tsconfig.json Adds TS config for JS tests.
tests/js/setup.ts Adds Jest setup (fetch mock, globals, clipboard mock).
tests/js/mocks/@wordpress/api-fetch.ts Adds Jest mock for @wordpress/api-fetch.
tests/e2e/settings/activation.spec.ts Adds Playwright E2E spec for activate/deactivate flow.
tests/_data/plugins/localhost-helper.php Adds dev helper plugin for wp-env localhost routing.
release-please-config.json Adds release-please configuration for PHP release type.
readme.txt Updates minimum PHP version metadata.
README.md Updates requirements and minor markdown cleanup.
playwright.config.ts Adds Playwright config extending wp-scripts defaults + artifacts paths.
phpunit.xml.dist Updates PHPUnit 11.5 config, coverage/source config, stricter failure settings.
phpstan.neon.dist Updates PHPStan config + PHP version range for PHP 8.2+.
phpcs.xml.dist Removes legacy PHPCS ruleset file.
package.json Updates scripts/deps; adds lint/test/build tooling.
oneaccess.php Updates plugin header + bootstrap/init flow; PHP 8.2 metadata.
jest.config.js Adds Jest config extending wp-scripts with setup/mappers/coverage outputs.
inc/Modules/User/Profile_Request.php Adds strict_types + improves param/return phpdoc typing.
inc/Modules/User/Notice.php Adds strict_types + doc cleanup.
inc/Modules/User/Admin.php Adds strict_types + formatting/doc cleanup.
inc/Modules/Settings/Settings.php Adjusts settings handling; adds encryption/decryption behavior for API keys.
inc/Modules/Settings/Admin.php Refactors admin menu/screen setup; adds onboarding modal logic and enqueues.
inc/Modules/Rest/Governing_Site_Controller.php Adds strict_types + doc cleanup.
inc/Modules/Rest/Brand_Site_Controller.php Adds strict_types + doc cleanup.
inc/Modules/Rest/Basic_Options_Controller.php Adds strict_types + doc cleanup.
inc/Modules/Rest/Actions_Controller.php Adds strict_types + typing/doc improvements + minor logic cleanup.
inc/Modules/Rest/Abstract_REST_Controller.php Doc cleanup.
inc/Modules/Core/User_Roles.php Adds strict_types + typing/doc improvements.
inc/Modules/Core/Rest.php Minor cleanup.
inc/Modules/Core/Hooks.php Adds strict_types + doc cleanup.
inc/Modules/Core/DB.php Adds strict_types + typing/doc improvements.
inc/Modules/Core/Assets.php Refactors asset registration/localization keys; adds admin style enqueue + defer list updates.
inc/Main.php Loads textdomain and defines registrable class list/order.
inc/Contracts/Interfaces/Registrable.php Minor cleanup.
eslint.config.mjs Introduces flat ESLint config + TS/Jest/Playwright overrides.
docs/SECURITY.md Markdown formatting cleanup.
docs/CONTRIBUTING.md Updates contributing workflow and improves clarity/formatting.
docs/CODE_OF_CONDUCT.md Markdown formatting cleanup.
composer.json Updates platform PHP version and dev tooling deps.
blueprint.json Adds WP Playground blueprint for demo/preview.
babel.config.js Minor formatting tweak.
assets/src/user-profile/index.ts Replaces old JS profile disabling behavior with TS version.
assets/src/types/global.d.ts Adds window global typings for localized objects.
assets/src/js/utils.ts Converts utilities to TS exports + adds password strength types.
assets/src/js/user-profile.js Removes legacy JS implementation (replaced by TS entry).
assets/src/js/main.js Removes empty/placeholder file.
assets/src/js/editor.js Removes empty/placeholder file.
assets/src/js/admin.js Removes empty/placeholder file.
assets/src/components/SiteTable.tsx Formatting/type improvements for settings UI table + modal.
assets/src/components/SiteSettings.tsx Updates nonce key usage; TS/formatting improvements.
assets/src/components/SiteModal.tsx TS/formatting improvements; validation and UX tightening.
assets/src/admin/settings/page.tsx Updates types/global import; nonce key update; formatting/flow tweaks.
assets/src/admin/settings/index.tsx Updates global typing import + SettingsPage wiring.
assets/src/admin/onboarding/page.tsx Refactors onboarding to use shared global types + nonce middleware.
assets/src/admin/onboarding/index.tsx Updates global typing import for onboarding.
assets/src/admin/manage-users/index.tsx Updates nonce key usage; improves types and rendering logic.
.wp-env.test.json Adds dedicated wp-env config for tests.
.wp-env.json Simplifies wp-env config and adds helper plugin + debug defaults.
.wp-env.child.json Adds child wp-env config for multi-instance/dev.
.stylelintrc.json Removes legacy Stylelint JSON config.
.stylelint.config.js Adds Stylelint JS config using wp stylelint config.
.release-please-manifest.json Adds release-please manifest.
.prettierrc.js Adds Prettier config extending wp-prettier with overrides.
.prettierignore Adds ignore list for generated/vendor artifacts.
.phpcs.xml.dist Adds new PHPCS ruleset using rtcamp coding standards.
.lintstagedrc.mjs Adds lint-staged config for pre-commit enforcement.
.lefthook.yml Adds lefthook pre-commit hook for lint-staged.
.gitignore Updates ignore patterns for build/vendor/tests/output/IDE.
.github/workflows/test.yml Removes old monolithic CI workflow.
.github/workflows/reusable-wp-playground-pr-preview.yml Adds reusable PR preview workflow for WP Playground.
.github/workflows/reusable-phpunit.yml Adds reusable PHPUnit workflow.
.github/workflows/reusable-phpstan.yml Adds reusable PHPStan workflow.
.github/workflows/reusable-phpcs.yml Adds reusable PHPCS workflow.
.github/workflows/reusable-lint-css-js.yml Adds reusable JS/CSS lint workflow.
.github/workflows/reusable-jest.yml Adds reusable Jest workflow.
.github/workflows/reusable-e2e.yml Adds reusable Playwright E2E workflow.
.github/workflows/reusable-build.yml Adds reusable build+zip workflow.
.github/workflows/release.yml Replaces release workflow with release-please + build/upload pipeline.
.github/workflows/README.md Documents workflows and local testing guidance.
.github/workflows/pr-title.yml Adds conventional-commit PR title validation workflow.
.github/workflows/copilot-setup-steps.yml Updates Copilot setup steps workflow.
.github/workflows/ci.yml Adds main modular CI workflow orchestrating reusable jobs.
.github/PULL_REQUEST_TEMPLATE.md Updates PR template (adds AI disclosure section and checklist tweaks).
.github/dependabot.yml Updates Dependabot grouping and schedules.
.github/.codecov.yml Adds Codecov config (path fixes, targets, ignores).
.gitattributes Adds export-ignore rules for distribution packaging.
.eslintrc.json Removes legacy ESLint config.
.eslintignore Removes legacy ESLint ignore file.
.editorconfig Consolidates md/txt formatting rules and yaml settings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread inc/Modules/Core/Assets.php Outdated
Comment thread inc/Modules/Core/Assets.php
Comment thread inc/Modules/Settings/Settings.php Outdated
Comment thread tests/phpunit/Integration/Modules/Core/AssetsTest.php Outdated
Comment thread tests/phpunit/TestCase.php
Comment thread tests/phpunit/Integration/Modules/Core/RestTest.php
Comment thread package.json Outdated
Comment thread oneaccess.php Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 21, 2026 18:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 102 out of 112 changed files in this pull request and generated 4 comments.

Comment thread assets/src/admin/settings/page.tsx
Comment thread inc/Modules/Settings/Settings.php Outdated
Comment thread tests/phpunit/Integration/Modules/Core/RestTest.php Outdated
Comment thread tests/phpunit/Integration/MainTest.php Outdated
Copilot AI review requested due to automatic review settings June 21, 2026 18:49
justlevine and others added 3 commits June 21, 2026 21:52
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 104 out of 114 changed files in this pull request and generated 4 comments.

Comment thread inc/Modules/Core/Assets.php
Comment thread inc/Modules/Core/Assets.php
Comment thread assets/src/admin/settings/page.tsx Outdated
Comment thread assets/src/components/SiteSettings.tsx Outdated
@justlevine
justlevine requested review from Kallyan01 and imrraaj June 21, 2026 19:26
@justlevine
justlevine merged commit 553f468 into develop Jun 22, 2026
16 checks passed
@justlevine
justlevine deleted the feat/migrate branch June 22, 2026 16:52
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.

3 participants