Skip to content

Comments

Renamed files to kebab-case - core - services - part 2#45

Open
tomerqodo wants to merge 2 commits intocoderabbit_full_base_renamed_files_to_kebab-case_-_core_-_services__-_part_2_pr7from
coderabbit_full_head_renamed_files_to_kebab-case_-_core_-_services__-_part_2_pr7
Open

Renamed files to kebab-case - core - services - part 2#45
tomerqodo wants to merge 2 commits intocoderabbit_full_base_renamed_files_to_kebab-case_-_core_-_services__-_part_2_pr7from
coderabbit_full_head_renamed_files_to_kebab-case_-_core_-_services__-_part_2_pr7

Conversation

@tomerqodo
Copy link

@tomerqodo tomerqodo commented Jan 28, 2026

Benchmark PR from agentic-review-benchmarks#7

Summary by CodeRabbit

  • Refactor
    • Standardized internal module naming conventions across service modules for improved code organization and consistency.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

Walkthrough

This pull request standardizes module file naming conventions across the codebase by converting approximately 150 require/import statements from PascalCase/camelCase filenames to kebab-case (lowercase with hyphens). Changes span source files, test files, and configuration references without altering functional logic or public API signatures.

Changes

Cohort / File(s)
API Endpoints
ghost/core/core/server/api/endpoints/authentication.js, users.js
Announcement/Visibility Services
ghost/core/core/server/services/announcement-bar-service/announcement-bar-settings.js, index.js, ghost/core/core/server/api/endpoints/utils/validators/input/settings.js
Audience Feedback Services
ghost/core/core/server/services/audience-feedback/audience-feedback-controller.js, index.js
ActivityPub Services
ghost/core/core/server/services/activitypub/activity-pub-service.ts
Adapter & Auth Services
ghost/core/core/server/services/adapter-manager/index.js, ghost/core/core/server/services/auth/session/express-session.js
Comments Services
ghost/core/core/server/services/comments/comments-controller.js, comments-service.js, comments-service-emails.js, index.js
Custom Redirects & Donations
ghost/core/core/server/services/custom-redirects/index.js, ghost/core/core/server/services/donations/donation-bookshelf-repository.ts, index.js
Email Analytics Services
ghost/core/core/server/services/email-analytics/email-analytics-provider-mailgun.js, email-analytics-service.js, email-analytics-service-wrapper.js, index.js, ghost/core/core/server/services/email-analytics/jobs/fetch-latest/index.js
Email Suppression & Email Service
ghost/core/core/server/services/email-suppression-list/in-memory-email-suppression-list.js, mailgun-email-suppression-list.js, service.js, ghost/core/core/server/services/email-service/EmailServiceWrapper.js
Explore & Frontend Data Services
ghost/core/core/server/services/explore-ping/index.js, ghost/core/core/server/services/explore/index.js, ghost/core/core/server/services/frontend-data-service/index.js
Identity Tokens & Invites
ghost/core/core/server/services/identity-tokens/identity-token-service-wrapper.js, index.js, ghost/core/core/server/services/invites/index.js
Mail & Media Inliner Services
ghost/core/core/server/services/mail/index.js, ghost/core/core/server/services/media-inliner/service.js
Member Attribution Services
ghost/core/core/server/services/member-attribution/README.md, attribution-builder.js, index.js, member-attribution-service.js, referrer-translator.js, url-translator.js
Member Welcome & Events
ghost/core/core/server/services/member-welcome-emails/service.js, ghost/core/core/server/services/members-events/index.js, last-seen-at-updater.js
Members Services
ghost/core/core/server/services/members/api.js, importer/index.js, members-api/members-api.js, members-api/repositories/member-repository.js, members-api/services/member-bread-service.js, service.js
Mentions Email & Newsletters
ghost/core/core/server/services/mentions-email-report/job.js, service.js, ghost/core/core/server/services/newsletters/index.js
Notifications & Offers
ghost/core/core/server/services/notifications/index.js, ghost/core/core/server/services/offers/service.js
Outbox & Recommendations
ghost/core/core/server/services/outbox/index.js, jobs/outbox-job.js, ghost/core/core/server/services/recommendations/recommendation-enabler-service.js, service/in-memory-recommendation-repository.ts, service/recommendation-service.ts
Settings & Staff Services
ghost/core/core/server/services/settings-helpers/index.js, ghost/core/core/server/services/settings/settings-service.js, ghost/core/core/server/services/staff/staff-service-emails.js
Stats Services
ghost/core/core/server/services/stats/posts-stats-service.js, service.js, stats-service.js
Stripe, Themes & Update Check
ghost/core/core/server/services/stripe/services/webhook/CheckoutSessionEventService.js, ghost/core/core/server/services/themes/storage.js, ghost/core/core/server/services/update-check/index.js
Webhooks & Lib Services
ghost/core/core/server/services/webhooks/listen.js
Test Files - API & Core Services
ghost/core/test/e2e-api/admin/settings.test.js, members/send-magic-link.test.js, ghost/core/test/e2e-browser/fixtures/ghost-test.js
Test Files - Email & Suppression
ghost/core/test/integration/services/email-service/email-event-storage.test.js, mailgun-email-suppression-list.test.js
Test Files - Core Service Units
ghost/core/test/unit/server/services/activitypub/activity-pub-service.test.ts, adapter-manager/adapter-manager.test.js, announcement-bar/announcement-bar-settings.test.js, audience-feedback/audience-feedback-service.test.js, auth/session/store.test.js, comments/comments-service-emails-renderer.test.js
Test Files - Custom Redirects & Donations
ghost/core/test/unit/server/services/custom-redirects/api.test.js, donations/...test.js
Test Files - Email Analytics
ghost/core/test/unit/server/services/email-analytics/email-analytics-provider-mailgun.test.js, email-analytics-service.test.js, event-processing-result.test.js
Test Files - Email Suppression & Explore
ghost/core/test/unit/server/services/email-suppression-list/email-suppression-list.test.js, explore-ping/explore-ping-service.test.js, frontend-data-service/frontend-data-service.test.js
Test Files - Identity & Lib Services
ghost/core/test/unit/server/services/identity-tokens/identity-token-service.test.ts, lib/dynamic-redirect-manager.test.js, lib/email-content-generator.test.js, lib/in-memory-repository.test.ts, lib/mailgun-client.test.js
Test Files - Media & Member Attribution
ghost/core/test/unit/server/services/media-inliner/test/external-media-inliner.test.js, member-attribution/attribution.test.js, history.test.js, outbound-link-tagger.test.js, referrer-translator.test.js, service.test.js, url-translator.test.js
Test Files - Member Services
ghost/core/test/unit/server/services/member-welcome-emails/member-welcome-email-renderer.test.js, members-events/event-storage.test.js, last-seen-at-cache.test.js, last-seen-at-updater.test.js, members/config.test.js, importer/index.test.js, members-csv-importer.test.js, members-csv-importer-stripe-utils.test.js
Test Files - Members API & Services
ghost/core/test/unit/server/services/members/members-api/controllers/member-controller.test.js, router-controller.test.js, repositories/event-repository.test.js, member-repository.test.js, product-repository.test.js, services/geolocation-service.test.js, members-bread-service.test.js, payments-service.test.js, token-service.test.js, request-integrity-token-provider.test.js, single-use-token-provider.test.js
Test Files - Mentions, Newsletters & Notifications
ghost/core/test/unit/server/services/mentions-email-report/mention-email-report-job.test.js, newsletters/service.test.js, notifications/notifications.test.js
Test Files - Outbox & Recommendations
ghost/core/test/unit/server/services/outbox/index.test.js, recommendations/service/recommendation-service.test.ts
Test Files - Settings, Stats & Updates
ghost/core/test/unit/server/services/settings-helpers/settings-helpers.test.js, settings/settings-bread-service.test.js, stats/content.test.js, members.test.js, mrr.test.js, posts.test.js, referrers.test.js, stats.test.js, subscriptions.test.js
Test Files - Webhooks, Users & Verification
ghost/core/test/unit/server/services/update-check.test.js, webhooks/trigger.test.js, users/users-service.test.js, verification-trigger.test.js
Test Framework Utilities
ghost/core/test/utils/e2e-framework-mock-manager.js

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 From CamelCase to kebab delight,
A rabbit hops through files day and night!
One-fifty paths now lowercase and clean,
No logic changed—same code, new scene! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Renamed files to kebab-case - core - services - part 2' directly and accurately describes the main change: systematic file renaming to kebab-case conventions across core services modules.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

🧹 Recent nitpick comments
ghost/core/core/server/services/members/members-api/members-api.js (1)

1-19: Import paths correctly migrated to kebab-case.

All import paths are properly updated. However, there's an inconsistent use of semicolons: lines 1-10 omit trailing semicolons while lines 12-19 retain them.

🔧 Suggestion: Normalize semicolon usage
-const {Router} = require('express')
-const body = require('body-parser')
-const errors = require('@tryghost/errors')
-const logging = require('@tryghost/logging')
+const {Router} = require('express');
+const body = require('body-parser');
+const errors = require('@tryghost/errors');
+const logging = require('@tryghost/logging');

-const PaymentsService = require('./services/payments-service')
-const TokenService = require('./services/token-service')
-const GeolocationService = require('./services/geolocation-service')
-const MemberBREADService = require('./services/member-bread-service')
-const MemberRepository = require('./repositories/member-repository')
+const PaymentsService = require('./services/payments-service');
+const TokenService = require('./services/token-service');
+const GeolocationService = require('./services/geolocation-service');
+const MemberBREADService = require('./services/member-bread-service');
+const MemberRepository = require('./repositories/member-repository');
📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d983f48 and 092595d.

📒 Files selected for processing (198)
  • ghost/core/core/server/api/endpoints/authentication.js
  • ghost/core/core/server/api/endpoints/users.js
  • ghost/core/core/server/api/endpoints/utils/validators/input/settings.js
  • ghost/core/core/server/services/activitypub/activity-pub-service.ts
  • ghost/core/core/server/services/adapter-manager/adapter-manager.js
  • ghost/core/core/server/services/adapter-manager/index.js
  • ghost/core/core/server/services/announcement-bar-service/announcement-bar-settings.js
  • ghost/core/core/server/services/announcement-bar-service/announcement-visibility-values.js
  • ghost/core/core/server/services/announcement-bar-service/index.js
  • ghost/core/core/server/services/audience-feedback/audience-feedback-controller.js
  • ghost/core/core/server/services/audience-feedback/audience-feedback-service.js
  • ghost/core/core/server/services/audience-feedback/feedback-repository.js
  • ghost/core/core/server/services/audience-feedback/feedback.js
  • ghost/core/core/server/services/audience-feedback/index.js
  • ghost/core/core/server/services/auth/session/express-session.js
  • ghost/core/core/server/services/auth/session/session-store.js
  • ghost/core/core/server/services/comments/comments-controller.js
  • ghost/core/core/server/services/comments/comments-service-email-renderer.js
  • ghost/core/core/server/services/comments/comments-service-emails.js
  • ghost/core/core/server/services/comments/comments-service.js
  • ghost/core/core/server/services/comments/comments-stats-service.js
  • ghost/core/core/server/services/comments/index.js
  • ghost/core/core/server/services/custom-redirects/custom-redirects-api.js
  • ghost/core/core/server/services/custom-redirects/index.js
  • ghost/core/core/server/services/donations/donation-bookshelf-repository.ts
  • ghost/core/core/server/services/donations/donation-payment-event.ts
  • ghost/core/core/server/services/donations/donation-service-wrapper.js
  • ghost/core/core/server/services/donations/index.js
  • ghost/core/core/server/services/email-analytics/email-analytics-provider-mailgun.js
  • ghost/core/core/server/services/email-analytics/email-analytics-service-wrapper.js
  • ghost/core/core/server/services/email-analytics/email-analytics-service.js
  • ghost/core/core/server/services/email-analytics/event-processing-result.js
  • ghost/core/core/server/services/email-analytics/events/start-email-analytics-job-event.js
  • ghost/core/core/server/services/email-analytics/index.js
  • ghost/core/core/server/services/email-analytics/jobs/fetch-latest/index.js
  • ghost/core/core/server/services/email-service/EmailServiceWrapper.js
  • ghost/core/core/server/services/email-suppression-list/email-suppression-list.js
  • ghost/core/core/server/services/email-suppression-list/in-memory-email-suppression-list.js
  • ghost/core/core/server/services/email-suppression-list/mailgun-email-suppression-list.js
  • ghost/core/core/server/services/email-suppression-list/service.js
  • ghost/core/core/server/services/explore-ping/explore-ping-service.js
  • ghost/core/core/server/services/explore-ping/index.js
  • ghost/core/core/server/services/explore/explore-service.js
  • ghost/core/core/server/services/explore/index.js
  • ghost/core/core/server/services/frontend-data-service/front-end-data-service.js
  • ghost/core/core/server/services/frontend-data-service/index.js
  • ghost/core/core/server/services/identity-tokens/identity-token-service-wrapper.js
  • ghost/core/core/server/services/identity-tokens/identity-token-service.ts
  • ghost/core/core/server/services/identity-tokens/index.js
  • ghost/core/core/server/services/invites/index.js
  • ghost/core/core/server/services/invites/invites.js
  • ghost/core/core/server/services/lib/dynamic-redirect-manager.js
  • ghost/core/core/server/services/lib/email-content-generator.js
  • ghost/core/core/server/services/lib/in-memory-repository.ts
  • ghost/core/core/server/services/lib/mailgun-client.js
  • ghost/core/core/server/services/mail/ghost-mailer.js
  • ghost/core/core/server/services/mail/index.js
  • ghost/core/core/server/services/media-inliner/external-media-inliner.js
  • ghost/core/core/server/services/media-inliner/service.js
  • ghost/core/core/server/services/member-attribution/README.md
  • ghost/core/core/server/services/member-attribution/attribution-builder.js
  • ghost/core/core/server/services/member-attribution/index.js
  • ghost/core/core/server/services/member-attribution/member-attribution-service.js
  • ghost/core/core/server/services/member-attribution/outbound-link-tagger.js
  • ghost/core/core/server/services/member-attribution/referrer-translator.js
  • ghost/core/core/server/services/member-attribution/url-history.js
  • ghost/core/core/server/services/member-attribution/url-translator.js
  • ghost/core/core/server/services/member-welcome-emails/member-welcome-email-renderer.js
  • ghost/core/core/server/services/member-welcome-emails/service.js
  • ghost/core/core/server/services/members-events/event-storage.js
  • ghost/core/core/server/services/members-events/index.js
  • ghost/core/core/server/services/members-events/last-seen-at-cache.js
  • ghost/core/core/server/services/members-events/last-seen-at-updater.js
  • ghost/core/core/server/services/members/api.js
  • ghost/core/core/server/services/members/importer/index.js
  • ghost/core/core/server/services/members/importer/members-csv-importer-stripe-utils.js
  • ghost/core/core/server/services/members/importer/members-csv-importer.js
  • ghost/core/core/server/services/members/members-api/controllers/member-controller.js
  • ghost/core/core/server/services/members/members-api/controllers/router-controller.js
  • ghost/core/core/server/services/members/members-api/controllers/well-known-controller.js
  • ghost/core/core/server/services/members/members-api/members-api.js
  • ghost/core/core/server/services/members/members-api/repositories/event-repository.js
  • ghost/core/core/server/services/members/members-api/repositories/member-repository.js
  • ghost/core/core/server/services/members/members-api/repositories/product-repository.js
  • ghost/core/core/server/services/members/members-api/services/geolocation-service.js
  • ghost/core/core/server/services/members/members-api/services/member-bread-service.js
  • ghost/core/core/server/services/members/members-api/services/payments-service.js
  • ghost/core/core/server/services/members/members-api/services/token-service.js
  • ghost/core/core/server/services/members/members-config-provider.js
  • ghost/core/core/server/services/members/request-integrity-token-provider.js
  • ghost/core/core/server/services/members/service.js
  • ghost/core/core/server/services/members/single-use-token-provider.js
  • ghost/core/core/server/services/members/stats/members-stats.js
  • ghost/core/core/server/services/mentions-email-report/job.js
  • ghost/core/core/server/services/mentions-email-report/mention-email-report-job.js
  • ghost/core/core/server/services/mentions-email-report/service.js
  • ghost/core/core/server/services/mentions-email-report/start-mention-email-report-job.js
  • ghost/core/core/server/services/newsletters/index.js
  • ghost/core/core/server/services/newsletters/newsletters-service.js
  • ghost/core/core/server/services/notifications/index.js
  • ghost/core/core/server/services/notifications/notifications.js
  • ghost/core/core/server/services/offers/service.js
  • ghost/core/core/server/services/outbox/events/start-outbox-processing-event.js
  • ghost/core/core/server/services/outbox/index.js
  • ghost/core/core/server/services/outbox/jobs/outbox-job.js
  • ghost/core/core/server/services/recommendations/recommendation-enabler-service.js
  • ghost/core/core/server/services/recommendations/service/in-memory-recommendation-repository.ts
  • ghost/core/core/server/services/recommendations/service/recommendation-service.ts
  • ghost/core/core/server/services/settings-helpers/index.js
  • ghost/core/core/server/services/settings-helpers/settings-helpers.js
  • ghost/core/core/server/services/settings/settings-bread-service.js
  • ghost/core/core/server/services/settings/settings-service.js
  • ghost/core/core/server/services/staff/staff-service-emails.js
  • ghost/core/core/server/services/stats/content-stats-service.js
  • ghost/core/core/server/services/stats/members-stats-service.js
  • ghost/core/core/server/services/stats/mrr-stats-service.js
  • ghost/core/core/server/services/stats/posts-stats-service.js
  • ghost/core/core/server/services/stats/referrers-stats-service.js
  • ghost/core/core/server/services/stats/service.js
  • ghost/core/core/server/services/stats/stats-service.js
  • ghost/core/core/server/services/stats/subscription-stats-service.js
  • ghost/core/core/server/services/stripe/services/webhook/CheckoutSessionEventService.js
  • ghost/core/core/server/services/themes/storage.js
  • ghost/core/core/server/services/themes/theme-storage.js
  • ghost/core/core/server/services/update-check/index.js
  • ghost/core/core/server/services/update-check/update-check-service.js
  • ghost/core/core/server/services/users.js
  • ghost/core/core/server/services/verification-trigger.js
  • ghost/core/core/server/services/webhooks/listen.js
  • ghost/core/core/server/services/webhooks/webhook-trigger.js
  • ghost/core/test/e2e-api/admin/settings.test.js
  • ghost/core/test/e2e-api/members/send-magic-link.test.js
  • ghost/core/test/e2e-browser/fixtures/ghost-test.js
  • ghost/core/test/integration/services/email-service/email-event-storage.test.js
  • ghost/core/test/integration/services/mailgun-email-suppression-list.test.js
  • ghost/core/test/unit/server/services/activitypub/activity-pub-service.test.ts
  • ghost/core/test/unit/server/services/adapter-manager/adapter-manager.test.js
  • ghost/core/test/unit/server/services/announcement-bar/announcement-bar-settings.test.js
  • ghost/core/test/unit/server/services/audience-feedback/audience-feedback-service.test.js
  • ghost/core/test/unit/server/services/auth/session/store.test.js
  • ghost/core/test/unit/server/services/comments/comments-service-emails-renderer.test.js
  • ghost/core/test/unit/server/services/custom-redirects/api.test.js
  • ghost/core/test/unit/server/services/email-analytics/email-analytics-provider-mailgun.test.js
  • ghost/core/test/unit/server/services/email-analytics/email-analytics-service.test.js
  • ghost/core/test/unit/server/services/email-analytics/event-processing-result.test.js
  • ghost/core/test/unit/server/services/email-suppression-list/email-suppression-list.test.js
  • ghost/core/test/unit/server/services/explore-ping/explore-ping-service.test.js
  • ghost/core/test/unit/server/services/frontend-data-service/frontend-data-service.test.js
  • ghost/core/test/unit/server/services/identity-tokens/identity-token-service.test.ts
  • ghost/core/test/unit/server/services/lib/dynamic-redirect-manager.test.js
  • ghost/core/test/unit/server/services/lib/email-content-generator.test.js
  • ghost/core/test/unit/server/services/lib/in-memory-repository.test.ts
  • ghost/core/test/unit/server/services/lib/mailgun-client.test.js
  • ghost/core/test/unit/server/services/media-inliner/test/external-media-inliner.test.js
  • ghost/core/test/unit/server/services/member-attribution/attribution.test.js
  • ghost/core/test/unit/server/services/member-attribution/history.test.js
  • ghost/core/test/unit/server/services/member-attribution/outbound-link-tagger.test.js
  • ghost/core/test/unit/server/services/member-attribution/referrer-translator.test.js
  • ghost/core/test/unit/server/services/member-attribution/service.test.js
  • ghost/core/test/unit/server/services/member-attribution/url-translator.test.js
  • ghost/core/test/unit/server/services/member-welcome-emails/member-welcome-email-renderer.test.js
  • ghost/core/test/unit/server/services/members-events/event-storage.test.js
  • ghost/core/test/unit/server/services/members-events/last-seen-at-cache.test.js
  • ghost/core/test/unit/server/services/members-events/last-seen-at-updater.test.js
  • ghost/core/test/unit/server/services/members/config.test.js
  • ghost/core/test/unit/server/services/members/importer/index.test.js
  • ghost/core/test/unit/server/services/members/importer/members-csv-importer-stripe-utils.test.js
  • ghost/core/test/unit/server/services/members/importer/members-csv-importer.test.js
  • ghost/core/test/unit/server/services/members/members-api/controllers/member-controller.test.js
  • ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js
  • ghost/core/test/unit/server/services/members/members-api/repositories/event-repository.test.js
  • ghost/core/test/unit/server/services/members/members-api/repositories/member-repository.test.js
  • ghost/core/test/unit/server/services/members/members-api/repositories/product-repository.test.js
  • ghost/core/test/unit/server/services/members/members-api/services/geolocation-service.test.js
  • ghost/core/test/unit/server/services/members/members-api/services/members-bread-service.test.js
  • ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js
  • ghost/core/test/unit/server/services/members/members-api/services/token-service.test.js
  • ghost/core/test/unit/server/services/members/request-integrity-token-provider.test.js
  • ghost/core/test/unit/server/services/members/single-use-token-provider.test.js
  • ghost/core/test/unit/server/services/mentions-email-report/mention-email-report-job.test.js
  • ghost/core/test/unit/server/services/newsletters/service.test.js
  • ghost/core/test/unit/server/services/notifications/notifications.test.js
  • ghost/core/test/unit/server/services/outbox/index.test.js
  • ghost/core/test/unit/server/services/recommendations/service/recommendation-service.test.ts
  • ghost/core/test/unit/server/services/settings-helpers/settings-helpers.test.js
  • ghost/core/test/unit/server/services/settings/settings-bread-service.test.js
  • ghost/core/test/unit/server/services/stats/content.test.js
  • ghost/core/test/unit/server/services/stats/members.test.js
  • ghost/core/test/unit/server/services/stats/mrr.test.js
  • ghost/core/test/unit/server/services/stats/posts.test.js
  • ghost/core/test/unit/server/services/stats/referrers.test.js
  • ghost/core/test/unit/server/services/stats/stats.test.js
  • ghost/core/test/unit/server/services/stats/subscriptions.test.js
  • ghost/core/test/unit/server/services/update-check.test.js
  • ghost/core/test/unit/server/services/users/users-service.test.js
  • ghost/core/test/unit/server/services/verification-trigger.test.js
  • ghost/core/test/unit/server/services/webhooks/trigger.test.js
  • ghost/core/test/utils/e2e-framework-mock-manager.js
🧰 Additional context used
🧬 Code graph analysis (12)
ghost/core/core/server/services/email-service/EmailServiceWrapper.js (2)
ghost/core/core/server/services/email-suppression-list/service.js (1)
  • MailgunClient (5-5)
ghost/core/test/unit/server/services/lib/mailgun-client.test.js (1)
  • MailgunClient (6-6)
ghost/core/test/unit/server/services/lib/mailgun-client.test.js (1)
ghost/core/core/server/services/email-suppression-list/service.js (1)
  • MailgunClient (5-5)
ghost/core/core/server/services/email-suppression-list/service.js (1)
ghost/core/test/unit/server/services/lib/mailgun-client.test.js (1)
  • MailgunClient (6-6)
ghost/core/core/server/services/outbox/index.js (4)
ghost/core/core/server/services/outbox/jobs/outbox-job.js (2)
  • StartOutboxProcessingEvent (2-2)
  • require (1-1)
ghost/core/test/unit/server/services/outbox/index.test.js (1)
  • StartOutboxProcessingEvent (4-4)
ghost/core/core/server/services/outbox/handlers/member-created.js (1)
  • require (1-1)
ghost/core/core/server/services/outbox/jobs/lib/process-outbox.js (2)
  • require (4-4)
  • require (5-5)
ghost/core/core/server/services/members/members-api/members-api.js (5)
ghost/core/core/server/services/member-welcome-emails/service.js (4)
  • require (9-9)
  • require (11-11)
  • errors (2-2)
  • logging (1-1)
ghost/core/core/server/services/members/api.js (2)
  • require (21-21)
  • logging (5-5)
ghost/core/core/server/services/outbox/handlers/member-created.js (1)
  • require (1-1)
ghost/core/core/boot.js (2)
  • errors (576-576)
  • logging (445-445)
ghost/core/core/server/services/email-analytics/email-analytics-service-wrapper.js (1)
  • logging (1-1)
ghost/core/core/server/services/outbox/jobs/outbox-job.js (2)
ghost/core/core/server/services/outbox/index.js (2)
  • StartOutboxProcessingEvent (3-3)
  • require (6-6)
ghost/core/test/unit/server/services/outbox/index.test.js (1)
  • StartOutboxProcessingEvent (4-4)
ghost/core/core/server/services/email-analytics/email-analytics-service-wrapper.js (2)
ghost/core/test/unit/server/services/email-analytics/email-analytics-service.test.js (1)
  • EmailAnalyticsService (6-6)
ghost/core/core/server/services/email-analytics/jobs/fetch-latest/index.js (1)
  • StartEmailAnalyticsJobEvent (2-2)
ghost/core/core/server/services/members-events/index.js (2)
ghost/core/test/unit/server/services/members-events/event-storage.test.js (1)
  • EventStorage (5-5)
ghost/core/test/unit/server/services/members-events/last-seen-at-updater.test.js (1)
  • LastSeenAtUpdater (4-4)
ghost/core/core/server/services/member-attribution/index.js (5)
ghost/core/test/unit/server/services/member-attribution/service.test.js (1)
  • MemberAttributionService (3-3)
ghost/core/test/unit/server/services/member-attribution/url-translator.test.js (1)
  • UrlTranslator (3-3)
ghost/core/test/unit/server/services/member-attribution/referrer-translator.test.js (1)
  • ReferrerTranslator (3-3)
ghost/core/test/unit/server/services/member-attribution/attribution.test.js (1)
  • AttributionBuilder (4-4)
ghost/core/test/unit/server/services/member-attribution/outbound-link-tagger.test.js (1)
  • OutboundLinkTagger (4-4)
ghost/core/test/unit/server/services/outbox/index.test.js (2)
ghost/core/core/server/services/outbox/index.js (2)
  • StartOutboxProcessingEvent (3-3)
  • require (6-6)
ghost/core/core/server/services/outbox/jobs/outbox-job.js (2)
  • StartOutboxProcessingEvent (2-2)
  • require (1-1)
ghost/core/test/unit/server/services/stats/referrers.test.js (1)
ghost/core/core/server/web/api/endpoints/admin/routes.js (1)
  • require (3-3)
ghost/core/core/server/services/stats/posts-stats-service.js (1)
ghost/core/test/unit/server/services/stats/members.test.js (2)
  • freeMembers (76-79)
  • paidMembers (72-75)
🔇 Additional comments (158)
ghost/core/core/server/services/webhooks/listen.js (1)

3-3: LGTM — import path aligns with kebab-case rename.
No functional impact expected.

ghost/core/core/server/services/explore/index.js (1)

1-1: LGTM — import path updated to kebab-case.
No issues; aligns with renamed module file.

ghost/core/test/unit/server/services/webhooks/trigger.test.js (1)

6-6: Kebab-case import update looks good.
Aligns the test import with the renamed module file without touching behavior.

ghost/core/test/unit/server/services/members/members-api/controllers/router-controller.test.js (1)

7-7: LGTM — import path normalization looks correct.

ghost/core/test/unit/server/services/lib/mailgun-client.test.js (1)

6-6: Import path update looks correct.

Matches the kebab-case rename convention and should keep the test wiring intact.

ghost/core/test/unit/server/services/stats/content.test.js (1)

3-3: LGTM — import path updated to kebab-case.
No concerns with this change.

ghost/core/test/unit/server/services/member-welcome-emails/member-welcome-email-renderer.test.js (1)

19-19: Import path update looks good.
Aligned with kebab-case rename; no functional concerns.

ghost/core/test/unit/server/services/members/members-api/controllers/member-controller.test.js (1)

2-2: Import path update looks good.

Aligns the test with the kebab-case rename and should resolve correctly on case-sensitive filesystems.

ghost/core/core/server/services/member-welcome-emails/service.js (1)

10-10: LGTM — import path matches kebab-case rename.
No behavioral impact observed; this aligns with the naming convention update.

ghost/core/core/server/services/update-check/index.js (1)

13-13: LGTM — import path aligned with kebab-case rename.

ghost/core/test/unit/server/services/update-check.test.js (1)

10-10: LGTM — test import updated to new kebab-case path.

ghost/core/test/unit/server/services/lib/email-content-generator.test.js (1)

4-4: LGTM — import path update is consistent with kebab-case renames.

ghost/core/test/unit/server/services/members/request-integrity-token-provider.test.js (1)

4-4: LGTM: import path aligned to kebab-case.
Line 4 is consistent with the renamed module filename.

ghost/core/core/server/services/members/service.js (1)

6-6: LGTM: kebab-case import paths are consistent.
Lines 6, 8, 19, and 22 look correct for the renamed files.

Also applies to: 8-8, 19-19, 22-22

ghost/core/test/unit/server/services/members/config.test.js (1)

4-4: LGTM: import path aligned to kebab-case.
Line 4 matches the renamed module.

ghost/core/test/unit/server/services/members/members-api/services/geolocation-service.test.js (1)

3-3: LGTM!

The import path correctly updated to use kebab-case (geolocation-service) aligning with the PR's file naming convention migration. The class variable name GeolocationService appropriately remains PascalCase.

ghost/core/test/unit/server/services/stats/members.test.js (3)

1-1: Import path update looks correct.

Kebab-case module rename is consistent with the PR objective.


413-416: No substantive change.

Looks like a formatting-only adjustment.


474-476: No substantive change.

Formatting-only adjustment; no action needed.

ghost/core/core/server/services/explore-ping/index.js (1)

1-1: LGTM!

The import path update from ./ExplorePingService to ./explore-ping-service aligns with the kebab-case naming convention. No functional changes.

ghost/core/test/unit/server/services/explore-ping/explore-ping-service.test.js (1)

3-3: LGTM!

The test import path is correctly updated to match the renamed source file explore-ping-service.js. The test suite remains unchanged and properly exercises the service functionality.

ghost/core/core/server/services/comments/comments-service.js (1)

28-28: LGTM — path casing update is consistent.
This matches the kebab-case rename and doesn’t change behavior.

ghost/core/core/server/services/comments/comments-service-emails.js (1)

4-4: LGTM — renderer import now matches renamed file.
Consistent with kebab-case convention.

ghost/core/core/server/services/comments/index.js (1)

3-5: LGTM — service wiring paths updated consistently.
No behavioral impact expected.

ghost/core/test/unit/server/services/comments/comments-service-emails-renderer.test.js (1)

3-3: LGTM — test import path aligned with file rename.

ghost/core/core/server/services/comments/comments-controller.js (1)

20-21: LGTM — JSDoc paths updated for consistency.

ghost/core/test/unit/server/services/lib/in-memory-repository.test.ts (1)

2-2: LGTM!

The import path has been correctly updated to use kebab-case (in-memory-repository) to match the renamed file. The test functionality remains unchanged.

ghost/core/core/server/services/recommendations/service/in-memory-recommendation-repository.ts (1)

3-3: LGTM!

The import path has been correctly updated to use kebab-case (in-memory-repository), aligning with the file renaming convention applied across the codebase.

ghost/core/core/server/services/recommendations/service/recommendation-service.ts (1)

2-2: LGTM!

The import path update to kebab-case is consistent with the other files in this PR. The InMemoryRepository type is correctly used for the event repository type annotations.

ghost/core/test/unit/server/services/recommendations/service/recommendation-service.test.ts (1)

3-3: LGTM!

The import path has been correctly updated to use kebab-case (in-memory-repository). The InMemoryRepository class is properly imported and used as the base class for InMemoryClickEventRepository in the test setup.

ghost/core/core/server/services/donations/donation-bookshelf-repository.ts (1)

1-1: LGTM!

The import path update from ./DonationPaymentEvent to ./donation-payment-event correctly aligns with the kebab-case file naming convention while preserving the exported symbol name.

ghost/core/core/server/services/stripe/services/webhook/CheckoutSessionEventService.js (1)

65-65: LGTM!

The require path update to ../../../donations/donation-payment-event correctly follows the kebab-case convention. The destructured export and usage of DonationPaymentEvent.create() remain unchanged.

ghost/core/core/server/services/staff/staff-service-emails.js (1)

266-266: LGTM!

The JSDoc type import path update to ../donations/donation-payment-event correctly aligns with the kebab-case file naming convention. This ensures proper type resolution for IDE tooling and TypeScript type checking.

ghost/core/core/server/services/mentions-email-report/job.js (1)

2-2: LGTM!

The import path update to kebab-case (./start-mention-email-report-job) follows the PR's naming convention correctly. The class reference StartMentionEmailReportJob.name on line 7 remains valid as only the filename changed, not the exported class name.

ghost/core/core/server/services/mentions-email-report/service.js (2)

1-1: LGTM!

The import path update to kebab-case (./mention-email-report-job) is correct and aligns with the PR's naming convention. The class is properly used throughout the file for type definitions and instantiation.


143-143: LGTM!

The import path update to kebab-case (./start-mention-email-report-job) is correct. The StartMentionEmailReportJob class is correctly used for DomainEvents.subscribe() on line 146 and DomainEvents.dispatch() on line 153.

ghost/core/test/unit/server/services/mentions-email-report/mention-email-report-job.test.js (1)

2-2: LGTM!

The import path update to kebab-case (mention-email-report-job) is correct and consistent with the source file renaming. The test file properly tests the MentionEmailReportJob class with comprehensive mock implementations and three test cases covering the email sending logic.

ghost/core/test/unit/server/services/members-events/event-storage.test.js (1)

5-5: LGTM!

The import path is correctly updated to use kebab-case (event-storage) which aligns with the broader file renaming convention in this PR. This is consistent with the updated require in index.js.

ghost/core/core/server/services/members-events/last-seen-at-updater.js (1)

6-6: LGTM!

The import path is correctly updated to use kebab-case (./last-seen-at-cache), consistent with the convention applied across the codebase in this PR.

ghost/core/test/unit/server/services/members-events/last-seen-at-cache.test.js (1)

1-1: LGTM!

The import path is correctly updated to use kebab-case (last-seen-at-cache), consistent with the source files that also reference this module.

ghost/core/core/server/services/members-events/index.js (1)

16-18: LGTM!

All three import paths are correctly updated to kebab-case:

  • ./event-storage
  • ./last-seen-at-updater
  • ./last-seen-at-cache

These are consistent with the corresponding test file imports shown in the relevant code snippets.

ghost/core/test/unit/server/services/members-events/last-seen-at-updater.test.js (1)

4-4: LGTM!

The import path is correctly updated to use kebab-case (last-seen-at-updater), consistent with the service entry point in index.js.

ghost/core/core/server/services/donations/index.js (1)

1-3: The import path update correctly reflects the renamed file. The change properly updates the require path from ./DonationServiceWrapper to ./donation-service-wrapper while preserving the PascalCase variable name for the class, which is the appropriate naming convention.

ghost/core/core/server/services/invites/index.js (1)

5-5: The filename invites.js (lowercase) is correctly present in the directory and matches the require path './invites'. No casing mismatch exists—this comment can be dismissed.

Likely an incorrect or invalid review comment.

ghost/core/test/unit/server/services/frontend-data-service/frontend-data-service.test.js (1)

6-6: Import path update looks correct.

The import path change aligns with the kebab-case file renaming convention. One minor observation: the directory uses frontend-data-service (single word "frontend") while the file uses front-end-data-service (hyphenated "front-end"). Consider aligning these for consistency, though this is not a functional issue.

ghost/core/core/server/services/frontend-data-service/index.js (1)

2-2: LGTM!

The require path update to kebab-case is consistent with the actual file rename and the PR's naming convention objectives.

ghost/core/core/server/services/themes/storage.js (1)

11-11: LGTM!

The import path correctly updated from PascalCase (./ThemeStorage) to kebab-case (./theme-storage), consistent with the PR's file naming convention migration. The variable name ThemeStorage appropriately remains PascalCase for class constructors. The renamed file exists at the expected path and all references are properly updated.

ghost/core/test/unit/server/services/members/members-api/repositories/event-repository.test.js (1)

3-3: Kebab-case import update looks correct.

ghost/core/test/unit/server/services/email-analytics/event-processing-result.test.js (1)

3-3: Kebab-case import update looks correct.

ghost/core/test/integration/services/mailgun-email-suppression-list.test.js (1)

6-6: Kebab-case import update looks correct.

ghost/core/test/e2e-browser/fixtures/ghost-test.js (1)

11-11: Kebab-case import update looks correct.

ghost/core/core/server/services/email-analytics/email-analytics-service.js (1)

1-1: Kebab-case import update looks correct.

ghost/core/test/unit/server/services/members/single-use-token-provider.test.js (1)

4-4: Kebab-case import update looks correct.

ghost/core/core/server/services/members/api.js (1)

13-13: Path update looks good.

Aligning the module path with the kebab-case filename is consistent with the PR goal.

ghost/core/test/unit/server/services/members/members-api/services/token-service.test.js (1)

4-4: Import path normalization is fine.

Keeps the test aligned with the renamed module.

ghost/core/test/unit/server/services/activitypub/activity-pub-service.test.ts (1)

4-4: Type import path update is correct.

Matches the kebab-case rename.

ghost/core/core/server/services/identity-tokens/identity-token-service-wrapper.js (1)

1-1: Path adjustment looks good.

Consistent with the new filename casing.

ghost/core/core/server/services/activitypub/activity-pub-service.ts (1)

3-3: Import path change is fine.

Keeps the service aligned with renamed identity-token module.

ghost/core/core/server/services/email-analytics/jobs/fetch-latest/index.js (1)

2-2: Kebab-case event import is correct.

Consistent with the renamed event module.

ghost/core/core/server/services/email-analytics/email-analytics-provider-mailgun.js (1)

1-1: LGTM — consistent kebab‑case import.

ghost/core/test/unit/server/services/email-analytics/email-analytics-provider-mailgun.test.js (1)

3-4: LGTM — updated test imports match new filenames.

ghost/core/test/unit/server/services/email-analytics/email-analytics-service.test.js (1)

6-7: LGTM — path normalization only.

ghost/core/test/e2e-api/members/send-magic-link.test.js (1)

879-879: LGTM — updated provider import path.

ghost/core/test/e2e-api/admin/settings.test.js (1)

4-4: LGTM — import path matches renamed module.

ghost/core/core/server/services/members/members-api/services/member-bread-service.js (1)

33-33: LGTM — JSDoc path matches new filename.

ghost/core/test/unit/server/services/members/members-api/repositories/product-repository.test.js (1)

1-3: LGTM!

The import path is correctly updated to kebab-case (product-repository instead of ProductRepository), consistent with the file renaming convention in this PR.

ghost/core/core/server/services/identity-tokens/index.js (1)

1-1: LGTM!

The module export path is correctly updated to kebab-case (identity-token-service-wrapper), maintaining the same functionality while following the new naming convention.

ghost/core/test/unit/server/services/members/members-api/services/payments-service.test.js (1)

7-7: LGTM!

The import path for PaymentsService is correctly updated to kebab-case (payments-service), consistent with the file renaming convention.

ghost/core/test/utils/e2e-framework-mock-manager.js (1)

16-16: LGTM!

The import path for MailgunClient is correctly updated to kebab-case (mailgun-client), aligning with the broader file renaming convention.

ghost/core/core/server/services/email-analytics/email-analytics-service-wrapper.js (1)

11-16: LGTM!

All internal module paths are correctly updated to kebab-case. The changes are consistent with the related files shown in the code snippets (e.g., jobs/fetch-latest/index.js and the test file both reference the same kebab-case paths).

ghost/core/core/server/services/email-analytics/index.js (1)

1-1: Looks good: import path matches kebab-case rename.

Line 1 aligns with the file rename and keeps the export intact.

ghost/core/core/server/services/email-suppression-list/mailgun-email-suppression-list.js (1)

1-1: Import path update is consistent with rename.

Line 1 uses the new kebab-case module name; no issues.

ghost/core/test/integration/services/email-service/email-event-storage.test.js (1)

4-4: Test import path update looks correct.

Line 4 now matches the kebab-case Mailgun client filename.

ghost/core/test/unit/server/services/outbox/index.test.js (1)

4-4: Import path casing update is good.

Line 4 matches the new kebab-case event filename.

ghost/core/test/unit/server/services/members/members-api/repositories/member-repository.test.js (1)

5-5: Import path matches kebab-case rename.

Line 5 is consistent with the repository filename change.

ghost/core/core/server/services/email-service/EmailServiceWrapper.js (1)

28-28: Mailgun client import path update is correct.

Line 28 now targets the kebab-case module name.

ghost/core/test/unit/server/services/email-suppression-list/email-suppression-list.test.js (1)

2-2: Import path update looks correct.

Aligns with kebab-case rename; no functional impact observed.

ghost/core/core/server/services/members/members-api/repositories/member-repository.js (1)

12-12: Import path update looks correct.

Consistent with the renamed outbox event module.

ghost/core/core/server/services/email-suppression-list/in-memory-email-suppression-list.js (1)

1-1: Import path update looks correct.

Matches kebab-case module naming; no behavioral change.

ghost/core/test/unit/server/services/members/members-api/services/members-bread-service.test.js (1)

3-3: Import path update looks correct.

Keeps tests aligned with the renamed module.

ghost/core/core/server/services/outbox/jobs/outbox-job.js (1)

2-2: Import path update looks correct.

Consistent with kebab-case event filename.

ghost/core/core/server/services/email-suppression-list/service.js (1)

5-6: Import path updates look correct.

Aligns mailgun modules with kebab-case filenames.

ghost/core/core/server/services/outbox/index.js (2)

3-3: Import path update looks good.

Kebab-case path aligns with renamed module; no behavior change.


43-43: Export remains correct.

No functional change; exported singleton is unchanged.

ghost/core/core/server/services/mail/index.js (2)

4-4: EmailContentGenerator import path update looks good.

Consistent kebab-case pathing, no logic impact.


12-12: GhostMailer export path update looks good.

Internal module resolution updated cleanly.

ghost/core/core/server/services/newsletters/index.js (1)

1-2: Import path normalization looks good.

Kebab-case paths match renamed modules; no behavioral changes.

ghost/core/test/unit/server/services/newsletters/service.test.js (1)

12-12: Test import path update looks good.

Aligned with kebab-case module naming.

ghost/core/test/unit/server/services/settings/settings-bread-service.test.js (1)

4-4: LGTM!

The import path update from SettingsBREADService to settings-bread-service correctly follows the kebab-case file naming convention. The variable name remains PascalCase as appropriate for a class reference.

ghost/core/core/server/services/settings-helpers/index.js (1)

4-4: LGTM!

The import path update to ./settings-helpers is consistent with the kebab-case naming convention applied across the codebase.

ghost/core/core/server/services/settings/settings-service.js (1)

12-12: LGTM!

Both import path updates correctly follow the kebab-case naming convention:

  • settings-bread-service aligns with the test file import
  • single-use-token-provider follows the same pattern

Also applies to: 15-15

ghost/core/core/server/services/recommendations/recommendation-enabler-service.js (1)

2-2: LGTM!

The JSDoc type import paths are correctly updated to match the renamed settings-bread-service file. This ensures type resolution remains consistent with the actual module location.

Also applies to: 7-7

ghost/core/test/unit/server/services/settings-helpers/settings-helpers.test.js (1)

4-4: LGTM!

The import path update to settings-helpers is consistent with the kebab-case naming convention and aligns with the corresponding change in settings-helpers/index.js.

ghost/core/test/unit/server/services/media-inliner/test/external-media-inliner.test.js (1)

8-8: LGTM! Test import path updated to match renamed source module.

The relative path correctly navigates from the test directory to the source module at its new kebab-case location.

ghost/core/core/server/services/media-inliner/service.js (1)

4-4: LGTM! Import path updated to kebab-case.

The require path correctly references the renamed module at ./external-media-inliner. The target file exists and properly exports the ExternalMediaInliner class.

ghost/core/core/server/services/member-attribution/url-translator.js (1)

56-58: JSDoc path aligned with kebab-case module.

This keeps the type reference consistent with the renamed file.

ghost/core/core/server/services/member-attribution/referrer-translator.js (1)

34-36: JSDoc type path matches renamed file.

Looks good.

ghost/core/test/unit/server/services/member-attribution/url-translator.test.js (1)

1-4: Updated test import path is correct.

Matches the kebab-case filename.

ghost/core/test/unit/server/services/member-attribution/attribution.test.js (1)

1-5: Import paths updated to renamed modules.

No issues here.

ghost/core/test/unit/server/services/member-attribution/referrer-translator.test.js (1)

1-4: Test import path aligned with kebab-case rename.

Looks good.

ghost/core/test/unit/server/services/member-attribution/outbound-link-tagger.test.js (1)

1-5: Test import path updated to renamed module.

LGTM.

ghost/core/test/unit/server/services/member-attribution/service.test.js (1)

3-3: Path update aligns with kebab-case rename.
Looks consistent with the new filename, and test resolution should be stable on case-sensitive filesystems.

ghost/core/test/unit/server/services/member-attribution/history.test.js (1)

3-3: Import path update looks correct.
Aligns with the kebab-case module rename.

ghost/core/core/server/services/member-attribution/index.js (1)

14-18: Dependency wiring matches renamed modules.
The kebab-case paths are consistent with the new filenames.

ghost/core/core/server/services/member-attribution/README.md (1)

43-63: Docs now match kebab-case filenames.
Thanks for keeping the component list aligned with the new module names.

ghost/core/core/server/services/member-attribution/attribution-builder.js (1)

18-19: JSDoc type paths aligned to kebab-case.
The updated type references are consistent with the file renames.

Also applies to: 136-139, 169-170

ghost/core/core/server/services/member-attribution/member-attribution-service.js (1)

1-1: Import and JSDoc paths are consistent with renamed modules.
No behavioral changes detected; looks good.

Also applies to: 26-27, 73-75, 110-110, 142-143, 163-164, 183-185

ghost/core/core/server/services/offers/service.js (1)

1-1: LGTM!

The import path update from DynamicRedirectManager to dynamic-redirect-manager aligns with the kebab-case naming convention being applied across the codebase.

ghost/core/test/unit/server/services/lib/dynamic-redirect-manager.test.js (1)

2-2: LGTM!

The test file import path correctly updated to match the renamed source module. Test logic remains unchanged.

ghost/core/core/server/services/announcement-bar-service/announcement-bar-settings.js (1)

1-1: LGTM!

The import path for AnnouncementVisibilityValues correctly updated to kebab-case. The class functionality and all references to the imported module remain intact.

ghost/core/core/server/services/adapter-manager/index.js (1)

1-1: LGTM!

The import path correctly updated to reference the renamed adapter-manager module. The module initialization and exported API remain unchanged.

ghost/core/test/unit/server/services/adapter-manager/adapter-manager.test.js (1)

3-3: LGTM!

The test file import path correctly updated to match the renamed source module. All test cases continue to properly instantiate and exercise the AdapterManager class.

ghost/core/test/unit/server/services/verification-trigger.test.js (1)

6-6: LGTM!

The import path correctly updated to reference the renamed verification-trigger module. All test cases remain functionally unchanged.

ghost/core/core/server/services/custom-redirects/index.js (1)

4-5: Kebab‑case import alignment looks good.

Consistent path casing will prevent case‑sensitive module resolution issues across environments.

ghost/core/core/server/services/auth/session/express-session.js (1)

8-8: Import path normalization is correct.

Matches the new kebab‑case filename and keeps behavior unchanged.

ghost/core/test/unit/server/services/auth/session/store.test.js (1)

1-1: Test import updated correctly to kebab‑case.

Keeps test wiring consistent with the renamed module.

ghost/core/test/unit/server/services/announcement-bar/announcement-bar-settings.test.js (1)

2-2: Kebab‑case import update looks good.

Keeps test path consistent with the renamed service module.

ghost/core/core/server/services/notifications/index.js (1)

2-2: Lowercase import path is aligned with rename.

No functional impact; avoids case‑sensitive resolution issues.

ghost/core/test/unit/server/services/notifications/notifications.test.js (1)

6-6: Test import path update is correct.

Aligned with the new lowercase notifications module filename.

ghost/core/test/unit/server/services/audience-feedback/audience-feedback-service.test.js (1)

2-2: LGTM!

Import path correctly updated to kebab-case naming convention, consistent with the file renaming pattern across the codebase.

ghost/core/core/server/services/announcement-bar-service/index.js (1)

2-2: LGTM!

Import path correctly updated to kebab-case. This change is consistent with the related update in settings.js validator.

ghost/core/test/unit/server/services/stats/subscriptions.test.js (1)

3-3: LGTM!

Import path correctly updated to kebab-case naming convention. Test logic and assertions remain unchanged.

ghost/core/test/unit/server/services/custom-redirects/api.test.js (1)

7-7: LGTM!

Import path correctly updated to kebab-case naming convention.

ghost/core/core/server/api/endpoints/utils/validators/input/settings.js (1)

5-5: LGTM!

Import path correctly updated to kebab-case, consistent with the related change in announcement-bar-service/index.js.

ghost/core/core/server/services/audience-feedback/audience-feedback-controller.js (2)

1-1: LGTM!

Import path correctly updated to lowercase naming convention.


76-80: LGTM!

Minor formatting normalization. No functional changes.

ghost/core/test/unit/server/services/members/importer/members-csv-importer-stripe-utils.test.js (1)

4-4: LGTM — kebab-case path aligns with renamed module.

ghost/core/core/server/services/audience-feedback/index.js (1)

4-7: LGTM — internal dependency paths now match kebab-case files.

ghost/core/core/server/api/endpoints/authentication.js (1)

13-13: LGTM — users service import casing updated correctly.

ghost/core/core/server/api/endpoints/users.js (1)

9-9: LGTM — users service import path updated for kebab-case.

ghost/core/test/unit/server/services/members/importer/index.test.js (1)

2-2: LGTM — test import path now matches kebab-case module.

ghost/core/test/unit/server/services/members/importer/members-csv-importer.test.js (1)

9-9: LGTM — updated import path matches kebab-case rename.

ghost/core/core/server/services/members/importer/index.js (1)

1-5: Import paths correctly updated to kebab-case.

All module paths have been consistently updated:

  • ./members-csv-importer
  • ./members-csv-importer-stripe-utils
  • JSDoc typedef reference matches the new module path

The factory function logic remains unchanged.

ghost/core/test/unit/server/services/users/users-service.test.js (1)

4-4: Import path update is correct.

The import path has been updated to use lowercase users, consistent with the naming convention applied across the codebase. The module ghost/core/core/server/services/users.js exists and properly exports the Users service with all required methods and types. The relative import path correctly resolves from the test file location.

ghost/core/test/unit/server/services/identity-tokens/identity-token-service.test.ts (2)

6-57: Test logic is sound and unchanged.

The test correctly verifies JWT creation by:

  1. Setting up a test RSA key pair via JWK
  2. Instantiating the service with appropriate parameters
  3. Generating a token and verifying its claims

No functional changes were made to the test - only the import path was updated to match the kebab-case file naming convention.


2-2: Import path correctly uses kebab-case naming.

The import path for identity-token-service follows the kebab-case naming convention consistent with the PR objective.

ghost/core/core/server/services/stats/posts-stats-service.js (12)

6-6: LGTM: kebab-case referrer import alignment.

Keeps the import path consistent with the renamed module.


146-156: Date filtering looks consistent across attribution sources.

Both member-event subqueries apply the centralized date filter uniformly.


216-234: URL/title enrichment changes look solid.

Defaulting url_exists to true preserves backward compatibility and the guardrails around urlService are safe.


252-279: Path-to-title handling is clear and complete.

Handling plural tag/author paths keeps normalization predictable.


363-381: Normalization + aggregation flow is correct.

Re-grouping after normalizeSource maintains consistent totals.


450-503: Consistent date boundaries across subqueries.

All three subquery builders now align to centralized date parsing.

Also applies to: 513-548, 558-597


811-867: Nice: date filter applied in both newsletter branches.

Keeps behavior consistent whether click data is included or not.


1116-1146: Input validation and open-rate calculation look correct.

The early guard plus percent computation is straightforward.


1209-1211: UUID de-duplication is a good guard.

Avoids redundant DB work and keeps joins clean.


1296-1318: Backfill exclusion logic is correct.

Filtering out already-returned posts avoids duplicates.


1474-1488: Member counts mapping looks fine.

Straightforward conversion from array to map.


1571-1571: Export remains correct.

No issues with the module export.

ghost/core/test/unit/server/services/stats/referrers.test.js (2)

4-4: LGTM: test import updated to kebab-case.

Matches the renamed stats service file.


175-188: Whitespace-only test adjustments.

No functional impact observed.

Also applies to: 203-233, 241-244, 286-304, 306-333, 376-390

ghost/core/core/server/services/stats/stats-service.js (2)

1-6: LGTM: service imports aligned to kebab-case.

Matches renamed files and keeps module resolution consistent.


79-83: JSDoc type paths updated consistently.

Type references now mirror the kebab-case modules.

Also applies to: 95-98, 124-128, 143-152, 153-163, 189-199, 200-212, 221-233, 256-259

ghost/core/test/unit/server/services/stats/posts.test.js (2)

4-4: LGTM: test import updated to kebab-case.

Keeps tests aligned with renamed module.


624-686: Test-only formatting adjustments.

No behavioral changes spotted in these hunks.

Also applies to: 719-745, 747-867, 868-1030, 1072-1362, 1364-1444, 1446-1647, 1688-1912

ghost/core/test/unit/server/services/stats/stats.test.js (1)

1-1: LGTM: stats service test import updated.

Matches renamed module path.

ghost/core/core/server/services/stats/service.js (1)

13-13: LGTM: StatsService wrapper require path aligned.

Consistent with kebab-case rename.

ghost/core/test/unit/server/services/stats/mrr.test.js (2)

365-365: LGTM!

Trailing newline added at EOF — good practice for POSIX compliance.


1-1: Import path correctly updated to kebab-case.

The module path has been properly updated to mrr-stats-service, aligning with the project-wide kebab-case naming convention migration. The module file exists at the expected location and is correctly resolved by the relative import path.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

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