Skip to content

Commit f3eb4b1

Browse files
committed
feat: react-native and universal schema initial setup
1 parent 07e19a8 commit f3eb4b1

File tree

210 files changed

+28034
-15
lines changed

Some content is hidden

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

210 files changed

+28034
-15
lines changed

demo/mobile/nativescript/.gitkeep

Whitespace-only changes.

demo/mobile/reactnative/.buckconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
[android]
3+
target = Google Inc.:Google APIs:23
4+
5+
[maven_repositories]
6+
central = https://repo1.maven.org/maven2

demo/mobile/reactnative/.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Windows files
2+
[*.bat]
3+
end_of_line = crlf

demo/mobile/reactnative/.eslintrc.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module.exports = {
2+
root: true,
3+
extends: '@react-native-community',
4+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Windows files should use crlf line endings
2+
# https://help.github.com/articles/dealing-with-line-endings/
3+
*.bat text eol=crlf

demo/mobile/reactnative/.gitignore

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# OSX
2+
#
3+
.DS_Store
4+
5+
# Xcode
6+
#
7+
build/
8+
*.pbxuser
9+
!default.pbxuser
10+
*.mode1v3
11+
!default.mode1v3
12+
*.mode2v3
13+
!default.mode2v3
14+
*.perspectivev3
15+
!default.perspectivev3
16+
xcuserdata
17+
*.xccheckout
18+
*.moved-aside
19+
DerivedData
20+
*.hmap
21+
*.ipa
22+
*.xcuserstate
23+
24+
# Android/IntelliJ
25+
#
26+
build/
27+
.idea
28+
.gradle
29+
local.properties
30+
*.iml
31+
32+
# node.js
33+
#
34+
node_modules/
35+
npm-debug.log
36+
yarn-error.log
37+
38+
# BUCK
39+
buck-out/
40+
\.buckd/
41+
*.keystore
42+
!debug.keystore
43+
44+
# fastlane
45+
#
46+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
47+
# screenshots whenever they are needed.
48+
# For more information about the recommended setup visit:
49+
# https://docs.fastlane.tools/best-practices/source-control/
50+
51+
*/fastlane/report.xml
52+
*/fastlane/Preview.html
53+
*/fastlane/screenshots
54+
55+
# Bundle artifact
56+
*.jsbundle
57+
58+
# CocoaPods
59+
/ios/Pods/
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
bracketSpacing: false,
3+
jsxBracketSameLine: true,
4+
singleQuote: true,
5+
trailingComma: 'all',
6+
arrowParens: 'avoid',
7+
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

demo/mobile/reactnative/App.tsx

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/**
2+
* Sample React Native App
3+
* https://github.com/facebook/react-native
4+
*
5+
* Generated with the TypeScript template
6+
* https://github.com/react-native-community/react-native-template-typescript
7+
*
8+
* @format
9+
*/
10+
11+
import React from 'react';
12+
import {
13+
SafeAreaView,
14+
ScrollView,
15+
StatusBar,
16+
StyleSheet,
17+
Text,
18+
useColorScheme,
19+
View,
20+
} from 'react-native';
21+
22+
import {
23+
Colors,
24+
DebugInstructions,
25+
Header,
26+
LearnMoreLinks,
27+
ReloadInstructions,
28+
} from 'react-native/Libraries/NewAppScreen';
29+
30+
const Section: React.FC<{
31+
title: string;
32+
}> = ({children, title}) => {
33+
const isDarkMode = useColorScheme() === 'dark';
34+
return (
35+
<View style={styles.sectionContainer}>
36+
<Text
37+
style={[
38+
styles.sectionTitle,
39+
{
40+
color: isDarkMode ? Colors.white : Colors.black,
41+
},
42+
]}>
43+
{title}
44+
</Text>
45+
<Text
46+
style={[
47+
styles.sectionDescription,
48+
{
49+
color: isDarkMode ? Colors.light : Colors.dark,
50+
},
51+
]}>
52+
{children}
53+
</Text>
54+
</View>
55+
);
56+
};
57+
58+
const App = () => {
59+
const isDarkMode = useColorScheme() === 'dark';
60+
61+
const backgroundStyle = {
62+
backgroundColor: isDarkMode ? Colors.darker : Colors.lighter,
63+
};
64+
65+
return (
66+
<SafeAreaView style={backgroundStyle}>
67+
<StatusBar barStyle={isDarkMode ? 'light-content' : 'dark-content'} />
68+
<ScrollView
69+
contentInsetAdjustmentBehavior="automatic"
70+
style={backgroundStyle}>
71+
<Header />
72+
<View
73+
style={{
74+
backgroundColor: isDarkMode ? Colors.black : Colors.white,
75+
}}>
76+
<Section title="Step One">
77+
Edit <Text style={styles.highlight}>App.tsx</Text> to change this
78+
screen and then come back to see your edits.
79+
</Section>
80+
<Section title="See Your Changes">
81+
<ReloadInstructions />
82+
</Section>
83+
<Section title="Debug">
84+
<DebugInstructions />
85+
</Section>
86+
<Section title="Learn More">
87+
Read the docs to discover what to do next:
88+
</Section>
89+
<LearnMoreLinks />
90+
</View>
91+
</ScrollView>
92+
</SafeAreaView>
93+
);
94+
};
95+
96+
const styles = StyleSheet.create({
97+
sectionContainer: {
98+
marginTop: 32,
99+
paddingHorizontal: 24,
100+
},
101+
sectionTitle: {
102+
fontSize: 24,
103+
fontWeight: '600',
104+
},
105+
sectionDescription: {
106+
marginTop: 8,
107+
fontSize: 18,
108+
fontWeight: '400',
109+
},
110+
highlight: {
111+
fontWeight: '700',
112+
},
113+
});
114+
115+
export default App;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/**
2+
* @format
3+
*/
4+
5+
import 'react-native';
6+
import React from 'react';
7+
import App from '../App';
8+
9+
// Note: test renderer must be required after react-native.
10+
import renderer from 'react-test-renderer';
11+
12+
it('renders correctly', () => {
13+
renderer.create(<App />);
14+
});

0 commit comments

Comments
 (0)