amis-rpc-design/node_modules/react-native/scripts/generate-specs-cli.js
2023-10-07 19:42:30 +08:00

62 lines
1.4 KiB
JavaScript

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
'use strict';
const yargs = require('yargs');
const executor = require('./codegen/generate-specs-cli-executor');
const argv = yargs
.option('p', {
alias: 'platform',
describe: 'Platform to generate native code artifacts for.',
})
.option('s', {
alias: 'schemaPath',
describe: 'The path to the schema file.',
})
.option('o', {
alias: 'outputDir',
describe:
'Path to the root directory where native code source files should be saved.',
})
.option('n', {
alias: 'libraryName',
describe: 'Name of specs library.',
default: 'FBReactNativeSpec',
})
.option('j', {
alias: 'javaPackageName',
describe: 'Name of Java package.',
default: 'com.facebook.fbreact.specs',
})
.option('t', {
alias: 'libraryType',
describe: 'all, components, or modules.',
default: 'all',
})
.usage('Usage: $0 <args>')
.demandOption(
['platform', 'schemaPath', 'outputDir'],
'Please provide platform, schema path, and output directory.',
).argv;
function main() {
executor.execute(
argv.platform,
argv.schemaPath,
argv.outputDir,
argv.libraryName,
argv.javaPackageName,
argv.libraryType,
);
}
main();