Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
root: true,
extends: '@react-native',
};
77 changes: 76 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,81 @@
.DS_Store
Mammoth.xcodeproj/project.xcworkspace/xcuserdata/
Mammoth.xcodeproj/project.xcworkspace/xcshareddata/
Mammoth.xcodeproj/xcuserdata/

Mammoth.xcworkspace

ArkanaKeys
.env
node_modules

.yarn/*
!.yarn/releases/*
!.yarn/plugins/*

# OSX
#
.DS_Store
Pods

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
ios/.xcode.env.local

# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore

# node.js
#
node_modules/
npm-debug.log
yarn-error.log

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/

**/fastlane/report.xml
**/fastlane/Preview.html
**/fastlane/screenshots
**/fastlane/test_output

# Bundle artifact
*.jsbundle

# Ruby / CocoaPods
/ios/Pods/
/vendor/bundle/

# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*

# testing
/coverage
7 changes: 7 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
arrowParens: 'avoid',
bracketSameLine: true,
bracketSpacing: false,
singleQuote: true,
trailingComma: 'all',
};
12 changes: 12 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp

// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": []
}
71 changes: 71 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"search.exclude": {
"**/node_modules": false
},
"files.exclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/CVS": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true,
"**/*.js": {
"when": "$(basename).ts"
},
"**/*.js.map": true,
"**/node_modules": false
},
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true
},
"debug.node.autoAttach": "off",

"typescript.preferences.importModuleSpecifier": "relative",
"typescript.updateImportsOnFileMove.enabled": "always",
"editor.codeActionsOnSave": {
"source.organizeImports": "never"
},
"[javascript]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "never"
}
},
"[javascriptreact]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescript]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"[typescriptreact]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"javascript.format.enable": false,
"editor.tabSize": 2,
"editor.detectIndentation": false,
"git.ignoreLimitWarning": true,
"java.configuration.updateBuildConfiguration": "disabled",
"git.branchProtection": [
"main",
],
"[javascriptreact][typescript][typescriptreact]": {
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
},
}
1 change: 1 addition & 0 deletions .watchmanconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
1 change: 1 addition & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodeLinker: node-modules
21 changes: 0 additions & 21 deletions Gemfile.lock

This file was deleted.

8 changes: 0 additions & 8 deletions Mammoth/Mammoth-Bridging-Header.h

This file was deleted.

25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,35 @@ The Mammoth Team
**Requirements:**

- Ruby 3.1+
- Node.js 16+
- Node.js 20.10.+
- Xcode 13+
- Swift 5+
- Yarn 4.1.0+

1. Clone the repo
1. Copy the `sample.env` to `.env`
1. Run `bundle install` to get the needed gems
1. From the root of the application still run `bin/arkana` This will generated
1. From the root directory run `yarn` to install dependencies
1. From the [ios](./ios) directory run `bundle install` to get the needed gems
1. From the [ios](./ios) directory run `bin/arkana` This will generated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: I had to move the .arkana.yml into the ios directory.

the needed 'ArkanaKeys' package that is a local swift package dependency.
1. From the [ios](./ios) directory install Cocoapods dependencies
- For Apple Silicon: `USE_FRAMEWORKS=static RCT_NEW_ARCH_ENABLED=1 arch -x86_64 bundle exec pod install`
- For Intel Mac: `USE_FRAMEWORKS=static RCT_NEW_ARCH_ENABLED=1 bundle exec pod install`

**Run on iOS/iPadOS/MacOS**

1. Start the Metro packager by running `yarn start` from the root directory
1. Open `Mammoth.xcworkspace` in the [ios](./ios) directory and run the `Mastodon` target


**Troubleshooting**

- If you're not running Node.js version 20.10.+ (`node --version`), use [nvm](https://github.com/nvm-sh/nvm) to install the correct Node.js version.
- Install [nvm](https://github.com/nvm-sh/nvm) using Homebrew: `brew install nvm `
- Download Node.js v20.10.0: `nvm install 20.10.0`
- Use Node.js v20.10.0: `nvm use 20.10.0`
- Check if you're using the right Node.js version: `node --version`

- If you run `bin/arkana` and see the following, it can't find a valid `.env`
file. Make sure you've copied the provided sample correctly and that it is in
the root of the repo.
Expand All @@ -34,7 +51,7 @@ The Mammoth Team
the repo.
![XcodeArkanaBuildError](https://github.com/TheBLVD/mammoth-app/assets/76360/ec0fd8a9-285f-41dd-817d-60fc41d94e54)

- If you run `bin/arckan` and see the following:
- If you run `bin/arkana` and see the following:

```sh
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin22/rbconfig.rb:21: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Expand Down
4 changes: 4 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
presets: ['module:@react-native/babel-preset'],
};

6 changes: 6 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import {AppRegistry, LogBox} from 'react-native';
import {Composer} from './src/components/_screens/Composer';

LogBox.ignoreAllLogs();

AppRegistry.registerComponent('Composer', () => Composer);
File renamed without changes.
1 change: 1 addition & 0 deletions ios/.xcode.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export NODE_BINARY=$(command -v node)
1 change: 1 addition & 0 deletions Gemfile → ios/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
source "https://rubygems.org"

gem "arkana"
gem "cocoapods", "~>1.14.0"
Loading