-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Initialize the frontend app using expo - Install prettier, eslint, and related plugins - Install NativeWind and tailwindcss
- Loading branch information
Showing
52 changed files
with
14,093 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/.expo | ||
node_modules |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
// https://docs.expo.dev/guides/using-eslint/ | ||
module.exports = { | ||
extends: ["expo", "prettier"], | ||
plugins: ["prettier"], | ||
ignorePatterns: ["/dist/*"], | ||
rules: { | ||
"prettier/prettier": "error", | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files | ||
|
||
# dependencies | ||
node_modules/ | ||
|
||
# Expo | ||
.expo/ | ||
dist/ | ||
web-build/ | ||
expo-env.d.ts | ||
|
||
# Native | ||
*.orig.* | ||
*.jks | ||
*.p8 | ||
*.p12 | ||
*.key | ||
*.mobileprovision | ||
|
||
# Metro | ||
.metro-health-check* | ||
|
||
# debug | ||
npm-debug.* | ||
yarn-debug.* | ||
yarn-error.* | ||
|
||
# macOS | ||
.DS_Store | ||
*.pem | ||
|
||
# local env files | ||
.env*.local | ||
|
||
# typescript | ||
*.tsbuildinfo | ||
|
||
# editor | ||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
node-linker=hoisted |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Ignore artifacts: | ||
build | ||
coverage | ||
ios | ||
android | ||
dist | ||
node_modules | ||
assets | ||
pnpm-lock.yaml | ||
.expo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# Rune Frontend | ||
|
||
This is a React Native app with [Expo](https://docs.expo.dev/). | ||
|
||
## Run | ||
|
||
1. Install dependencies | ||
|
||
```bash | ||
pnpm install | ||
``` | ||
|
||
2. Start the development server | ||
|
||
```bash | ||
pnpm expo start | ||
``` | ||
|
||
### For web | ||
|
||
Once you start the development server, you can access the app with your browser. Press `w` on the console window. | ||
|
||
### For iOS Devices/Simulators | ||
|
||
To build and run on iOS simulator, you need a macOS computer with Xcode. | ||
Follow [this documentation](https://docs.expo.dev/get-started/set-up-your-environment/?platform=ios&device=simulated&mode=development-build&buildEnv=local) to setup. | ||
|
||
After the setup, run the following command to install the development build on your device/simulator. | ||
|
||
```bash | ||
pnpm expo run:ios | ||
``` | ||
|
||
To configure the build process, open the app with xcode: | ||
|
||
```bash | ||
xed ios | ||
``` | ||
|
||
### For Android Devices/Emulators | ||
|
||
You need Android Studio to build for Android. | ||
Follow [this guide](https://docs.expo.dev/get-started/set-up-your-environment/?platform=android&device=physical&mode=development-build&buildEnv=local) to setup your Android device. | ||
|
||
After the setup, run the following command: | ||
|
||
```bash | ||
pnpm expo run:android | ||
``` | ||
|
||
## Project Structure | ||
|
||
- `src`: where `.ts` and `.tsx` files located. | ||
- `app`: route files. Each files become pages. | ||
- `components`: non-route files. | ||
- `constants`: files including contansts. (e.g. color palettes) | ||
- `assets`: `.css`, images, etc. | ||
|
||
## VS Code Extension Recommendations | ||
|
||
We encourage you to use Visual Studio Code to contribute to rune. | ||
Also using the following extensions would help you follow our code convention: | ||
|
||
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) | ||
- [PostCSS Language Support](https://marketplace.visualstudio.com/items?itemName=csstools.postcss) | ||
- [Prettier - Code Formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) | ||
- [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
{ | ||
"expo": { | ||
"name": "Rune", | ||
"slug": "rune", | ||
"scheme": "runesocial", | ||
"version": "1.0.0", | ||
"orientation": "portrait", | ||
"icon": "./assets/icon.png", | ||
"userInterfaceStyle": "light", | ||
"newArchEnabled": true, | ||
"splash": { | ||
"image": "./assets/splash-icon.png", | ||
"resizeMode": "contain", | ||
"backgroundColor": "#ffffff" | ||
}, | ||
"ios": { | ||
"supportsTablet": true, | ||
"bundleIdentifier": "com.rune-social.rune" | ||
}, | ||
"android": { | ||
"adaptiveIcon": { | ||
"foregroundImage": "./assets/adaptive-icon.png", | ||
"backgroundColor": "#ffffff" | ||
} | ||
}, | ||
"web": { | ||
"bundler": "metro", | ||
"output": "static", | ||
"favicon": "./assets/images/favicon.png" | ||
}, | ||
"plugins": ["expo-router"], | ||
"platforms": ["ios", "android", "web"], | ||
"githubUrl": "https://github.com/rune-social/rune" | ||
} | ||
} |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
@tailwind base; | ||
@tailwind components; | ||
@tailwind utilities; |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
module.exports = function (api) { | ||
api.cache(true); | ||
return { | ||
presets: [ | ||
["babel-preset-expo", { jsxImportSource: "nativewind" }], | ||
"nativewind/babel", | ||
], | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# OSX | ||
# | ||
.DS_Store | ||
|
||
# Xcode | ||
# | ||
build/ | ||
*.pbxuser | ||
!default.pbxuser | ||
*.mode1v3 | ||
!default.mode1v3 | ||
*.mode2v3 | ||
!default.mode2v3 | ||
*.perspectivev3 | ||
!default.perspectivev3 | ||
xcuserdata | ||
*.xccheckout | ||
*.moved-aside | ||
DerivedData | ||
*.hmap | ||
*.ipa | ||
*.xcuserstate | ||
project.xcworkspace | ||
.xcode.env.local | ||
|
||
# Bundle artifacts | ||
*.jsbundle | ||
|
||
# CocoaPods | ||
/Pods/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# This `.xcode.env` file is versioned and is used to source the environment | ||
# used when running script phases inside Xcode. | ||
# To customize your local environment, you can create an `.xcode.env.local` | ||
# file that is not versioned. | ||
|
||
# NODE_BINARY variable contains the PATH to the node executable. | ||
# | ||
# Customize the NODE_BINARY variable here. | ||
# For example, to use nvm with brew, add the following line | ||
# . "$(brew --prefix nvm)/nvm.sh" --no-use | ||
export NODE_BINARY=$(command -v node) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking") | ||
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods") | ||
|
||
require 'json' | ||
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {} | ||
|
||
ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0' | ||
ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR'] | ||
|
||
platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1' | ||
install! 'cocoapods', | ||
:deterministic_uuids => false | ||
|
||
prepare_react_native_project! | ||
|
||
target 'Rune' do | ||
use_expo_modules! | ||
|
||
if ENV['EXPO_USE_COMMUNITY_AUTOLINKING'] == '1' | ||
config_command = ['node', '-e', "process.argv=['', '', 'config'];require('@react-native-community/cli').run()"]; | ||
else | ||
config_command = [ | ||
'node', | ||
'--no-warnings', | ||
'--eval', | ||
'require(require.resolve(\'expo-modules-autolinking\', { paths: [require.resolve(\'expo/package.json\')] }))(process.argv.slice(1))', | ||
'react-native-config', | ||
'--json', | ||
'--platform', | ||
'ios' | ||
] | ||
end | ||
|
||
config = use_native_modules!(config_command) | ||
|
||
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks'] | ||
use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS'] | ||
|
||
use_react_native!( | ||
:path => config[:reactNativePath], | ||
:hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes', | ||
# An absolute path to your application root. | ||
:app_path => "#{Pod::Config.instance.installation_root}/..", | ||
:privacy_file_aggregation_enabled => podfile_properties['apple.privacyManifestAggregationEnabled'] != 'false', | ||
) | ||
|
||
post_install do |installer| | ||
react_native_post_install( | ||
installer, | ||
config[:reactNativePath], | ||
:mac_catalyst_enabled => false, | ||
:ccache_enabled => podfile_properties['apple.ccacheEnabled'] == 'true', | ||
) | ||
|
||
# This is necessary for Xcode 14, because it signs resource bundles by default | ||
# when building for devices. | ||
installer.target_installation_results.pod_target_installation_results | ||
.each do |pod_name, target_installation_result| | ||
target_installation_result.resource_bundle_targets.each do |resource_bundle_target| | ||
resource_bundle_target.build_configurations.each do |config| | ||
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' | ||
end | ||
end | ||
end | ||
end | ||
end |
Oops, something went wrong.