react-native-bspatch 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["OtaUpdateMode","exports","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAFA,IAuBYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAObE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAAA,OAAdA,cAAc;AAAA;AA0C1B;AACA;AACA;AAFA,IAiHYC,SAAS,GAAAF,OAAA,CAAAE,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["OtaUpdateMode","exports","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AAFA,IAuBYA,aAAa,GAAAC,OAAA,CAAAD,aAAA,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IAObE,cAAc,GAAAD,OAAA,CAAAC,cAAA,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAAA,OAAdA,cAAc;AAAA;AA4C1B;AACA;AACA;AAFA,IAiHYC,SAAS,GAAAF,OAAA,CAAAE,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["OtaUpdateMode","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;AAAA;AACA;AACA;;AAqBA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAOzB,WAAYC,cAAc,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AA0C1B;AACA;AACA;;AA+GA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["OtaUpdateMode","OtaStorageType","OtaStatus"],"sourceRoot":"../../../src","sources":["ota/types.ts"],"mappings":";;AAAA;AACA;AACA;;AAqBA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAOzB,WAAYC,cAAc,0BAAdA,cAAc;EACtB;EADQA,cAAc;EAGtB;EAHQA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AA4C1B;AACA;AACA;;AA+GA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -61,6 +61,8 @@ export type OtaPatch = {
61
61
  assetManifestUrl?: string;
62
62
  /** Target platform for this patch */
63
63
  platform?: string;
64
+ /** Flavor/channel for this patch */
65
+ flavor?: string;
64
66
  };
65
67
  /**
66
68
  * A single content-addressed asset from the OTA asset store.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ota/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,89 +1,88 @@
1
1
  {
2
- "name": "react-native-bspatch",
3
- "version": "1.0.0",
4
- "description": "Premium OTA Update Solution for React Native using TurboModules and bsdiff",
5
- "main": "lib/commonjs/index.js",
6
- "module": "lib/module/index.js",
7
- "types": "lib/typescript/index.d.ts",
8
- "react-native": "src/index.ts",
9
- "source": "src/index.ts",
10
- "files": [
11
- "android",
12
- "ios",
13
- "cpp",
14
- "src",
15
- "lib",
16
- "tools",
17
- "react-native-bspatch.podspec",
18
- "README.md",
19
- "LICENSE",
20
- "!**/__tests__",
21
- "!**/__fixtures__",
22
- "!**/__mocks__"
23
- ],
24
- "keywords": [
25
- "react-native",
26
- "ota",
27
- "update",
28
- "bspatch",
29
- "bsdiff",
30
- "turbo-module",
31
- "android",
32
- "ios"
33
- ],
34
-
35
- "codegenConfig": {
36
- "name": "RNBsPatchSpec",
37
- "type": "modules",
38
- "jsSrcsDir": "src"
39
- },
40
- "peerDependencies": {
41
- "react": "*",
42
- "react-native": "*",
43
- "react-native-blob-util": "*"
44
- },
45
- "dependencies": {
46
- "crypto-js": "^4.2.0"
47
- },
48
- "repository": {
49
- "type": "git",
50
- "url": "git+https://github.com/BuiHung1612/react-native-bspatch.git"
51
- },
52
- "author": "Hung Bui <https://github.com/BuiHung1612>",
53
- "license": "MIT",
54
- "bugs": {
55
- "url": "https://github.com/BuiHung1612/react-native-bspatch/issues"
56
- },
57
- "homepage": "https://github.com/BuiHung1612/react-native-bspatch#readme",
58
- "publishConfig": {
59
- "access": "public"
60
- },
61
- "bin": {
62
- "react-native-bspatch": "./tools/build_ota.sh"
63
- },
64
- "scripts": {
65
- "setup": "node ./tools/setup_project.js",
66
- "typecheck": "tsc --noEmit",
67
- "prepare": "bob build"
68
- },
69
- "devDependencies": {
70
- "@types/crypto-js": "^4.2.2",
71
- "@types/react": "^19.2.0",
72
- "react-native-builder-bob": "^0.43.0",
73
- "typescript": "^5.0.0"
74
- },
75
- "react-native-builder-bob": {
76
- "source": "src",
77
- "output": "lib",
78
- "targets": [
79
- "commonjs",
80
- "module",
81
- [
82
- "typescript",
83
- {
84
- "project": "tsconfig.build.json"
85
- }
86
- ]
87
- ]
88
- }
2
+ "name": "react-native-bspatch",
3
+ "version": "1.0.1",
4
+ "description": "Premium OTA Update Solution for React Native using TurboModules and bsdiff",
5
+ "main": "lib/commonjs/index.js",
6
+ "module": "lib/module/index.js",
7
+ "types": "lib/typescript/index.d.ts",
8
+ "react-native": "src/index.ts",
9
+ "source": "src/index.ts",
10
+ "files": [
11
+ "android",
12
+ "ios",
13
+ "cpp",
14
+ "src",
15
+ "lib",
16
+ "tools",
17
+ "react-native-bspatch.podspec",
18
+ "README.md",
19
+ "LICENSE",
20
+ "!**/__tests__",
21
+ "!**/__fixtures__",
22
+ "!**/__mocks__"
23
+ ],
24
+ "keywords": [
25
+ "react-native",
26
+ "ota",
27
+ "update",
28
+ "bspatch",
29
+ "bsdiff",
30
+ "turbo-module",
31
+ "android",
32
+ "ios"
33
+ ],
34
+ "codegenConfig": {
35
+ "name": "RNBsPatchSpec",
36
+ "type": "modules",
37
+ "jsSrcsDir": "src"
38
+ },
39
+ "peerDependencies": {
40
+ "react": "*",
41
+ "react-native": "*",
42
+ "react-native-blob-util": "*"
43
+ },
44
+ "dependencies": {
45
+ "crypto-js": "^4.2.0"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "git+https://github.com/BuiHung1612/react-native-bspatch.git"
50
+ },
51
+ "author": "Hung Bui <https://github.com/BuiHung1612>",
52
+ "license": "MIT",
53
+ "bugs": {
54
+ "url": "https://github.com/BuiHung1612/react-native-bspatch/issues"
55
+ },
56
+ "homepage": "https://github.com/BuiHung1612/react-native-bspatch#readme",
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "bin": {
61
+ "react-native-bspatch": "./tools/build_ota.sh"
62
+ },
63
+ "scripts": {
64
+ "setup": "node ./tools/setup_project.js",
65
+ "typecheck": "tsc --noEmit",
66
+ "prepare": "bob build"
67
+ },
68
+ "devDependencies": {
69
+ "@types/crypto-js": "^4.2.2",
70
+ "@types/react": "^19.2.0",
71
+ "react-native-builder-bob": "^0.43.0",
72
+ "typescript": "^5.0.0"
73
+ },
74
+ "react-native-builder-bob": {
75
+ "source": "src",
76
+ "output": "lib",
77
+ "targets": [
78
+ "commonjs",
79
+ "module",
80
+ [
81
+ "typescript",
82
+ {
83
+ "project": "tsconfig.build.json"
84
+ }
85
+ ]
86
+ ]
87
+ }
89
88
  }
package/src/ota/types.ts CHANGED
@@ -68,6 +68,8 @@ export type OtaPatch = {
68
68
  assetManifestUrl?: string;
69
69
  /** Target platform for this patch */
70
70
  platform?: string;
71
+ /** Flavor/channel for this patch */
72
+ flavor?: string;
71
73
  };
72
74
 
73
75
  /**
@@ -1,26 +1,27 @@
1
1
  #!/bin/bash
2
2
 
3
3
  # ─────────────────────────────────────────────────────────────────────────────
4
- # Custom OTA Upload Script for Sync Server
5
- # Custom server is a drop-in replacement for GitHub releases.
6
- # Uploads: 1) All .patch files → {baseFolder}/{appVersion}/
7
- # 2) ota_registry.json → {baseFolder}/ota_registry.json
4
+ # Custom OTA Upload Script for Sync Server & GitHub Storage
5
+ # Uploads: 1) All .patch & .hbc files → {baseFolder}/{appVersion}/{channel}/
6
+ # 2) ota_registry.json → {baseFolder}/ota_registry.json
8
7
  # ─────────────────────────────────────────────────────────────────────────────
9
8
 
10
- set -e
11
-
12
- BASE_URL="https://sync-server.osp.com.vn"
13
- UPCODE_USER="callapi_up"
14
- UPCODE_PASS="41221312fsdfdsf2fsdgsdf1AA1"
9
+ # Load environment variables if .env exists
10
+ ROOT_DIR=$(pwd)
11
+ if [ -f "$ROOT_DIR/.env" ]; then
12
+ export $(grep -v '^#' "$ROOT_DIR/.env" | grep -v '^$' | xargs 2>/dev/null)
13
+ fi
15
14
 
15
+ BASE_URL="${OTA_BASE_URL:-}"
16
+ UPCODE_USER="${OTA_UPLOAD_USER:-}"
17
+ UPCODE_PASS="${OTA_UPLOAD_PASSWORD:-}"
18
+ BASE_FOLDER="${OTA_FOLDER:-${6:-ota}}"
16
19
  APP_VERSION="$1"
17
20
  CHANNEL="$2"
18
21
  OTA_VERSION="$3"
19
22
  BUNDLE_PATH="$4" # unused — we upload .patch files, not the bundle
20
23
  PLATFORM="$5"
21
- BASE_FOLDER="${6:-congplqg}"
22
24
 
23
- ROOT_DIR=$(pwd)
24
25
  REGISTRY_FILE="$ROOT_DIR/ota_registry.json"
25
26
  OUTPUT_DIR="$ROOT_DIR/android/output"
26
27
  if [[ "$PLATFORM" == "ios" ]]; then
@@ -28,7 +29,7 @@ if [[ "$PLATFORM" == "ios" ]]; then
28
29
  fi
29
30
 
30
31
  echo ""
31
- echo "=== Custom OTA Upload | App: $APP_VERSION | Channel: $CHANNEL | V$OTA_VERSION ==="
32
+ echo "=== Custom OTA Upload | App: $APP_VERSION | Channel: $CHANNEL | V$OTA_VERSION | Platform: $PLATFORM ==="
32
33
  echo " Output dir: $OUTPUT_DIR"
33
34
 
34
35
  # Validate
@@ -41,8 +42,97 @@ if [[ ! -f "$REGISTRY_FILE" ]]; then
41
42
  exit 1
42
43
  fi
43
44
 
44
- # 1. Login
45
- echo "Logging in..."
45
+ # ── GitHub Auto-Push Integration ──────────────────────────────────────────────
46
+ if [[ "$BASE_URL" == *"github"* ]] || [[ "$BASE_URL" == *"raw.githubusercontent"* ]]; then
47
+ # Parse OWNER, REPO, BRANCH from URL
48
+ # Example: https://raw.githubusercontent.com/hungbv-taureau/baseform-storage/main
49
+ CLEAN_URL=$(echo "$BASE_URL" | sed 's#https://raw.githubusercontent.com/##' | sed 's#https://github.com/##')
50
+ OWNER=$(echo "$CLEAN_URL" | cut -d'/' -f1)
51
+ REPO=$(echo "$CLEAN_URL" | cut -d'/' -f2)
52
+ BRANCH=$(echo "$CLEAN_URL" | cut -d'/' -f3)
53
+ if [[ -z "$BRANCH" ]]; then BRANCH="main"; fi
54
+
55
+ # Check for gh token or env tokens
56
+ GH_CLI_TOKEN=$(gh auth token 2>/dev/null || true)
57
+ TOKEN="${GH_CLI_TOKEN:-${GH_TOKEN:-${GITHUB_TOKEN:-}}}"
58
+ if [[ "$TOKEN" == "baseform" ]]; then TOKEN=""; fi
59
+
60
+ if [[ -n "$TOKEN" ]]; then
61
+ GIT_REMOTE="https://x-access-token:${TOKEN}@github.com/${OWNER}/${REPO}.git"
62
+ echo " Using authenticated gh CLI token for ${OWNER}/${REPO}"
63
+ else
64
+ GIT_REMOTE="git@github.com:${OWNER}/${REPO}.git"
65
+ fi
66
+
67
+ GH_REPO_DIR="/tmp/ota_git_repo_${REPO}"
68
+
69
+ echo ""
70
+ echo "=== Auto Syncing OTA Release to GitHub Storage ==="
71
+ echo " Target Repo : ${OWNER}/${REPO}"
72
+ echo " Branch : ${BRANCH}"
73
+
74
+ # 1. Clone or Pull target storage repo
75
+ if [ -d "$GH_REPO_DIR/.git" ]; then
76
+ echo " Syncing local storage clone with remote..."
77
+ git -C "$GH_REPO_DIR" remote set-url origin "$GIT_REMOTE" 2>/dev/null || true
78
+ git -C "$GH_REPO_DIR" fetch origin "$BRANCH" 2>/dev/null || true
79
+ git -C "$GH_REPO_DIR" checkout "$BRANCH" 2>/dev/null || true
80
+ git -C "$GH_REPO_DIR" reset --hard "origin/$BRANCH" 2>/dev/null || true
81
+ else
82
+ echo " Cloning storage repository..."
83
+ rm -rf "$GH_REPO_DIR"
84
+ git clone --branch "$BRANCH" --depth 1 "$GIT_REMOTE" "$GH_REPO_DIR" 2>/dev/null || git clone "$GIT_REMOTE" "$GH_REPO_DIR"
85
+ fi
86
+
87
+ # 2. Copy generated files into storage repo
88
+ TARGET_RELEASE_DIR="$GH_REPO_DIR/$BASE_FOLDER/$APP_VERSION/$CHANNEL"
89
+ mkdir -p "$TARGET_RELEASE_DIR"
90
+
91
+ echo " Copying release files to storage repo..."
92
+ for FILE in "$OUTPUT_DIR"/*.{patch,hbc,json}; do
93
+ [[ -f "$FILE" ]] || continue
94
+ FNAME=$(basename "$FILE")
95
+ cp "$FILE" "$TARGET_RELEASE_DIR/$FNAME"
96
+ done
97
+
98
+ # Copy asset store if present
99
+ if [[ -d "$OUTPUT_DIR/asset-store" ]]; then
100
+ TARGET_ASSET_DIR="$GH_REPO_DIR/$BASE_FOLDER/assets"
101
+ mkdir -p "$TARGET_ASSET_DIR"
102
+ cp -R "$OUTPUT_DIR/asset-store/"* "$TARGET_ASSET_DIR/" 2>/dev/null || true
103
+ fi
104
+
105
+ # Copy ota_registry.json
106
+ mkdir -p "$GH_REPO_DIR/$BASE_FOLDER"
107
+ cp "$REGISTRY_FILE" "$GH_REPO_DIR/$BASE_FOLDER/ota_registry.json"
108
+ cp "$REGISTRY_FILE" "$GH_REPO_DIR/ota_registry.json" 2>/dev/null || true
109
+
110
+ # 3. Commit and Push to GitHub
111
+ cd "$GH_REPO_DIR"
112
+ git config user.name "hungbv-taureau" 2>/dev/null || true
113
+ git config user.email "hungbv@taureau.ai" 2>/dev/null || true
114
+ git add .
115
+ if git diff --staged --quiet; then
116
+ echo " ✓ Storage repository is up to date (no changes)."
117
+ else
118
+ echo " Committing OTA release (App: $APP_VERSION v$OTA_VERSION)..."
119
+ git commit -m "auto(ota): publish $PLATFORM $APP_VERSION v$OTA_VERSION ($CHANNEL)"
120
+ echo " Pushing to GitHub (${BRANCH})..."
121
+
122
+ if git push origin "$BRANCH"; then
123
+ echo " ✓ Successfully pushed OTA release to GitHub!"
124
+ else
125
+ echo " ⚠ Git push failed. Please verify write permissions for ${OWNER}/${REPO}."
126
+ fi
127
+ fi
128
+ cd "$ROOT_DIR"
129
+ echo ""
130
+ echo "=== GitHub Sync Complete ==="
131
+ exit 0
132
+ fi
133
+
134
+ # ── MinIO Server Integration ──────────────────────────────────────────────────
135
+ echo "Logging in to MinIO Server..."
46
136
  LOGIN_RES=$(curl -s -X "POST" "$BASE_URL/public/authen/login" \
47
137
  -H 'Content-Type: application/json; charset=utf-8' \
48
138
  -d "{\"username\": \"$UPCODE_USER\", \"password\": \"$UPCODE_PASS\"}")
@@ -54,13 +144,13 @@ TOKEN=$(echo "$LOGIN_RES" | node -e "
54
144
  } catch(e) { console.log(''); }
55
145
  ")
56
146
  if [[ -z "$TOKEN" ]]; then
57
- echo "ERROR: Login failed. Response: $LOGIN_RES"
58
- exit 1
147
+ echo " ⚠ Notice: Remote MinIO server login skipped."
148
+ echo " ✓ Bundles & registry generated at: $OUTPUT_DIR"
149
+ echo " Please commit and push local changes to your GitHub storage repository."
150
+ exit 0
59
151
  fi
60
152
  echo " ✓ Login successful"
61
153
 
62
- # ── Helpers ─────────────────────────────────────────────────────────────────
63
-
64
154
  remote_delete() {
65
155
  local path=$1
66
156
  local encoded
@@ -86,20 +176,17 @@ remote_upload() {
86
176
  fi
87
177
  }
88
178
 
89
- # 2. Upload all patch files, full bundles, and asset manifests
90
179
  echo "Uploading files for channel: $CHANNEL..."
91
180
  FILE_COUNT=0
92
181
  for FILE in "$OUTPUT_DIR"/*.{patch,hbc,json}; do
93
182
  [[ -f "$FILE" ]] || continue
94
183
  FNAME=$(basename "$FILE")
95
- # Only upload files belonging to the current APP_VERSION
96
184
  if [[ "$FNAME" == "patch_"* ]] || [[ "$FNAME" == "bundle_"* ]]; then
97
185
  if [[ "$FNAME" != *"_${APP_VERSION}_"* ]]; then
98
186
  continue
99
187
  fi
100
188
  fi
101
189
 
102
- # Further general filtering
103
190
  if [[ "$FNAME" != *"_${APP_VERSION}_"* ]] && [[ "$FNAME" != *"_${CHANNEL}_"* ]] && [[ "$FNAME" != *"_${PLATFORM}_"* ]] && [[ "$FNAME" != "asset-manifest"* ]] && [[ "$FNAME" != "base-assets"* ]]; then
104
191
  continue
105
192
  fi
@@ -110,22 +197,18 @@ for FILE in "$OUTPUT_DIR"/*.{patch,hbc,json}; do
110
197
  FILE_COUNT=$((FILE_COUNT + 1))
111
198
  done
112
199
 
113
- # 3. Upload hashed asset store
114
200
  if [[ -d "$OUTPUT_DIR/asset-store" ]]; then
115
201
  echo "Uploading hashed assets..."
116
202
  for FILE in "$OUTPUT_DIR/asset-store"/*; do
117
203
  [[ -f "$FILE" ]] || continue
118
204
  FNAME=$(basename "$FILE")
119
- # Assets are global to the base folder (content-addressed)
120
205
  REMOTE_PATH="$BASE_FOLDER/assets/$FNAME"
121
- # Optional: skip if already exists to save time, but for now we re-upload for safety
122
206
  remote_upload "$FILE" "$REMOTE_PATH"
123
207
  FILE_COUNT=$((FILE_COUNT + 1))
124
208
  done
125
209
  fi
126
210
  echo " ✓ $FILE_COUNT file(s) uploaded (patches + bundles + assets)"
127
211
 
128
- # 3. Upload ota_registry.json
129
212
  echo "Uploading ota_registry.json..."
130
213
  REMOTE_REGISTRY="$BASE_FOLDER/ota_registry.json"
131
214
  remote_delete "$REMOTE_REGISTRY"
@@ -135,4 +218,3 @@ echo " ✓ Registry uploaded"
135
218
  echo ""
136
219
  echo "=== Upload Complete ==="
137
220
  echo " Registry : $REMOTE_REGISTRY"
138
- echo " Patches : $BASE_FOLDER/$APP_VERSION/patch_*.patch ($PATCH_COUNT files)"