@lynxship/expo 0.1.2 → 0.1.5

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 CHANGED
@@ -18,6 +18,11 @@ npx expo prebuild
18
18
  npx pod-install
19
19
  ```
20
20
 
21
+ `@lynxship/expo` uses the `expo-modules-core` implementation supplied by the
22
+ installed Expo SDK. The package keeps it as a development dependency for its
23
+ own native-module build, so installing `@lynxship/expo` does not require a
24
+ second manual native dependency in the application.
25
+
21
26
  When the project uses a static `app.json` or `app.config.json`, the Expo CLI
22
27
  automatically adds `@lynxship/expo` to `expo.plugins` during `npx expo install`.
23
28
  The plugin's defaults are safe for the first build, so no manual config edit
@@ -73,6 +78,10 @@ The endpoint must be HTTPS outside localhost. The public verification key is
73
78
  safe to ship in the application; private signing keys must remain in the
74
79
  LynxShip CLI or CI secret store.
75
80
 
81
+ The Android Expo module reads its native Maven version from this package's
82
+ `package.json`, so publishing a new package version cannot leave the Gradle
83
+ module on an old or missing `versionName`.
84
+
76
85
  `lynxVersion` defaults to `auto`. Android resolves the current Lynx release
77
86
  through Gradle and iOS resolves the current CocoaPods release. Gradle and
78
87
  CocoaPods lockfiles retain the concrete versions selected by the first native
@@ -1,6 +1,22 @@
1
+ import groovy.json.JsonSlurper
2
+
1
3
  plugins {
2
4
  id "com.android.library"
5
+ id "expo-module-gradle-plugin"
6
+ }
7
+
8
+ def packageJsonFile = file("../package.json")
9
+ if (!packageJsonFile.isFile()) {
10
+ throw new GradleException("@lynxship/expo package.json is missing")
3
11
  }
12
+ def packageJson = new JsonSlurper().parseText(packageJsonFile.text)
13
+ def moduleVersion = packageJson.version?.toString()
14
+ if (!moduleVersion) {
15
+ throw new GradleException("@lynxship/expo package.json does not define a version")
16
+ }
17
+
18
+ group = "com.lynxship.expo"
19
+ version = moduleVersion
4
20
 
5
21
  // `latest.release` is used only when the app does not provide an exact
6
22
  // version. Gradle dependency locking then records the resolved version for
@@ -12,6 +28,8 @@ android {
12
28
  compileSdk 35
13
29
 
14
30
  defaultConfig {
31
+ versionCode 1
32
+ versionName moduleVersion
15
33
  minSdk 24
16
34
  consumerProguardFiles "consumer-rules.pro"
17
35
  }
@@ -1,6 +1,14 @@
1
+ require 'json'
2
+
3
+ package_json_path = File.join(__dir__, 'package.json')
4
+ raise 'LynxShip Expo package.json is missing' unless File.file?(package_json_path)
5
+
6
+ package_version = JSON.parse(File.read(package_json_path))['version']
7
+ raise 'LynxShip Expo package.json does not define a version' unless package_version
8
+
1
9
  Pod::Spec.new do |s|
2
10
  s.name = 'LynxShipExpo'
3
- s.version = '0.1.0'
11
+ s.version = package_version
4
12
  s.summary = 'Expo native LynxView integration for LynxShip.'
5
13
  s.license = { :type => 'MIT' }
6
14
  s.author = { 'LynxShip' => 'opensource@lynxship.dev' }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynxship/expo",
3
- "version": "0.1.2",
3
+ "version": "0.1.5",
4
4
  "description": "Expo native LynxView with LynxShip OTA delivery and cache support.",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -42,10 +42,12 @@
42
42
  "peerDependencies": {
43
43
  "@expo/config-plugins": ">=9",
44
44
  "expo": ">=52",
45
- "expo-modules-core": ">=1",
46
45
  "react": ">=18",
47
46
  "react-native": ">=0.76"
48
47
  },
48
+ "devDependencies": {
49
+ "expo-modules-core": "57.0.13"
50
+ },
49
51
  "dependencies": {
50
52
  "@lynxship/sdk-android": "0.1.0",
51
53
  "@lynxship/sdk-ios": "0.1.0"