Skip to content

Commit 7a9b77e

Browse files
committed
Merge branch 'blobmaster'
* blobmaster: (246 commits) version closes joltup#259 remove restrictions for legacy dir and android version fixes joltup#240 fixes joltup#255 adds missing import fixes joltup#258 fixes joltup#253 fixes joltup#251 adding new flag for downloadmanager to download to mediastore adds addeventlistener and removeeventlistener stumps to not get warnings android fs events missing json parse small fixes filesystem rework fetch part working for ios ios part version 2 Revert "ios part but no idea if working" some project changes ios part but no idea if working js side fix: fix bug Illegal callback invocation from native module Version ...
2 parents 6cf0fa8 + e14d409 commit 7a9b77e

File tree

165 files changed

+42591
-7190
lines changed

Some content is hidden

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

165 files changed

+42591
-7190
lines changed

.editorconfig

Lines changed: 790 additions & 0 deletions
Large diffs are not rendered by default.

.eslintrc.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
module.exports = {
2+
root: true,
3+
extends: '@react-native-community',
4+
rules: {
5+
'prettier/prettier': 0,
6+
"eqeqeq": 2,
7+
"comma-dangle": 0,
8+
curly: 0,
9+
"no-console": 1,
10+
"no-debugger": 1,
11+
"no-extra-semi": 2,
12+
"no-extra-parens": 1,
13+
"no-extra-boolean-cast": 1,
14+
"no-cond-assign": 2,
15+
"no-irregular-whitespace": 2,
16+
"no-undef": 0,
17+
"no-unused-vars": 0,
18+
"semi": 2,
19+
"semi-spacing": 2,
20+
"valid-jsdoc": [
21+
1,
22+
{
23+
"requireReturn": false,
24+
"requireParamDescription": false,
25+
"requireReturnDescription": false
26+
}
27+
],
28+
"radix": 0,
29+
30+
"react/display-name": 2,
31+
"react/forbid-prop-types": 1,
32+
"react/jsx-boolean-value": 1,
33+
"react/jsx-closing-bracket-location": 1,
34+
"react/jsx-curly-spacing": 1,
35+
"react/jsx-indent-props": 0,
36+
"react/jsx-max-props-per-line": 0,
37+
"react/jsx-no-duplicate-props": 1,
38+
"react/jsx-no-literals": 0,
39+
"react/jsx-no-undef": 1,
40+
"react/jsx-sort-props": 0,
41+
"react/jsx-uses-react": 1,
42+
"react/jsx-uses-vars": 1,
43+
"react/jsx-wrap-multilines": 1,
44+
"react/no-danger": 1,
45+
"react/no-did-mount-set-state": 1,
46+
"react/no-did-update-set-state": 1,
47+
"react/no-direct-mutation-state": 1,
48+
"react/no-multi-comp": 1,
49+
"react/no-set-state": 0,
50+
"react/no-unknown-property": 1,
51+
"react/prop-types": 0,
52+
"react/react-in-jsx-scope": 0,
53+
"react/self-closing-comp": 1,
54+
"react/sort-comp": 1,
55+
},
56+
};

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.imdone
22
testconfig
3-
RNFetchBlobTest/
3+
ReactNativeBlobUtilTest/
44
test/test-server/public/*
55
!test/test-server/public/github.png
66

@@ -27,6 +27,13 @@ DerivedData
2727
*.ipa
2828
*.xcuserstate
2929
project.xcworkspace
30+
/iOS/pods
31+
Podfile*
32+
contents.xcworkspacedata
33+
34+
# VSCode
35+
#
36+
.vscode
3037

3138
# Android/IJ
3239
#
@@ -44,3 +51,4 @@ buck-out/
4451
\.buckd/
4552
android/app/libs
4653
android/keystores/debug.keystore
54+
/ios/ReactNativeBlobUtil.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

.npmignore

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# JS
2+
node_modules
3+
yarn.lock
4+
5+
# Project files
6+
CONTRIBUTORS.md
7+
CONTRIBUTING.md
8+
CODE_OF_CONDUCT.md
9+
10+
# Config files
11+
.babelrc
12+
babel.config.js
13+
.editorconfig
14+
.eslintrc
15+
.flowconfig
16+
.watchmanconfig
17+
jsconfig.json
18+
.npmrc
19+
.gitattributes
20+
.circleci
21+
*.coverage.json
22+
.opensource
23+
.circleci
24+
.eslintignore
25+
codecov.yml
26+
27+
# Example
28+
img/
29+
example/
30+
examples/
31+
app.json
32+
33+
# Android
34+
android/*/build/
35+
android/gradlew
36+
android/build
37+
android/gradlew.bat
38+
android/gradle/
39+
android/com_crashlytics_export_strings.xml
40+
android/local.properties
41+
android/.gradle/
42+
android/.signing/
43+
android/.idea/gradle.xml
44+
android/.idea/libraries/
45+
android/.idea/workspace.xml
46+
android/.idea/tasks.xml
47+
android/.idea/.name
48+
android/.idea/compiler.xml
49+
android/.idea/copyright/profiles_settings.xml
50+
android/.idea/encodings.xml
51+
android/.idea/misc.xml
52+
android/.idea/modules.xml
53+
android/.idea/scopes/scope_settings.xml
54+
android/.idea/vcs.xml
55+
android/*.iml
56+
android/.settings
57+
58+
# iOS
59+
ios/*.xcodeproj/xcuserdata
60+
*.pbxuser
61+
*.mode1v3
62+
*.mode2v3
63+
*.perspectivev3
64+
*.xcuserstate
65+
project.xcworkspace/
66+
xcuserdata/
67+
ios/build/
68+
69+
# Misc
70+
.DS_Store
71+
.DS_Store?
72+
*.DS_Store
73+
coverage.android.json
74+
coverage.ios.json
75+
coverage
76+
npm-debug.log
77+
.github
78+
._*
79+
.Spotlight-V100
80+
.Trashes
81+
ehthumbs.db
82+
Thumbs.dbandroid/gradle
83+
docs
84+
.idea
85+
tests/
86+
bin/test.js
87+
codorials
88+
.vscode
89+
.nyc_output

Migration.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Migration to the New Architecture
2+
3+
This file is a tracker for what has been done to work on the migration of this library and to keep also track of the various todo:
4+
5+
## TODO
6+
7+
- [] Write JS spec in Flow for the New Architecture
8+
- [] Implent the new Native Code on iOS
9+
- [] Implent the new Native Code on Android
10+
- [] Test on OldArch app (iOS)
11+
- [] Test on OldArch app (Android)
12+
- [] Test on NewArch app (iOS)
13+
- [] Test on NewArch app (Android)
14+
- [] Open PR
15+
16+
## Done
17+
18+
### Setup
19+
1. Forked and cloned the repo
20+
1. Checked the list of APIs to migrate.
21+
1. Created an `OldArch` app (0.70) configured for the Old Architecture.
22+
1. Run the app to make sure that it works properly.
23+
1. Created a `NewArch` app (0.70) configured for the New Architecture.
24+
1. Switched the flags for iOS and Android to have the new arch enabled by default
25+
1. Run the app to make sure that it works properly.
26+
1. Moved the apps in the `examples` folder
27+
28+
### Installing blob-utils
29+
1. Move to `OldArch`
30+
1. Run `yarn add ../..` to install the blob utils.
31+
1. `cd ios`
32+
1. `bundle install && bundle exec pod install`
33+
1. `cd ..`
34+
1. `npx react-native run-ios`
35+
1. Copy the app JS code from `examples/ReactNativeBlobUtil/App.js` to `examples/OldArch/App.js`
36+
1. Fixed various JS issues
37+
1. The app depends on the `Picker`. *Note:* It does not support the New Arch, we need to figure out another way to choose.
38+
1. run `yarn add @react-native-picker/picker`
39+
1. run `bundle exec pod install` from the iOS folder
40+
1. re-run the app
41+
1. Repeat the above steps for `NewArch`

0 commit comments

Comments
 (0)