Socket
Socket
Sign inDemoInstall

react-native-tscodegen

Package Overview
Dependencies
Maintainers
4
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-tscodegen

TypeScript Code Generation for React Native Turbo Module


Version published
Maintainers
4
Created
Source

Welcome to react-native-tscodegen (beta)!

This library enable people to write react-native Turbo Module in TypeScript, and generate native code in C++, Objective C++ and Java!

Target react-native version

0.70.1

Authoring a Turbo Module

At this moment, the new Turbo Module API is not published by Facebook, you need npm package react-native-tscodegen-types to access these new APIs. Here is an example of a very simple Turbo Module TypeScript file: ./src/turboModule.ts.

import { TurboModule, TurboModuleRegistry } from 'react-native-tscodegen-types';

export interface Spec extends TurboModule {
  getHello(name: string): string;
}

// tslint:disable-next-line
export default (TurboModuleRegistry.getEnforcing<Spec>('SampleTurboModule') as Spec);

Code generation

In order to do code generation, you need an extra JSON file for this TypeScript file. They are one-to-one mapping for now, if you have multiple TypeScript files, you need multiple JSON files This will be improved in the future.

Name the following file as react-native-tscodegen.json

{
    "libraryName": "PlaygroundModule",
    "outputDirectory": "./lib/cpp-generated",
    "moduleSpecName": "PlaygroundModuleSpec",
    "generators": [
        "descriptors",
        "events",
        "props",
        "tests",
        "shadow-nodes", 
        "modulesAndroid",
        "modulesCxx",
        "modulesIOS"
    ],
    "inputFile": "./src/turboModule.ts"
}

And add this script to your package.json

{
  "scripts": {
    "codegen": "react-native-tscodegen ./react-native-tscodegen.json"
  }
}

After running npm run codegen, you will see files get generated in ./lib/cpp-generated.

Building C++ files

You are expected to use react-native-windows for implementing turbo modules in C++.

FAQs

Package last updated on 13 Dec 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc