Skip to content

Instantly share code, notes, and snippets.

@mirashif
Created July 1, 2021 13:57
Show Gist options
  • Save mirashif/465ebcbd5ffa23334b4b16feddc692ff to your computer and use it in GitHub Desktop.
Save mirashif/465ebcbd5ffa23334b4b16feddc692ff to your computer and use it in GitHub Desktop.
React native project initial setup process.

Initial project setup

  • Initialize expo app:
    expo init my-app
  • Template:
    blank typescript
  • Add strict tsconfig.json
    "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "jsx": "react-native",
    "lib": ["dom", "esnext"],
    "moduleResolution": "node",
    "noEmit": true,
    "skipLibCheck": true,
    "resolveJsonModule": true,
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "noImplicitThis": true,
    "alwaysStrict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "forceConsistentCasingInFileNames": true
    }
  • Add eslint config:
    • yarn add eslint eslint-config-react-native-wcandillon --dev
    • .eslintrc
    {
    "extends": "react-native-wcandillon",
    "rules": {
        "camelcase": 0,
        "max-len": 0,
        "react-native/no-unused-styles": 0,
        "no-nested-ternary": 0
    }
    }
    • .eslintignore
    node_modules/**/*
    • Add to the scripts
    "lint": "eslint --ext .ts,.tsx . --max-warning 0",
    "tsc": "tsc",
    "ci": "yarn lint && yarn tsc"
  • Add react navigation:
    https://reactnavigation.org/docs/getting-started/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment