expo-native-cache-provider 0.1.0 → 0.1.2
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.
- package/README.md +124 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +11 -2
- package/build/index.js.map +1 -1
- package/package.json +10 -1
package/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# expo-native-cache-provider
|
|
2
|
+
|
|
3
|
+
Native-only build cache provider for Expo projects. It plugs into Expo's `buildCacheProvider` plugin system and caches **native build artifacts** (APK / `.app` bundles) using a **local‑first + optional S3** strategy.
|
|
4
|
+
|
|
5
|
+
- Caches only native artifacts (no JS/TS hash) for fast reuse while iterating on native code
|
|
6
|
+
- Supports **development** and **QA**-style profiles; **production builds are never cached**
|
|
7
|
+
- Local disk cache with optional S3 backing store
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install expo-native-cache-provider
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Peer dependency (already present in Expo apps):
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --save-dev @expo/config
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Basic usage (Expo app config)
|
|
22
|
+
|
|
23
|
+
In your `app.config.(js|ts)` or `app.json`, register the plugin:
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
// app.config.js
|
|
27
|
+
export default {
|
|
28
|
+
// ...
|
|
29
|
+
buildCacheProvider: {
|
|
30
|
+
plugin: "expo-native-cache-provider",
|
|
31
|
+
options: {
|
|
32
|
+
// Optional: see configuration section below
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The provider will:
|
|
39
|
+
|
|
40
|
+
- Calculate a **native-only fingerprint** (no JS/TS files)
|
|
41
|
+
- Decide a **profile** based on your build settings:
|
|
42
|
+
- `debug` / `Debug` → `development`
|
|
43
|
+
- `release` / `Release` + `expo-dev-client` dependency → `qa`
|
|
44
|
+
- `release` / `Release` without dev client → `production`
|
|
45
|
+
- Use the cache **only for non‑production** profiles
|
|
46
|
+
|
|
47
|
+
## Configuration
|
|
48
|
+
|
|
49
|
+
The plugin accepts a partial `HybridCacheConfig`:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
type HybridCacheConfig = {
|
|
53
|
+
localCacheDir: string;
|
|
54
|
+
s3?: {
|
|
55
|
+
bucket: string;
|
|
56
|
+
region: string;
|
|
57
|
+
accessKeyId?: string;
|
|
58
|
+
secretAccessKey?: string;
|
|
59
|
+
endpoint?: string;
|
|
60
|
+
prefix?: string;
|
|
61
|
+
};
|
|
62
|
+
writeThrough?: boolean; // default: true
|
|
63
|
+
enableRepack?: boolean; // default: false
|
|
64
|
+
};
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Example
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
export default {
|
|
71
|
+
// ...
|
|
72
|
+
buildCacheProvider: {
|
|
73
|
+
plugin: "expo-native-cache-provider",
|
|
74
|
+
options: {
|
|
75
|
+
localCacheDir: "/tmp/expo-native-cache",
|
|
76
|
+
s3: {
|
|
77
|
+
bucket: "my-expo-native-cache",
|
|
78
|
+
region: "us-east-1",
|
|
79
|
+
// accessKeyId / secretAccessKey can also come from the environment
|
|
80
|
+
},
|
|
81
|
+
writeThrough: true,
|
|
82
|
+
enableRepack: false,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Environment variables
|
|
89
|
+
|
|
90
|
+
If you omit some options, the provider falls back to environment variables:
|
|
91
|
+
|
|
92
|
+
- `EXPO_NATIVE_CACHE_LOCAL_DIR` – overrides `localCacheDir`
|
|
93
|
+
- `EXPO_NATIVE_CACHE_S3_REGION` – default S3 region (when not set in `options.s3.region`)
|
|
94
|
+
- `EXPO_NATIVE_CACHE_S3_ACCESS_KEY_ID`
|
|
95
|
+
- `EXPO_NATIVE_CACHE_S3_SECRET_ACCESS_KEY`
|
|
96
|
+
- `EXPO_NATIVE_CACHE_S3_ENDPOINT`
|
|
97
|
+
- `EXPO_NATIVE_CACHE_S3_PREFIX`
|
|
98
|
+
|
|
99
|
+
The **S3 bucket** must be provided via `options.s3.bucket`.
|
|
100
|
+
|
|
101
|
+
## How it works (high level)
|
|
102
|
+
|
|
103
|
+
- A **hybrid cache** checks:
|
|
104
|
+
1. Local disk first
|
|
105
|
+
2. S3 second (optional); on S3 hit, it writes back to disk
|
|
106
|
+
- Artifacts are:
|
|
107
|
+
- `.apk` files (Android)
|
|
108
|
+
- `.app` bundles (iOS, stored as compressed tarballs)
|
|
109
|
+
- On `resolveBuildCache`:
|
|
110
|
+
- Cache miss → returns `null` (let Expo build as normal)
|
|
111
|
+
- Cache hit → restores the artifact to the local cache directory
|
|
112
|
+
- On `uploadBuildCache`:
|
|
113
|
+
- Reads the built artifact
|
|
114
|
+
- Stores it in the hybrid cache
|
|
115
|
+
- Copies it into the local cache directory for fast reuse
|
|
116
|
+
|
|
117
|
+
## When to use this provider
|
|
118
|
+
|
|
119
|
+
Use `expo-native-cache-provider` when you want:
|
|
120
|
+
|
|
121
|
+
- Faster **native iteration loops** for Android/iOS builds
|
|
122
|
+
- A clear separation between native build caching and JS/TS bundling concerns
|
|
123
|
+
- Optional S3 storage for sharing artifacts across machines or CI agents
|
|
124
|
+
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EAIxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0H9E;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,EAAE,wBAAwB,CAClD,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAoFtC,CAAC;AAwBF;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EAIxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0H9E;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,EAAE,wBAAwB,CAClD,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAoFtC,CAAC;AAwBF;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAkDxG;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,eAAe,mBAAmB,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, writeFile, cp, mkdir, stat, unlink } from "node:fs/promises";
|
|
1
|
+
import { readFile, writeFile, cp, mkdir, stat, unlink, access } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { create, extract } from "tar";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
@@ -214,6 +214,7 @@ export async function generateJSBundle(projectRoot, platform) {
|
|
|
214
214
|
cwd: projectRoot,
|
|
215
215
|
stdio: "pipe",
|
|
216
216
|
timeout: BUNDLE_TIMEOUT_MS,
|
|
217
|
+
env: { ...process.env, NODE_ENV: process.env.NODE_ENV },
|
|
217
218
|
});
|
|
218
219
|
const possiblePaths = [
|
|
219
220
|
path.join(projectRoot, ".expo", "bundles", bundleName),
|
|
@@ -233,7 +234,15 @@ export async function generateJSBundle(projectRoot, platform) {
|
|
|
233
234
|
logger.debug(`Expo export:embed failed, trying Metro directly: ${error}`);
|
|
234
235
|
}
|
|
235
236
|
const entryFile = await resolveEntryFile(projectRoot, platform);
|
|
236
|
-
|
|
237
|
+
const metroConfig = path.join(projectRoot, "metro.config.js");
|
|
238
|
+
const hasMetroConfig = await access(metroConfig).then(() => true).catch(() => false);
|
|
239
|
+
const configFlag = hasMetroConfig ? ` --config "${metroConfig}"` : "";
|
|
240
|
+
execSync(`npx react-native bundle --platform ${platform} --dev false --entry-file ${entryFile} --bundle-output "${tempBundle}" --assets-dest "${path.dirname(tempBundle)}"${configFlag}`, {
|
|
241
|
+
cwd: projectRoot,
|
|
242
|
+
stdio: "pipe",
|
|
243
|
+
timeout: BUNDLE_TIMEOUT_MS,
|
|
244
|
+
env: { ...process.env, NODE_ENV: process.env.NODE_ENV },
|
|
245
|
+
});
|
|
237
246
|
await stat(tempBundle);
|
|
238
247
|
return tempBundle;
|
|
239
248
|
}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-native-cache-provider",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Native-only cache provider using Expo's official fingerprinting",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
"files": [
|
|
9
9
|
"/build"
|
|
10
10
|
],
|
|
11
|
+
"keywords": [
|
|
12
|
+
"expo",
|
|
13
|
+
"build-cache",
|
|
14
|
+
"cache",
|
|
15
|
+
"native",
|
|
16
|
+
"android",
|
|
17
|
+
"ios",
|
|
18
|
+
"s3"
|
|
19
|
+
],
|
|
11
20
|
"scripts": {
|
|
12
21
|
"build": "tsc",
|
|
13
22
|
"typecheck": "tsc --noEmit",
|