Skip to content

Add sample Swift TurboModule to HelloWorld app#55461

Open
cipolleschi wants to merge 2 commits intofacebook:mainfrom
cipolleschi:export-D92530466
Open

Add sample Swift TurboModule to HelloWorld app#55461
cipolleschi wants to merge 2 commits intofacebook:mainfrom
cipolleschi:export-D92530466

Conversation

@cipolleschi
Copy link
Contributor

Summary:
This diff adds a sample Swift TurboModule (NativeCalculator) to the HelloWorld app to demonstrate the new Swift TurboModule support introduced in D92527173.

The sample includes:

  • TypeScript spec file defining the module interface (add, subtract, multiply, divide)
  • Pure Swift implementation of the TurboModule
  • Objective-C++ provider that bridges the Swift module to the TurboModule infrastructure
  • Updated package.json with codegenConfig and modulesProvider mapping
  • Updated App.tsx to demonstrate using the module

This serves as a reference implementation for developers looking to write TurboModules in pure Swift.

Differential Revision: D92530466

Summary:
This PR adds basic support to the TM infra to run Turbomodules written directly in Swift.

## Changelog:
[iOS][Added] - Add basic support for Swift modules

Pull Request resolved: facebook#52710

Test Plan:
Tested locally in Hello World

https://github.com/user-attachments/assets/9f5f2a06-0d3d-40b7-b555-94d28242300c

Differential Revision: D92527173

Pulled By: cipolleschi
Summary:
This diff adds a sample Swift TurboModule (NativeCalculator) to the HelloWorld app to demonstrate the new Swift TurboModule support introduced in D92527173.

The sample includes:
- TypeScript spec file defining the module interface (add, subtract, multiply, divide)
- Pure Swift implementation of the TurboModule
- Objective-C++ provider that bridges the Swift module to the TurboModule infrastructure
- Updated package.json with codegenConfig and modulesProvider mapping
- Updated App.tsx to demonstrate using the module

This serves as a reference implementation for developers looking to write TurboModules in pure Swift.

Differential Revision: D92530466
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Feb 7, 2026
@meta-codesync
Copy link

meta-codesync bot commented Feb 7, 2026

@cipolleschi has exported this pull request. If you are a Meta employee, you can view the originating Diff in D92530466.

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

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants