Skip to content

feat: minimal SS5 compatibility upgrade#252

Merged
jsirish merged 1 commit into
masterfrom
feature/ss5-upgrade
Feb 2, 2026
Merged

feat: minimal SS5 compatibility upgrade#252
jsirish merged 1 commit into
masterfrom
feature/ss5-upgrade

Conversation

@jsirish
Copy link
Copy Markdown
Member

@jsirish jsirish commented Feb 2, 2026

No description provided.

- Update dependencies for SS5 (recipe-cms ^5.0, lumberjack ^3.0, etc.)
- Remove deprecated muskie9/data-to-arraylist dependency
- Replace DataToArrayListHelper with ArrayList::create()
- Remove phpcoverage: false from CI workflow
- Add jQuery CDN for frontend (SS5 admin bundles jQuery)
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

Updates the module for SilverStripe 5 compatibility by modernising dependencies and removing reliance on SS4 admin-provided jQuery / third-party helper utilities.

Changes:

  • Update Composer requirements to SilverStripe CMS Recipe v5–compatible module versions and adjust dev tooling.
  • Replace muskie9/data-to-arraylist usage with core ArrayList conversion.
  • Update frontend requirements to load jQuery differently and simplify CI workflow inputs.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
templates/Dynamic/Locator/Page/Layout/Locator.ss Switches jQuery requirement source and keeps store-locator JS requirements.
src/Page/LocatorController.php Removes muskie9/data-to-arraylist dependency and converts locations to an ArrayList using core APIs.
composer.json Bumps dependency constraints to SS5-compatible majors; adds dev dependency for PHPCS.
.github/workflows/ci.yml Removes the explicit phpcoverage: false workflow input.

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

@@ -1,4 +1,5 @@
<% require css('dynamic/silverstripe-locator: css/map.css') %>
<% require javascript('https://code.jquery.com/jquery-3.7.1.min.js') %>
Copy link

Copilot AI Feb 2, 2026

Choose a reason for hiding this comment

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

Requiring jQuery directly from a public CDN introduces an external runtime dependency for the frontend (can break in environments with strict CSP/no-internet access), and it bypasses SilverStripe’s asset management (no version control within the module, no easy pinning/auditing). Consider vendoring a compatible jQuery build into this module (e.g. under thirdparty/ or client/) and requiring it via the vendormodule resource path, or otherwise documenting/expecting the host project to provide jQuery (and avoid loading a second copy here).

Suggested change
<% require javascript('https://code.jquery.com/jquery-3.7.1.min.js') %>
<% require javascript('dynamic/silverstripe-locator: thirdparty/jquery/jquery-3.7.1.min.js') %>

Copilot uses AI. Check for mistakes.
@jsirish jsirish merged commit faff6f2 into master Feb 2, 2026
16 of 24 checks passed
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