Skip to content

[bpk-component-calendar] Migrate remaining JS files to TypeScript#4764

Open
Gert-Jan Vercauteren (gert-janvercauteren) wants to merge 5 commits into
mainfrom
ts-migration/bpk-component-calendar
Open

[bpk-component-calendar] Migrate remaining JS files to TypeScript#4764
Gert-Jan Vercauteren (gert-janvercauteren) wants to merge 5 commits into
mainfrom
ts-migration/bpk-component-calendar

Conversation

@gert-janvercauteren

Copy link
Copy Markdown
Contributor

Summary

  • Migrates bpk-component-calendar from JavaScript to TypeScript
  • Replaces prop-types with TypeScript interfaces
  • Converts defaultProps to ES6 destructure defaults
  • Removes Flow type annotations
  • Renames .js source/test/story files to .tsx/.ts

Closes #4751

Migrates bpk-component-calendar from JavaScript to TypeScript as described in #4751.

- Replaced prop-types with TypeScript interfaces
- Converted defaultProps to ES6 destructure defaults
- Renamed .js source/test/story files to .tsx/.ts
- Removed Flow type annotations
- Preserved Apache 2.0 license headers

Closes #4751
Copilot AI review requested due to automatic review settings June 26, 2026 09:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot couldn't run its full agentic review because no GitHub Actions runner was available. Make sure your repository has a runner available to run Copilot's review, or add a copilot-setup-steps.yml file specifying one with the runs-on attribute. See the docs for more details.

Migrates remaining bpk-component-calendar JavaScript code toward TypeScript by introducing typed props/utilities and removing prop-types usage in story components.

Changes:

  • Added TypeScript type annotations and literal typing (as const) to legacy prop-type helpers.
  • Replaced prop-types in story components with TypeScript interfaces and destructured defaults.
  • Removed a @ts-expect-error suppression on the custom-proptypes-legacy import.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
packages/backpack-web/src/bpk-component-calendar/src/custom-proptypes-legacy.js Adds TS types/exports and narrows selection constants.
packages/backpack-web/src/bpk-component-calendar/src/BpkCalendar.stories-test-utils.js Adds TS annotations for date formatting helpers and weekday arrays.
packages/backpack-web/src/bpk-component-calendar/src/BpkCalendar.stories-components.js Migrates story components away from prop-types and adds TS-typed props/state.
packages/backpack-web/src/bpk-component-calendar/index.ts Removes suppression for importing legacy prop-types module.

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

@skyscanner-backpack-bot

Copy link
Copy Markdown
Contributor

Visit https://backpack.github.io/storybook-prs/4764 to see this build running in a browser.

@skyscanner-backpack-bot

Copy link
Copy Markdown
Contributor
Warnings
⚠️

Package source files (e.g. packages/package-name/src/Component.js) were updated, but snapshots weren't. Have you checked that the tests still pass?

Browser support

If this is a visual change, make sure you've tested it in multiple browsers.

Generated by 🚫 dangerJS against 69ba3c8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Non breaking change ts-conversion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bpk-component-calendar] Migrate remaining JS files to TypeScript

2 participants