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:
Родитель
fcda1ac514
Коммит
09b69036c0
|
@ -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({
|
||||
|
|
Загрузка…
Ссылка в новой задаче