@microsoft/power-apps-native-host 0.2.25 → 0.3.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.
Files changed (154) hide show
  1. package/README.md +21 -10
  2. package/compatibility/current.json +31 -4
  3. package/lib/NOTICE.txt +1325 -24
  4. package/lib/commonjs/auth/AuthContext.js +110 -33
  5. package/lib/commonjs/bridge/NativePowerAppsBridge.js +11 -18
  6. package/lib/commonjs/bridge/PowerPagesBridge.js +27 -8
  7. package/lib/commonjs/bridge/bridgeState.js +40 -0
  8. package/lib/commonjs/config/babelConfig.js +13 -0
  9. package/lib/commonjs/config/expoConfig.js +71 -0
  10. package/lib/commonjs/config/metroConfig.js +70 -0
  11. package/lib/commonjs/config/metroLogger.js +182 -0
  12. package/lib/commonjs/config/tamaguiConfig.js +98 -0
  13. package/lib/commonjs/connections/ConnectionSetupScreen.js +459 -80
  14. package/lib/commonjs/connections/PowerPlatformConnectionApi.js +946 -0
  15. package/lib/commonjs/connections/connectionMetadata.js +127 -0
  16. package/lib/commonjs/connections/connectionState.js +96 -0
  17. package/lib/commonjs/connections/disambiguate.js +19 -11
  18. package/lib/commonjs/connections/resolveConnections.js +348 -0
  19. package/lib/commonjs/connections/types.js +106 -0
  20. package/lib/commonjs/{platform → connections}/useConnectionRefs.js +130 -65
  21. package/lib/commonjs/connections/useConnectionSetup.js +111 -52
  22. package/lib/commonjs/controls/FilePicker.js +6 -0
  23. package/lib/commonjs/controls/ImagePicker.js +8 -0
  24. package/lib/commonjs/index.js +167 -4
  25. package/lib/commonjs/logger.js +9 -6
  26. package/lib/commonjs/offline/createOfflineHostActivationCallbacks.js +61 -0
  27. package/lib/commonjs/offline/useOfflineIntegrationWithStartupGate.js +48 -0
  28. package/lib/commonjs/offline/useOfflineIntegrationWithStartupGate.web.js +13 -0
  29. package/lib/commonjs/platform/DataverseDataSources.js +18 -0
  30. package/lib/commonjs/platform/DataverseGlobalDiscoveryApi.js +94 -0
  31. package/lib/commonjs/platform/GlobalDiscovery.js +51 -0
  32. package/lib/commonjs/platform/PowerPlatformEnvironmentApi.js +6 -106
  33. package/lib/commonjs/provider/PowerAppsHostProvider.js +157 -25
  34. package/lib/commonjs/provider/PowerAppsProvider.js +178 -134
  35. package/lib/commonjs/provider/SessionDetailsGesture.js +208 -0
  36. package/lib/commonjs/telemetry/OfflineSdkTelemetry.js +95 -0
  37. package/lib/commonjs/telemetry/OfflineSdkTelemetry.web.js +9 -0
  38. package/lib/commonjs/telemetry/index.js +22 -3
  39. package/lib/module/auth/AuthContext.js +110 -33
  40. package/lib/module/bridge/NativePowerAppsBridge.js +12 -19
  41. package/lib/module/bridge/PowerPagesBridge.js +27 -8
  42. package/lib/module/bridge/bridgeState.js +34 -0
  43. package/lib/module/config/babelConfig.js +9 -0
  44. package/lib/module/config/expoConfig.js +67 -0
  45. package/lib/module/config/metroConfig.js +65 -0
  46. package/lib/module/config/metroLogger.js +175 -0
  47. package/lib/module/config/tamaguiConfig.js +93 -0
  48. package/lib/module/connections/ConnectionSetupScreen.js +460 -81
  49. package/lib/module/connections/PowerPlatformConnectionApi.js +932 -0
  50. package/lib/module/connections/connectionMetadata.js +112 -0
  51. package/lib/module/connections/connectionState.js +82 -0
  52. package/lib/module/connections/disambiguate.js +19 -12
  53. package/lib/module/connections/resolveConnections.js +343 -0
  54. package/lib/module/connections/types.js +91 -0
  55. package/lib/module/{platform → connections}/useConnectionRefs.js +131 -66
  56. package/lib/module/connections/useConnectionSetup.js +113 -54
  57. package/lib/module/controls/FilePicker.js +6 -0
  58. package/lib/module/controls/ImagePicker.js +8 -0
  59. package/lib/module/index.js +14 -4
  60. package/lib/module/logger.js +8 -6
  61. package/lib/module/offline/createOfflineHostActivationCallbacks.js +55 -0
  62. package/lib/module/offline/useOfflineIntegrationWithStartupGate.js +44 -0
  63. package/lib/module/offline/useOfflineIntegrationWithStartupGate.web.js +9 -0
  64. package/lib/module/platform/DataverseDataSources.js +13 -0
  65. package/lib/module/platform/DataverseGlobalDiscoveryApi.js +89 -0
  66. package/lib/module/platform/GlobalDiscovery.js +45 -0
  67. package/lib/module/platform/PowerPlatformEnvironmentApi.js +5 -104
  68. package/lib/module/provider/PowerAppsHostProvider.js +160 -28
  69. package/lib/module/provider/PowerAppsProvider.js +182 -138
  70. package/lib/module/provider/SessionDetailsGesture.js +203 -0
  71. package/lib/module/telemetry/OfflineSdkTelemetry.js +91 -0
  72. package/lib/module/telemetry/OfflineSdkTelemetry.web.js +5 -0
  73. package/lib/module/telemetry/index.js +15 -4
  74. package/lib/typescript/commonjs/auth/AuthContext.d.ts +3 -1
  75. package/lib/typescript/commonjs/auth/AuthContext.web.d.ts +1 -0
  76. package/lib/typescript/commonjs/bridge/bridgeState.d.ts +5 -0
  77. package/lib/typescript/commonjs/config/babelConfig.d.ts +12 -0
  78. package/lib/typescript/commonjs/config/expoConfig.d.ts +21 -0
  79. package/lib/typescript/commonjs/config/metroConfig.d.ts +6 -0
  80. package/lib/typescript/commonjs/config/metroLogger.d.ts +21 -0
  81. package/lib/typescript/commonjs/config/tamaguiConfig.d.ts +1792 -0
  82. package/lib/typescript/commonjs/connections/ConnectionSetupScreen.d.ts +28 -7
  83. package/lib/typescript/commonjs/{platform → connections}/PowerPlatformConnectionApi.d.ts +52 -43
  84. package/lib/typescript/commonjs/connections/connectionMetadata.d.ts +66 -0
  85. package/lib/typescript/commonjs/connections/connectionState.d.ts +16 -0
  86. package/lib/typescript/commonjs/connections/disambiguate.d.ts +4 -2
  87. package/lib/typescript/commonjs/{platform → connections}/resolveConnections.d.ts +22 -20
  88. package/lib/typescript/commonjs/connections/types.d.ts +129 -1
  89. package/lib/typescript/commonjs/{platform → connections}/useConnectionRefs.d.ts +36 -25
  90. package/lib/typescript/commonjs/connections/useConnectionSetup.d.ts +12 -8
  91. package/lib/typescript/commonjs/controls/FilePicker.d.ts +7 -1
  92. package/lib/typescript/commonjs/controls/ImagePicker.d.ts +9 -1
  93. package/lib/typescript/commonjs/index.d.ts +18 -10
  94. package/lib/typescript/commonjs/logger.d.ts +4 -4
  95. package/lib/typescript/commonjs/offline/createOfflineHostActivationCallbacks.d.ts +12 -0
  96. package/lib/typescript/commonjs/offline/useOfflineIntegrationWithStartupGate.d.ts +15 -0
  97. package/lib/typescript/commonjs/offline/useOfflineIntegrationWithStartupGate.web.d.ts +6 -0
  98. package/lib/typescript/commonjs/platform/DataverseDataSources.d.ts +28 -0
  99. package/lib/typescript/commonjs/platform/DataverseGlobalDiscoveryApi.d.ts +3 -0
  100. package/lib/typescript/commonjs/platform/GlobalDiscovery.d.ts +4 -0
  101. package/lib/typescript/commonjs/platform/PowerPlatformEnvironmentApi.d.ts +3 -74
  102. package/lib/typescript/commonjs/provider/PowerAppsHostProvider.d.ts +29 -18
  103. package/lib/typescript/commonjs/provider/PowerAppsProvider.d.ts +54 -9
  104. package/lib/typescript/commonjs/provider/SessionDetailsGesture.d.ts +13 -0
  105. package/lib/typescript/commonjs/telemetry/OfflineSdkTelemetry.d.ts +15 -0
  106. package/lib/typescript/commonjs/telemetry/OfflineSdkTelemetry.web.d.ts +2 -0
  107. package/lib/typescript/commonjs/telemetry/index.d.ts +13 -1
  108. package/lib/typescript/module/auth/AuthContext.d.ts +3 -1
  109. package/lib/typescript/module/auth/AuthContext.web.d.ts +1 -0
  110. package/lib/typescript/module/bridge/bridgeState.d.ts +5 -0
  111. package/lib/typescript/module/config/babelConfig.d.ts +12 -0
  112. package/lib/typescript/module/config/expoConfig.d.ts +21 -0
  113. package/lib/typescript/module/config/metroConfig.d.ts +6 -0
  114. package/lib/typescript/module/config/metroLogger.d.ts +21 -0
  115. package/lib/typescript/module/config/tamaguiConfig.d.ts +1792 -0
  116. package/lib/typescript/module/connections/ConnectionSetupScreen.d.ts +28 -7
  117. package/lib/typescript/module/{platform → connections}/PowerPlatformConnectionApi.d.ts +52 -43
  118. package/lib/typescript/module/connections/connectionMetadata.d.ts +66 -0
  119. package/lib/typescript/module/connections/connectionState.d.ts +16 -0
  120. package/lib/typescript/module/connections/disambiguate.d.ts +4 -2
  121. package/lib/typescript/module/{platform → connections}/resolveConnections.d.ts +22 -20
  122. package/lib/typescript/module/connections/types.d.ts +129 -1
  123. package/lib/typescript/module/{platform → connections}/useConnectionRefs.d.ts +36 -25
  124. package/lib/typescript/module/connections/useConnectionSetup.d.ts +12 -8
  125. package/lib/typescript/module/controls/FilePicker.d.ts +7 -1
  126. package/lib/typescript/module/controls/ImagePicker.d.ts +9 -1
  127. package/lib/typescript/module/index.d.ts +18 -10
  128. package/lib/typescript/module/logger.d.ts +4 -4
  129. package/lib/typescript/module/offline/createOfflineHostActivationCallbacks.d.ts +12 -0
  130. package/lib/typescript/module/offline/useOfflineIntegrationWithStartupGate.d.ts +15 -0
  131. package/lib/typescript/module/offline/useOfflineIntegrationWithStartupGate.web.d.ts +6 -0
  132. package/lib/typescript/module/platform/DataverseDataSources.d.ts +28 -0
  133. package/lib/typescript/module/platform/DataverseGlobalDiscoveryApi.d.ts +3 -0
  134. package/lib/typescript/module/platform/GlobalDiscovery.d.ts +4 -0
  135. package/lib/typescript/module/platform/PowerPlatformEnvironmentApi.d.ts +3 -74
  136. package/lib/typescript/module/provider/PowerAppsHostProvider.d.ts +29 -18
  137. package/lib/typescript/module/provider/PowerAppsProvider.d.ts +54 -9
  138. package/lib/typescript/module/provider/SessionDetailsGesture.d.ts +13 -0
  139. package/lib/typescript/module/telemetry/OfflineSdkTelemetry.d.ts +15 -0
  140. package/lib/typescript/module/telemetry/OfflineSdkTelemetry.web.d.ts +2 -0
  141. package/lib/typescript/module/telemetry/index.d.ts +13 -1
  142. package/package.json +52 -13
  143. package/scripts/build-codegen-package.js +283 -0
  144. package/scripts/start-web.mjs +9 -5
  145. package/scripts/upgrade/runtime.js +139 -24
  146. package/scripts/upgrade-authoring.js +274 -180
  147. package/scripts/upgrade.js +10 -16
  148. package/src/config/generated-config.d.ts +4 -0
  149. package/src/config/index.d.ts +3 -0
  150. package/src/config/tsconfig.json +26 -0
  151. package/lib/commonjs/platform/PowerPlatformConnectionApi.js +0 -606
  152. package/lib/commonjs/platform/resolveConnections.js +0 -264
  153. package/lib/module/platform/PowerPlatformConnectionApi.js +0 -595
  154. package/lib/module/platform/resolveConnections.js +0 -259
package/README.md CHANGED
@@ -104,16 +104,8 @@ npx --package @microsoft/power-apps-native-host@latest upgrade-template
104
104
 
105
105
  Each run upgrades one template version, installs compatible dependencies, and
106
106
  runs Expo validation. If another version is available, run the command again.
107
- The current version is stored in `.powerapps-native/version.json`; do not edit
108
- this file.
109
-
110
- Apps created before this version file existed must specify their source template
111
- version:
112
-
113
- ```bash
114
- npx --package @microsoft/power-apps-native-host@latest \
115
- upgrade-template --from-version 1
116
- ```
107
+ The current version is stored in `app.json` under
108
+ `expo.extra.powerappsNative`; do not edit this object.
117
109
 
118
110
  The upgrader never changes `app/`, `src/`, `android/`, or `ios/`. If a root
119
111
  configuration change conflicts with your customization, it writes a `.rej` file
@@ -161,6 +153,25 @@ export default function App() {
161
153
 
162
154
  See `src/index.ts` for the full exported API.
163
155
 
156
+ ## Metro Logger
157
+
158
+ Metro configuration can import the Node-only logger from
159
+ `@microsoft/power-apps-native-host/config/metroLogger`. Pass `projectRoot` when
160
+ wrapping middleware. An optional `onError(error, context)` callback receives the
161
+ first instrumentation failure for that project; `context` contains `phase` and
162
+ `logPath`. The callback is invoked at most once so diagnostics cannot recurse.
163
+ When it is omitted, the first failure is written once through the original
164
+ stderr stream. Logging and callback failures never propagate into Metro.
165
+
166
+ ```js
167
+ withPowerNativeMetroLogging(middleware, {
168
+ projectRoot: __dirname,
169
+ onError(error, { phase, logPath }) {
170
+ reportMetroLoggingFailure({ error, phase, logPath });
171
+ },
172
+ });
173
+ ```
174
+
164
175
  ## Bundled CLI Scripts
165
176
 
166
177
  This package exposes these CLI scripts through the `bin` field:
@@ -2,14 +2,25 @@
2
2
  "schemaVersion": 1,
3
3
  "id": "expo-55",
4
4
  "targetTemplateVersion": 1,
5
+ "nativeRuntime": {
6
+ "android": {
7
+ "version": 1,
8
+ "fingerprint": "aa5ddf89dbde7797f8b8ded037b34083833b18751f126188bce299bca3cdcd9c"
9
+ },
10
+ "ios": {
11
+ "version": 1,
12
+ "fingerprint": "19863bdb84f0d9d163779b1f4b5be824e070f2758b393a9a1bdbba6598dcae50"
13
+ }
14
+ },
5
15
  "expoSdk": 55,
6
16
  "expoVersion": "55.0.26",
7
17
  "expoDoctorVersion": "1.20.0",
8
18
  "managedDependencies": {
19
+ "@expo/config-plugins": "55.0.11",
9
20
  "@expo/metro-runtime": "55.0.11",
10
21
  "@expo/vector-icons": "15.1.1",
11
- "@microsoft/power-apps": "1.2.7",
12
- "@microsoft/power-apps-native-offline": "^0.1.3",
22
+ "@microsoft/power-apps": "1.2.13",
23
+ "@microsoft/power-apps-native-offline": "^0.1.32",
13
24
  "@react-native-async-storage/async-storage": "^2.1.2",
14
25
  "@react-native-community/datetimepicker": "8.6.0",
15
26
  "@react-native-community/netinfo": "11.5.2",
@@ -35,6 +46,7 @@
35
46
  "expo-document-picker": "55.0.13",
36
47
  "expo-file-system": "55.0.19",
37
48
  "expo-font": "55.0.7",
49
+ "expo-haptics": "55.0.16",
38
50
  "expo-image": "55.0.10",
39
51
  "expo-image-manipulator": "55.0.16",
40
52
  "expo-image-picker": "55.0.20",
@@ -45,7 +57,6 @@
45
57
  "expo-local-authentication": "55.0.13",
46
58
  "expo-location": "55.1.9",
47
59
  "expo-mail-composer": "55.0.13",
48
- "expo-media-library": "55.0.16",
49
60
  "expo-modules-core": "55.0.25",
50
61
  "expo-print": "55.0.14",
51
62
  "expo-router": "55.0.14",
@@ -61,7 +72,6 @@
61
72
  "react-dom": "19.2.0",
62
73
  "react-hook-form": "7.54.0",
63
74
  "react-native": "0.83.6",
64
- "react-native-calendars": "1.1314.0",
65
75
  "react-native-gesture-handler": "2.30.1",
66
76
  "react-native-get-random-values": "^2.0.0",
67
77
  "react-native-reanimated": "4.2.1",
@@ -74,9 +84,11 @@
74
84
  },
75
85
  "managedDevDependencies": {
76
86
  "@babel/core": "7.29.6",
87
+ "@microsoft/power-apps-cli": "0.15.3",
77
88
  "@tamagui/babel-plugin": "2.4.5",
78
89
  "@types/react": "19.2.14",
79
90
  "babel-preset-expo": "55.0.18",
91
+ "react-refresh": "0.14.2",
80
92
  "typescript": "5.9.3"
81
93
  },
82
94
  "managedOverrides": {
@@ -84,5 +96,20 @@
84
96
  "uuid": ">=11.1.1 <12",
85
97
  "shell-quote": ">=1.8.4 <2",
86
98
  "postcss": ">=8.5.10 <9"
99
+ },
100
+ "managedScripts": {
101
+ "dev": "expo start",
102
+ "web": "power-apps-web",
103
+ "generate-schemas": "generate-connector-schemas",
104
+ "predev": "npm run generate-schemas",
105
+ "type-check": "tsc --noEmit",
106
+ "build:android": "wrap android",
107
+ "build:ios": "wrap ios",
108
+ "bundle:android": "js-bundle android",
109
+ "bundle:ios": "js-bundle ios",
110
+ "bundle:web": "js-bundle web"
111
+ },
112
+ "managedFields": {
113
+ "main": "expo-router/entry"
87
114
  }
88
115
  }