Fallback to use lib when src doesn't exist.

Summary:
Changelog: [Internal] babel-plugin-codegen.js to fallback to use lib instead of src.

The bubel plugin uses react-native-codegen/src but it's not compatible when react-native-codegen is installed as a separate dependency (which is the case for OSS).

Reviewed By: cortinico

Differential Revision: D32908846

fbshipit-source-id: 1d3e3a3485e94e2f051e220d76dd2dbcdd8070a8
This commit is contained in:
Sota Ogo 2021-12-07 12:33:01 -08:00 коммит произвёл Facebook GitHub Bot
Родитель fcda1ac514
Коммит 09b69036c0
1 изменённых файлов: 12 добавлений и 3 удалений

Просмотреть файл

@ -9,12 +9,21 @@
'use strict';
const {parseString} = require('react-native-codegen/src/parsers/flow');
const RNCodegen = require('react-native-codegen/src/generators/RNCodegen');
let flow, RNCodegen;
const {basename} = require('path');
try {
flow = require('react-native-codegen/src/parsers/flow');
RNCodegen = require('react-native-codegen/src/generators/RNCodegen');
} catch (e) {
// Fallback to lib when source doesn't exit (e.g. when installed as a dev dependency)
flow = require('react-native-codegen/lib/parsers/flow');
RNCodegen = require('react-native-codegen/lib/generators/RNCodegen');
}
function generateViewConfig(filename, code) {
const schema = parseString(code);
const schema = flow.parseString(code);
const libraryName = basename(filename).replace(/NativeComponent\.js$/, '');
return RNCodegen.generateViewConfig({