generator-wolmo-bootstrap-rn
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -5,2 +5,10 @@ # Changelog | ||
## [1.1.0] - 2020-05-29 | ||
- Migrated React Navigation configuration to [v5](https://reactnavigation.org/) | ||
## [1.0.1] - 2020-05-04 | ||
- Re-uploaded bootstrap version due to internet connection error | ||
## [1.0.0] - 2020-05-04 | ||
@@ -19,3 +27,3 @@ | ||
- Added multiple env configuration (Debug, QA, Stage and Production) for Android and iOS projects | ||
- Removed unused targets from iOS project and Podfile ([Ruby script](generators/app/tasks/appSetup/scriptIosConfig.rb)) | ||
- Removed unused targets from iOS project and Podfile ([Ruby script](generators/app/tasks/scriptIosConfig.rb)) | ||
- Added configuration to use [firebaseFilesScript](generators/app/templates/googleServicesConfig/firebaseFilesScript.sh) script for Android and iOS projects to automatically copy Google services files | ||
@@ -28,3 +36,3 @@ - Added secret files to `.gitignore` | ||
- Fixed Push Notifications config on `AndroidManifest` | ||
- Added again (temporary) the lane to change the `bundleId (update_bundle_identifier)` and a `TODO` in [editBundleIdentifier](generators/app/tasks/appSetup/editBundleIdentifier.js) task | ||
- Added again (temporary) the lane to change the `bundleId (update_bundle_identifier)` and a `TODO` in [editBundleIdentifier](generators/app/tasks/editBundleIdentifier.js) task | ||
@@ -31,0 +39,0 @@ ## [0.7.2] - 2020-04-03 |
@@ -53,6 +53,12 @@ // BASE FOLDERS | ||
module.exports.APP_NAVIGATOR = `${module.exports.APP_NAVIGATOR_PATH}/index.tsx`; | ||
module.exports.APP_NAVIGATOR_NAVIGATOR = `${module.exports.APP_NAVIGATOR_PATH}/navigator.ts`; | ||
module.exports.APP_NAVIGATOR_NAVIGATOR = `${module.exports.APP_NAVIGATOR_PATH}/navigator.tsx`; | ||
module.exports.NAVIGATION_HELPER = `${module.exports.APP_NAVIGATOR_PATH}/helper.ts`; | ||
// COMPONENTS - CUSTOM STATUS BAR | ||
module.exports.CUSTOM_STATUS_BAR = `${module.exports.COMPONENTS_PATH}/CustomStatusBar`; | ||
// APP COMPONENTS - CUSTOM BUTTON | ||
module.exports.CUSTOM_BUTTON_PATH = `${module.exports.COMPONENTS_PATH}/CustomButton`; | ||
// APPCOMPONENTS - CUSTOM TEXT | ||
// COMPONENTS - CUSTOM TEXT | ||
module.exports.CUSTOM_TEXT_PATH = `${module.exports.COMPONENTS_PATH}/CustomText`; | ||
@@ -70,5 +76,3 @@ // APP COMPONENTS - CUSTOM TEXT INPUT | ||
module.exports.LOGIN_PATH = `${module.exports.SCREENS_PATH}/Login`; | ||
// APP SCREENS - INITIAL LOADING | ||
module.exports.INITIAL_LOADING_PATH = `${module.exports.SCREENS_PATH}/InitialLoading`; | ||
module.exports.INITIAL_LOADING = `${module.exports.INITIAL_LOADING_PATH}/index.tsx`; | ||
// APP SCREENS - ONBOARDING | ||
@@ -75,0 +79,0 @@ module.exports.ONBOARDING_PATH = `${module.exports.SCREENS_PATH}/OnBoarding`; |
@@ -18,2 +18,3 @@ const Generator = require('yeoman-generator'); | ||
const addFilesToGitIgnore = require('./tasks/addFilesToGitIgnore'); | ||
const lintFixProject = require('./tasks/lintFixProject'); | ||
@@ -116,2 +117,3 @@ class ReactNativeBootstrap extends Generator { | ||
.then(() => editBundleIdentifier.bind(this)()) | ||
.then(() => lintFixProject.bind(this)()) | ||
.then(() => gitInitialization.bind(this)()) | ||
@@ -118,0 +120,0 @@ .then(() => this.features.bitrise && bitriseInitialization.bind(this)()) |
@@ -20,3 +20,4 @@ module.exports = function babelConfigSetup() { | ||
'@redux': './src/redux', | ||
'@utils': './src/utils' | ||
'@utils': './src/utils', | ||
'@navigationHelper': './src/app/components/AppNavigator/helper' | ||
} | ||
@@ -23,0 +24,0 @@ } |
@@ -16,3 +16,2 @@ const { copyFile, copyTemplateFile } = require('../../utils'); | ||
MAIN, | ||
APP_NAVIGATOR, | ||
APP_NAVIGATOR_NAVIGATOR, | ||
@@ -43,3 +42,2 @@ CUSTOM_TEXT_PATH, | ||
TESTS_RESPONSES_PATH, | ||
INITIAL_LOADING, | ||
TSCONFIG_FILE, | ||
@@ -50,2 +48,8 @@ INDEX_D_FILE, | ||
JEST_CONFIG_FILE, | ||
NAVIGATION_HELPER, | ||
APP_NAVIGATOR, | ||
AUTH_ACTIONS, | ||
AUTH_REDUCER, | ||
AUTH_SERVICE, | ||
CUSTOM_STATUS_BAR, | ||
REDUX_INTERFACES | ||
@@ -65,3 +69,2 @@ } = require('../../files'); | ||
CONFIG, | ||
APP_NAVIGATOR, | ||
CUSTOM_TEXT_PATH, | ||
@@ -84,3 +87,5 @@ CUSTOM_BUTTON_PATH, | ||
ESLINT_IGNORE_FILE, | ||
JEST_CONFIG_FILE | ||
JEST_CONFIG_FILE, | ||
NAVIGATION_HELPER, | ||
CUSTOM_STATUS_BAR | ||
]; | ||
@@ -95,2 +100,3 @@ | ||
APP, | ||
APP_NAVIGATOR, | ||
APP_NAVIGATOR_NAVIGATOR, | ||
@@ -102,5 +108,7 @@ HOME, | ||
MAIN, | ||
INITIAL_LOADING, | ||
INDEX_D_FILE, | ||
ESLINTRC_FILE, | ||
AUTH_ACTIONS, | ||
AUTH_REDUCER, | ||
AUTH_SERVICE, | ||
NAVIGATION_INTERFACES, | ||
@@ -107,0 +115,0 @@ REDUX_INTERFACES |
@@ -78,2 +78,3 @@ const ora = require('ora'); | ||
} | ||
// ---------------- Features: Firebase ---------------- | ||
@@ -80,0 +81,0 @@ if ( |
@@ -1,6 +0,3 @@ | ||
const { copyFile, copyTemplateFile } = require('../../utils'); | ||
const { copyFile } = require('../../utils'); | ||
const { | ||
AUTH_ACTIONS, | ||
AUTH_REDUCER, | ||
AUTH_SERVICE, | ||
LOGIN_PATH, | ||
@@ -13,16 +10,6 @@ TESTS_AUTH_PATH, | ||
const FILES = [ | ||
AUTH_REDUCER, | ||
AUTH_SERVICE, | ||
LOGIN_PATH, | ||
TESTS_AUTH_PATH, | ||
TESTS_LOGIN_SCREEN_PATH, | ||
TESTS_UTILS, | ||
AUTH_INTERFACES | ||
]; | ||
const TEMPLATE_FILES = [AUTH_ACTIONS]; | ||
const FILES = [LOGIN_PATH, TESTS_AUTH_PATH, TESTS_LOGIN_SCREEN_PATH, TESTS_UTILS, AUTH_INTERFACES]; | ||
module.exports = function loginFeatureFiles() { | ||
TEMPLATE_FILES.forEach(copyTemplateFile.bind(this)); | ||
FILES.forEach(copyFile.bind(this)); | ||
}; |
@@ -22,3 +22,3 @@ const latestSemver = require('latest-semver'); | ||
// https://github.com/software-mansion/react-native-gesture-handler/issues/950 | ||
'react-native-gesture-handler@1.5.3', | ||
'react-native-gesture-handler', | ||
'react-native-localize', | ||
@@ -29,6 +29,4 @@ 'react-native-reanimated', | ||
'react-native-splash-screen', | ||
'react-navigation', | ||
'react-navigation-animated-switch', | ||
'react-navigation-redux-helpers', | ||
'react-navigation-stack', | ||
'@react-navigation/native', | ||
'@react-navigation/stack', | ||
'react-redux', | ||
@@ -126,3 +124,3 @@ 'reactotron-apisauce', | ||
if (this.features.tabs) { | ||
DEPENDENCIES.push('react-navigation-tabs'); | ||
DEPENDENCIES.push('@react-navigation/bottom-tabs'); | ||
} | ||
@@ -154,3 +152,3 @@ | ||
if (this.features.drawer) { | ||
DEPENDENCIES.push('react-navigation-drawer'); | ||
DEPENDENCIES.push('@react-navigation/drawer'); | ||
} | ||
@@ -157,0 +155,0 @@ |
@@ -0,1 +1,2 @@ | ||
/* eslint-disable @typescript-eslint/no-unused-vars */ | ||
import { create, NETWORK_ERROR } from 'apisauce'; | ||
@@ -5,2 +6,3 @@ import { CamelcaseSerializer, SnakecaseSerializer } from 'cerealizr'; | ||
import Reactotron from 'reactotron-react-native'; | ||
import { Dispatch } from 'react'; | ||
@@ -19,3 +21,3 @@ const snakeCaseSerializer = new SnakecaseSerializer(); | ||
export const apiSetup = (/* dispatch you should modified in the index root file too*/) => { | ||
export const apiSetup = (dispatch: Dispatch<any>) => { | ||
if (baseURL === 'http://wolox.com') { | ||
@@ -22,0 +24,0 @@ console.warn('API baseURL has not been properly initialized'); |
@@ -1,5 +0,1 @@ | ||
import { NavigationScreenComponent } from 'react-navigation'; | ||
import { NavOptionsType } from './navigation'; | ||
type Key = string | number; | ||
@@ -18,12 +14,1 @@ | ||
export type NumberObject = GenericObjectInterface<number>; | ||
export type ScreenObj = { | ||
[key: string]: NavigationScreenComponent<{}, {}>; | ||
}; | ||
export type ScreenRoute = { | ||
[x: string]: { | ||
screen: NavigationScreenComponent<{}, {}>; | ||
navigationOptions: NavOptionsType; | ||
}; | ||
}; |
@@ -0,23 +1,11 @@ | ||
// TODO: Uncomment lines when you start using them | ||
// import analytics from '@react-native-firebase/analytics'; TODO: Use later when you want to catch some redux actions here in this middleware | ||
import { Dispatch } from 'react'; | ||
import { NavigationActions, StackActions } from 'react-navigation'; | ||
import analytics from '@react-native-firebase/analytics'; | ||
import { ReduxObject } from '@interfaces/reduxInterfaces'; | ||
import { getPreviousRouteName } from '@utils/navUtils'; | ||
// import { ReduxObject } from '@interfaces/reduxInterfaces'; | ||
const trackNavigation = (routeName: string | null) => { | ||
if (routeName) analytics().setCurrentScreen(routeName, `${routeName}.js`); | ||
}; | ||
const eventsTrackingMiddleware = ({ getState }: ReduxObject) => (next: Dispatch<any>) => (action: any) => { | ||
const eventsTrackingMiddleware = (/* TODO: { getState }: ReduxObject in the future*/) => ( | ||
next: Dispatch<any> | ||
) => (action: any) => { | ||
switch (action.type) { | ||
case NavigationActions.NAVIGATE: | ||
case StackActions.REPLACE: | ||
trackNavigation(action.routeName); | ||
break; | ||
case NavigationActions.BACK: | ||
trackNavigation(getPreviousRouteName(getState().nav)); | ||
break; | ||
case StackActions.RESET: | ||
trackNavigation(action.actions[action.index].routeName); | ||
break; | ||
// TODO: Here catch redux actions and use analytics | ||
default: | ||
@@ -24,0 +12,0 @@ break; |
@@ -5,4 +5,5 @@ import AsyncStorage from '@react-native-community/async-storage'; | ||
export const setOnBoardingAccess = () => AsyncStorage.setItem(ONBOARDING_KEY, JSON.stringify(true)); | ||
export const setOnBoardingAccess = (value: boolean) => | ||
AsyncStorage.setItem(ONBOARDING_KEY, JSON.stringify(value)); | ||
export const getOnBoardingAccess = () => | ||
AsyncStorage.getItem(ONBOARDING_KEY).then(value => JSON.parse(`${value}`)); |
@@ -24,3 +24,4 @@ { | ||
"@interfaces/*": ["src/interfaces/*"], | ||
"@screens/*": ["./src/app/screens/*"] | ||
"@screens/*": ["./src/app/screens/*"], | ||
"@navigationHelper": ["src/app/components/AppNavigator/helper.ts"] | ||
}, | ||
@@ -27,0 +28,0 @@ "skipLibCheck": true |
{ | ||
"name": "generator-wolmo-bootstrap-rn", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"description": "A project generator for react native applications with some boilerplates already configured and ready to use.", | ||
@@ -5,0 +5,0 @@ "files": [ |
@@ -125,3 +125,2 @@ # Wolmo Bootstrap: React Native | ||
<a href="https://github.com/felire"><img src="https://avatars3.githubusercontent.com/u/11776795?s=460&v=4" title="felire" width="80" height="80"></a> | ||
<a href="https://github.com/ignaciosantise"><img src="https://avatars3.githubusercontent.com/u/25931366?s=460&v=4" title="ignaciosantise" width="80" height="80"></a> | ||
@@ -128,0 +127,0 @@ ![Wolox](https://raw.githubusercontent.com/Wolox/press-kit/master/logos/logo_banner.png). |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2282066
206
3715
151