Skip to content

Commit f579db0

Browse files
authored
Expo 51 (#972)
* Updates packages in all * Update example app packages * Update version to 51.0.0 * Update yarn.lock * Update more packages + use metro for example app + other fixes + updated eslint * js -> jsx * Fix tests * Update workflow node version * Fix web date picker * Proper ts lint and address linter errors * Fix build issue * Fix remaining linter errors * Update ci.yml with 51
1 parent 8d34ab2 commit f579db0

File tree

76 files changed

+5803
-8515
lines changed

Some content is hidden

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

76 files changed

+5803
-8515
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
push:
55
branches:
66
- master
7-
- 50
7+
- 51
88
pull_request:
99
types: [assigned, opened, synchronize, reopened]
1010

@@ -18,7 +18,7 @@ jobs:
1818

1919
- uses: actions/setup-node@v3
2020
with:
21-
node-version: 18
21+
node-version: 20
2222
cache: "yarn"
2323
registry-url: https://registry.npmjs.org/
2424

@@ -64,8 +64,8 @@ jobs:
6464
--yes \
6565
--no-verify-access
6666
67-
- name: Release packages (50)
68-
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/50'
67+
- name: Release packages (51)
68+
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/51'
6969
env:
7070
NODE_AUTH_TOKEN: ${{ secrets.JIGSAW_AUTH_TOKEN }}
7171
run: |
@@ -81,12 +81,12 @@ jobs:
8181
# This hits Snack twice because it commonly times out the first time
8282
export newversion=$(npm view @draftbit/ui dist-tags.next);
8383
sleep 10
84-
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
85-
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
86-
curl "https://snackager.expo.io/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
87-
curl "https://snackager.expo.io/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
88-
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
89-
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
84+
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
85+
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
86+
curl "https://snackager.expo.io/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
87+
curl "https://snackager.expo.io/bundle/@draftbit/core@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
88+
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
89+
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$newversion"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
9090
working-directory: packages/ui
9191

9292
- name: Release to Snack
@@ -96,12 +96,12 @@ jobs:
9696
# This hits Snack twice because it commonly times out the first time
9797
export version=$(jq -r .version package.json);
9898
sleep 10
99-
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
100-
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
101-
curl "https://snackager.expo.io/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
102-
curl "https://snackager.expo.io/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
103-
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
104-
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=50.0.0";
99+
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
100+
curl "https://snackager.expo.io/bundle/@draftbit/ui@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
101+
curl "https://snackager.expo.io/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
102+
curl "https://snackager.expo.io/bundle/@draftbit/core@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
103+
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
104+
curl "https://snackager.expo.io/bundle/@draftbit/maps@"$version"?version_snackager=true&platforms=ios,android,web&bypassCache=true&sdkVersion=51.0.0";
105105
working-directory: packages/ui
106106

107107
- name: Add comment to pull request

.husky/pre-commit

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
#!/bin/sh
2-
. "$(dirname "$0")/_/husky.sh"
32

43
npx lint-staged

.prettierrc.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
quoteProps: "consistent",
3+
semi: true,
4+
singleQuote: false,
5+
tabWidth: 2,
6+
trailingComma: "es5",
7+
useTabs: false,
8+
bracketSpacing: true,
9+
endOfLine: "auto",
10+
};

eslint.config.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
const { fixupPluginRules } = require("@eslint/compat");
2+
const esLintReactNative = require("eslint-plugin-react-native");
3+
const eslintPluginPrettierRecommended = require("eslint-plugin-prettier/recommended");
4+
const hooksPlugin = require("eslint-plugin-react-hooks");
5+
const tsEslint = require("typescript-eslint");
6+
7+
module.exports = [
8+
...tsEslint.configs.recommended,
9+
eslintPluginPrettierRecommended,
10+
11+
// Workaround for `eslint-plugin-react-native` not supporting eslint flat configs
12+
// https://github.com/facebook/react-native/issues/42996#issuecomment-2275994981
13+
{
14+
name: "eslint-plugin-react-native",
15+
plugins: {
16+
"react-native": fixupPluginRules({
17+
rules: esLintReactNative.rules,
18+
}),
19+
},
20+
rules: {
21+
...esLintReactNative.configs.all.rules,
22+
"react-native/sort-styles": "off",
23+
"react-native/no-inline-styles": "warn",
24+
},
25+
},
26+
27+
// Workaround for `eslint-plugin-react-hooks` not supporting eslint flat configs
28+
// https://github.com/facebook/react/issues/28313#issuecomment-2379308650
29+
{
30+
plugins: {
31+
"react-hooks": fixupPluginRules(hooksPlugin),
32+
},
33+
rules: hooksPlugin.configs.recommended.rules,
34+
},
35+
{
36+
ignores: [
37+
"scripts",
38+
"example/web-build",
39+
"node_modules/",
40+
"**/lib/**",
41+
"**/__generated__/**",
42+
"jest-setup.js",
43+
],
44+
},
45+
{
46+
rules: {
47+
"@typescript-eslint/no-explicit-any": "off",
48+
"@typescript-eslint/ban-ts-comment": "off",
49+
"@typescript-eslint/no-require-imports": "off",
50+
"@typescript-eslint/no-unused-expressions": "off",
51+
"@typescript-eslint/no-unnecessary-type-constraint": "off",
52+
"react-native/no-inline-styles": "off",
53+
"react-native/no-color-literals": "off",
54+
55+
// ignore unused vars that start with underscore
56+
"@typescript-eslint/no-unused-vars": [
57+
"error",
58+
{
59+
args: "all",
60+
argsIgnorePattern: "^_",
61+
caughtErrors: "all",
62+
caughtErrorsIgnorePattern: "^_",
63+
destructuredArrayIgnorePattern: "^_",
64+
varsIgnorePattern: "^_",
65+
ignoreRestSiblings: true,
66+
},
67+
],
68+
},
69+
},
70+
];

example/app.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
{
2-
"name": "@draftbit/ui-example",
3-
"displayName": "Ui Example",
42
"expo": {
53
"name": "@draftbit/ui-example",
64
"slug": "draftbit-ui-example",
@@ -17,6 +15,7 @@
1715
"ios": {
1816
"supportsTablet": true
1917
},
20-
"assetBundlePatterns": ["**/*"]
18+
"assetBundlePatterns": ["**/*"],
19+
"plugins": ["expo-asset", "expo-font"]
2120
}
2221
}

example/babel.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module.exports = function (api) {
33
return {
44
presets: ["babel-preset-expo"],
55
plugins: [
6-
"@babel/plugin-proposal-export-namespace-from",
6+
"@babel/plugin-transform-export-namespace-from",
77
"react-native-reanimated/plugin",
88
],
99
};

example/package.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@draftbit/example",
33
"description": "Example app for @draftbit/ui",
4-
"version": "50.6.3",
4+
"version": "51.0.0",
55
"private": true,
66
"scripts": {
77
"android": "expo start --android",
@@ -14,32 +14,32 @@
1414
"clean:modules": "rimraf node_modules"
1515
},
1616
"dependencies": {
17-
"@draftbit/maps": "50.6.3",
18-
"@draftbit/ui": "50.6.3",
17+
"@draftbit/maps": "51.0.0",
18+
"@draftbit/ui": "51.0.0",
1919
"@expo/dev-server": "0.1.123",
20-
"@expo/webpack-config": "~19.0.1",
20+
"@expo/metro-runtime": "~3.2.3",
2121
"@react-navigation/drawer": "^6.6.3",
2222
"@react-navigation/native": "^6.1.7",
23-
"@shopify/flash-list": "1.6.3",
24-
"expo": "^50.0.0",
25-
"expo-asset": "~9.0.2",
26-
"expo-constants": "~15.4.6",
27-
"expo-font": "~11.10.3",
28-
"expo-splash-screen": "~0.26.4",
29-
"expo-status-bar": "~1.11.1",
23+
"@shopify/flash-list": "1.6.4",
24+
"expo": "^51.0.0",
25+
"expo-asset": "~10.0.10",
26+
"expo-constants": "~16.0.2",
27+
"expo-font": "~12.0.10",
28+
"expo-splash-screen": "~0.27.7",
29+
"expo-status-bar": "~1.12.1",
3030
"react": "18.2.0",
3131
"react-dom": "18.2.0",
32-
"react-native": "0.73.6",
33-
"react-native-gesture-handler": "~2.14.0",
34-
"react-native-get-random-values": "~1.8.0",
35-
"react-native-reanimated": "~3.6.2",
36-
"react-native-safe-area-context": "4.8.2",
37-
"react-native-screens": "~3.29.0",
38-
"react-native-web": "~0.19.6",
32+
"react-native": "0.74.5",
33+
"react-native-gesture-handler": "~2.16.1",
34+
"react-native-get-random-values": "~1.11.0",
35+
"react-native-reanimated": "~3.10.1",
36+
"react-native-safe-area-context": "4.10.5",
37+
"react-native-screens": "3.31.1",
38+
"react-native-web": "~0.19.10",
3939
"uuid": "^9.0.1"
4040
},
4141
"devDependencies": {
42-
"@babel/core": "^7.20.0",
42+
"@babel/core": "^7.24.0",
4343
"@types/react": "~18.2.45",
4444
"@types/react-native": "~0.70.6",
4545
"babel-loader": "8.1.0",

example/src/App.tsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ const ROUTES = {
122122
KeyboardAvoidingView: KeyboardAvoidingViewExample,
123123
};
124124

125-
let customFonts = {
125+
const customFonts = {
126126
"FiraCode": require("./assets/fonts/FiraCode-Bold.otf"),
127127
"Testing": require("./assets/fonts/Sriracha-Regular.ttf"),
128128
"Inter-SemiBoldItalic":
@@ -374,7 +374,7 @@ function Example({ title, children }: ExampleProps) {
374374
/>
375375
</TouchableOpacity>
376376

377-
<Text style={[exampleStyles.headerTextStyle]}>{title}</Text>
377+
<Text style={exampleStyles.headerTextStyle}>{title}</Text>
378378
<TouchableOpacity
379379
style={exampleStyles.menuButtonStyle}
380380
onPress={() => {
@@ -428,11 +428,6 @@ function Examples() {
428428
}
429429

430430
const exampleStyles = StyleSheet.create({
431-
mainParent: {
432-
width: "100%",
433-
height: "100%",
434-
backgroundColor: "rgba(251, 252, 253, 1)",
435-
},
436431
headerStyle: {
437432
flexDirection: "row",
438433
alignItems: "center",
@@ -469,7 +464,4 @@ const exampleStyles = StyleSheet.create({
469464
marginBottom: 8,
470465
paddingVertical: 4,
471466
},
472-
scrollViewStyle: {
473-
paddingBottom: 20,
474-
},
475467
});

0 commit comments

Comments
 (0)