expo-build-properties 0.14.1 → 0.14.3

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/CHANGELOG.md CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 0.14.3 — 2025-04-11
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
17
+ ## 0.14.2 — 2025-04-11
18
+
19
+ ### 🎉 New features
20
+
21
+ - Add `android.enableBundleCompression` option ([#36071](https://github.com/expo/expo/pull/36071) by [@gabrieldonadel](https://github.com/gabrieldonadel))
22
+
13
23
  ## 0.14.1 — 2025-04-09
14
24
 
15
25
  _This version does not introduce any user-facing changes._
package/build/android.js CHANGED
@@ -93,6 +93,10 @@ exports.withAndroidBuildProperties = createBuildGradlePropsConfigPlugin([
93
93
  propName: 'android.useDayNightTheme',
94
94
  propValueGetter: (config) => config.android?.useDayNightTheme?.toString(),
95
95
  },
96
+ {
97
+ propName: 'android.enableBundleCompression',
98
+ propValueGetter: (config) => config.android?.enableBundleCompression?.toString(),
99
+ },
96
100
  ], 'withAndroidBuildProperties');
97
101
  /**
98
102
  * Appends `props.android.extraProguardRules` content into `android/app/proguard-rules.pro`
@@ -139,6 +139,14 @@ export interface PluginConfigTypeAndroid {
139
139
  * @see [Android documentation](https://developer.android.com/develop/ui/views/theming/darktheme)
140
140
  */
141
141
  useDayNightTheme?: boolean;
142
+ /**
143
+ * Enable JavaScript Bundle compression. Turning this on will result in a smaller APK size but may have slower app startup times.
144
+ *
145
+ * @see [Faster App Startup](https://reactnative.dev/blog/2025/04/08/react-native-0.79#android-faster-app-startup)
146
+ *
147
+ * @default false
148
+ */
149
+ enableBundleCompression?: boolean;
142
150
  }
143
151
  /**
144
152
  * @platform android
@@ -380,12 +388,13 @@ export interface PluginConfigTypeAndroidQueries {
380
388
  * Specifies an intent filter signature. Your app can discover other apps that have matching `<intent-filter>` elements.
381
389
  * These intents have restrictions compared to typical intent filter signatures.
382
390
  *
383
- * @see [Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details
391
+ * @see [Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for more information.
384
392
  */
385
393
  intent?: PluginConfigTypeAndroidQueriesIntent[];
386
394
  /**
387
395
  * Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.
388
- * There are some restrictions on the options that you can include in this `<provider>` element, compared to a typical `<provider>` manifest element. You may only specify the `android:authorities` attribute.
396
+ * There are some restrictions on the options that you can include in this `<provider>` element, compared to a typical `<provider>` manifest element.
397
+ * You may only specify the `android:authorities` attribute.
389
398
  */
390
399
  provider?: string[];
391
400
  }
@@ -394,7 +403,9 @@ export interface PluginConfigTypeAndroidQueries {
394
403
  */
395
404
  export interface PluginConfigTypeAndroidQueriesIntent {
396
405
  /**
397
- * A string naming the action to perform. Usually one of the platform-defined values, such as `ACTION_SEND` or `ACTION_VIEW`.
406
+ * A string naming the action to perform. Usually one of the platform-defined values, such as `SEND` or `VIEW`.
407
+ *
408
+ * @see [Android documentation](https://developer.android.com/guide/topics/manifest/action-element) for more information.
398
409
  */
399
410
  action?: string;
400
411
  /**
@@ -136,6 +136,7 @@ const schema = {
136
136
  },
137
137
  nullable: true,
138
138
  },
139
+ enableBundleCompression: { type: 'boolean', nullable: true },
139
140
  },
140
141
  nullable: true,
141
142
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-build-properties",
3
- "version": "0.14.1",
3
+ "version": "0.14.3",
4
4
  "description": "Config plugin to customize native build properties on prebuild",
5
5
  "main": "build/withBuildProperties.js",
6
6
  "types": "build/withBuildProperties.d.ts",
@@ -40,5 +40,5 @@
40
40
  "peerDependencies": {
41
41
  "expo": "*"
42
42
  },
43
- "gitHead": "1914bb35d23af23078da37e70988261844436505"
43
+ "gitHead": "dd2c7150fd75c56505aa6d3f805c14e255649c5d"
44
44
  }
package/src/android.ts CHANGED
@@ -104,6 +104,10 @@ export const withAndroidBuildProperties = createBuildGradlePropsConfigPlugin<Plu
104
104
  propName: 'android.useDayNightTheme',
105
105
  propValueGetter: (config) => config.android?.useDayNightTheme?.toString(),
106
106
  },
107
+ {
108
+ propName: 'android.enableBundleCompression',
109
+ propValueGetter: (config) => config.android?.enableBundleCompression?.toString(),
110
+ },
107
111
  ],
108
112
  'withAndroidBuildProperties'
109
113
  );
@@ -163,6 +163,15 @@ export interface PluginConfigTypeAndroid {
163
163
  * @see [Android documentation](https://developer.android.com/develop/ui/views/theming/darktheme)
164
164
  */
165
165
  useDayNightTheme?: boolean;
166
+
167
+ /**
168
+ * Enable JavaScript Bundle compression. Turning this on will result in a smaller APK size but may have slower app startup times.
169
+ *
170
+ * @see [Faster App Startup](https://reactnative.dev/blog/2025/04/08/react-native-0.79#android-faster-app-startup)
171
+ *
172
+ * @default false
173
+ */
174
+ enableBundleCompression?: boolean;
166
175
  }
167
176
 
168
177
  // @docsMissing
@@ -429,12 +438,13 @@ export interface PluginConfigTypeAndroidQueries {
429
438
  * Specifies an intent filter signature. Your app can discover other apps that have matching `<intent-filter>` elements.
430
439
  * These intents have restrictions compared to typical intent filter signatures.
431
440
  *
432
- * @see [Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for details
441
+ * @see [Android documentation](https://developer.android.com/training/package-visibility/declaring#intent-filter-signature) for more information.
433
442
  */
434
443
  intent?: PluginConfigTypeAndroidQueriesIntent[];
435
444
  /**
436
445
  * Specifies one or more content provider authorities. Your app can discover other apps whose content providers use the specified authorities.
437
- * There are some restrictions on the options that you can include in this `<provider>` element, compared to a typical `<provider>` manifest element. You may only specify the `android:authorities` attribute.
446
+ * There are some restrictions on the options that you can include in this `<provider>` element, compared to a typical `<provider>` manifest element.
447
+ * You may only specify the `android:authorities` attribute.
438
448
  */
439
449
  provider?: string[];
440
450
  }
@@ -445,7 +455,9 @@ export interface PluginConfigTypeAndroidQueries {
445
455
  */
446
456
  export interface PluginConfigTypeAndroidQueriesIntent {
447
457
  /**
448
- * A string naming the action to perform. Usually one of the platform-defined values, such as `ACTION_SEND` or `ACTION_VIEW`.
458
+ * A string naming the action to perform. Usually one of the platform-defined values, such as `SEND` or `VIEW`.
459
+ *
460
+ * @see [Android documentation](https://developer.android.com/guide/topics/manifest/action-element) for more information.
449
461
  */
450
462
  action?: string;
451
463
  /**
@@ -601,6 +613,7 @@ const schema: JSONSchemaType<PluginConfigType> = {
601
613
  },
602
614
  nullable: true,
603
615
  },
616
+ enableBundleCompression: { type: 'boolean', nullable: true },
604
617
  },
605
618
  nullable: true,
606
619
  },