diff --git a/.github/workflows/expo.build.yml b/.github/workflows/expo.build.yml index e5ef68613..7b2c502ee 100644 --- a/.github/workflows/expo.build.yml +++ b/.github/workflows/expo.build.yml @@ -10,6 +10,12 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true +env: + MAPBOX_DOWNLOADS_TOKEN: ${{ secrets.MAPBOX_DOWNLOADS_TOKEN }} + EXPO_PUBLIC_CLIENT_URL: ${{ vars.EXPO_PUBLIC_CLIENT_URL }} + EXPO_PUBLIC_API_URL: ${{ vars.EXPO_PUBLIC_API_URL }} + EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN: ${{ vars.EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN }} + jobs: build-android: runs-on: ubuntu-latest @@ -33,7 +39,7 @@ jobs: run: | eas build --non-interactive --platform android --local env: - MAPBOX_DOWNLOADS_TOKEN: ${{ secrets.MAPBOX_DOWNLOADS_TOKEN }} + EXPO_PUBLIC_ANDROID_CLIENT_ID: ${{ vars.EXPO_PUBLIC_ANDROID_CLIENT_ID }} - name: Upload APK uses: actions/upload-artifact@v3 @@ -62,10 +68,10 @@ jobs: run: | eas build --non-interactive --platform ios --local env: - MAPBOX_DOWNLOADS_TOKEN: ${{ secrets.MAPBOX_DOWNLOADS_TOKEN }} + EXPO_PUBLIC_IOS_CLIENT_ID: ${{ vars.EXPO_PUBLIC_IOS_CLIENT_ID }} - name: Upload IPA uses: actions/upload-artifact@v3 with: name: ios-ipa - path: /home/runner/work/PackRat/PackRat/apps/expo/build-*.ipa \ No newline at end of file + path: /home/runner/work/PackRat/PackRat/apps/expo/build-*.ipa diff --git a/apps/expo/app.config.js b/apps/expo/app.config.js index cb7e75895..f7c19c2c7 100644 --- a/apps/expo/app.config.js +++ b/apps/expo/app.config.js @@ -1,17 +1,4 @@ -import 'dotenv/config'; - module.exports = ({ config }) => { - config.extra.NODE_ENV = process.env.NODE_ENV; - config.extra.CLIENT_URL = process.env.CLIENT_URL; - config.extra.MAPBOX_ACCESS_TOKEN = process.env.MAPBOX_ACCESS_TOKEN; - config.extra.API_URL = process.env.API_URL; - - config.extra.EXPO_PUBLIC_NODE_ENV = process.env.EXPO_PUBLIC_NODE_ENV; - config.extra.EXPO_PUBLIC_CLIENT_URL = process.env.EXPO_PUBLIC_CLIENT_URL; - config.extra.EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN = - process.env.EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN; - config.extra.EXPO_PUBLIC_API_URL = process.env.EXPO_PUBLIC_API_URL; - return { ...config, plugins: config.plugins.map((i) => { diff --git a/apps/expo/env.example b/apps/expo/env.example index 467e05689..515b847f0 100644 --- a/apps/expo/env.example +++ b/apps/expo/env.example @@ -1,23 +1,9 @@ -—————————Client Env ——————————— -MONGODB_URI="Your mongodb URI" -CLIENT_URL="Your client url" +—————————EXPO CLIENT ENV ——————————— NODE_ENV='development' -API_URL='Your api url' -NPS_API = "Your api key" -GEOAPIFY_KEY = "Your api key" -GOOGLE_PLACES_API_KEY = 'Your api key' -MAPBOX_API_KEY = "Your api key, starts with pk..." -OPENWEATHER_KEY = "Your api key" -X_RAPIDAPI_KEY = "Your api key" -MAPBOX_ACCESS_TOKEN = "Your api key, starts with pk..." +EXPO_PUBLIC_CLIENT_URL="Your client url" +EXPO_PUBLIC_API_URL="Your api url" +EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN="Your api key, starts with pk..." +EXPO_PUBLIC_ANDROID_CLIENT_ID="962352557394-........................apps.googleusercontent.com" +EXPO_PUBLIC_IOS_CLIENT_ID="962352557394-........................apps.googleusercontent.com" MAPBOX_DOWNLOADS_TOKEN="Your api key, starts with sk..." -WEB_CLIENT_ID="962352557394-..................apps.googleusercontent.com" -ANDROID_CLIENT_ID="962352557394-........................apps.googleusercontent.com" -IOS_CLIENT_ID="962352557394-........................apps.googleusercontent.com" -FIREBASE_API_KEY = 'Your api key' -FIREBASE_AUTH_DOMAIN = "Your auth domain" -FIREBASE_PROJECT_ID = "Your firebase project id" -FIREBASE_STORAGE_BUCKET = "Your firebase_storage_key_link" -FIREBASE_MESSAGING_SENDER_ID = "Your firebase_messaging_sender_ID" -FIREBASE_APP_ID = "Your firebase app id" -FIREBASE_MEASUREMENT_ID = "Your firebase_measurement_id" \ No newline at end of file + diff --git a/apps/next/env.example b/apps/next/env.example new file mode 100644 index 000000000..805f3e1f1 --- /dev/null +++ b/apps/next/env.example @@ -0,0 +1,8 @@ +—————————NEXT CLIENT ENV——————————— +NODE_ENV='development' +NEXT_PUBLIC_APP='next' +NEXT_PUBLIC_CLIENT_URL="Your client url" +NEXT_PUBLIC_API_URL="Your api url" +NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN="Your api key, starts with pk..." +NEXT_PUBLIC_WEB_CLIENT_ID="962352557394-..................apps.googleusercontent.com" + diff --git a/apps/vite/env.example b/apps/vite/env.example new file mode 100644 index 000000000..033203ad2 --- /dev/null +++ b/apps/vite/env.example @@ -0,0 +1,8 @@ +—————————VITE CLIENT ENV——————————— +NODE_ENV='development' +VITE_PUBLIC_APP='vite' +VITE_PUBLIC_CLIENT_URL="Your client url" +VITE_PUBLIC_API_URL="Your api url" +VITE_PUBLIC_MAPBOX_ACCESS_TOKEN="Your api key, starts with pk..." +VITE_PUBLIC_WEB_CLIENT_ID="962352557394-..................apps.googleusercontent.com" + diff --git a/packages/app/auth/hooks/useGoogleAuth.ts b/packages/app/auth/hooks/useGoogleAuth.ts index 41cc333b1..3111180ec 100644 --- a/packages/app/auth/hooks/useGoogleAuth.ts +++ b/packages/app/auth/hooks/useGoogleAuth.ts @@ -3,9 +3,9 @@ import * as Google from 'expo-auth-session/providers/google'; import { queryTrpc } from 'app/trpc'; import { useSessionSignIn } from './useSessionSignIn'; -import { GOOGLE_ID, IOS_CLIENT_ID, ANDROID_CLIENT_ID } from '@packrat/config'; +import { WEB_CLIENT_ID, IOS_CLIENT_ID, ANDROID_CLIENT_ID } from '@packrat/config'; -const webClientId = String(GOOGLE_ID); +const webClientId = String(WEB_CLIENT_ID); const iosClientId = String(IOS_CLIENT_ID); const androidClientId = String(ANDROID_CLIENT_ID); diff --git a/packages/app/constants/api.ts b/packages/app/constants/api.ts index 2ed5e6e6a..e1ec8847d 100644 --- a/packages/app/constants/api.ts +++ b/packages/app/constants/api.ts @@ -1,5 +1,8 @@ -// export const api = "http://add your ip address"; - import { API_URL } from '@packrat/config'; +/** + * The api url. + * format: "{scheme}://{serverhost}:{port}/api" + * e.g: "http://localhost:4200/api" +*/ export const api = API_URL; diff --git a/packages/config/package.json b/packages/config/package.json index c9b0c50c0..08ee1ba41 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -4,6 +4,5 @@ "private": true, "main": "src/index.js", "dependencies": { - "react-native": "0.73.6" } } diff --git a/packages/config/src/index.js b/packages/config/src/index.js index 2f6119d51..03a554dde 100644 --- a/packages/config/src/index.js +++ b/packages/config/src/index.js @@ -1,4 +1,3 @@ -import { Platform } from 'react-native'; import { viteSource } from './sources/vite'; /** @@ -8,38 +7,38 @@ import { viteSource } from './sources/vite'; // Simplifying environment variable access using logical OR const API_URL = - viteSource?.VITE_PUBLIC_API_URL || + viteSource.VITE_PUBLIC_API_URL || process.env.NEXT_PUBLIC_API_URL || process.env.EXPO_PUBLIC_API_URL; -const GOOGLE_ID = - viteSource?.VITE_PUBLIC_GOOGLE_ID || - process.env.NEXT_PUBLIC_GOOGLE_ID || - process.env.EXPO_PUBLIC_GOOGLE_ID; +const WEB_CLIENT_ID = + viteSource.VITE_PUBLIC_WEB_CLIENT_ID || + process.env.NEXT_PUBLIC_WEB_CLIENT_ID || + process.env.EXPO_PUBLIC_WEB_CLIENT_ID; const IOS_CLIENT_ID = - viteSource?.VITE_PUBLIC_IOS_CLIENT_ID || + viteSource.VITE_PUBLIC_IOS_CLIENT_ID || process.env.NEXT_PUBLIC_IOS_CLIENT_ID || process.env.EXPO_PUBLIC_IOS_CLIENT_ID; const ANDROID_CLIENT_ID = - viteSource?.VITE_PUBLIC_ANDROID_CLIENT_ID || + viteSource.VITE_PUBLIC_ANDROID_CLIENT_ID || process.env.NEXT_PUBLIC_ANDROID_CLIENT_ID || process.env.EXPO_PUBLIC_ANDROID_CLIENT_ID; const MAPBOX_ACCESS_TOKEN = - viteSource?.VITE_PUBLIC_MAPBOX_ACCESS_TOKEN || + viteSource.VITE_PUBLIC_MAPBOX_ACCESS_TOKEN || process.env.NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN || process.env.EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN; const APP = - viteSource?.VITE_PUBLIC_APP || + viteSource.VITE_PUBLIC_APP || process.env.NEXT_PUBLIC_APP || process.env.EXPO_PUBLIC_APP; const CLIENT_URL = - viteSource?.VITE_PUBLIC_CLIENT_URL || + viteSource.VITE_PUBLIC_CLIENT_URL || process.env.NEXT_PUBLIC_CLIENT_URL || process.env.EXPO_PUBLIC_CLIENT_URL; const NODE_ENV = process.env.NODE_ENV; export { API_URL, - GOOGLE_ID, + WEB_CLIENT_ID, IOS_CLIENT_ID, ANDROID_CLIENT_ID, MAPBOX_ACCESS_TOKEN, diff --git a/packages/config/src/sources/vite/viteSource.native.js b/packages/config/src/sources/vite/viteSource.native.js index 54c8ceef6..f0efc9221 100644 --- a/packages/config/src/sources/vite/viteSource.native.js +++ b/packages/config/src/sources/vite/viteSource.native.js @@ -1,4 +1,4 @@ // DUMMY FILE. This is not actually used in the project. It is to fix Expo's build process. -export const viteSource = process.env, +export const viteSource = {};