{"id":30105090,"url":"https://github.com/forbole/mrm-preset-forbole-rn","last_synced_at":"2025-08-27T13:06:22.311Z","repository":{"id":57682266,"uuid":"477147471","full_name":"forbole/mrm-preset-forbole-rn","owner":"forbole","description":"MRM Preset for react-native projects @Forbole","archived":false,"fork":false,"pushed_at":"2022-06-25T14:11:34.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-09T23:52:19.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/forbole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license/LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-02T19:06:30.000Z","updated_at":"2022-04-03T12:39:14.000Z","dependencies_parsed_at":"2022-09-10T16:32:37.323Z","dependency_job_id":null,"html_url":"https://github.com/forbole/mrm-preset-forbole-rn","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/forbole/mrm-preset-forbole-rn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forbole%2Fmrm-preset-forbole-rn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forbole%2Fmrm-preset-forbole-rn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forbole%2Fmrm-preset-forbole-rn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forbole%2Fmrm-preset-forbole-rn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forbole","download_url":"https://codeload.github.com/forbole/mrm-preset-forbole-rn/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forbole%2Fmrm-preset-forbole-rn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272334798,"owners_count":24916303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-08-09T23:45:55.233Z","updated_at":"2025-08-27T13:06:22.303Z","avatar_url":"https://github.com/forbole.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mrm-preset-forbole-rn\n\nMRM preset for scaffolding react-native projects [@Forbole](https://github.com/forbole).\n\n## Usage\n### Pre-requisites\n1. Initialize a new typescript react-native project\n```shell\nnpx react-native init {{APP_NAME_GOES_HERE}} --template react-native-template-typescript\n```\n\n2. Install lint-staged\n```shell\nnpx mrm@2 lint-staged\n```\n\n3. Install storybook for react-native\n```shell\nnpx -p @storybook/cli sb init --type react_native\n```\n\n### Installation \u0026 Usage\n1. Install mrm to local dev dependencies\n```shell\nyarn add -D mrm\n```\n2. Install this preset package\n```shell\nyarn add -D @forbole/mrm-preset-forbole-rn\n```\n3. Run the preset's MRM scripts\n```shell\nyarn mrm default --preset @forbole/mrm-preset-forbole-rn \n```\n4. Clean Up: After installation, remove mrm and this preset.\n```shell\nyarn remove mrm @forbole/mrm-preset-forbole-rn \n```\n\n### Additional Setup\nThe following tasks are not 100% automatic.\n1. storybook\n\nAn `index.storybook.js` file will be copied to the root directory, along with the necessary `use:main` and `use:storybook` scripts to switch between app modes. \n\nThe existing `index.js` file in the project root should be copied into `index.main.js` to finalize installation.\n\n2. i18next\n\n`index.js`, `index.main.js` and `index.storybook.js` should be modified by adding the following import to initialize i18n.\n```shell\nimport './src/assets/locales/i18n'\n```\n\n## Contents\nThis preset contains the following tasks:\n1. eslint\n2. jest\n3. essentials\n4. husky\n5. storybook\n6. i18next\n\n### eslint\nThis task installs a custom eslint preset built off of `airbnb` and `react-native-community` presets, as well as configuring eslint with typescript compatibility.\n\n### jest\nThis task installs [`@testing-library/react-native`](https://www.npmjs.com/package/@testing-library/react-native) and its additional jest matchers, and configures the `transformIgnorePatterns` jest property with better compatibility with react-native, and react-navigation.\n\n### essentials\nThis task installs several packages that are commonly used in our applications, and configures the project for their use. The current list is as follows:\n1. `@react-navigation/native`,\n2. `react-native-screens` (@react-navigation dependency)\n3. `react-native-safe-area-context` (@react-navigation dependency)\n4. `@react-navigation/stack`\n5. `react-native-gesture-handler` (@react-navigation/stack dependency)\n6. `@react-native-masked-view/masked-view` (@react-native/stack dependency)\n7. `formik` - form validation\n8. `yup` - form validation schemas\n9. `graphql`\n10. `@apollo/client`\n\n### husky\nThis task modifies the default husky installation so that eslint errors are flagged during the pre-commit stage and will prevent the commit from succeeding until the issues are manually fixed. (The default behavior is that eslint errors will be automatically fixed on commit, however this may be unwanted in some cases.)\n\n### storybook\nThis task modifies the default storybook installation and adds a `SbContainer` decorator component for use when creating stories.\n\nInstallation is not 100% automatic (see Addition Setup).\n\n### i18next\nThis task installs and configures `i18next` for react-native projects, and adds a dummy en locale to act as an example.\n\nInstallation is not 100% automatic (see Addition Setup).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforbole%2Fmrm-preset-forbole-rn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforbole%2Fmrm-preset-forbole-rn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforbole%2Fmrm-preset-forbole-rn/lists"}