Skip to content

Commit e7fbfda

Browse files
committed
Initial commit
Generated by create-expo-app 3.3.0.
0 parents  commit e7fbfda

42 files changed

Lines changed: 29760 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.bundle/config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
BUNDLE_PATH: "vendor/bundle"
2+
BUNDLE_FORCE_RUBY_PLATFORM: 1

.eslintrc.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module.exports = {
2+
root: true,
3+
extends: ['@react-native', 'plugin:@tanstack/query/recommended'],
4+
rules: {
5+
// don't allow nested ternaries
6+
'no-nested-ternary': 'error',
7+
// no longer needed with React 17
8+
'react/react-in-jsx-scope': 'off',
9+
// don't allow unused styles
10+
'react-native/no-unused-styles': 'error',
11+
// make sure all maps have a key
12+
'react/jsx-key': 'error',
13+
// guard against leaked values in renders
14+
'react/jsx-no-leaked-render': 'error',
15+
// defers quote style to Prettier
16+
quotes: 'off',
17+
},
18+
overrides: [
19+
{
20+
// Test files only
21+
files: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'],
22+
extends: ['plugin:testing-library/react'],
23+
},
24+
],
25+
};

.github/pull_request_template.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Description
2+
3+
<!-- Describe the changes made in this pull request. -->
4+
5+
## Jira Ticket
6+
7+
<!-- Modify this link with the ticket number -->
8+
9+
## Checklist
10+
11+
- [ ] This code runs properly on both iOS and Android
12+
- [ ] Automated tests have been added if applicable
13+
14+
## Screenshots
15+
16+
<!-- Add screenshots of design changes if applicable -->
17+
18+
## GIF
19+
20+
<!-- Post a tangentially-relevant GIF here. This step is required. -->

.github/workflows/PR Checks.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: PR Checks
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: 🏗 Setup repo
10+
uses: actions/checkout@v4
11+
12+
- name: 🏗 Setup Node
13+
uses: actions/setup-node@v4
14+
with:
15+
cache: npm
16+
17+
- name: 📦 Install dependencies
18+
run: npm install
19+
20+
- name: 🔬 Lint
21+
run: npm run lint
22+
23+
- name: 📝 Format
24+
run: npm run format
25+
26+
- name: 🧪 Test
27+
run: npm run test
28+
29+
- name: 📝 Typescript
30+
run: npx tsc --noEmit
31+
32+
- name: 🍎 iOS Build
33+
run: npx expo export -p ios

.gitignore

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files
2+
3+
# dependencies
4+
node_modules/
5+
6+
# Expo
7+
.expo/
8+
dist/
9+
web-build/
10+
expo-env.d.ts
11+
12+
# Native
13+
*.orig.*
14+
*.jks
15+
*.p8
16+
*.p12
17+
*.key
18+
*.mobileprovision
19+
20+
# Metro
21+
.metro-health-check*
22+
23+
# debug
24+
npm-debug.*
25+
yarn-debug.*
26+
yarn-error.*
27+
28+
# macOS
29+
.DS_Store
30+
*.pem
31+
32+
# local env files
33+
.env*.local
34+
35+
# typescript
36+
*.tsbuildinfo
37+
38+
# Ruby / CocoaPods
39+
/vendor/bundle/
40+
41+
# native apps
42+
/android/
43+
/ios/
44+
45+
# modules
46+
/modules/*/android/build

.prettierrc.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
arrowParens: 'avoid',
3+
bracketSameLine: true,
4+
bracketSpacing: false,
5+
singleQuote: true,
6+
trailingComma: 'all',
7+
};

.storybook/index.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import AsyncStorage from '@react-native-async-storage/async-storage';
2+
import { view } from './storybook.requires';
3+
4+
const StorybookUIRoot = view.getStorybookUI({
5+
storage: {
6+
getItem: AsyncStorage.getItem,
7+
setItem: AsyncStorage.setItem,
8+
},
9+
});
10+
11+
export default StorybookUIRoot;

.storybook/main.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import {StorybookConfig} from '@storybook/react-native';
2+
3+
const main: StorybookConfig = {
4+
stories: ['../src/components/**/*.stories.?(ts|tsx|js|jsx)'],
5+
addons: [
6+
'@storybook/addon-ondevice-controls',
7+
'@storybook/addon-ondevice-actions',
8+
],
9+
// @ts-ignore
10+
core: {
11+
disableTelemetry: true,
12+
},
13+
};
14+
15+
export default main;

.storybook/preview.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { Preview } from '@storybook/react';
2+
3+
const preview: Preview = {
4+
parameters: {
5+
controls: {
6+
matchers: {
7+
color: /(background|color)$/i,
8+
date: /Date$/,
9+
},
10+
},
11+
},
12+
};
13+
14+
export default preview;

.storybook/storybook.requires.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/* do not change this file, it is auto generated by storybook. */
2+
3+
import {start, updateView} from '@storybook/react-native';
4+
5+
import '@storybook/addon-ondevice-controls/register';
6+
import '@storybook/addon-ondevice-actions/register';
7+
8+
const normalizedStories = [
9+
{
10+
titlePrefix: '',
11+
directory: './src/components',
12+
files: '**/*.stories.?(ts|tsx|js|jsx)',
13+
importPathMatcher:
14+
/^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/,
15+
// @ts-ignore
16+
req: require.context(
17+
'../src/components',
18+
true,
19+
/^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/,
20+
),
21+
},
22+
];
23+
24+
declare global {
25+
var view: ReturnType<typeof start>;
26+
var STORIES: typeof normalizedStories;
27+
}
28+
29+
const annotations = [
30+
require('./preview'),
31+
require('@storybook/react-native/dist/preview'),
32+
require('@storybook/addon-actions/preview'),
33+
];
34+
35+
global.STORIES = normalizedStories;
36+
37+
// @ts-ignore
38+
module?.hot?.accept?.();
39+
40+
if (!global.view) {
41+
global.view = start({
42+
annotations,
43+
storyEntries: normalizedStories,
44+
});
45+
} else {
46+
updateView(global.view, annotations, normalizedStories);
47+
}
48+
49+
export const view = global.view;

0 commit comments

Comments
 (0)