Skip to content

Conversation

@mkilpatrick
Copy link
Collaborator

Also update to the latest oxlint since Node 18 was dropped.

@changeset-bot
Copy link

changeset-bot bot commented Dec 30, 2025

⚠️ No Changeset found

Latest commit: 1c9bb33

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Dec 30, 2025

Walkthrough

This PR migrates the repository's code formatting and linting toolchain from Prettier/ESLint to the OX tools (oxfmt and oxlint). Configuration changes include removing prettier.config.js, adding .oxfmtrc.json, and reformatting .oxlintrc.json. The GitHub Actions workflow (automated-linting.yml) is updated to use the new formatter. Package.json files are modified to replace prettier with oxfmt in scripts and devDependencies, update oxlint to a newer version, and raise the minimum Node.js engine requirement from >=14.0.0 to ^20 || ^22 || ^24. These toolchain updates trigger widespread code reformatting across the codebase to conform to oxfmt's line-length and formatting rules, while preserving all existing functionality and public APIs.

Possibly related PRs

Suggested reviewers

  • colton-demetriou
  • asanehisa

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore: swap from prettier to oxlint' clearly and concisely summarizes the main change in the pull request: replacing Prettier with oxlint as the formatter/linter tool.
Description check ✅ Passed The description 'Also update to the latest oxlint since Node 18 was dropped' is related to the changeset, providing additional context about why oxlint was updated alongside the swap.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bfed08b and 1c9bb33.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (75)
  • .github/workflows/automated-linting.yml
  • .oxfmtrc.json
  • .oxlintrc.json
  • package.json
  • packages/pages-components/.storybook/preview.tsx
  • packages/pages-components/.storybook/snapshots/test-runner.ts
  • packages/pages-components/CHANGELOG.md
  • packages/pages-components/package.json
  • packages/pages-components/src/components/address/address.stories.tsx
  • packages/pages-components/src/components/address/address.tsx
  • packages/pages-components/src/components/address/i18n.ts
  • packages/pages-components/src/components/address/methods.test.ts
  • packages/pages-components/src/components/address/methods.ts
  • packages/pages-components/src/components/address/types.ts
  • packages/pages-components/src/components/analytics/Analytics.ts
  • packages/pages-components/src/components/analytics/analytics.test.tsx
  • packages/pages-components/src/components/analytics/debugger.tsx
  • packages/pages-components/src/components/analytics/provider.tsx
  • packages/pages-components/src/components/analytics/scope.tsx
  • packages/pages-components/src/components/hours/hours.tsx
  • packages/pages-components/src/components/hours/hoursStatus.stories.tsx
  • packages/pages-components/src/components/hours/hoursStatus.tsx
  • packages/pages-components/src/components/hours/hoursTable.tsx
  • packages/pages-components/src/components/hours/types.ts
  • packages/pages-components/src/components/image/fileUrl.test.ts
  • packages/pages-components/src/components/image/fileUrl.ts
  • packages/pages-components/src/components/image/image.test.tsx
  • packages/pages-components/src/components/image/image.tsx
  • packages/pages-components/src/components/image/photoUrl.test.ts
  • packages/pages-components/src/components/image/photoUrl.ts
  • packages/pages-components/src/components/image/types.ts
  • packages/pages-components/src/components/image/url.test.ts
  • packages/pages-components/src/components/image/url.ts
  • packages/pages-components/src/components/link/link.test.tsx
  • packages/pages-components/src/components/link/link.tsx
  • packages/pages-components/src/components/link/methods.test.ts
  • packages/pages-components/src/components/link/types.ts
  • packages/pages-components/src/components/locationmap/locationmap.stories.tsx
  • packages/pages-components/src/components/locationmap/locationmap.test.tsx
  • packages/pages-components/src/components/locationmap/locationmap.tsx
  • packages/pages-components/src/components/map/clusterer.tsx
  • packages/pages-components/src/components/map/map.stories.tsx
  • packages/pages-components/src/components/map/map.test.tsx
  • packages/pages-components/src/components/map/map.tsx
  • packages/pages-components/src/components/map/marker.tsx
  • packages/pages-components/src/components/schema/schemaTypes/FAQPage.test.ts
  • packages/pages-components/src/components/schema/schemaTypes/FAQPage.tsx
  • packages/pages-components/src/components/schema/schemaTypes/LocalBusiness.test.ts
  • packages/pages-components/src/components/schema/schemaTypes/Product.test.tsx
  • packages/pages-components/src/components/schema/yextFields/address.test.ts
  • packages/pages-components/src/components/schema/yextFields/hours.test.ts
  • packages/pages-components/src/components/schema/yextFields/hours.tsx
  • packages/pages-components/src/components/schema/yextFields/index.ts
  • packages/pages-components/src/components/schema/yextFields/people.test.ts
  • packages/pages-components/src/components/schema/yextFields/photoGallery.test.ts
  • packages/pages-components/src/components/schema/yextFields/review.test.ts
  • packages/pages-components/src/map/coordinate.ts
  • packages/pages-components/src/map/geoBounds.ts
  • packages/pages-components/src/map/map.ts
  • packages/pages-components/src/map/mapPin.ts
  • packages/pages-components/src/map/providerMap.ts
  • packages/pages-components/src/map/providerPin.ts
  • packages/pages-components/src/map/providers/baidu.ts
  • packages/pages-components/src/map/providers/bing.ts
  • packages/pages-components/src/map/providers/google.ts
  • packages/pages-components/src/map/providers/leaflet.ts
  • packages/pages-components/src/map/providers/mapQuest.ts
  • packages/pages-components/src/map/providers/mapbox.ts
  • packages/pages-components/src/map/util/assertions.ts
  • packages/pages-components/vite.config.ts
  • prettier.config.js
  • scripts/releaseUtils.ts
  • test-sites/pages-components-starter/package.json
  • test-sites/pages-components-starter/src/templates/location.tsx
  • test-sites/pages-components-starter/tests/smoke.spec.ts
💤 Files with no reviewable changes (1)
  • prettier.config.js
🧰 Additional context used
🧬 Code graph analysis (31)
packages/pages-components/src/components/link/methods.test.ts (1)
packages/pages-components/src/components/link/methods.ts (1)
  • determineEvent (72-106)
packages/pages-components/src/components/image/url.test.ts (1)
packages/pages-components/src/components/image/url.ts (1)
  • getImageUrl (20-52)
packages/pages-components/src/components/image/photoUrl.ts (1)
packages/pages-components/src/components/image/url.ts (1)
  • getImageTransformationsString (66-79)
packages/pages-components/src/components/address/methods.ts (1)
packages/pages-components/src/components/address/types.ts (2)
  • MapProviderOption (75-79)
  • ListingPublisherOption (49-51)
packages/pages-components/src/components/schema/yextFields/review.test.ts (1)
packages/pages-components/src/components/schema/yextFields/review.tsx (1)
  • validateAggregateRating (19-26)
packages/pages-components/src/components/address/methods.test.ts (2)
packages/pages-components/src/components/address/types.ts (2)
  • ListingPublisherOption (49-51)
  • ListingType (65-68)
packages/pages-components/src/components/address/methods.ts (1)
  • getDirections (44-121)
packages/pages-components/src/components/address/address.stories.tsx (1)
packages/pages-components/src/components/address/sampleData.ts (7)
  • Arlington (13-21)
  • Berlin (23-30)
  • Chicago (32-40)
  • London (42-51)
  • Miami (53-61)
  • NewYork (72-80)
  • Paris (82-88)
packages/pages-components/src/components/schema/yextFields/photoGallery.test.ts (1)
packages/pages-components/src/components/schema/yextFields/photoGallery.tsx (1)
  • validatePhoto (9-14)
packages/pages-components/src/components/image/fileUrl.test.ts (1)
packages/pages-components/src/components/image/fileUrl.ts (2)
  • fileUrlToDynString (149-180)
  • parseFileUrl (57-64)
packages/pages-components/src/components/analytics/analytics.test.tsx (1)
packages/pages-components/src/components/analytics/provider.tsx (1)
  • AnalyticsProvider (16-78)
packages/pages-components/src/components/analytics/provider.tsx (1)
packages/pages-components/src/components/analytics/context.ts (1)
  • AnalyticsContext (9-9)
packages/pages-components/src/components/link/link.test.tsx (1)
packages/pages-components/src/components/link/link.tsx (1)
  • Link (25-110)
packages/pages-components/src/components/hours/hoursStatus.stories.tsx (1)
packages/pages-components/src/components/hours/types.ts (1)
  • StatusParams (83-94)
packages/pages-components/src/components/analytics/Analytics.ts (3)
packages/pages-components/src/util/env.ts (1)
  • isProduction (13-33)
packages/pages-components/src/util/partition.ts (1)
  • getPartition (7-16)
packages/pages-components/src/util/runtime.ts (1)
  • getRuntime (57-59)
packages/pages-components/src/map/coordinate.ts (3)
packages/pages-components/src/map/constants.ts (2)
  • Projection (17-17)
  • Unit (17-17)
packages/pages-components/src/components/map/types.ts (1)
  • Coordinate (11-14)
packages/pages-components/src/map/index.ts (1)
  • Coordinate (7-7)
packages/pages-components/src/components/image/photoUrl.test.ts (1)
packages/pages-components/src/components/image/photoUrl.ts (2)
  • photoUrlToDynString (151-177)
  • parsePhotoUrl (65-72)
packages/pages-components/src/components/image/image.tsx (3)
packages/pages-components/src/components/image/url.ts (1)
  • getImageUrl (20-52)
packages/pages-components/src/components/image/index.ts (1)
  • getImageUrl (3-3)
packages/pages-components/src/components/image/types.ts (1)
  • ImageLayoutOption (46-63)
packages/pages-components/src/components/map/map.test.tsx (2)
packages/pages-components/src/components/map/marker.tsx (1)
  • Marker (19-96)
packages/pages-components/src/components/map/index.ts (1)
  • Marker (2-2)
packages/pages-components/src/map/providers/leaflet.ts (1)
packages/pages-components/src/map/mapProvider.ts (1)
  • load (140-148)
packages/pages-components/src/components/analytics/debugger.tsx (1)
packages/pages-components/src/components/analytics/types.ts (2)
  • EventData (12-16)
  • TooltipsRefItem (53-56)
packages/pages-components/src/components/schema/yextFields/people.test.ts (1)
packages/pages-components/src/components/schema/yextFields/people.tsx (1)
  • validateOrganization (6-11)
packages/pages-components/src/components/map/map.stories.tsx (2)
packages/pages-components/src/components/map/marker.tsx (1)
  • Marker (19-96)
packages/pages-components/src/components/map/index.ts (1)
  • Marker (2-2)
packages/pages-components/src/map/geoBounds.ts (1)
packages/pages-components/src/map/coordinate.ts (2)
  • longitude (159-161)
  • longitude (163-165)
packages/pages-components/src/components/image/fileUrl.ts (1)
packages/pages-components/src/components/image/url.ts (1)
  • getImageTransformationsString (66-79)
packages/pages-components/src/components/map/clusterer.tsx (2)
packages/pages-components/src/components/map/types.ts (2)
  • ClustererContextType (78-82)
  • PinStoreType (73-76)
packages/pages-components/src/components/map/index.ts (1)
  • useClusterContext (3-3)
packages/pages-components/src/components/link/link.tsx (3)
packages/pages-components/src/components/link/types.ts (2)
  • LinkProps (107-107)
  • CTA (24-28)
packages/pages-components/src/components/link/methods.ts (3)
  • resolveCTA (16-43)
  • resolveAction (50-67)
  • determineEvent (72-106)
packages/pages-components/src/components/analytics/hooks.ts (1)
  • useAnalytics (21-59)
packages/pages-components/src/components/hours/hoursTable.tsx (1)
packages/pages-components/src/components/hours/hours.tsx (5)
  • Hours (161-373)
  • luxonDateToDay (4-20)
  • HoursInterval (56-159)
  • arrayShift (380-386)
  • days (36-44)
packages/pages-components/src/map/providers/bing.ts (1)
packages/pages-components/src/map/mapProvider.ts (1)
  • load (140-148)
packages/pages-components/src/map/providers/baidu.ts (2)
packages/pages-components/src/map/coordinate.ts (1)
  • Coordinate (283-283)
packages/pages-components/src/map/index.ts (1)
  • Coordinate (7-7)
packages/pages-components/src/map/providers/mapQuest.ts (1)
packages/pages-components/src/map/mapProvider.ts (1)
  • load (140-148)
packages/pages-components/src/components/address/address.tsx (3)
packages/pages-components/src/components/address/index.ts (1)
  • Address (1-1)
packages/pages-components/src/components/address/types.ts (3)
  • AddressProps (27-31)
  • AddressLine (20-20)
  • AddressLineProps (38-42)
packages/pages-components/src/components/address/i18n.ts (1)
  • localeAddressFormat (3-300)
🪛 Biome (2.1.2)
test-sites/pages-components-starter/src/templates/location.tsx

[error] 85-85: Avoid passing content using the dangerouslySetInnerHTML prop.

Setting content using code can expose users to cross-site scripting (XSS) attacks

(lint/security/noDangerouslySetInnerHtml)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: semgrep/ci
🔇 Additional comments (115)
packages/pages-components/src/map/providerPin.ts (2)

3-3: Import consolidation looks good.

The import has been correctly reformatted to a single line—no types were added or removed, and the reference to mapPin.js is intact.


200-204: Event listener callbacks properly formatted.

The event listeners in the addListeners method have been consolidated into clean, single-line arrow functions. The handlers and their arguments remain unchanged—no behavioral impact.

.oxfmtrc.json (1)

1-3: LGTM! Standard oxfmt configuration.

The ES5 trailing comma style is a sensible default that maintains broad compatibility.

packages/pages-components/.storybook/snapshots/test-runner.ts (1)

2-2: LGTM! Formatting change only.

The import consolidation maintains the same functionality.

test-sites/pages-components-starter/tests/smoke.spec.ts (1)

5-5: LGTM! Test assertion reformatted.

The single-line format maintains the same test behavior.

packages/pages-components/src/components/schema/schemaTypes/Product.test.tsx (1)

60-60: LGTM! Test expectation formatting.

The array literals are reformatted to single-line style without changing the expected values.

Also applies to: 190-190

packages/pages-components/src/components/schema/schemaTypes/FAQPage.tsx (1)

34-34: LGTM! Function signature reformatted.

The single-line signature maintains the same parameters and behavior.

packages/pages-components/vite.config.ts (1)

17-17: LGTM! Build configuration formatting.

The external dependencies list is reformatted without changing the build behavior.

packages/pages-components/src/components/locationmap/locationmap.tsx (1)

28-28: LGTM! JSX formatting update.

The Link component opening tag is reformatted to a single line without changing the props or behavior.

packages/pages-components/src/components/schema/yextFields/review.test.ts (1)

42-42: LGTM! Test assertion reformatted.

The validation check is consolidated to a single line without changing the test logic.

packages/pages-components/src/map/coordinate.ts (1)

1-1: LGTM!

All changes in this file are formatting-only adjustments from the Prettier to oxfmt migration. The import consolidation, single-line math expressions, and reformatted function signatures preserve identical runtime behavior.

Also applies to: 76-76, 88-88, 189-191, 231-235, 270-270

packages/pages-components/src/components/schema/schemaTypes/FAQPage.test.ts (1)

103-103: LGTM!

The string concatenation reformatted to a single line produces identical test behavior.

packages/pages-components/.storybook/preview.tsx (1)

27-29: LGTM!

The multi-line type assertion reformatting maintains identical type checking and runtime behavior.

.oxlintrc.json (1)

3-3: LGTM!

The JSON arrays are reformatted to single lines while preserving identical lint rule configurations and ignore patterns.

Also applies to: 5-5

packages/pages-components/src/components/image/fileUrl.ts (1)

2-2: LGTM!

All changes are formatting consolidations (imports and ternary expressions to single lines) with no behavioral impact on the file URL parsing and transformation logic.

Also applies to: 136-136, 173-173, 175-175

packages/pages-components/src/map/util/assertions.ts (1)

25-25: LGTM!

Error message strings reformatted to single lines with no change to assertion behavior or the actual error messages produced.

Also applies to: 44-44, 59-59

packages/pages-components/src/components/link/link.test.tsx (1)

16-16: LGTM!

The JSX test input reformatted to a single line maintains identical test behavior.

packages/pages-components/CHANGELOG.md (1)

5-6: LGTM!

The changelog formatting adjustments preserve all entry content. These are cosmetic list marker style changes with no impact on documentation content.

Also applies to: 10-12, 16-18

packages/pages-components/src/components/schema/yextFields/address.test.ts (2)

2-2: LGTM! Import formatting consolidated.

The import statement has been reformatted to a single line, consistent with the new formatter rules.


16-26: LGTM! Test assertions reformatted.

The test expectations have been reformatted to use consistent single-line formatting. No changes to test logic or assertions.

packages/pages-components/src/components/image/fileUrl.test.ts (3)

15-143: LGTM! Test data reformatted for consistency.

The dynUrl values in test cases have been reformatted to single-line strings, improving readability. The semantic values remain unchanged.


150-152: LGTM! Assertion reformatted.

The expect statement has been condensed while maintaining the same assertion logic.


197-199: LGTM! Test callback reformatted.

The test.each callback has been reformatted to a more compact style.

packages/pages-components/src/components/schema/schemaTypes/LocalBusiness.test.ts (2)

111-111: LGTM! Array formatting consolidated.

The image array has been reformatted to a single line, consistent with the new formatter style.


170-170: LGTM! Array formatting consolidated.

The image array has been reformatted to a single line, matching the formatting applied throughout the test file.

packages/pages-components/src/map/geoBounds.ts (4)

25-32: LGTM! Longitude calculations reformatted.

The longitude calculations have been reformatted to single-line expressions. The logic remains identical, with improved compactness.


78-83: LGTM! Boolean expressions consolidated.

The coordinate containment checks have been reformatted to single-line expressions while preserving all logic.


96-97: LGTM! Distance calculations reformatted.

The distance calculations have been consolidated to single lines, maintaining the same mathematical operations.


116-116: LGTM! Center calculation reformatted.

The longitude center calculation has been reformatted to a single line while preserving the ternary logic.

test-sites/pages-components-starter/package.json (2)

6-6: LGTM! Metadata preserved.

The author field remains unchanged in the reformatted file.


29-32: LGTM! Engines field repositioned.

The engines.node constraint has been repositioned after devDependencies while maintaining the same version requirements.

scripts/releaseUtils.ts (3)

81-81: LGTM! Console logging reformatted.

The console.log statement has been consolidated to a single line while preserving the message and optional parameters.


178-178: LGTM! Map callback reformatted.

The version string mapping has been reformatted to a single-line expression.


199-199: LGTM! Git arguments reformatted.

The git command arguments array has been consolidated to a single line, improving readability of the command.

packages/pages-components/src/components/map/clusterer.tsx (7)

1-1: LGTM! Imports consolidated.

The React imports have been reformatted to a single line, consistent with the new formatter style.


17-27: LGTM! JSX attributes reformatted.

The SVG element and its attributes have been reformatted for consistency. The default cluster template rendering remains unchanged.


30-30: LGTM! Context creation reformatted.

The createContext call has been consolidated to a single line.


36-36: LGTM! Error message reformatted.

The error message string has been reformatted while preserving the exact message content.


51-51: LGTM! State type annotation reformatted.

The useState type annotation has been reformatted to a single line.


135-135: LGTM! Function signature reformatted.

The _generateClusters function signature has been consolidated to a single line.


190-190: LGTM! Array splice reformatted.

The splice call has been reformatted to a single line while maintaining the same array mutation logic.

packages/pages-components/src/components/link/types.ts (1)

33-36: LGTM! Interface extends clause reformatted.

The extends clause has been reformatted to a single line, consistent with the new formatter style. The interface functionality remains unchanged.

.github/workflows/automated-linting.yml (1)

27-28: LGTM!

The workflow updates correctly reflect the migration from Prettier to oxfmt. The step names, commit messages, and error messages are consistently updated to use generic "formatter" terminology, making the workflow tool-agnostic.

Also applies to: 34-34, 45-45

packages/pages-components/src/components/image/photoUrl.test.ts (1)

55-56: LGTM!

Formatting-only changes applied by the new formatter. Test logic and assertions remain unchanged.

Also applies to: 72-73, 81-83, 115-116, 120-122

test-sites/pages-components-starter/src/templates/location.tsx (1)

65-65: LGTM!

Formatting-only changes: component parameter destructuring and JSX element collapsed to single lines.

Regarding the static analysis hint about dangerouslySetInnerHTML: this is pre-existing code rendering trusted RTF content from the Yext CMS. The formatting change doesn't alter the security posture.

Also applies to: 85-85

packages/pages-components/src/map/map.ts (1)

4-4: LGTM!

Formatting-only changes throughout the file. Type signatures, function parameters, and method calls have been reflowed to single lines where appropriate. No behavioral changes.

Also applies to: 11-11, 38-38, 308-308, 331-332, 521-523, 615-615

packages/pages-components/src/map/mapPin.ts (1)

65-65: LGTM!

Formatting-only change to collapse the method signature to a single line.

packages/pages-components/src/components/hours/types.ts (1)

48-48: LGTM!

Formatting-only change to collapse the function type signature to a single line.

packages/pages-components/src/components/link/link.tsx (1)

25-110: LGTM!

The component has been reformatted by oxfmt with no functional changes. The logic flow remains identical:

  • CTA resolution and action/event determination
  • Analytics tracking with the same parameters
  • Obfuscation handling (decode, navigate)
  • Conditional debug attributes when analytics debug is enabled

All behavioral semantics are preserved.

packages/pages-components/src/components/link/methods.test.ts (1)

111-111: LGTM!

Formatting-only changes to collapse expect statements to single lines. Test logic and assertions remain unchanged.

Also applies to: 126-126

package.json (1)

37-39: Node engine requirement updated to drop Node 18 support.

The constraint ^20 || ^22 || ^24 correctly targets current LTS and active Node.js versions. This is a breaking change for consumers still on Node 18—ensure this is documented in release notes.

packages/pages-components/package.json (1)

101-103: Engine constraint aligned with root package.

The Node.js engine requirement is consistent with the root package.json.

packages/pages-components/src/components/image/url.test.ts (1)

42-48: Formatting-only changes.

The test expectations are reformatted to single-line strings with no behavioral changes.

packages/pages-components/src/components/image/photoUrl.ts (1)

172-172: Formatting-only change.

The assignment is collapsed to a single line with no behavioral impact.

packages/pages-components/src/components/locationmap/locationmap.stories.tsx (1)

26-26: Formatting-only changes throughout the file.

JSX and SVG elements are reformatted to single-line or compact multi-line styles consistent with the new formatter. No behavioral changes.

packages/pages-components/src/components/schema/yextFields/people.test.ts (1)

19-19: Formatting-only change.

The test assertion is reformatted to a single line with no behavioral impact.

packages/pages-components/src/components/map/map.tsx (1)

1-1: Formatting-only changes throughout the file.

Imports, optional chaining expressions, and JSX are reformatted for consistency with the new formatter. No behavioral changes to the Map component.

packages/pages-components/src/components/schema/yextFields/hours.test.ts (1)

224-224: Formatting-only change.

The test assertion is reformatted to a single line with no behavioral impact.

packages/pages-components/src/map/providerMap.ts (1)

1-1: LGTM!

Import consolidation is clean and maintains all imported identifiers correctly.

packages/pages-components/src/components/analytics/scope.tsx (1)

1-1: LGTM!

Import and JSX formatting changes are correct. Single-line provider structure maintains identical rendering behavior.

Also applies to: 43-43, 48-48

packages/pages-components/src/components/analytics/provider.tsx (1)

1-1: LGTM!

Import consolidation and single-line JSX formatting are correct. Error handling, analytics setup, and context provision logic remain intact.

Also applies to: 68-68

packages/pages-components/src/components/locationmap/locationmap.test.tsx (1)

51-51: LGTM!

SVG formatting changes are valid and maintain all attributes correctly.

Also applies to: 56-56

packages/pages-components/src/map/providers/google.ts (1)

72-72: LGTM!

Google Maps API calls (LatLng construction and projection methods) are correctly formatted on single lines with proper parameter and optional chaining usage.

Also applies to: 122-122, 148-148

packages/pages-components/src/components/address/address.stories.tsx (1)

23-23: LGTM!

Storybook template and story formatting changes are valid. All story bindings, args, and component references remain intact and functional.

Also applies to: 36-36, 44-44, 52-52, 60-60, 68-68, 76-76, 84-84, 92-92

packages/pages-components/src/components/image/types.ts (1)

70-70: LGTM!

Single-line ImageLayout type definition is syntactically correct and maintains proper indexed access type inference.

packages/pages-components/src/components/analytics/analytics.test.tsx (1)

1-1: LGTM!

Import consolidation and JSX formatting changes are valid. All test structure, assertions, and analytics tracking verification logic remain intact and functional.

Also applies to: 93-93, 101-101, 224-224, 248-248, 270-270

packages/pages-components/src/components/image/url.ts (1)

78-78: LGTM! Formatting-only change.

The ternary expression has been reformatted to a single line as part of the oxfmt migration. The logic remains identical.

packages/pages-components/src/components/map/map.test.tsx (1)

18-18: LGTM! Test formatting updated.

Marker JSX props have been reformatted to single-line style as part of the oxfmt migration. The test behavior and assertions remain unchanged.

Also applies to: 56-57

packages/pages-components/src/components/hours/hoursStatus.stories.tsx (1)

204-205: LGTM! Story template formatting updated.

Template functions in the story overrides have been reformatted to single-line expressions as part of the oxfmt migration. The template logic and output remain identical.

Also applies to: 230-231, 252-252, 264-264

packages/pages-components/src/components/schema/yextFields/photoGallery.test.ts (1)

1-1: LGTM! Test formatting updated.

Import statement and test expectations have been reformatted to single-line style as part of the oxfmt migration. Test behavior and assertions remain unchanged.

Also applies to: 13-13, 54-54

packages/pages-components/src/components/address/methods.ts (1)

69-69: LGTM! Formatting-only changes.

String templates, function signatures, and inline expressions have been reformatted to single-line style as part of the oxfmt migration. All logic remains identical.

Also applies to: 73-73, 81-81, 84-84, 88-88, 96-96, 99-99, 161-161

packages/pages-components/src/components/address/methods.test.ts (1)

44-44: LGTM! Test formatting updated.

Test data declarations and function call arguments have been reformatted to single-line style as part of the oxfmt migration. Test behavior and expectations remain unchanged.

Also applies to: 51-51, 122-122, 134-134, 139-139, 144-145

packages/pages-components/src/components/map/marker.tsx (1)

11-11: LGTM! Formatting-only changes.

The SVG tag and cleanup callback have been reformatted to single-line style as part of the oxfmt migration. The icon rendering and pin cleanup logic remain identical.

Also applies to: 79-79

packages/pages-components/src/components/analytics/Analytics.ts (1)

70-70: LGTM! Formatting-only changes.

Conditional expressions and destructuring statements have been reformatted as part of the oxfmt migration. All analytics logic, production checks, and tracking behavior remain identical.

Also applies to: 75-75, 100-100, 143-144

packages/pages-components/src/map/providers/mapbox.ts (5)

19-22: LGTM!

The mapbox instance retrieval is correctly consolidated into a single line. Logic and type handling remain unchanged.


64-70: LGTM!

The LngLat construction is correctly reformatted to a single line without altering the coordinate mapping logic.


86-94: LGTM!

Formatting change only; the setZoomCenter method logic remains intact.


116-118: LGTM!

The setLngLat call is correctly consolidated to a single line.


147-162: LGTM!

The load function signature is reformatted to a single line. Parameters, defaults, and behavior are preserved.

packages/pages-components/src/map/providers/bing.ts (5)

50-55: LGTM!

The onLoad event handler registration is correctly reformatted. The callback behavior is unchanged.


121-123: LGTM!

Event handler registrations are correctly consolidated to single lines without altering functionality.


142-146: LGTM!

The Microsoft.Maps.Location construction is correctly reformatted to a single line.


183-189: LGTM!

The setCoordinate method is correctly reformatted with single-line statements.


223-242: LGTM!

The load function signature is correctly reformatted to a single line while preserving all parameters and default values.

packages/pages-components/src/components/address/address.tsx (2)

23-33: LGTM!

The Address component signature and JSX are correctly reformatted. Props destructuring and rendering logic remain unchanged.


35-43: LGTM!

The AddressLine component signature is correctly reformatted to a single line. The separator rendering logic is preserved.

packages/pages-components/src/components/schema/yextFields/hours.tsx (3)

41-44: LGTM!

The return statement in validateDayType is correctly reformatted to a single line without changing the validation logic.


120-123: LGTM!

The holiday hours specification handling is correctly reformatted. The conditional assignment logic is preserved.


187-192: LGTM!

The interval construction is correctly reformatted to a single line. The string concatenation logic remains unchanged.

packages/pages-components/src/components/analytics/debugger.tsx (8)

25-31: LGTM!

The runtime check condition is correctly reformatted to a single line.


33-44: LGTM!

The getEventData function signature and return statement are correctly reformatted without altering the event data construction logic.


126-171: LGTM!

The DOM queries and event handling logic are correctly reformatted. The querySelectorAll, closest, and map calls are consolidated to single lines while preserving functionality.


250-253: LGTM!

The find callback is correctly reformatted to a single line.


268-289: LGTM!

The handleClick function's forEach callback is correctly reformatted.


295-311: LGTM!

The EventsTab JSX rendering is correctly reformatted with consistent indentation and structure.


417-442: LGTM!

The setTooltipPosition function signature and internal calls are correctly reformatted without changing the positioning logic.


445-479: LGTM!

The isOverlapping and inWindowBounds functions are correctly reformatted. The overlap detection and bounds checking logic remain unchanged.

packages/pages-components/src/components/schema/yextFields/index.ts (1)

1-11: LGTM!

The re-export statements are correctly consolidated to single lines. All exported entities remain unchanged.

packages/pages-components/src/components/image/image.test.tsx (6)

1-4: LGTM!

The import statement is correctly reformatted to a single line.


41-42: LGTM!

The assertion is correctly reformatted to a single line.


92-97: LGTM!

The render call with multiple props is correctly reformatted to a single line.


186-194: LGTM!

The render call for fixed layout test is correctly reformatted.


271-276: LGTM!

The expected URL assertion is correctly reformatted to a single line.


440-462: LGTM!

The getImageSizeForFixedLayout test assertions are correctly reformatted to more concise single-line expressions while preserving the test coverage.

packages/pages-components/src/map/providers/leaflet.ts (1)

175-190: LGTM!

The load function signature is correctly reformatted to a single line. Parameters, defaults, and the script loading behavior are preserved.

packages/pages-components/src/components/hours/hoursTable.tsx (1)

1-300: Formatting changes look good.

All modifications in this file are formatting-only (multi-line to single-line consolidations) consistent with the oxfmt formatter migration. The logic and functionality remain unchanged.

packages/pages-components/src/map/providers/mapQuest.ts (1)

46-46: LGTM!

Function signature reformatted to a single line without any changes to parameters, types, or default values.

packages/pages-components/src/components/hours/hoursStatus.tsx (1)

1-168: Formatting changes look good.

All modifications are formatting consolidations (imports, JSX returns, optional chaining expressions, and template assignments). No behavioral changes.

packages/pages-components/src/components/map/map.stories.tsx (1)

1-205: Formatting changes look good.

All modifications are JSX and expression consolidations to single-line formatting. The logic in event handlers and conditional expressions remains identical.

packages/pages-components/src/components/address/types.ts (1)

58-86: LGTM!

Type alias declarations reformatted to single lines without changing their semantics.

packages/pages-components/src/components/address/i18n.ts (1)

1-300: Formatting changes look good.

All modifications are array literal consolidations from multi-line to single-line formatting. The locale-specific address format patterns remain unchanged.

packages/pages-components/src/map/providers/baidu.ts (1)

1-431: Formatting changes look good.

All modifications in this file are formatting consolidations:

  • Callback name construction and coordinate mappings in gcj02ToBD09
  • BMap.Point constructions condensed to single lines
  • setCoordinate method body reformatted while preserving the negative longitude fix logic

No behavioral changes introduced.

packages/pages-components/src/components/hours/hours.tsx (1)

1-403: Formatting changes look good.

All modifications are formatting consolidations:

  • Import statements and function signatures condensed to single lines
  • HoursInterval constructions and expressions reformatted
  • is24h() and intervalsListsAreEqual() logic remains identical

No behavioral changes introduced.

packages/pages-components/src/components/image/image.tsx (2)

3-213: LGTM! Formatting changes look clean.

The oxfmt migration has been applied consistently throughout the file. All formatting changes preserve the existing functionality while maintaining readability. Notable improvements include:

  • Consolidated imports on line 3
  • More readable multi-line function call formatting (lines 192-198)
  • Consistent string formatting for warnings and expressions

217-218: Good defensive addition!

The new default case with a warning for unrecognized layouts is a nice improvement. While TypeScript's type system should prevent invalid layout values at compile time, this runtime check provides additional safety and aids debugging if an unexpected value somehow makes it through.

@mkilpatrick mkilpatrick merged commit 07f698a into main Dec 30, 2025
22 checks passed
@mkilpatrick mkilpatrick deleted the oxfmt branch December 30, 2025 21:49
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