New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

react-native-tscodegen-parser

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-tscodegen-parser

TypeScript Code Generation for React Native Turbo Module

latest
Source
npmnpm
Version
1.2.0
Version published
Maintainers
1
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