@volley/vwr-loader 1.5.0 → 1.7.0

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 (252) hide show
  1. package/dist/cli.js +84 -24
  2. package/dist/cli.js.map +1 -1
  3. package/dist/{datadog.d.ts → vwr/src/datadog.d.ts} +7 -3
  4. package/dist/vwr/src/datadog.d.ts.map +1 -0
  5. package/dist/{datadog.js → vwr/src/datadog.js} +6 -5
  6. package/dist/vwr/src/datadog.js.map +1 -0
  7. package/dist/{envDefaults.d.ts → vwr/src/envDefaults.d.ts} +1 -0
  8. package/dist/vwr/src/envDefaults.d.ts.map +1 -0
  9. package/dist/vwr/src/envDefaults.js +67 -0
  10. package/dist/vwr/src/envDefaults.js.map +1 -0
  11. package/dist/vwr/src/iframe.d.ts +25 -0
  12. package/dist/vwr/src/iframe.d.ts.map +1 -0
  13. package/dist/vwr/src/iframe.js +82 -0
  14. package/dist/vwr/src/iframe.js.map +1 -0
  15. package/dist/vwr/src/logger.d.ts +15 -0
  16. package/dist/vwr/src/logger.d.ts.map +1 -0
  17. package/dist/{logger.js → vwr/src/logger.js} +30 -46
  18. package/dist/vwr/src/logger.js.map +1 -0
  19. package/dist/vwr/src/native/app-lifecycle/factory.d.ts +7 -0
  20. package/dist/vwr/src/native/app-lifecycle/factory.d.ts.map +1 -0
  21. package/dist/vwr/src/native/app-lifecycle/factory.js +68 -0
  22. package/dist/vwr/src/native/app-lifecycle/factory.js.map +1 -0
  23. package/dist/vwr/src/native/app-lifecycle/rpc.d.ts +15 -0
  24. package/dist/vwr/src/native/app-lifecycle/rpc.d.ts.map +1 -0
  25. package/dist/vwr/src/native/app-lifecycle/rpc.js +46 -0
  26. package/dist/vwr/src/native/app-lifecycle/rpc.js.map +1 -0
  27. package/dist/vwr/src/native/capacitor-bridge/rpc.d.ts +33 -0
  28. package/dist/vwr/src/native/capacitor-bridge/rpc.d.ts.map +1 -0
  29. package/dist/vwr/src/native/capacitor-bridge/rpc.js +129 -0
  30. package/dist/vwr/src/native/capacitor-bridge/rpc.js.map +1 -0
  31. package/dist/vwr/src/native/device-info/factory.d.ts +9 -0
  32. package/dist/vwr/src/native/device-info/factory.d.ts.map +1 -0
  33. package/dist/vwr/src/native/device-info/factory.js +28 -0
  34. package/dist/vwr/src/native/device-info/factory.js.map +1 -0
  35. package/dist/vwr/src/native/device-info/firetvCollector.d.ts +9 -0
  36. package/dist/vwr/src/native/device-info/firetvCollector.d.ts.map +1 -0
  37. package/dist/vwr/src/native/device-info/firetvCollector.js +180 -0
  38. package/dist/vwr/src/native/device-info/firetvCollector.js.map +1 -0
  39. package/dist/vwr/src/native/device-info/getDeviceId.d.ts +13 -0
  40. package/dist/vwr/src/native/device-info/getDeviceId.d.ts.map +1 -0
  41. package/dist/vwr/src/native/device-info/getDeviceId.js +137 -0
  42. package/dist/vwr/src/native/device-info/getDeviceId.js.map +1 -0
  43. package/dist/vwr/src/native/device-info/lgCollector.d.ts +8 -0
  44. package/dist/vwr/src/native/device-info/lgCollector.d.ts.map +1 -0
  45. package/dist/vwr/src/native/device-info/lgCollector.js +136 -0
  46. package/dist/vwr/src/native/device-info/lgCollector.js.map +1 -0
  47. package/dist/vwr/src/native/device-info/mobileCollector.d.ts +9 -0
  48. package/dist/vwr/src/native/device-info/mobileCollector.d.ts.map +1 -0
  49. package/dist/vwr/src/native/device-info/mobileCollector.js +47 -0
  50. package/dist/vwr/src/native/device-info/mobileCollector.js.map +1 -0
  51. package/dist/vwr/src/native/device-info/rpc.d.ts +51 -0
  52. package/dist/vwr/src/native/device-info/rpc.d.ts.map +1 -0
  53. package/dist/vwr/src/native/device-info/rpc.js +46 -0
  54. package/dist/vwr/src/native/device-info/rpc.js.map +1 -0
  55. package/dist/vwr/src/native/device-info/samsungCollector.d.ts +9 -0
  56. package/dist/vwr/src/native/device-info/samsungCollector.d.ts.map +1 -0
  57. package/dist/vwr/src/native/device-info/samsungCollector.js +86 -0
  58. package/dist/vwr/src/native/device-info/samsungCollector.js.map +1 -0
  59. package/dist/vwr/src/native/device-info/webCollector.d.ts +4 -0
  60. package/dist/vwr/src/native/device-info/webCollector.d.ts.map +1 -0
  61. package/dist/vwr/src/native/device-info/webCollector.js +56 -0
  62. package/dist/vwr/src/native/device-info/webCollector.js.map +1 -0
  63. package/dist/vwr/src/native/native-bridge/rpc.d.ts +33 -0
  64. package/dist/vwr/src/native/native-bridge/rpc.d.ts.map +1 -0
  65. package/dist/vwr/src/native/native-bridge/rpc.js +114 -0
  66. package/dist/vwr/src/native/native-bridge/rpc.js.map +1 -0
  67. package/dist/vwr/src/native/screensaver-prevention/LGLunaService.d.ts +14 -0
  68. package/dist/vwr/src/native/screensaver-prevention/LGLunaService.d.ts.map +1 -0
  69. package/dist/vwr/src/native/screensaver-prevention/LGLunaService.js +187 -0
  70. package/dist/vwr/src/native/screensaver-prevention/LGLunaService.js.map +1 -0
  71. package/dist/vwr/src/native/screensaver-prevention/rpc.d.ts +27 -0
  72. package/dist/vwr/src/native/screensaver-prevention/rpc.d.ts.map +1 -0
  73. package/dist/vwr/src/native/screensaver-prevention/rpc.js +71 -0
  74. package/dist/vwr/src/native/screensaver-prevention/rpc.js.map +1 -0
  75. package/dist/vwr/src/observability.d.ts +35 -0
  76. package/dist/vwr/src/observability.d.ts.map +1 -0
  77. package/dist/vwr/src/observability.js +68 -0
  78. package/dist/vwr/src/observability.js.map +1 -0
  79. package/dist/vwr/src/shellEnvDefaults.d.ts +15 -0
  80. package/dist/vwr/src/shellEnvDefaults.d.ts.map +1 -0
  81. package/dist/vwr/src/shellEnvDefaults.js +34 -0
  82. package/dist/vwr/src/shellEnvDefaults.js.map +1 -0
  83. package/dist/vwr/src/types.d.ts +56 -0
  84. package/dist/vwr/src/types.d.ts.map +1 -0
  85. package/dist/vwr/src/types.js +27 -0
  86. package/dist/vwr/src/types.js.map +1 -0
  87. package/dist/vwr/src/urlUtils.d.ts +17 -0
  88. package/dist/vwr/src/urlUtils.d.ts.map +1 -0
  89. package/dist/vwr/src/urlUtils.js +42 -0
  90. package/dist/vwr/src/urlUtils.js.map +1 -0
  91. package/dist/vwr/src/vwrBootstrap.d.ts +26 -0
  92. package/dist/vwr/src/vwrBootstrap.d.ts.map +1 -0
  93. package/dist/vwr/src/vwrBootstrap.js +176 -0
  94. package/dist/vwr/src/vwrBootstrap.js.map +1 -0
  95. package/dist/{vwrConfig.d.ts → vwr/src/vwrConfig.d.ts} +5 -0
  96. package/dist/vwr/src/vwrConfig.d.ts.map +1 -0
  97. package/dist/{vwrConfig.js → vwr/src/vwrConfig.js} +24 -7
  98. package/dist/vwr/src/vwrConfig.js.map +1 -0
  99. package/{src → dist/vwr-loader}/index.html +1 -1
  100. package/dist/vwr-loader/src/__mocks__/@datadog/browser-logs.d.ts.map +1 -0
  101. package/dist/vwr-loader/src/__mocks__/@datadog/browser-logs.js.map +1 -0
  102. package/dist/vwr-loader/src/__mocks__/@datadog/browser-rum.d.ts.map +1 -0
  103. package/dist/vwr-loader/src/__mocks__/@datadog/browser-rum.js.map +1 -0
  104. package/dist/vwr-loader/src/__mocks__/invalidVwrModule.d.ts +2 -0
  105. package/dist/vwr-loader/src/__mocks__/invalidVwrModule.d.ts.map +1 -0
  106. package/dist/vwr-loader/src/__mocks__/invalidVwrModule.js +2 -0
  107. package/dist/vwr-loader/src/__mocks__/invalidVwrModule.js.map +1 -0
  108. package/dist/vwr-loader/src/__mocks__/vwrModule.d.ts.map +1 -0
  109. package/dist/vwr-loader/src/__mocks__/vwrModule.js.map +1 -0
  110. package/dist/vwr-loader/src/amplitudeFlagFetcher.d.ts.map +1 -0
  111. package/dist/vwr-loader/src/amplitudeFlagFetcher.js.map +1 -0
  112. package/dist/vwr-loader/src/errors/InitializationError.d.ts.map +1 -0
  113. package/dist/vwr-loader/src/errors/InitializationError.js.map +1 -0
  114. package/dist/vwr-loader/src/errors/ensureError.d.ts.map +1 -0
  115. package/dist/vwr-loader/src/errors/ensureError.js.map +1 -0
  116. package/dist/vwr-loader/src/errors/index.d.ts.map +1 -0
  117. package/dist/vwr-loader/src/errors/index.js.map +1 -0
  118. package/dist/vwr-loader/src/exitHandler.d.ts.map +1 -0
  119. package/dist/{exitHandler.js → vwr-loader/src/exitHandler.js} +2 -3
  120. package/dist/vwr-loader/src/exitHandler.js.map +1 -0
  121. package/dist/vwr-loader/src/getEnvironment.d.ts.map +1 -0
  122. package/dist/vwr-loader/src/getEnvironment.js.map +1 -0
  123. package/dist/vwr-loader/src/getShellVersion.d.ts.map +1 -0
  124. package/dist/vwr-loader/src/getShellVersion.js.map +1 -0
  125. package/dist/vwr-loader/src/index.d.ts +8 -0
  126. package/dist/vwr-loader/src/index.d.ts.map +1 -0
  127. package/dist/vwr-loader/src/index.js +6 -0
  128. package/dist/vwr-loader/src/index.js.map +1 -0
  129. package/dist/vwr-loader/src/loadVwr.d.ts.map +1 -0
  130. package/dist/{loadVwr.js → vwr-loader/src/loadVwr.js} +36 -27
  131. package/dist/vwr-loader/src/loadVwr.js.map +1 -0
  132. package/dist/vwr-loader/src/logger.d.ts +4 -0
  133. package/dist/vwr-loader/src/logger.d.ts.map +1 -0
  134. package/dist/vwr-loader/src/logger.js +10 -0
  135. package/dist/vwr-loader/src/logger.js.map +1 -0
  136. package/dist/vwr-loader/src/main.d.ts +2 -0
  137. package/dist/vwr-loader/src/main.d.ts.map +1 -0
  138. package/dist/vwr-loader/src/main.js +96 -0
  139. package/dist/vwr-loader/src/main.js.map +1 -0
  140. package/dist/vwr-loader/src/polyfills.d.ts.map +1 -0
  141. package/dist/vwr-loader/src/polyfills.js.map +1 -0
  142. package/dist/{test-setup.d.ts.map → vwr-loader/src/test-setup.d.ts.map} +1 -1
  143. package/dist/vwr-loader/src/test-setup.js.map +1 -0
  144. package/package.json +13 -12
  145. package/dist/__mocks__/@datadog/browser-logs.d.ts.map +0 -1
  146. package/dist/__mocks__/@datadog/browser-logs.js.map +0 -1
  147. package/dist/__mocks__/@datadog/browser-rum.d.ts.map +0 -1
  148. package/dist/__mocks__/@datadog/browser-rum.js.map +0 -1
  149. package/dist/__mocks__/vwrModule.d.ts.map +0 -1
  150. package/dist/__mocks__/vwrModule.js.map +0 -1
  151. package/dist/amplitudeFlagFetcher.d.ts.map +0 -1
  152. package/dist/amplitudeFlagFetcher.js.map +0 -1
  153. package/dist/assets/profiler-BRmTNL9s.js +0 -2
  154. package/dist/assets/profiler-BRmTNL9s.js.map +0 -1
  155. package/dist/assets/startRecording-CuFdVhxx.js +0 -3
  156. package/dist/assets/startRecording-CuFdVhxx.js.map +0 -1
  157. package/dist/datadog.d.ts.map +0 -1
  158. package/dist/datadog.js.map +0 -1
  159. package/dist/envDefaults.d.ts.map +0 -1
  160. package/dist/envDefaults.js +0 -74
  161. package/dist/envDefaults.js.map +0 -1
  162. package/dist/errors/InitializationError.d.ts.map +0 -1
  163. package/dist/errors/InitializationError.js.map +0 -1
  164. package/dist/errors/ensureError.d.ts.map +0 -1
  165. package/dist/errors/ensureError.js.map +0 -1
  166. package/dist/errors/index.d.ts.map +0 -1
  167. package/dist/errors/index.js.map +0 -1
  168. package/dist/exitHandler.d.ts.map +0 -1
  169. package/dist/exitHandler.js.map +0 -1
  170. package/dist/getDeviceId.d.ts +0 -26
  171. package/dist/getDeviceId.d.ts.map +0 -1
  172. package/dist/getDeviceId.js +0 -209
  173. package/dist/getDeviceId.js.map +0 -1
  174. package/dist/getEnvironment.d.ts.map +0 -1
  175. package/dist/getEnvironment.js.map +0 -1
  176. package/dist/getShellVersion.d.ts.map +0 -1
  177. package/dist/getShellVersion.js.map +0 -1
  178. package/dist/index.d.ts +0 -8
  179. package/dist/index.d.ts.map +0 -1
  180. package/dist/index.html +0 -25
  181. package/dist/index.js +0 -6
  182. package/dist/index.js.map +0 -1
  183. package/dist/loadVwr.d.ts.map +0 -1
  184. package/dist/loadVwr.js.map +0 -1
  185. package/dist/logger.d.ts +0 -12
  186. package/dist/logger.d.ts.map +0 -1
  187. package/dist/logger.js.map +0 -1
  188. package/dist/main.js +0 -12
  189. package/dist/main.js.map +0 -1
  190. package/dist/polyfills.d.ts.map +0 -1
  191. package/dist/polyfills.js.map +0 -1
  192. package/dist/test-setup.js.map +0 -1
  193. package/dist/types.d.ts +0 -103
  194. package/dist/types.d.ts.map +0 -1
  195. package/dist/types.js +0 -5
  196. package/dist/types.js.map +0 -1
  197. package/dist/vwrConfig.d.ts.map +0 -1
  198. package/dist/vwrConfig.js.map +0 -1
  199. package/src/__mocks__/@datadog/browser-logs.ts +0 -35
  200. package/src/__mocks__/@datadog/browser-rum.ts +0 -27
  201. package/src/__mocks__/vwrModule.ts +0 -3
  202. package/src/amplitudeFlagFetcher.test.ts +0 -175
  203. package/src/amplitudeFlagFetcher.ts +0 -105
  204. package/src/datadog.ts +0 -55
  205. package/src/envDefaults.ts +0 -94
  206. package/src/errors/InitializationError.ts +0 -105
  207. package/src/errors/ensureError.ts +0 -6
  208. package/src/errors/index.ts +0 -16
  209. package/src/exitHandler.test.ts +0 -373
  210. package/src/exitHandler.ts +0 -232
  211. package/src/getDeviceId.test.ts +0 -298
  212. package/src/getDeviceId.ts +0 -224
  213. package/src/getEnvironment.test.ts +0 -417
  214. package/src/getEnvironment.ts +0 -144
  215. package/src/getShellVersion.test.ts +0 -403
  216. package/src/getShellVersion.ts +0 -132
  217. package/src/index.ts +0 -7
  218. package/src/loadVwr.test.ts +0 -549
  219. package/src/loadVwr.ts +0 -357
  220. package/src/logger.ts +0 -121
  221. package/src/main.test.ts +0 -157
  222. package/src/main.ts +0 -127
  223. package/src/polyfills.ts +0 -32
  224. package/src/test-setup.ts +0 -5
  225. package/src/types.ts +0 -105
  226. package/src/vite-env.d.ts +0 -32
  227. package/src/vwrConfig.test.ts +0 -386
  228. package/src/vwrConfig.ts +0 -374
  229. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-logs.d.ts +0 -0
  230. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-logs.js +0 -0
  231. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-rum.d.ts +0 -0
  232. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/@datadog/browser-rum.js +0 -0
  233. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/vwrModule.d.ts +0 -0
  234. /package/dist/{__mocks__ → vwr-loader/src/__mocks__}/vwrModule.js +0 -0
  235. /package/dist/{amplitudeFlagFetcher.d.ts → vwr-loader/src/amplitudeFlagFetcher.d.ts} +0 -0
  236. /package/dist/{amplitudeFlagFetcher.js → vwr-loader/src/amplitudeFlagFetcher.js} +0 -0
  237. /package/dist/{errors → vwr-loader/src/errors}/InitializationError.d.ts +0 -0
  238. /package/dist/{errors → vwr-loader/src/errors}/InitializationError.js +0 -0
  239. /package/dist/{errors → vwr-loader/src/errors}/ensureError.d.ts +0 -0
  240. /package/dist/{errors → vwr-loader/src/errors}/ensureError.js +0 -0
  241. /package/dist/{errors → vwr-loader/src/errors}/index.d.ts +0 -0
  242. /package/dist/{errors → vwr-loader/src/errors}/index.js +0 -0
  243. /package/dist/{exitHandler.d.ts → vwr-loader/src/exitHandler.d.ts} +0 -0
  244. /package/dist/{getEnvironment.d.ts → vwr-loader/src/getEnvironment.d.ts} +0 -0
  245. /package/dist/{getEnvironment.js → vwr-loader/src/getEnvironment.js} +0 -0
  246. /package/dist/{getShellVersion.d.ts → vwr-loader/src/getShellVersion.d.ts} +0 -0
  247. /package/dist/{getShellVersion.js → vwr-loader/src/getShellVersion.js} +0 -0
  248. /package/dist/{loadVwr.d.ts → vwr-loader/src/loadVwr.d.ts} +0 -0
  249. /package/dist/{polyfills.d.ts → vwr-loader/src/polyfills.d.ts} +0 -0
  250. /package/dist/{polyfills.js → vwr-loader/src/polyfills.js} +0 -0
  251. /package/dist/{test-setup.d.ts → vwr-loader/src/test-setup.d.ts} +0 -0
  252. /package/dist/{test-setup.js → vwr-loader/src/test-setup.js} +0 -0
package/dist/cli.js CHANGED
@@ -10,15 +10,66 @@ const CONFIG_URL_DEFAULT = "https://vwr.volley.tv/config/";
10
10
  const CONFIG_FILE_DEFAULT = "vwrConfig.json";
11
11
  const VWR_DEFAULT_VERSION = "1.0.0";
12
12
  const VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`;
13
+ const SHELL_ENV_DEFAULTS = {
14
+ dev: {
15
+ hubUrl: "https://game-clients-dev.volley.tv/hub",
16
+ vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
17
+ configUrl: CONFIG_URL_DEFAULT,
18
+ configFile: CONFIG_FILE_DEFAULT,
19
+ platformApiUrl: "https://platform-dev.volley-services.net",
20
+ platformAuthApiUrl: "https://auth-dev.volley.tv"
21
+ },
22
+ staging: {
23
+ hubUrl: "https://game-clients-staging.volley.tv/hub",
24
+ vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
25
+ configUrl: CONFIG_URL_DEFAULT,
26
+ configFile: CONFIG_FILE_DEFAULT,
27
+ platformApiUrl: "https://platform-staging.volley-services.net",
28
+ platformAuthApiUrl: "https://auth-staging.volley.tv"
29
+ },
30
+ prod: {
31
+ hubUrl: "https://game-clients.volley.tv/hub",
32
+ vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
33
+ configUrl: CONFIG_URL_DEFAULT,
34
+ configFile: CONFIG_FILE_DEFAULT,
35
+ platformApiUrl: "https://platform.volley-services.net",
36
+ platformAuthApiUrl: "https://auth.volley.tv"
37
+ }
38
+ };
39
+ function getShellEnvDefaults(env) {
40
+ return SHELL_ENV_DEFAULTS[env];
41
+ }
42
+ const DEFAULT_SHELL_ORIGINS = [
43
+ "file://",
44
+ // Samsung
45
+ "file://com.volley.lgshell.local-webos",
46
+ // LG local
47
+ "file://com.volley.lgshell.dev-webos",
48
+ // LG dev
49
+ "file://com.volley.lgshell.dev.720p-webos",
50
+ // LG dev 720p
51
+ "file://com.volley.lgshell.staging-webos",
52
+ // LG staging
53
+ "file://com.volley.lgshell.staging.720p-webos",
54
+ // LG staging 720p
55
+ "file://com.volley.lgshell.prod-webos",
56
+ // LG prod (alpha test)
57
+ "file://com.volley.lgshell.720p-webos",
58
+ // LG prod 720p (alpha test)
59
+ "file://com.volley.lgshell-webos",
60
+ // LG prod (formal release)
61
+ "https://localhost",
62
+ // FireTV
63
+ "https://appassets.androidplatform.net",
64
+ // Android WebView
65
+ "app://local"
66
+ // iOS WebView
67
+ ];
13
68
  const prodConfig = {
14
- hubUrl: "https://game-clients.volley.tv/hub",
15
- vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
16
- configUrl: CONFIG_URL_DEFAULT,
17
- configFile: CONFIG_FILE_DEFAULT,
18
- platformApiUrl: "https://platform.volley-services.net",
19
- platformAuthApiUrl: "https://auth.volley.tv",
69
+ ...getShellEnvDefaults("prod"),
20
70
  amplitudeKey: "",
21
- trustedOrigins: ["https://volley.tv", "https://vl.ly", "https://vly.gg"]
71
+ trustedOrigins: ["https://volley.tv", "https://vl.ly", "https://vly.gg"],
72
+ trustedShellOrigins: DEFAULT_SHELL_ORIGINS
22
73
  };
23
74
  const ENV_DEFAULTS = {
24
75
  local: {
@@ -36,15 +87,15 @@ const ENV_DEFAULTS = {
36
87
  "https://dev.vl.ly",
37
88
  "https://staging.vl.ly",
38
89
  "https://vly.gg"
90
+ ],
91
+ trustedShellOrigins: [
92
+ ...DEFAULT_SHELL_ORIGINS,
93
+ "http://localhost:5173",
94
+ "http://localhost:5174"
39
95
  ]
40
96
  },
41
97
  dev: {
42
- hubUrl: "https://game-clients-dev.volley.tv/hub",
43
- vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
44
- configUrl: CONFIG_URL_DEFAULT,
45
- configFile: CONFIG_FILE_DEFAULT,
46
- platformApiUrl: "https://platform-dev.volley-services.net",
47
- platformAuthApiUrl: "https://auth-dev.volley.tv",
98
+ ...getShellEnvDefaults("dev"),
48
99
  amplitudeKey: "client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ",
49
100
  trustedOrigins: [
50
101
  "https://volley.tv",
@@ -52,22 +103,19 @@ const ENV_DEFAULTS = {
52
103
  "https://dev.vl.ly",
53
104
  "https://staging.vl.ly",
54
105
  "https://vly.gg"
55
- ]
106
+ ],
107
+ trustedShellOrigins: DEFAULT_SHELL_ORIGINS
56
108
  },
57
109
  staging: {
58
- hubUrl: "https://game-clients-staging.volley.tv/hub",
59
- vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,
60
- configUrl: CONFIG_URL_DEFAULT,
61
- configFile: CONFIG_FILE_DEFAULT,
62
- platformApiUrl: "https://platform-staging.volley-services.net",
63
- platformAuthApiUrl: "https://auth-staging.volley.tv",
110
+ ...getShellEnvDefaults("staging"),
64
111
  amplitudeKey: "",
65
112
  trustedOrigins: [
66
113
  "https://volley.tv",
67
114
  "https://vl.ly",
68
115
  "https://staging.vl.ly",
69
116
  "https://vly.gg"
70
- ]
117
+ ],
118
+ trustedShellOrigins: DEFAULT_SHELL_ORIGINS
71
119
  },
72
120
  prod: prodConfig,
73
121
  production: prodConfig
@@ -178,9 +226,21 @@ if (config.VITE_DATADOG_APPLICATION_ID && config.VITE_DATADOG_CLIENT_TOKEN) {
178
226
  } else {
179
227
  console.warn(` Datadog RUM: disabled (credentials not provided)`);
180
228
  }
181
- const loaderSrcDir = path.join(__dirname, "../src");
229
+ const packagedLoaderRootDir = path.join(__dirname, "vwr-loader");
230
+ const builtLoaderRootDir = path.join(__dirname, "../dist/vwr-loader");
231
+ const loaderRootDir = fs.existsSync(
232
+ path.join(packagedLoaderRootDir, "index.html")
233
+ ) ? packagedLoaderRootDir : builtLoaderRootDir;
234
+ const loaderEntryHtml = path.join(loaderRootDir, "index.html");
182
235
  const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "vwr-loader-"));
183
236
  const loaderDistDir = tmpDir;
237
+ if (!fs.existsSync(loaderEntryHtml)) {
238
+ console.error(
239
+ `❌ Loader build assets not found at ${loaderEntryHtml}
240
+ Ensure the package was built before invoking build-loader.`
241
+ );
242
+ process.exit(1);
243
+ }
184
244
  const defineConfig = {
185
245
  "import.meta.env.VITE_PLATFORM": JSON.stringify(config.VITE_PLATFORM),
186
246
  "import.meta.env.VITE_SHELL_VERSION": JSON.stringify(shellVersion),
@@ -208,7 +268,7 @@ try {
208
268
  console.log(`⏳ Building loader...`);
209
269
  await build({
210
270
  configFile: false,
211
- root: loaderSrcDir,
271
+ root: loaderRootDir,
212
272
  // Use relative paths so loader works when served from any subdirectory
213
273
  base: "./",
214
274
  mode: opts.env ?? "production",
@@ -222,7 +282,7 @@ try {
222
282
  sourcemap: true,
223
283
  rollupOptions: {
224
284
  input: {
225
- main: path.join(loaderSrcDir, "index.html")
285
+ main: loaderEntryHtml
226
286
  },
227
287
  output: {
228
288
  entryFileNames: "[name].js",
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sources":["../src/envDefaults.ts","../scripts/build.ts"],"sourcesContent":["export interface EnvConfig {\n hubUrl: string\n vwrUrl: string\n configUrl: string\n configFile: string\n platformApiUrl: string\n platformAuthApiUrl: string\n amplitudeKey: string // Used for amplitude flag fetch, not part of VWRConfig\n trustedOrigins?: string[]\n}\n\nconst CONFIG_URL_DEFAULT = \"https://vwr.volley.tv/config/\"\nconst CONFIG_FILE_DEFAULT = \"vwrConfig.json\"\nconst VWR_DEFAULT_VERSION = \"1.0.0\"\nconst VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`\n\n// Parse comma-separated env var, returning undefined if empty to allow fallback\nconst parseTrustedOrigins = (\n envVar: string | undefined\n): string[] | undefined => {\n const parsed = envVar?.split(\",\").filter(Boolean)\n return parsed?.length ? parsed : undefined\n}\n\nconst prodConfig: EnvConfig = {\n hubUrl: \"https://game-clients.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform.volley-services.net\",\n platformAuthApiUrl: \"https://auth.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\"https://volley.tv\", \"https://vl.ly\", \"https://vly.gg\"],\n}\n\nexport const ENV_DEFAULTS: Record<string, EnvConfig> = {\n local: {\n hubUrl: import.meta.env.VITE_HUB_URL || \"http://localhost:5173\",\n vwrUrl: import.meta.env.VITE_VWR_URL || \"http://localhost:5174/vwr.js\",\n configUrl:\n import.meta.env.VITE_CONFIG_URL || \"http://localhost:5174/config/\",\n configFile: import.meta.env.VITE_CONFIG_FILE || CONFIG_FILE_DEFAULT,\n platformApiUrl:\n import.meta.env.VITE_PLATFORM_API_URL ||\n \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl:\n import.meta.env.VITE_PLATFORM_AUTH_API_URL ||\n \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: parseTrustedOrigins(\n import.meta.env.VITE_TRUSTED_ORIGINS\n ) || [\n \"http://localhost:5173\",\n \"http://localhost:5174\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n dev: {\n hubUrl: \"https://game-clients-dev.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl: \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n staging: {\n hubUrl: \"https://game-clients-staging.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-staging.volley-services.net\",\n platformAuthApiUrl: \"https://auth-staging.volley.tv\",\n amplitudeKey: \"\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n },\n prod: prodConfig,\n production: prodConfig, // Alias for prod\n}\n","import { Command } from \"commander\"\nimport { config as loadDotenv } from \"dotenv\"\nimport fs from \"fs-extra\"\nimport os from \"os\"\nimport path from \"path\"\nimport { fileURLToPath } from \"url\"\nimport { build } from \"vite\"\n\nimport { ENV_DEFAULTS } from \"../src/envDefaults.js\"\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\n\n// Read package version for --version flag\nconst cliPackageJson = JSON.parse(\n fs.readFileSync(path.join(__dirname, \"../package.json\"), \"utf-8\")\n)\n\nconst VALID_PLATFORMS = [\n \"FIRE_TV\",\n \"ANDROID_MOBILE\",\n \"IOS_MOBILE\",\n \"SAMSUNG_TV\",\n \"LG_TV\",\n \"WEB\",\n]\n\nconst program = new Command()\n\n// Platforms that support reading environment from native shell at runtime\n// These platforms don't require --env flag (it's optional as an override)\nconst NATIVE_ENV_PLATFORMS = [\"FIRE_TV\"]\n\nprogram\n .name(\"build-loader\")\n .version(cliPackageJson.version)\n .description(\"Build vwr-loader with environment configuration\")\n .requiredOption(\n \"--platform <platform>\",\n \"Platform: FIRE_TV, ANDROID_MOBILE, IOS_MOBILE, SAMSUNG_TV, LG_TV, WEB\"\n )\n .option(\n \"--env <env>\",\n \"Environment: local, dev, staging, prod (required for non-Fire TV platforms)\"\n )\n .requiredOption(\"--output <path>\", \"Output directory\")\n .option(\"--hubUrl <url>\", \"Override Hub URL\")\n .option(\"--amplitudeKey <key>\", \"Override Amplitude deployment key\")\n .option(\"--configUrl <url>\", \"Override VWR Config URL\")\n .option(\"--configFile <filename>\", \"Override VWR Config Filename\")\n .option(\"--launchUrl <url>\", \"Override launch url\")\n .option(\"--datadog-app-id <id>\", \"Datadog RUM application ID\")\n .option(\"--datadog-client-token <token>\", \"Datadog client token\")\n .parse()\n\nconst opts = program.opts()\nconst platform = opts.platform.toUpperCase()\nconst supportsNativeEnv = NATIVE_ENV_PLATFORMS.includes(platform)\n\n// Validate --env is provided for platforms that don't support native env reading\nif (!opts.env && !supportsNativeEnv) {\n console.error(\n `❌ --env is required for platform \"${opts.platform}\"\\n` +\n ` Only Fire TV can read environment from native shell at runtime.\\n` +\n ` Valid environments: local, dev, staging, prod`\n )\n process.exit(1)\n}\n\n// For platforms with native env support, log that env will be read at runtime\nif (!opts.env && supportsNativeEnv) {\n console.log(\n `ℹ️ --env not provided. ${opts.platform} will read environment from native shell at runtime.`\n )\n}\n\n// Validate platform\nif (!VALID_PLATFORMS.includes(platform)) {\n console.error(`❌ Unknown platform: ${opts.platform}`)\n console.error(` Valid: ${VALID_PLATFORMS.join(\", \")}`)\n process.exit(1)\n}\n\n// Try to read from shell's .env file (run from shell directory)\nlet shellEnv: Record<string, string> = {}\nif (opts.env) {\n const envFile = path.join(process.cwd(), `.env.${opts.env}`)\n if (fs.existsSync(envFile)) {\n console.log(`📄 Reading config from ${envFile}`)\n const result = loadDotenv({ path: envFile })\n shellEnv = result.parsed || {}\n } else {\n console.log(`ℹ️ No .env.${opts.env} found, using defaults/CLI flags`)\n }\n}\n\n// Read shell version from package.json (for web shell)\nlet shellVersion = \"unknown\"\nconst packageJsonPath = path.join(process.cwd(), \"package.json\")\nif (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, \"utf-8\")\n )\n shellVersion = packageJson.version || \"unknown\"\n } catch {\n console.warn(`⚠️ Could not read version from package.json`)\n }\n}\n\n// Get predefined defaults for the specified environment\nconst envDefaults = opts.env ? ENV_DEFAULTS[opts.env] : undefined\nif (opts.env && !envDefaults) {\n console.error(`❌ Unknown environment: ${opts.env}`)\n console.error(` Valid: local, dev, staging, prod`)\n process.exit(1)\n}\n\n// Use env defaults if specified, otherwise fall back to dev defaults\n// (Fire TV without --env reads actual env from native at runtime, but needs URLs at build time)\nconst effectiveDefaults = envDefaults ?? ENV_DEFAULTS[\"dev\"]\n\n// Config precedence: CLI > shell .env > defaults\nconst config = {\n VITE_PLATFORM: platform,\n VITE_ENVIRONMENT: opts.env, // undefined for Fire TV without --env (reads from native)\n VITE_HUB_URL:\n opts.hubUrl || shellEnv.VITE_HUB_URL || effectiveDefaults.hubUrl,\n VITE_AMPLITUDE_DEPLOYMENT_KEY:\n opts.amplitudeKey ||\n shellEnv.VITE_AMPLITUDE_DEPLOYMENT_KEY ||\n effectiveDefaults.amplitudeKey ||\n \"\",\n VITE_VWR_URL: shellEnv.VITE_VWR_URL || effectiveDefaults.vwrUrl,\n VITE_CONFIG_URL:\n opts.configUrl ||\n shellEnv.VITE_CONFIG_URL ||\n effectiveDefaults.configUrl,\n VITE_CONFIG_FILE:\n opts.configFile ||\n shellEnv.VITE_CONFIG_FILE ||\n effectiveDefaults.configFile,\n VITE_LAUNCH_URL:\n opts.launchUrl ||\n shellEnv.VITE_LAUNCH_URL ||\n opts.hubUrl ||\n shellEnv.VITE_HUB_URL ||\n effectiveDefaults.hubUrl,\n VITE_DATADOG_APPLICATION_ID:\n opts.datadogAppId || shellEnv.VITE_DATADOG_APPLICATION_ID || \"\",\n VITE_DATADOG_CLIENT_TOKEN:\n opts.datadogClientToken || shellEnv.VITE_DATADOG_CLIENT_TOKEN || \"\",\n}\n\nconsole.log(\"🔧 Build configuration:\")\nconsole.log(` Platform: ${config.VITE_PLATFORM}`)\nconsole.log(\n ` Environment: ${config.VITE_ENVIRONMENT ?? \"(from native at runtime)\"}`\n)\nconsole.log(` Hub URL: ${config.VITE_HUB_URL}`)\nconsole.log(` VWR URL: ${config.VITE_VWR_URL}`)\nif (config.VITE_AMPLITUDE_DEPLOYMENT_KEY) {\n console.log(` Amplitude: ***`)\n} else {\n console.warn(` Amplitude: (not set)`)\n console.warn(\n ` ⚠️ VWR flag fetching will use safe defaults (vwr-enabled: false)`\n )\n}\nif (config.VITE_DATADOG_APPLICATION_ID && config.VITE_DATADOG_CLIENT_TOKEN) {\n console.log(` Datadog RUM: enabled`)\n} else {\n console.warn(` Datadog RUM: disabled (credentials not provided)`)\n}\n\n// Build with Vite (inline config to avoid path resolution issues)\nconst loaderSrcDir = path.join(__dirname, \"../src\")\nconst tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"vwr-loader-\"))\nconst loaderDistDir = tmpDir\n\n// Build define config - VITE_ENVIRONMENT is undefined for Fire TV (reads from native)\nconst defineConfig: Record<string, string> = {\n \"import.meta.env.VITE_PLATFORM\": JSON.stringify(config.VITE_PLATFORM),\n \"import.meta.env.VITE_SHELL_VERSION\": JSON.stringify(shellVersion),\n \"import.meta.env.VITE_HUB_URL\": JSON.stringify(config.VITE_HUB_URL),\n \"import.meta.env.VITE_AMPLITUDE_DEPLOYMENT_KEY\": JSON.stringify(\n config.VITE_AMPLITUDE_DEPLOYMENT_KEY\n ),\n \"import.meta.env.VITE_VWR_URL\": JSON.stringify(config.VITE_VWR_URL),\n \"import.meta.env.VITE_CONFIG_URL\": JSON.stringify(config.VITE_CONFIG_URL),\n \"import.meta.env.VITE_CONFIG_FILE\": JSON.stringify(config.VITE_CONFIG_FILE),\n \"import.meta.env.VITE_LAUNCH_URL\": JSON.stringify(config.VITE_LAUNCH_URL),\n \"import.meta.env.VITE_DATADOG_APPLICATION_ID\": JSON.stringify(\n config.VITE_DATADOG_APPLICATION_ID\n ),\n \"import.meta.env.VITE_DATADOG_CLIENT_TOKEN\": JSON.stringify(\n config.VITE_DATADOG_CLIENT_TOKEN\n ),\n}\n\n// Only inject VITE_ENVIRONMENT if provided (Fire TV reads from native otherwise)\nif (config.VITE_ENVIRONMENT) {\n defineConfig[\"import.meta.env.VITE_ENVIRONMENT\"] = JSON.stringify(\n config.VITE_ENVIRONMENT\n )\n}\n\ntry {\n console.log(`⏳ Building loader...`)\n await build({\n configFile: false,\n root: loaderSrcDir,\n // Use relative paths so loader works when served from any subdirectory\n base: \"./\",\n mode: opts.env ?? \"production\", // Use production mode for minification when env not specified\n logLevel: \"warn\",\n build: {\n outDir: loaderDistDir,\n emptyOutDir: true,\n target: \"es2017\",\n minify: opts.env === \"prod\" || !opts.env ? \"esbuild\" : false,\n sourcemap: true,\n rollupOptions: {\n input: {\n main: path.join(loaderSrcDir, \"index.html\"),\n },\n output: {\n entryFileNames: \"[name].js\",\n assetFileNames: \"[name].[ext]\",\n },\n },\n },\n define: defineConfig,\n })\n\n // Copy build output to specified directory\n const outputPath = path.resolve(opts.output)\n\n await fs.ensureDir(outputPath)\n await fs.copy(loaderDistDir, outputPath, { overwrite: true })\n\n console.log(`✅ VWR loader built successfully`)\n console.log(` Output: ${outputPath}`)\n console.log(` Files: index.html, main.js`)\n} finally {\n // Cleanup temp dir\n try {\n await fs.remove(tmpDir)\n } catch (e) {\n console.warn(\"⚠️ Failed to cleanup temp dir:\", e)\n }\n}\n"],"names":["loadDotenv"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sources":["../../vwr/src/shellEnvDefaults.ts","../../vwr/src/envDefaults.ts","../scripts/build.ts"],"sourcesContent":["export type SharedShellEnvironment = \"dev\" | \"staging\" | \"prod\"\n\nexport interface ShellEnvConfig {\n hubUrl: string\n vwrUrl: string\n configUrl: string\n configFile: string\n platformApiUrl: string\n platformAuthApiUrl: string\n}\n\nexport const CONFIG_URL_DEFAULT = \"https://vwr.volley.tv/config/\"\nexport const CONFIG_FILE_DEFAULT = \"vwrConfig.json\"\nexport const VWR_DEFAULT_VERSION = \"1.0.0\"\nexport const VWR_URL_PATH_DEFAULT = `v1/${VWR_DEFAULT_VERSION}/vwr.js`\n\nconst SHELL_ENV_DEFAULTS: Record<SharedShellEnvironment, ShellEnvConfig> = {\n dev: {\n hubUrl: \"https://game-clients-dev.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl: \"https://auth-dev.volley.tv\",\n },\n staging: {\n hubUrl: \"https://game-clients-staging.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform-staging.volley-services.net\",\n platformAuthApiUrl: \"https://auth-staging.volley.tv\",\n },\n prod: {\n hubUrl: \"https://game-clients.volley.tv/hub\",\n vwrUrl: `https://vwr.volley.tv/${VWR_URL_PATH_DEFAULT}`,\n configUrl: CONFIG_URL_DEFAULT,\n configFile: CONFIG_FILE_DEFAULT,\n platformApiUrl: \"https://platform.volley-services.net\",\n platformAuthApiUrl: \"https://auth.volley.tv\",\n },\n}\n\nexport function getShellEnvDefaults(\n env: SharedShellEnvironment\n): ShellEnvConfig {\n return SHELL_ENV_DEFAULTS[env]\n}\n","import {\n CONFIG_FILE_DEFAULT,\n getShellEnvDefaults,\n} from \"./shellEnvDefaults\"\n\nexport interface EnvConfig {\n hubUrl: string\n vwrUrl: string\n configUrl: string\n configFile: string\n platformApiUrl: string\n platformAuthApiUrl: string\n amplitudeKey: string // Used for amplitude flag fetch, not part of VWRConfig\n trustedOrigins?: string[]\n trustedShellOrigins?: string[]\n}\n\n/**\n * Default shell origins that VWR trusts as its parent window.\n * These are the origins of the native shell apps that load VWR in an iframe.\n */\nconst DEFAULT_SHELL_ORIGINS = [\n \"file://\", // Samsung\n \"file://com.volley.lgshell.local-webos\", // LG local\n \"file://com.volley.lgshell.dev-webos\", // LG dev\n \"file://com.volley.lgshell.dev.720p-webos\", // LG dev 720p\n \"file://com.volley.lgshell.staging-webos\", // LG staging\n \"file://com.volley.lgshell.staging.720p-webos\", // LG staging 720p\n \"file://com.volley.lgshell.prod-webos\", // LG prod (alpha test)\n \"file://com.volley.lgshell.720p-webos\", // LG prod 720p (alpha test)\n \"file://com.volley.lgshell-webos\", // LG prod (formal release)\n \"https://localhost\", // FireTV\n \"https://appassets.androidplatform.net\", // Android WebView\n \"app://local\", // iOS WebView\n]\n\n// Parse comma-separated env var, returning undefined if empty to allow fallback\nconst parseTrustedOrigins = (\n envVar: string | undefined\n): string[] | undefined => {\n const parsed = envVar?.split(\",\").filter(Boolean)\n return parsed?.length ? parsed : undefined\n}\n\nconst prodConfig: EnvConfig = {\n ...getShellEnvDefaults(\"prod\"),\n amplitudeKey: \"\",\n trustedOrigins: [\"https://volley.tv\", \"https://vl.ly\", \"https://vly.gg\"],\n trustedShellOrigins: DEFAULT_SHELL_ORIGINS,\n}\n\nexport const ENV_DEFAULTS: Record<string, EnvConfig> = {\n local: {\n hubUrl: import.meta.env.VITE_HUB_URL || \"http://localhost:5173\",\n vwrUrl: import.meta.env.VITE_VWR_URL || \"http://localhost:5174/vwr.js\",\n configUrl:\n import.meta.env.VITE_CONFIG_URL || \"http://localhost:5174/config/\",\n configFile: import.meta.env.VITE_CONFIG_FILE || CONFIG_FILE_DEFAULT,\n platformApiUrl:\n import.meta.env.VITE_PLATFORM_API_URL ||\n \"https://platform-dev.volley-services.net\",\n platformAuthApiUrl:\n import.meta.env.VITE_PLATFORM_AUTH_API_URL ||\n \"https://auth-dev.volley.tv\",\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: parseTrustedOrigins(\n import.meta.env.VITE_TRUSTED_ORIGINS\n ) || [\n \"http://localhost:5173\",\n \"http://localhost:5174\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n trustedShellOrigins: [\n ...DEFAULT_SHELL_ORIGINS,\n \"http://localhost:5173\",\n \"http://localhost:5174\",\n ],\n },\n dev: {\n ...getShellEnvDefaults(\"dev\"),\n amplitudeKey: \"client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://dev.vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n trustedShellOrigins: DEFAULT_SHELL_ORIGINS,\n },\n staging: {\n ...getShellEnvDefaults(\"staging\"),\n amplitudeKey: \"\",\n trustedOrigins: [\n \"https://volley.tv\",\n \"https://vl.ly\",\n \"https://staging.vl.ly\",\n \"https://vly.gg\",\n ],\n trustedShellOrigins: DEFAULT_SHELL_ORIGINS,\n },\n prod: prodConfig,\n production: prodConfig, // Alias for prod\n}\n","import { ENV_DEFAULTS } from \"@volley/vwr/envDefaults\"\nimport { Command } from \"commander\"\nimport { config as loadDotenv } from \"dotenv\"\nimport fs from \"fs-extra\"\nimport os from \"os\"\nimport path from \"path\"\nimport { fileURLToPath } from \"url\"\nimport { build } from \"vite\"\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\n\n// Read package version for --version flag\nconst cliPackageJson = JSON.parse(\n fs.readFileSync(path.join(__dirname, \"../package.json\"), \"utf-8\")\n)\n\nconst VALID_PLATFORMS = [\n \"FIRE_TV\",\n \"ANDROID_MOBILE\",\n \"IOS_MOBILE\",\n \"SAMSUNG_TV\",\n \"LG_TV\",\n \"WEB\",\n]\n\nconst program = new Command()\n\n// Platforms that support reading environment from native shell at runtime\n// These platforms don't require --env flag (it's optional as an override)\nconst NATIVE_ENV_PLATFORMS = [\"FIRE_TV\"]\n\nprogram\n .name(\"build-loader\")\n .version(cliPackageJson.version)\n .description(\"Build vwr-loader with environment configuration\")\n .requiredOption(\n \"--platform <platform>\",\n \"Platform: FIRE_TV, ANDROID_MOBILE, IOS_MOBILE, SAMSUNG_TV, LG_TV, WEB\"\n )\n .option(\n \"--env <env>\",\n \"Environment: local, dev, staging, prod (required for non-Fire TV platforms)\"\n )\n .requiredOption(\"--output <path>\", \"Output directory\")\n .option(\"--hubUrl <url>\", \"Override Hub URL\")\n .option(\"--amplitudeKey <key>\", \"Override Amplitude deployment key\")\n .option(\"--configUrl <url>\", \"Override VWR Config URL\")\n .option(\"--configFile <filename>\", \"Override VWR Config Filename\")\n .option(\"--launchUrl <url>\", \"Override launch url\")\n .option(\"--datadog-app-id <id>\", \"Datadog RUM application ID\")\n .option(\"--datadog-client-token <token>\", \"Datadog client token\")\n .parse()\n\nconst opts = program.opts()\nconst platform = opts.platform.toUpperCase()\nconst supportsNativeEnv = NATIVE_ENV_PLATFORMS.includes(platform)\n\n// Validate --env is provided for platforms that don't support native env reading\nif (!opts.env && !supportsNativeEnv) {\n console.error(\n `❌ --env is required for platform \"${opts.platform}\"\\n` +\n ` Only Fire TV can read environment from native shell at runtime.\\n` +\n ` Valid environments: local, dev, staging, prod`\n )\n process.exit(1)\n}\n\n// For platforms with native env support, log that env will be read at runtime\nif (!opts.env && supportsNativeEnv) {\n console.log(\n `ℹ️ --env not provided. ${opts.platform} will read environment from native shell at runtime.`\n )\n}\n\n// Validate platform\nif (!VALID_PLATFORMS.includes(platform)) {\n console.error(`❌ Unknown platform: ${opts.platform}`)\n console.error(` Valid: ${VALID_PLATFORMS.join(\", \")}`)\n process.exit(1)\n}\n\n// Try to read from shell's .env file (run from shell directory)\nlet shellEnv: Record<string, string> = {}\nif (opts.env) {\n const envFile = path.join(process.cwd(), `.env.${opts.env}`)\n if (fs.existsSync(envFile)) {\n console.log(`📄 Reading config from ${envFile}`)\n const result = loadDotenv({ path: envFile })\n shellEnv = result.parsed || {}\n } else {\n console.log(`ℹ️ No .env.${opts.env} found, using defaults/CLI flags`)\n }\n}\n\n// Read shell version from package.json (for web shell)\nlet shellVersion = \"unknown\"\nconst packageJsonPath = path.join(process.cwd(), \"package.json\")\nif (fs.existsSync(packageJsonPath)) {\n try {\n const packageJson = JSON.parse(\n fs.readFileSync(packageJsonPath, \"utf-8\")\n )\n shellVersion = packageJson.version || \"unknown\"\n } catch {\n console.warn(`⚠️ Could not read version from package.json`)\n }\n}\n\n// Get predefined defaults for the specified environment\nconst envDefaults = opts.env ? ENV_DEFAULTS[opts.env] : undefined\nif (opts.env && !envDefaults) {\n console.error(`❌ Unknown environment: ${opts.env}`)\n console.error(` Valid: local, dev, staging, prod`)\n process.exit(1)\n}\n\n// Use env defaults if specified, otherwise fall back to dev defaults\n// (Fire TV without --env reads actual env from native at runtime, but needs URLs at build time)\nconst effectiveDefaults = envDefaults ?? ENV_DEFAULTS[\"dev\"]\n\n// Config precedence: CLI > shell .env > defaults\nconst config = {\n VITE_PLATFORM: platform,\n VITE_ENVIRONMENT: opts.env, // undefined for Fire TV without --env (reads from native)\n VITE_HUB_URL:\n opts.hubUrl || shellEnv.VITE_HUB_URL || effectiveDefaults.hubUrl,\n VITE_AMPLITUDE_DEPLOYMENT_KEY:\n opts.amplitudeKey ||\n shellEnv.VITE_AMPLITUDE_DEPLOYMENT_KEY ||\n effectiveDefaults.amplitudeKey ||\n \"\",\n VITE_VWR_URL: shellEnv.VITE_VWR_URL || effectiveDefaults.vwrUrl,\n VITE_CONFIG_URL:\n opts.configUrl ||\n shellEnv.VITE_CONFIG_URL ||\n effectiveDefaults.configUrl,\n VITE_CONFIG_FILE:\n opts.configFile ||\n shellEnv.VITE_CONFIG_FILE ||\n effectiveDefaults.configFile,\n VITE_LAUNCH_URL:\n opts.launchUrl ||\n shellEnv.VITE_LAUNCH_URL ||\n opts.hubUrl ||\n shellEnv.VITE_HUB_URL ||\n effectiveDefaults.hubUrl,\n VITE_DATADOG_APPLICATION_ID:\n opts.datadogAppId || shellEnv.VITE_DATADOG_APPLICATION_ID || \"\",\n VITE_DATADOG_CLIENT_TOKEN:\n opts.datadogClientToken || shellEnv.VITE_DATADOG_CLIENT_TOKEN || \"\",\n}\n\nconsole.log(\"🔧 Build configuration:\")\nconsole.log(` Platform: ${config.VITE_PLATFORM}`)\nconsole.log(\n ` Environment: ${config.VITE_ENVIRONMENT ?? \"(from native at runtime)\"}`\n)\nconsole.log(` Hub URL: ${config.VITE_HUB_URL}`)\nconsole.log(` VWR URL: ${config.VITE_VWR_URL}`)\nif (config.VITE_AMPLITUDE_DEPLOYMENT_KEY) {\n console.log(` Amplitude: ***`)\n} else {\n console.warn(` Amplitude: (not set)`)\n console.warn(\n ` ⚠️ VWR flag fetching will use safe defaults (vwr-enabled: false)`\n )\n}\nif (config.VITE_DATADOG_APPLICATION_ID && config.VITE_DATADOG_CLIENT_TOKEN) {\n console.log(` Datadog RUM: enabled`)\n} else {\n console.warn(` Datadog RUM: disabled (credentials not provided)`)\n}\n\n// Build with Vite (inline config to avoid path resolution issues)\nconst packagedLoaderRootDir = path.join(__dirname, \"vwr-loader\")\nconst builtLoaderRootDir = path.join(__dirname, \"../dist/vwr-loader\")\nconst loaderRootDir = fs.existsSync(\n path.join(packagedLoaderRootDir, \"index.html\")\n)\n ? packagedLoaderRootDir\n : builtLoaderRootDir\nconst loaderEntryHtml = path.join(loaderRootDir, \"index.html\")\nconst tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), \"vwr-loader-\"))\nconst loaderDistDir = tmpDir\n\nif (!fs.existsSync(loaderEntryHtml)) {\n console.error(\n `❌ Loader build assets not found at ${loaderEntryHtml}\\n` +\n ` Ensure the package was built before invoking build-loader.`\n )\n process.exit(1)\n}\n\n// Build define config - VITE_ENVIRONMENT is undefined for Fire TV (reads from native)\nconst defineConfig: Record<string, string> = {\n \"import.meta.env.VITE_PLATFORM\": JSON.stringify(config.VITE_PLATFORM),\n \"import.meta.env.VITE_SHELL_VERSION\": JSON.stringify(shellVersion),\n \"import.meta.env.VITE_HUB_URL\": JSON.stringify(config.VITE_HUB_URL),\n \"import.meta.env.VITE_AMPLITUDE_DEPLOYMENT_KEY\": JSON.stringify(\n config.VITE_AMPLITUDE_DEPLOYMENT_KEY\n ),\n \"import.meta.env.VITE_VWR_URL\": JSON.stringify(config.VITE_VWR_URL),\n \"import.meta.env.VITE_CONFIG_URL\": JSON.stringify(config.VITE_CONFIG_URL),\n \"import.meta.env.VITE_CONFIG_FILE\": JSON.stringify(config.VITE_CONFIG_FILE),\n \"import.meta.env.VITE_LAUNCH_URL\": JSON.stringify(config.VITE_LAUNCH_URL),\n \"import.meta.env.VITE_DATADOG_APPLICATION_ID\": JSON.stringify(\n config.VITE_DATADOG_APPLICATION_ID\n ),\n \"import.meta.env.VITE_DATADOG_CLIENT_TOKEN\": JSON.stringify(\n config.VITE_DATADOG_CLIENT_TOKEN\n ),\n}\n\n// Only inject VITE_ENVIRONMENT if provided (Fire TV reads from native otherwise)\nif (config.VITE_ENVIRONMENT) {\n defineConfig[\"import.meta.env.VITE_ENVIRONMENT\"] = JSON.stringify(\n config.VITE_ENVIRONMENT\n )\n}\n\ntry {\n console.log(`⏳ Building loader...`)\n await build({\n configFile: false,\n root: loaderRootDir,\n // Use relative paths so loader works when served from any subdirectory\n base: \"./\",\n mode: opts.env ?? \"production\", // Use production mode for minification when env not specified\n logLevel: \"warn\",\n build: {\n outDir: loaderDistDir,\n emptyOutDir: true,\n target: \"es2017\",\n minify: opts.env === \"prod\" || !opts.env ? \"esbuild\" : false,\n sourcemap: true,\n rollupOptions: {\n input: {\n main: loaderEntryHtml,\n },\n output: {\n entryFileNames: \"[name].js\",\n assetFileNames: \"[name].[ext]\",\n },\n },\n },\n define: defineConfig,\n })\n\n // Copy build output to specified directory\n const outputPath = path.resolve(opts.output)\n\n await fs.ensureDir(outputPath)\n await fs.copy(loaderDistDir, outputPath, { overwrite: true })\n\n console.log(`✅ VWR loader built successfully`)\n console.log(` Output: ${outputPath}`)\n console.log(` Files: index.html, main.js`)\n} finally {\n // Cleanup temp dir\n try {\n await fs.remove(tmpDir)\n } catch (e) {\n console.warn(\"⚠️ Failed to cleanup temp dir:\", e)\n }\n}\n"],"names":["loadDotenv"],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- import { type RumGlobal } from "@datadog/browser-rum";
2
- export interface RumGlobalOptions {
1
+ import { type DatadogRum } from "@datadog/browser-rum";
2
+ export interface RumOptions {
3
3
  /** Environment (e.g., "dev", "staging", "prod") */
4
4
  env: string;
5
5
  /** Application version */
6
6
  version?: string;
7
7
  /** Service name (defaults to "vwr-loader") */
8
8
  service?: string;
9
+ /** Application Id for Datadog */
10
+ applicationId?: string;
11
+ /** Client Id for Datadog */
12
+ clientToken?: string;
9
13
  }
10
14
  /**
11
15
  * Initialize Datadog RUM with build-time injected credentials.
@@ -15,5 +19,5 @@ export interface RumGlobalOptions {
15
19
  *
16
20
  * @returns true if RUM was initialized, false if credentials were missing
17
21
  */
18
- export declare function initRumGlobal(options: RumGlobalOptions): RumGlobal | undefined;
22
+ export declare function initRumGlobal(options: RumOptions): DatadogRum | undefined;
19
23
  //# sourceMappingURL=datadog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog.d.ts","sourceRoot":"","sources":["../../../../vwr/src/datadog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAWlE,MAAM,WAAW,UAAU;IACvB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CA2BzE"}
@@ -11,16 +11,17 @@ const CLIENT_TOKEN = import.meta.env.VITE_DATADOG_CLIENT_TOKEN;
11
11
  * @returns true if RUM was initialized, false if credentials were missing
12
12
  */
13
13
  export function initRumGlobal(options) {
14
- var _a;
14
+ var _a, _b, _c;
15
15
  try {
16
- if (!APPLICATION_ID || !CLIENT_TOKEN) {
16
+ if ((!APPLICATION_ID && !options.applicationId) ||
17
+ (!CLIENT_TOKEN && !options.clientToken)) {
17
18
  throw new Error("Datadog credentials not provided");
18
19
  }
19
20
  datadogRum.init({
20
- applicationId: APPLICATION_ID,
21
- clientToken: CLIENT_TOKEN,
21
+ applicationId: ((_a = options.applicationId) !== null && _a !== void 0 ? _a : APPLICATION_ID),
22
+ clientToken: ((_b = options.clientToken) !== null && _b !== void 0 ? _b : CLIENT_TOKEN),
22
23
  site: "datadoghq.com",
23
- service: (_a = options.service) !== null && _a !== void 0 ? _a : "vwr-loader",
24
+ service: (_c = options.service) !== null && _c !== void 0 ? _c : "vwr-loader",
24
25
  env: options.env,
25
26
  version: options.version,
26
27
  sessionSampleRate: 100,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../../../vwr/src/datadog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAExB,CAAA;AACf,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,yBAEtB,CAAA;AAef;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAmB;;IAC7C,IAAI,CAAC;QACD,IACI,CAAC,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YAC3C,CAAC,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EACzC,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACvD,CAAC;QACD,UAAU,CAAC,IAAI,CAAC;YACZ,aAAa,EAAE,CAAC,MAAA,OAAO,CAAC,aAAa,mCAAI,cAAc,CAAW;YAClE,WAAW,EAAE,CAAC,MAAA,OAAO,CAAC,WAAW,mCAAI,YAAY,CAAW;YAC5D,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,YAAY;YACxC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,iBAAiB,EAAE,GAAG;YACtB,uBAAuB,EAAE,CAAC;YAC1B,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;YACpB,mBAAmB,EAAE,iBAAiB;YACtC,2BAA2B,EAAE,IAAI;SACpC,CAAC,CAAA;QAEF,OAAO,UAAU,CAAA;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAA;IAC5D,CAAC;AACL,CAAC"}
@@ -7,6 +7,7 @@ export interface EnvConfig {
7
7
  platformAuthApiUrl: string;
8
8
  amplitudeKey: string;
9
9
  trustedOrigins?: string[];
10
+ trustedShellOrigins?: string[];
10
11
  }
11
12
  export declare const ENV_DEFAULTS: Record<string, EnvConfig>;
12
13
  //# sourceMappingURL=envDefaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envDefaults.d.ts","sourceRoot":"","sources":["../../../../vwr/src/envDefaults.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CACjC;AAoCD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAuDlD,CAAA"}
@@ -0,0 +1,67 @@
1
+ import { CONFIG_FILE_DEFAULT, getShellEnvDefaults, } from "./shellEnvDefaults";
2
+ /**
3
+ * Default shell origins that VWR trusts as its parent window.
4
+ * These are the origins of the native shell apps that load VWR in an iframe.
5
+ */
6
+ const DEFAULT_SHELL_ORIGINS = [
7
+ "file://", // Samsung
8
+ "file://com.volley.lgshell.local-webos", // LG local
9
+ "file://com.volley.lgshell.dev-webos", // LG dev
10
+ "file://com.volley.lgshell.dev.720p-webos", // LG dev 720p
11
+ "file://com.volley.lgshell.staging-webos", // LG staging
12
+ "file://com.volley.lgshell.staging.720p-webos", // LG staging 720p
13
+ "file://com.volley.lgshell.prod-webos", // LG prod (alpha test)
14
+ "file://com.volley.lgshell.720p-webos", // LG prod 720p (alpha test)
15
+ "file://com.volley.lgshell-webos", // LG prod (formal release)
16
+ "https://localhost", // FireTV
17
+ "https://appassets.androidplatform.net", // Android WebView
18
+ "app://local", // iOS WebView
19
+ ];
20
+ // Parse comma-separated env var, returning undefined if empty to allow fallback
21
+ const parseTrustedOrigins = (envVar) => {
22
+ const parsed = envVar === null || envVar === void 0 ? void 0 : envVar.split(",").filter(Boolean);
23
+ return (parsed === null || parsed === void 0 ? void 0 : parsed.length) ? parsed : undefined;
24
+ };
25
+ const prodConfig = Object.assign(Object.assign({}, getShellEnvDefaults("prod")), { amplitudeKey: "", trustedOrigins: ["https://volley.tv", "https://vl.ly", "https://vly.gg"], trustedShellOrigins: DEFAULT_SHELL_ORIGINS });
26
+ export const ENV_DEFAULTS = {
27
+ local: {
28
+ hubUrl: import.meta.env.VITE_HUB_URL || "http://localhost:5173",
29
+ vwrUrl: import.meta.env.VITE_VWR_URL || "http://localhost:5174/vwr.js",
30
+ configUrl: import.meta.env.VITE_CONFIG_URL || "http://localhost:5174/config/",
31
+ configFile: import.meta.env.VITE_CONFIG_FILE || CONFIG_FILE_DEFAULT,
32
+ platformApiUrl: import.meta.env.VITE_PLATFORM_API_URL ||
33
+ "https://platform-dev.volley-services.net",
34
+ platformAuthApiUrl: import.meta.env.VITE_PLATFORM_AUTH_API_URL ||
35
+ "https://auth-dev.volley.tv",
36
+ amplitudeKey: "client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ",
37
+ trustedOrigins: parseTrustedOrigins(import.meta.env.VITE_TRUSTED_ORIGINS) || [
38
+ "http://localhost:5173",
39
+ "http://localhost:5174",
40
+ "https://vl.ly",
41
+ "https://dev.vl.ly",
42
+ "https://staging.vl.ly",
43
+ "https://vly.gg",
44
+ ],
45
+ trustedShellOrigins: [
46
+ ...DEFAULT_SHELL_ORIGINS,
47
+ "http://localhost:5173",
48
+ "http://localhost:5174",
49
+ ],
50
+ },
51
+ dev: Object.assign(Object.assign({}, getShellEnvDefaults("dev")), { amplitudeKey: "client-uJJVW3zKPC1G9kqPhUumLnZN6eaY42iQ", trustedOrigins: [
52
+ "https://volley.tv",
53
+ "https://vl.ly",
54
+ "https://dev.vl.ly",
55
+ "https://staging.vl.ly",
56
+ "https://vly.gg",
57
+ ], trustedShellOrigins: DEFAULT_SHELL_ORIGINS }),
58
+ staging: Object.assign(Object.assign({}, getShellEnvDefaults("staging")), { amplitudeKey: "", trustedOrigins: [
59
+ "https://volley.tv",
60
+ "https://vl.ly",
61
+ "https://staging.vl.ly",
62
+ "https://vly.gg",
63
+ ], trustedShellOrigins: DEFAULT_SHELL_ORIGINS }),
64
+ prod: prodConfig,
65
+ production: prodConfig, // Alias for prod
66
+ };
67
+ //# sourceMappingURL=envDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envDefaults.js","sourceRoot":"","sources":["../../../../vwr/src/envDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,oBAAoB,CAAA;AAc3B;;;GAGG;AACH,MAAM,qBAAqB,GAAG;IAC1B,SAAS,EAAE,UAAU;IACrB,uCAAuC,EAAE,WAAW;IACpD,qCAAqC,EAAE,SAAS;IAChD,0CAA0C,EAAE,cAAc;IAC1D,yCAAyC,EAAE,aAAa;IACxD,8CAA8C,EAAE,kBAAkB;IAClE,sCAAsC,EAAE,uBAAuB;IAC/D,sCAAsC,EAAE,4BAA4B;IACpE,iCAAiC,EAAE,2BAA2B;IAC9D,mBAAmB,EAAE,SAAS;IAC9B,uCAAuC,EAAE,kBAAkB;IAC3D,aAAa,EAAE,cAAc;CAChC,CAAA;AAED,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,CACxB,MAA0B,EACN,EAAE;IACtB,MAAM,MAAM,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,UAAU,mCACT,mBAAmB,CAAC,MAAM,CAAC,KAC9B,YAAY,EAAE,EAAE,EAChB,cAAc,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,CAAC,EACxE,mBAAmB,EAAE,qBAAqB,GAC7C,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAA8B;IACnD,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,uBAAuB;QAC/D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,8BAA8B;QACtE,SAAS,EACL,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,+BAA+B;QACtE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;QACnE,cAAc,EACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB;YACrC,0CAA0C;QAC9C,kBAAkB,EACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B;YAC1C,4BAA4B;QAChC,YAAY,EAAE,yCAAyC;QACvD,cAAc,EAAE,mBAAmB,CAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CACvC,IAAI;YACD,uBAAuB;YACvB,uBAAuB;YACvB,eAAe;YACf,mBAAmB;YACnB,uBAAuB;YACvB,gBAAgB;SACnB;QACD,mBAAmB,EAAE;YACjB,GAAG,qBAAqB;YACxB,uBAAuB;YACvB,uBAAuB;SAC1B;KACJ;IACD,GAAG,kCACI,mBAAmB,CAAC,KAAK,CAAC,KAC7B,YAAY,EAAE,yCAAyC,EACvD,cAAc,EAAE;YACZ,mBAAmB;YACnB,eAAe;YACf,mBAAmB;YACnB,uBAAuB;YACvB,gBAAgB;SACnB,EACD,mBAAmB,EAAE,qBAAqB,GAC7C;IACD,OAAO,kCACA,mBAAmB,CAAC,SAAS,CAAC,KACjC,YAAY,EAAE,EAAE,EAChB,cAAc,EAAE;YACZ,mBAAmB;YACnB,eAAe;YACf,uBAAuB;YACvB,gBAAgB;SACnB,EACD,mBAAmB,EAAE,qBAAqB,GAC7C;IACD,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,UAAU,EAAE,iBAAiB;CAC5C,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { VwrMessage } from "./types";
2
+ export interface IframeOptions {
3
+ src: string;
4
+ id?: string;
5
+ allow?: string;
6
+ style?: Partial<CSSStyleDeclaration>;
7
+ container?: HTMLElement;
8
+ onMessage?: (message: VwrMessage) => void;
9
+ }
10
+ export declare class Iframe {
11
+ private options;
12
+ private element;
13
+ private container;
14
+ private messageHandler;
15
+ get src(): string;
16
+ constructor(options?: IframeOptions);
17
+ getElement(): HTMLIFrameElement;
18
+ show(): void;
19
+ hide(): void;
20
+ destroy(): void;
21
+ focus(): void;
22
+ isVisible(): boolean;
23
+ postMessage(message: any): void;
24
+ }
25
+ //# sourceMappingURL=iframe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe.d.ts","sourceRoot":"","sources":["../../../../vwr/src/iframe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,UAAU,EAAE,MAAM,SAAS,CAAA;AAEnE,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAA;CAC5C;AAWD,qBAAa,MAAM;IAUX,OAAO,CAAC,OAAO;IATnB,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAA+C;IAErE,IAAI,GAAG,IAAI,MAAM,CAEhB;gBAGW,OAAO,GAAE,aAGhB;IAyCL,UAAU,IAAI,iBAAiB;IAI/B,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,OAAO,IAAI,IAAI;IASf,KAAK,IAAI,IAAI;IAIb,SAAS,IAAI,OAAO;IAIpB,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;CAIlC"}
@@ -0,0 +1,82 @@
1
+ // src/iframe.ts
2
+ import { isVwrMessage, isTrustedSource } from "./types";
3
+ const DEFAULT_STYLE = {
4
+ position: "absolute",
5
+ top: "0",
6
+ left: "0",
7
+ width: "100%",
8
+ height: "100%",
9
+ border: "none",
10
+ };
11
+ export class Iframe {
12
+ get src() {
13
+ return this.options.src;
14
+ }
15
+ constructor(options = {
16
+ src: "",
17
+ container: document.body,
18
+ }) {
19
+ this.options = options;
20
+ this.container = null;
21
+ this.messageHandler = null;
22
+ this.element = document.createElement("iframe");
23
+ if (options.id) {
24
+ this.element.id = options.id;
25
+ }
26
+ if (options.src) {
27
+ this.element.src = options.src;
28
+ }
29
+ if (options.allow) {
30
+ this.element.allow = options.allow;
31
+ }
32
+ const style = Object.assign(Object.assign({}, DEFAULT_STYLE), options.style);
33
+ Object.assign(this.element.style, style);
34
+ if (options.container) {
35
+ this.container = options.container;
36
+ this.container.appendChild(this.element);
37
+ }
38
+ if (options.onMessage) {
39
+ const handler = options.onMessage;
40
+ this.messageHandler = (event) => {
41
+ if (!isVwrMessage(event.data))
42
+ return;
43
+ if (!isTrustedSource(event.data.source))
44
+ return;
45
+ if (event.source === this.element.contentWindow) {
46
+ handler(event.data);
47
+ }
48
+ };
49
+ window.addEventListener("message", this.messageHandler);
50
+ }
51
+ this.element.style.display = "none";
52
+ }
53
+ getElement() {
54
+ return this.element;
55
+ }
56
+ show() {
57
+ this.element.style.display = "block";
58
+ }
59
+ hide() {
60
+ this.element.style.display = "none";
61
+ }
62
+ destroy() {
63
+ if (this.messageHandler) {
64
+ window.removeEventListener("message", this.messageHandler);
65
+ this.messageHandler = null;
66
+ }
67
+ this.element.remove();
68
+ this.container = null;
69
+ }
70
+ focus() {
71
+ this.element.focus();
72
+ }
73
+ isVisible() {
74
+ return this.element.style.display !== "none";
75
+ }
76
+ postMessage(message) {
77
+ var _a;
78
+ const origin = new URL(this.options.src).origin;
79
+ (_a = this.element.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(message, origin);
80
+ }
81
+ }
82
+ //# sourceMappingURL=iframe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframe.js","sourceRoot":"","sources":["../../../../vwr/src/iframe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ILogger } from "@volley/logger";
2
+ export interface DatadogLoggerOptions {
3
+ /** Environment (e.g., "dev", "staging", "prod") */
4
+ env: string;
5
+ /** Application version */
6
+ version: string;
7
+ /** Service name (defaults to "vwr-loader") */
8
+ service: string;
9
+ /** Client Id for Datadog */
10
+ clientToken: string;
11
+ }
12
+ export declare function initDatadogLogs(options: DatadogLoggerOptions): void;
13
+ export declare let logger: ILogger;
14
+ export declare function setLogger(_logger: ILogger): void;
15
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../vwr/src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,WAAW,oBAAoB;IACjC,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAA;CACtB;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAUnE;AA+DD,eAAO,IAAI,MAAM,EAAE,OAoBjB,CAAA;AAEF,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,QAEzC"}