MCPcopy
hub / github.com/callstack/react-native-builder-bob

github.com/callstack/react-native-builder-bob @0.43.0 sqlite

repository ↗ · DeepWiki ↗ · release 0.43.0 ↗
5,475 symbols 19,623 edges 116 files 0 documented · 0%
README

<img alt="React Native Builder Bob" src="https://github.com/callstack/react-native-builder-bob/raw/0.43.0/docs/assets/banner.png">

create-react-native-library react-native-builder-bob MIT License

👷‍♂️ Set of CLIs to scaffold and build React Native libraries for different targets.

Documentation

Documentation is available at https://oss.callstack.com/react-native-builder-bob/.

Development workflow

This project uses a monorepo using yarn. To setup the project, run yarn in the root directory to install the required dependencies.

yarn

While developing, you can run watch mode to automatically rebuild the changes:

yarn watch

To test the CLI locally, you can point to the appropriate executable:

../bob/packages/create-react-native-library/bin/create-react-native-library

Before sending a pull request, make sure your code passes TypeScript and ESLint. Run the following to verify:

yarn typecheck
yarn lint

To fix formatting errors, run the following:

yarn lint --fix

The documentation for the project is under docs directory. To run the documentation locally, run the following:

yarn docs dev

Publishing

Maintainers with write access to the GitHub repo and the npm organization can publish new versions. To publish a new version, first, you need to export a GH_TOKEN environment variable as mentioned here. Then run:

yarn lerna publish

This will automatically bump the version and publish the packages. It'll also publish the changelogs on GitHub for each package.

When releasing a pre-release version, we need to:

  • Update lerna.json to set the preId (e.g. next) and preDistTag (e.g. next) fields, and potentially the allowBranch field.
  • Run the following command:
yarn lerna publish --conventional-commits --conventional-prerelease --preid next

When releasing a stable version, we need to:

  • Remove the preId and preDistTag fields from lerna.json.
  • Run the following command:
yarn lerna publish --conventional-commits --conventional-graduate

Acknowledgments

Thanks to the authors of these libraries for inspiration:

Alternatives

Some other tools for building React Native libraries that you may want to check out:

LICENSE

MIT

Extension points exported contracts — how you extend this code

TransformCaller (Interface)
(no doc)
packages/react-native-builder-bob/src/types.ts
NativeProps (Interface)
(no doc)
packages/create-react-native-library/templates/native-view-new/src/{%- project.name %}ViewNativeComponent.ts
Spec (Interface)
(no doc)
packages/create-react-native-library/templates/native-library-new/src/Native{%- project.name %}.ts

Core symbols most depended-on inside this repo

push
called by 981
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
y
called by 976
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
get
called by 721
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
_
called by 630
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
slice
called by 496
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
map
called by 487
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
has
called by 327
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs
resolve
called by 323
packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs

Shape

Function 4,118
Method 1,342
Class 12
Interface 3

Languages

TypeScript100%

Modules by API surface

packages/create-react-native-library/templates/common/$.yarn/releases/yarn-4.11.0.cjs5,377 symbols
packages/react-native-builder-bob/src/targets/typescript.ts7 symbols
packages/react-native-builder-bob/src/babel.ts7 symbols
packages/create-react-native-library/src/template.ts5 symbols
packages/react-native-builder-bob/src/utils/resolveModuleSpecifier.ts4 symbols
packages/react-native-builder-bob/src/__tests__/updateSourceMap.test.ts3 symbols
packages/react-native-builder-bob/src/__tests__/typescript.test.ts3 symbols
packages/create-react-native-library/src/utils/local.ts3 symbols
packages/create-react-native-library/src/prompt.ts3 symbols
packages/create-react-native-library/src/inform.ts3 symbols
packages/create-react-native-library/src/exampleApp/generateExampleApp.ts3 symbols
packages/react-native-builder-bob/src/utils/prompts.ts2 symbols

Dependencies from manifests, versioned

@babel/core7.29.0 · 1×
@babel/plugin-transform-flow-strip-types7.27.1 · 1×
@babel/plugin-transform-strict-mode7.27.1 · 1×
@babel/preset-env7.29.2 · 1×
@babel/preset-react7.28.5 · 1×
@babel/preset-typescript7.28.5 · 1×
@callstack/rspress-preset0.6.4 · 1×
@callstack/rspress-theme0.6.4 · 1×
@commitlint/config-conventional20.5.0 · 1×
@eslint/compat2.0.3 · 1×
@eslint/eslintrc3.3.5 · 1×
@eslint/js9.39.4 · 1×

For agents

$ claude mcp add react-native-builder-bob \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact