react-native-graphql-boilerplate
v1.7.9
Published
Neosyn go-to boilerplate for new mobile projects.
Downloads
5
Readme
React Native Boilerplate
Neosyn go-to boilerplate for new mobile projects.
Features
- React Native The React Native Framework for Production.
- Jest: tool to test React components and hooks.
- Prettier: opinionated code formatter.
- Husky + lint-staged: git hooks to run commands before git events (commit, push, etc).
- Codegen: GraphQL API code generation (GraphQL.schema).
- react-i18next is a powerful internationalization framework for React/React Native
- commit-lint
- react-native-dotenv Load environment variables using import statements.
Extensions vscode
- Eslint: ESLint helps developers identify and fix code errors, vulnerabilities, and coding styles that do not conform to project guidelines.
- Prettier Prettier is a code formatting tool that helps developers write cleaner and more readable code.
Coming soon
- Github Actions: add Github Actions task to add CI/CD workflow.
Commitlint
For each type add first id jira e.g. docs(PC-6): add readme
Commonly used commit types from Conventional Commit Types
| Type | Description | | :------- | :------------------------------------------------------------------------------- | | feat | A new feature | | fix | A bug fix | | docs | Documentation only changes | | style | Changes that do not affect the meaning of the code (white-space, formatting etc) | | refactor | A code change that neither fixes a bug nor adds a feature | | perf | A code change that improves performance | | test | Adding missing tests or correcting existing tests | | build | Changes that affect the build system or external dependencies | | ci | Changes to our CI configuration files and scripts | | chore | Other changes that don't modify src or test files | | revert | Reverts a previous commit |
GraphQL API
@graphql-codegen/cli: CLI tool for generating code based on GraphQL schemas and operations.
@graphql-codegen/typescript: designed to generate TypeScript code from your GraphQL schema
@graphql-codegen/typescript-graphql-request: creates functions and code that help you send queries, mutations, and subscriptions to a GraphQL server.
@graphql-codegen/typescript-operations: this is a template plugin
@graphql-codegen/typescript-react-apollo: this is a template plugin (we can specify different templates. As I mentioned in the very beginning code gen support for many frameworks and languages. If our requirement is to go with relay instead of Apollo, we can generate compatible code by adjusting these template plugins)
@graphql-codegen/near-operation-file-preset: generates operation typings per each operation file, near the original file of the operation
It's possible to generate hooks with yarn generate-gql-queries
command. It will generate a single file (./src/network/types.ts
) with hooks and models.
To remove code generation for GraphQL API it's needed to:
- delete some packages:
yarn remove @graphql-codegen/cli @graphql-codegen/typescript @graphql-codegen/typescript-graphql-request @graphql-codegen/typescript-operations @graphql-codegen/typescript-react-apollo @graphql-codegen/near-operation-file-preset
Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.
Step 1: Start the Metro Server
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# using npm
npm start
# OR using Yarn
yarn start
Step 2: Start your Application
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
For Android
# using npm
npm run android
# OR using Yarn
yarn android
For iOS
# using npm
npm run ios
# OR using Yarn
yarn ios
If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
Step 3: Modifying your App
Now that you have successfully run the app, let's modify it.
Open
App.tsx
in your text editor of choice and edit some lines.For Android: Press the R key twice or select "Reload" from the Developer Menu (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!
For iOS: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!
Congratulations! :tada:
You've successfully run and modified your React Native App. :partying_face:
Now what?
- If you want to add this new React Native code to an existing application, check out the Integration guide.
- If you're curious to learn more about React Native, check out the Introduction to React Native.
Troubleshooting
If you can't get this to work, see the Troubleshooting page.
Learn More
To learn more about React Native, take a look at the following resources:
- React Native Website - learn more about React Native.
- Getting Started - an overview of React Native and how setup your environment.
- Learn the Basics - a guided tour of the React Native basics.
- Blog - read the latest official React Native Blog posts.
@facebook/react-native
- the Open Source; GitHub repository for React Native.