mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
c67e1fe42f
Summary: *This is a follow-up to https://github.com/facebook/react-native/issues/28645, redone using a build script based off of Metro's build script instead of using `flow-remove-types` and `flow-copy-source`.* This pull request adds a build step to `react-native-codegen` that builds the Flow-annotated JS files so that users of the NPM module `react-native-codegen` do not need to use require hooks to be able to import it. A new build script, `scripts/build.js` is added that builds every JS file in `src/` into a `lib/` folder, and also copies over the original Flow annotated files to `lib/` with a `.js.flow` extension, so users of `react-native-codegen` can still typecheck against it using Flow. The shell scripts in `src` are also copied over. It is based off of the [build script from Metro](https://github.com/facebook/metro/blob/00867816eb9b2f69c8af9cebb523e9e4d280671a/scripts/build.js) ## Changelog [General] [Added] - Codegen: Add prepublish script to build Flow files Pull Request resolved: https://github.com/facebook/react-native/pull/28827 Test Plan: I am able to make use of the Codegen scripts without needing to use the `flow-node` CLI or the `flow-remove-types/register` require hook. Reviewed By: cpojer Differential Revision: D21412173 Pulled By: hramos fbshipit-source-id: 26ae67cdd04652ca4700a069a234a25558773cb1
40 lines
1.2 KiB
JSON
40 lines
1.2 KiB
JSON
{
|
|
"name": "react-native-codegen",
|
|
"version": "0.0.2",
|
|
"description": "⚛️ Code generation tools for React Native",
|
|
"homepage": "https://github.com/facebook/react-native/tree/master/packages/react-native-codegen",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git@github.com:facebook/react-native.git"
|
|
},
|
|
"scripts": {
|
|
"build": "yarn clean && node scripts/build.js --verbose",
|
|
"clean": "rm -rf lib",
|
|
"prepublish": "yarn run build"
|
|
},
|
|
"license": "MIT",
|
|
"files": [
|
|
"lib"
|
|
],
|
|
"dependencies": {
|
|
"flow-parser": "^0.121.0",
|
|
"jscodeshift": "^0.9.0",
|
|
"nullthrows": "^1.1.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.0.0",
|
|
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
|
|
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
|
|
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
|
|
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
|
|
"@babel/plugin-transform-async-to-generator": "^7.0.0",
|
|
"@babel/plugin-transform-destructuring": "^7.0.0",
|
|
"@babel/plugin-transform-flow-strip-types": "^7.0.0",
|
|
"chalk": "^4.0.0",
|
|
"glob": "^7.1.1",
|
|
"micromatch": "^4.0.2",
|
|
"mkdirp": "^0.5.1",
|
|
"prettier": "1.19.1"
|
|
}
|
|
}
|