{"id":16764833,"url":"https://github.com/matipl01/react-native-library-template","last_synced_at":"2026-01-29T06:33:17.635Z","repository":{"id":215544759,"uuid":"737076538","full_name":"MatiPl01/react-native-library-template","owner":"MatiPl01","description":"An optimized React Native library boilerplate equipped with valuable tools, simplifying library development and ensuring high-quality code.","archived":false,"fork":false,"pushed_at":"2025-11-28T09:43:51.000Z","size":5725,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-13T20:40:42.731Z","etag":null,"topics":["boilerplate","expo","library","npm","react-native","react-native-cli","setup","template","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatiPl01.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-29T18:36:18.000Z","updated_at":"2025-11-28T08:11:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"e04fe34e-cf1a-413f-9ad9-d4a911c2a8c6","html_url":"https://github.com/MatiPl01/react-native-library-template","commit_stats":{"total_commits":62,"total_committers":3,"mean_commits":"20.666666666666668","dds":"0.30645161290322576","last_synced_commit":"3ccc42f7e64f688c0fb082f14424c1483598e82b"},"previous_names":["matipl01/react-native-library-template"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/MatiPl01/react-native-library-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatiPl01%2Freact-native-library-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatiPl01%2Freact-native-library-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatiPl01%2Freact-native-library-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatiPl01%2Freact-native-library-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatiPl01","download_url":"https://codeload.github.com/MatiPl01/react-native-library-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatiPl01%2Freact-native-library-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28867103,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T05:56:06.453Z","status":"ssl_error","status_checked_at":"2026-01-29T05:55:57.668Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","expo","library","npm","react-native","react-native-cli","setup","template","typescript"],"created_at":"2024-10-13T05:27:21.016Z","updated_at":"2026-01-29T06:33:17.613Z","avatar_url":"https://github.com/MatiPl01.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📚 React Native Library Template\n\nThis repository is an optimized React Native library boilerplate, designed to boost your library development process.🧑‍💻🔧 It's tailored for both bare React Native applications and Expo-created ones. This boilerplate is equipped with valuable tools, simplifying library development and ensuring high-quality code.\n\n## 🌟 Features\n\n- Enforces code style with eslint, prettier, and TypeScript,\n- Precommit hooks checking code style and type issues,\n- GitHub Actions to aid in your development process,\n- Automated library deployments to npm and hassle-free versioning thanks to [_semantic-release_](https://github.com/semantic-release/semantic-release),\n- Provides an example app for both bare React Native projects and Expo-managed ones,\n- `jest` setup is also available with example tests\n\n## 📋 Requirements\n\nNode 18 or greater is required. Development for iOS needs a Mac and Xcode.\n\n## 🚀 Quick Start\n\nTo create a fresh project, just run:\n\n```sh\nnpx rn-lib-temp init \u003cprojectName\u003e\n```\n\nBefore starting development, go to the directory where you created the template project and install all necessary dependencies with `yarn`:\n\n```sh\nyarn\n```\n\n**For iOS only**: Install required Pods for the bare React Native example app (`example/fabric` or `example/paper`):\n\n```sh\nyarn pod\n```\n\n## 💫 GitHub Actions\n\nTo use the GitHub Actions bundled with this boilerplate, you'll need to provide 2 secrets (refer to [this](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) page for more about secrets):\n\n- `GH_TOKEN` - a GitHub token with `repo` permissions (check [docs](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) for more on GitHub access tokens).\n- `NPM_TOKEN` - an npm token employed by [_semantic-release_](https://github.com/semantic-release/semantic-release) for automatic library deployment (see [docs](https://docs.npmjs.com/about-access-tokens) for info on npm access tokens).\n\nAlternatively, remove workflows from the `.github` directory if you prefer not to use GitHub Actions.\n\n## 🛠️ Library Development\n\n### 🏗️ Project Structure\n\nhe repository uses the most common monorepo structure where the `example` directory contains the example app and the `packages` directory contains sources of the library itself, as well as, documentation and other packages (if necessary).\n\n#### Library Source Files\n\nBy default, the resulting library will include files specified under the `files` key in the `packages/\u003cyour-library-name\u003e/package.json`:\n\n- `src` directory - where you write all library source code,\n- `dist` directory - generated by **react-native-builder-bob** during the build process,\n- `LICENSE` - you should include your `LICENSE` file because it's not provided by default,\n- `CHANGELOG.md` - a file containing all version history with included changes, automatically generated by the **semantic-release** library,\n- `README.md` - readme file from the repository root directory\n\n#### Library Dependencies\n\n##### Included in the library\n\n- Usually for smaller dependencies or these which must point to the exact version,\n- Should be listed under `dependencies` field in the `packages/\u003cyour-library-name\u003e/package.json`\n\n##### Dependencies that must be installed by the user\n\n- Usually large dependencies or these, which are commonly used by other packages (such as `react-native-reanimated`),\n- Should be listed under `peerDependencies` field in the `packages/\u003cyour-library-name\u003e/package.json`,\n- Should be installed as `dependencies` of the example app (added to the `example/app/package.json`)\n\nAll dependencies should be installed with `yarn` in order to ensure that yarn workspaces work properly.\n\n### 📱 Example App\n\nThe example app is located in the `example` directory. Inside, you'll find three subdirectories:\n\n- `app` - Where the example app source code is located\n- `fabric` - Sources necessary to run the bare React Native app on Fabric (the New Architecture)\n- `paper` - Sources necessary to run the paper React Native app on Paper (the Old Architecture)\n- `expo` - Sources of the expo-managed app\n\nIf you don't need to include **expo** or **fabric**/**paper** React Native app example, you can just remove the corresponding directory.\n\n#### Useful Commands\n\nFor launching the bare React Native example app:\n\n```sh\nyarn start|android|ios|pod\n```\n\nFor the Expo React Native app:\n\n```sh\nyarn start|android|ios\n```\n\n- `start` - starts metro client\n- `android` - starts example app on the Android emulator/device,\n- `ios` - starts example app on the iOS simulator/device,\n- `pod` - installs Pods required by example app native iOS dependencies.\n\n### 🔄 Automatic deployments\n\nThe `release.yaml` workflow included in the project contains the auto deployment logic. By default, the deployment will be caused on the **workflow dispatch** action (manually from the GitHub Actions page). You can change this behavior by modifying the workflow triggers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatipl01%2Freact-native-library-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatipl01%2Freact-native-library-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatipl01%2Freact-native-library-template/lists"}