@volley/vwr-loader 1.0.6 → 1.2.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 (102) hide show
  1. package/README.md +7 -8
  2. package/dist/__mocks__/@datadog/browser-logs.d.ts +58 -0
  3. package/dist/__mocks__/@datadog/browser-logs.d.ts.map +1 -0
  4. package/dist/__mocks__/@datadog/browser-logs.js +34 -0
  5. package/dist/__mocks__/@datadog/browser-logs.js.map +1 -0
  6. package/dist/__mocks__/@datadog/browser-rum.d.ts +25 -0
  7. package/dist/__mocks__/@datadog/browser-rum.d.ts.map +1 -0
  8. package/dist/__mocks__/@datadog/browser-rum.js +25 -0
  9. package/dist/__mocks__/@datadog/browser-rum.js.map +1 -0
  10. package/dist/amplitudeFlagFetcher.d.ts +8 -3
  11. package/dist/amplitudeFlagFetcher.d.ts.map +1 -1
  12. package/dist/amplitudeFlagFetcher.js +14 -12
  13. package/dist/amplitudeFlagFetcher.js.map +1 -1
  14. package/dist/assets/profiler-BRmTNL9s.js +2 -0
  15. package/dist/assets/profiler-BRmTNL9s.js.map +1 -0
  16. package/dist/assets/startRecording-CuFdVhxx.js +3 -0
  17. package/dist/assets/startRecording-CuFdVhxx.js.map +1 -0
  18. package/dist/cli.js +47 -34
  19. package/dist/cli.js.map +1 -1
  20. package/dist/datadog.d.ts +19 -0
  21. package/dist/datadog.d.ts.map +1 -0
  22. package/dist/datadog.js +39 -0
  23. package/dist/datadog.js.map +1 -0
  24. package/dist/envDefaults.d.ts.map +1 -1
  25. package/dist/envDefaults.js +27 -12
  26. package/dist/envDefaults.js.map +1 -1
  27. package/dist/errors/InitializationError.d.ts +74 -0
  28. package/dist/errors/InitializationError.d.ts.map +1 -0
  29. package/dist/errors/InitializationError.js +77 -0
  30. package/dist/errors/InitializationError.js.map +1 -0
  31. package/dist/errors/ensureError.d.ts +2 -0
  32. package/dist/errors/ensureError.d.ts.map +1 -0
  33. package/dist/errors/ensureError.js +7 -0
  34. package/dist/errors/ensureError.js.map +1 -0
  35. package/dist/errors/index.d.ts +12 -0
  36. package/dist/errors/index.d.ts.map +1 -0
  37. package/dist/errors/index.js +10 -0
  38. package/dist/errors/index.js.map +1 -0
  39. package/dist/getDeviceId.d.ts +1 -32
  40. package/dist/getDeviceId.d.ts.map +1 -1
  41. package/dist/getDeviceId.js +18 -16
  42. package/dist/getDeviceId.js.map +1 -1
  43. package/dist/getEnvironment.d.ts +3 -4
  44. package/dist/getEnvironment.d.ts.map +1 -1
  45. package/dist/getEnvironment.js +11 -6
  46. package/dist/getEnvironment.js.map +1 -1
  47. package/dist/getShellVersion.d.ts +2 -20
  48. package/dist/getShellVersion.d.ts.map +1 -1
  49. package/dist/getShellVersion.js +41 -8
  50. package/dist/getShellVersion.js.map +1 -1
  51. package/dist/index.d.ts +0 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js.map +1 -1
  54. package/dist/loadVwr.d.ts +4 -4
  55. package/dist/loadVwr.d.ts.map +1 -1
  56. package/dist/loadVwr.js +151 -37
  57. package/dist/loadVwr.js.map +1 -1
  58. package/dist/logger.d.ts +11 -6
  59. package/dist/logger.d.ts.map +1 -1
  60. package/dist/logger.js +107 -4
  61. package/dist/logger.js.map +1 -1
  62. package/dist/main.js +9 -1
  63. package/dist/main.js.map +1 -1
  64. package/dist/test-setup.d.ts +2 -0
  65. package/dist/test-setup.d.ts.map +1 -0
  66. package/dist/test-setup.js +5 -0
  67. package/dist/test-setup.js.map +1 -0
  68. package/dist/types.d.ts +87 -0
  69. package/dist/types.d.ts.map +1 -0
  70. package/dist/types.js +5 -0
  71. package/dist/types.js.map +1 -0
  72. package/dist/vwrConfig.d.ts +14 -2
  73. package/dist/vwrConfig.d.ts.map +1 -1
  74. package/dist/vwrConfig.js +74 -29
  75. package/dist/vwrConfig.js.map +1 -1
  76. package/package.json +59 -53
  77. package/src/__mocks__/@datadog/browser-logs.ts +35 -0
  78. package/src/__mocks__/@datadog/browser-rum.ts +27 -0
  79. package/src/amplitudeFlagFetcher.test.ts +28 -34
  80. package/src/amplitudeFlagFetcher.ts +22 -14
  81. package/src/datadog.ts +55 -0
  82. package/src/envDefaults.ts +32 -13
  83. package/src/errors/InitializationError.ts +105 -0
  84. package/src/errors/ensureError.ts +6 -0
  85. package/src/errors/index.ts +16 -0
  86. package/src/getDeviceId.test.ts +29 -23
  87. package/src/getDeviceId.ts +25 -72
  88. package/src/getEnvironment.test.ts +68 -108
  89. package/src/getEnvironment.ts +12 -8
  90. package/src/getShellVersion.test.ts +134 -9
  91. package/src/getShellVersion.ts +44 -26
  92. package/src/index.ts +0 -1
  93. package/src/loadVwr.test.ts +394 -0
  94. package/src/loadVwr.ts +243 -58
  95. package/src/logger.ts +118 -11
  96. package/src/main.test.ts +157 -0
  97. package/src/main.ts +79 -11
  98. package/src/test-setup.ts +5 -0
  99. package/src/types.ts +88 -0
  100. package/src/vite-env.d.ts +2 -0
  101. package/src/vwrConfig.test.ts +104 -34
  102. package/src/vwrConfig.ts +115 -37
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { vi } from "vitest";
2
+ // Global mocks for Datadog browser SDKs
3
+ vi.mock("@datadog/browser-rum");
4
+ vi.mock("@datadog/browser-logs");
5
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,wCAAwC;AACxC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;AAC/B,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Shared type definitions for vwr-loader platform APIs
3
+ */
4
+ /**
5
+ * Extended window interface for mobile app context.
6
+ * Matches the types from @volley/sdk ExtendedWindow.ts
7
+ */
8
+ export interface MobileExtendedWindow extends Window {
9
+ iosAppContext?: {
10
+ appVersion: string;
11
+ environment?: string;
12
+ phoneDeviceId?: string;
13
+ };
14
+ androidAppContext?: {
15
+ appVersion: string;
16
+ environment?: string;
17
+ phoneDeviceId?: string;
18
+ };
19
+ }
20
+ /**
21
+ * Global type declarations for platform APIs
22
+ */
23
+ declare global {
24
+ interface Window {
25
+ Capacitor?: {
26
+ Plugins?: {
27
+ DeviceInfo?: {
28
+ getDeviceInfo(): Promise<{
29
+ versionName?: string;
30
+ [key: string]: any;
31
+ }>;
32
+ getAndroidId(): Promise<{
33
+ androidId?: string;
34
+ [key: string]: any;
35
+ }>;
36
+ getNativeShellAppEnvironment(): Promise<{
37
+ environment?: string;
38
+ }>;
39
+ [key: string]: any;
40
+ };
41
+ [key: string]: any;
42
+ };
43
+ [key: string]: any;
44
+ };
45
+ webapis?: {
46
+ productinfo?: {
47
+ getDuid: () => string;
48
+ };
49
+ };
50
+ webOS?: {
51
+ service?: {
52
+ request: (uri: string, options: {
53
+ method?: string;
54
+ parameters?: Record<string, unknown>;
55
+ onSuccess?: (response: LGDeviceIdResponse) => void;
56
+ onFailure?: (error: {
57
+ errorText?: string;
58
+ }) => void;
59
+ subscribe?: boolean;
60
+ }) => {
61
+ cancel: () => void;
62
+ };
63
+ };
64
+ fetchAppInfo?: (callback: (appInfo?: {
65
+ version?: string;
66
+ }) => void) => void;
67
+ };
68
+ tizen?: {
69
+ application?: {
70
+ getAppInfo: () => {
71
+ version?: string;
72
+ };
73
+ };
74
+ };
75
+ }
76
+ }
77
+ /**
78
+ * LG Luna service response for device ID
79
+ */
80
+ export interface LGDeviceIdResponse {
81
+ idList?: Array<{
82
+ idType?: string;
83
+ idValue?: string;
84
+ }>;
85
+ returnValue?: boolean;
86
+ }
87
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,MAAM;IAChD,aAAa,CAAC,EAAE;QACZ,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,iBAAiB,CAAC,EAAE;QAChB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;KACzB,CAAA;CACJ;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,SAAS,CAAC,EAAE;YACR,OAAO,CAAC,EAAE;gBACN,UAAU,CAAC,EAAE;oBACT,aAAa,IAAI,OAAO,CAAC;wBACrB,WAAW,CAAC,EAAE,MAAM,CAAA;wBACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;qBACrB,CAAC,CAAA;oBACF,YAAY,IAAI,OAAO,CAAC;wBACpB,SAAS,CAAC,EAAE,MAAM,CAAA;wBAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;qBACrB,CAAC,CAAA;oBACF,4BAA4B,IAAI,OAAO,CAAC;wBACpC,WAAW,CAAC,EAAE,MAAM,CAAA;qBACvB,CAAC,CAAA;oBACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;iBACrB,CAAA;gBACD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;aACrB,CAAA;YACD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SACrB,CAAA;QACD,OAAO,CAAC,EAAE;YACN,WAAW,CAAC,EAAE;gBACV,OAAO,EAAE,MAAM,MAAM,CAAA;aACxB,CAAA;SACJ,CAAA;QACD,KAAK,CAAC,EAAE;YACJ,OAAO,CAAC,EAAE;gBACN,OAAO,EAAE,CACL,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;oBACL,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;oBACpC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAA;oBAClD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;wBAAE,SAAS,CAAC,EAAE,MAAM,CAAA;qBAAE,KAAK,IAAI,CAAA;oBACnD,SAAS,CAAC,EAAE,OAAO,CAAA;iBACtB,KACA;oBACD,MAAM,EAAE,MAAM,IAAI,CAAA;iBACrB,CAAA;aACJ,CAAA;YACD,YAAY,CAAC,EAAE,CACX,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,KAAK,IAAI,KACjD,IAAI,CAAA;SACZ,CAAA;QACD,KAAK,CAAC,EAAE;YACJ,WAAW,CAAC,EAAE;gBACV,UAAU,EAAE,MAAM;oBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;aACzC,CAAA;SACJ,CAAA;KACJ;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Shared type definitions for vwr-loader platform APIs
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,4 +1,4 @@
1
- import { type Logger } from "./logger";
1
+ import type { ILogger } from "@volley/logger";
2
2
  export type VWRConfig = {
3
3
  hubUrl: string;
4
4
  vwrUrl: string;
@@ -16,6 +16,18 @@ export type VWRConfigRequest = {
16
16
  shellVersion: string;
17
17
  timeout?: number;
18
18
  };
19
- export declare const getVWRConfig: (request: VWRConfigRequest, logger?: Logger) => Promise<VWRConfig>;
19
+ export type ConfigSource = "local" | "device" | "shellVersion" | "environment" | "defaults";
20
+ export type ConfigFetchAttempt = {
21
+ source: ConfigSource;
22
+ success: boolean;
23
+ duration_ms: number;
24
+ };
25
+ export type VWRConfigResult = {
26
+ config: VWRConfig;
27
+ source: ConfigSource;
28
+ attempts: ConfigFetchAttempt[];
29
+ total_duration_ms: number;
30
+ };
31
+ export declare const getVWRConfig: (request: VWRConfigRequest, logger: ILogger) => Promise<VWRConfigResult>;
20
32
  export declare const validateConfig: (config: VWRConfig) => boolean;
21
33
  //# sourceMappingURL=vwrConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vwrConfig.d.ts","sourceRoot":"","sources":["../src/vwrConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAErD,MAAM,MAAM,SAAS,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AA0OD,eAAO,MAAM,YAAY,GACrB,SAAS,gBAAgB,EACzB,SAAQ,MAAsB,KAC/B,OAAO,CAAC,SAAS,CAEnB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,KAAG,OAWlD,CAAA"}
1
+ {"version":3,"file":"vwrConfig.d.ts","sourceRoot":"","sources":["../src/vwrConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAI7C,MAAM,MAAM,SAAS,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,YAAY,GAClB,OAAO,GACP,QAAQ,GACR,cAAc,GACd,aAAa,GACb,UAAU,CAAA;AAEhB,MAAM,MAAM,kBAAkB,GAAG;IAC7B,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,kBAAkB,EAAE,CAAA;IAC9B,iBAAiB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAmSD,eAAO,MAAM,YAAY,GACrB,SAAS,gBAAgB,EACzB,QAAQ,OAAO,KAChB,OAAO,CAAC,eAAe,CAEzB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,KAAG,OAWlD,CAAA"}
package/dist/vwrConfig.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { ENV_DEFAULTS } from "./envDefaults";
2
- import { defaultLogger } from "./logger";
3
2
  const DEFAULT_CONFIG_TIMEOUT = 2000;
4
3
  /**
5
4
  * Build a URL from a base and relative path, handling missing trailing slashes.
@@ -32,40 +31,86 @@ class VWRConfigFetcher {
32
31
  this.shellVersion = request.shellVersion;
33
32
  }
34
33
  async fetch() {
35
- this.logger.info("[VWR Config] Fetching config with priority: local → device → shellVersion → environment → defaults");
36
- // Fetch all configs in parallel for performance
37
- const [localConfig, deviceConfig, shellVersionConfig, environmentConfig,] = await Promise.all([
38
- this.tryGetLocalConfig(),
39
- this.tryGetDeviceConfig(),
40
- this.tryGetShellVersionConfig(),
41
- this.tryGetEnvironmentConfig(),
34
+ const fetchStartTime = performance.now();
35
+ this.logger.debug("[VWR Config] Fetching config with priority: local → device → shellVersion → environment → defaults");
36
+ // Fetch all configs in parallel for performance, with timing
37
+ const [localResult, deviceResult, shellVersionResult, environmentResult,] = await Promise.all([
38
+ this.timedFetch("local", () => this.tryGetLocalConfig()),
39
+ this.timedFetch("device", () => this.tryGetDeviceConfig()),
40
+ this.timedFetch("shellVersion", () => this.tryGetShellVersionConfig()),
41
+ this.timedFetch("environment", () => this.tryGetEnvironmentConfig()),
42
42
  ]);
43
+ const total_duration_ms = Math.round(performance.now() - fetchStartTime);
44
+ const attempts = [
45
+ localResult.attempt,
46
+ deviceResult.attempt,
47
+ shellVersionResult.attempt,
48
+ environmentResult.attempt,
49
+ ];
43
50
  // Return first successful config in priority order
44
- if (localConfig !== null) {
45
- this.logger.info("[VWR Config] ✓ Using config from: local", localConfig);
46
- return localConfig;
47
- }
48
- if (deviceConfig !== null) {
49
- this.logger.info("[VWR Config] ✓ Using config from: device", deviceConfig);
50
- return deviceConfig;
51
- }
52
- if (shellVersionConfig !== null) {
53
- this.logger.info("[VWR Config] ✓ Using config from: shellVersion", shellVersionConfig);
54
- return shellVersionConfig;
55
- }
56
- if (environmentConfig !== null) {
57
- this.logger.info("[VWR Config] ✓ Using config from: environment", environmentConfig);
58
- return environmentConfig;
51
+ if (localResult.config !== null) {
52
+ this.logger.debug("[VWR Config] ✓ Using config from: local", localResult.config);
53
+ return {
54
+ config: localResult.config,
55
+ source: "local",
56
+ attempts,
57
+ total_duration_ms,
58
+ };
59
+ }
60
+ if (deviceResult.config !== null) {
61
+ this.logger.debug("[VWR Config] ✓ Using config from: device", deviceResult.config);
62
+ return {
63
+ config: deviceResult.config,
64
+ source: "device",
65
+ attempts,
66
+ total_duration_ms,
67
+ };
68
+ }
69
+ if (shellVersionResult.config !== null) {
70
+ this.logger.debug("[VWR Config] ✓ Using config from: shellVersion", shellVersionResult.config);
71
+ return {
72
+ config: shellVersionResult.config,
73
+ source: "shellVersion",
74
+ attempts,
75
+ total_duration_ms,
76
+ };
77
+ }
78
+ if (environmentResult.config !== null) {
79
+ this.logger.debug("[VWR Config] ✓ Using config from: environment", environmentResult.config);
80
+ return {
81
+ config: environmentResult.config,
82
+ source: "environment",
83
+ attempts,
84
+ total_duration_ms,
85
+ };
59
86
  }
60
87
  // All fetches failed, use defaults
61
88
  this.logger.warn("[VWR Config] All config fetches failed, using built-in defaults");
62
- return this.defaults;
89
+ return {
90
+ config: this.defaults,
91
+ source: "defaults",
92
+ attempts,
93
+ total_duration_ms,
94
+ };
95
+ }
96
+ async timedFetch(source, fetchFn) {
97
+ const startTime = performance.now();
98
+ const config = await fetchFn();
99
+ const duration_ms = Math.round(performance.now() - startTime);
100
+ return {
101
+ config,
102
+ attempt: {
103
+ source,
104
+ success: config !== null,
105
+ duration_ms,
106
+ },
107
+ };
63
108
  }
64
109
  async tryGetLocalConfig() {
65
110
  var _a, _b;
66
111
  try {
67
112
  const url = buildUrl(this.configFile, (_b = (_a = ENV_DEFAULTS["local"]) === null || _a === void 0 ? void 0 : _a.configUrl) !== null && _b !== void 0 ? _b : "");
68
- this.logger.info(`[VWR Config] Trying local: ${url}`);
113
+ this.logger.debug(`[VWR Config] Trying local: ${url}`);
69
114
  return this.tryFetchConfig(url);
70
115
  }
71
116
  catch (error) {
@@ -76,7 +121,7 @@ class VWRConfigFetcher {
76
121
  async tryGetDeviceConfig() {
77
122
  try {
78
123
  const url = buildUrl(`device/${this.platform}/${this.deviceId}/${this.configFile}`, this.configUrl);
79
- this.logger.info(`[VWR Config] Trying device: ${url}`);
124
+ this.logger.debug(`[VWR Config] Trying device: ${url}`);
80
125
  return this.tryFetchConfig(url);
81
126
  }
82
127
  catch (error) {
@@ -87,7 +132,7 @@ class VWRConfigFetcher {
87
132
  async tryGetEnvironmentConfig() {
88
133
  try {
89
134
  const url = buildUrl(`environments/${this.environment}/${this.configFile}`, this.configUrl);
90
- this.logger.info(`[VWR Config] Trying environment: ${url}`);
135
+ this.logger.debug(`[VWR Config] Trying environment: ${url}`);
91
136
  return this.tryFetchConfig(url);
92
137
  }
93
138
  catch (error) {
@@ -98,7 +143,7 @@ class VWRConfigFetcher {
98
143
  async tryGetShellVersionConfig() {
99
144
  try {
100
145
  const url = buildUrl(`shellVersion/${this.environment}/${this.platform}/${this.shellVersion}/${this.configFile}`, this.configUrl);
101
- this.logger.info(`[VWR Config] Trying shellVersion: ${url}`);
146
+ this.logger.debug(`[VWR Config] Trying shellVersion: ${url}`);
102
147
  return this.tryFetchConfig(url);
103
148
  }
104
149
  catch (error) {
@@ -164,7 +209,7 @@ class VWRConfigFetcher {
164
209
  return result;
165
210
  }
166
211
  }
167
- export const getVWRConfig = async (request, logger = defaultLogger) => {
212
+ export const getVWRConfig = async (request, logger) => {
168
213
  return new VWRConfigFetcher(request, logger).fetch();
169
214
  };
170
215
  export const validateConfig = (config) => {
@@ -1 +1 @@
1
- {"version":3,"file":"vwrConfig.js","sourceRoot":"","sources":["../src/vwrConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vwrConfig.js","sourceRoot":"","sources":["../src/vwrConfig.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,55 +1,61 @@
1
1
  {
2
- "name": "@volley/vwr-loader",
3
- "version": "1.0.6",
4
- "type": "module",
5
- "description": "Vite-based VWR loader for all Volley platforms",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": "./dist/index.js",
10
- "./amplitudeFlagFetcher": "./dist/amplitudeFlagFetcher.js",
11
- "./getDeviceId": "./dist/getDeviceId.js",
12
- "./getShellVersion": "./dist/getShellVersion.js",
13
- "./envDefaults": "./dist/envDefaults.js"
14
- },
15
- "bin": {
16
- "build-loader": "./dist/cli.js"
17
- },
18
- "files": [
19
- "dist",
20
- "src"
21
- ],
22
- "scripts": {
23
- "build": "tsc && vite build && vite build -c vite.cli.config.ts && chmod +x dist/cli.js",
24
- "build:cli": "vite build -c vite.cli.config.ts",
25
- "build:loader": "vite build",
26
- "typecheck": "tsc --noEmit",
27
- "test": "vitest run",
28
- "test:watch": "vitest",
29
- "format": "eslint . --fix",
30
- "lint": "eslint .",
31
- "semantic-release": "semantic-release"
32
- },
33
- "dependencies": {
34
- "commander": "^12.0.0",
35
- "dotenv": "^16.0.0",
36
- "fs-extra": "^11.0.0",
37
- "vite": "^5.0.0"
38
- },
39
- "devDependencies": {
40
- "tsx": "^4.7.0",
41
- "@platform/eslint-config": "workspace:*",
42
- "@semantic-release/git": "^10.0.1",
43
- "@semantic-release/npm": "^12.0.1",
44
- "@types/fs-extra": "^11.0.0",
45
- "@types/node": "^20.0.0",
46
- "@volley/vwr": "workspace:*",
47
- "eslint": "^9.25.1",
48
- "jsdom": "^24.1.3",
49
- "prettier": "~3.0.3",
50
- "semantic-release": "^24.2.3",
51
- "semantic-release-monorepo": "^8.0.2",
52
- "typescript": "^5.0.0",
53
- "vitest": "^1.0.0"
54
- }
2
+ "name": "@volley/vwr-loader",
3
+ "version": "1.2.0",
4
+ "type": "module",
5
+ "description": "Vite-based VWR loader for all Volley platforms",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": "./dist/index.js",
10
+ "./amplitudeFlagFetcher": "./dist/amplitudeFlagFetcher.js",
11
+ "./getDeviceId": "./dist/getDeviceId.js",
12
+ "./getShellVersion": "./dist/getShellVersion.js",
13
+ "./envDefaults": "./dist/envDefaults.js"
14
+ },
15
+ "bin": {
16
+ "build-loader": "dist/cli.js"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "src"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc && vite build && vite build -c vite.cli.config.ts && chmod +x dist/cli.js",
24
+ "build:cli": "vite build -c vite.cli.config.ts",
25
+ "build:loader": "vite build",
26
+ "typecheck": "tsc --noEmit",
27
+ "test": "vitest run",
28
+ "test:cov": "vitest run --coverage",
29
+ "test:watch": "vitest",
30
+ "format": "eslint . --fix",
31
+ "lint": "eslint .",
32
+ "semantic-release": "semantic-release"
33
+ },
34
+ "dependencies": {
35
+ "@datadog/browser-logs": "^6.25.2",
36
+ "@datadog/browser-rum": "^6.25.2",
37
+ "@volley/logger": "^1.4.1",
38
+ "commander": "^12.0.0",
39
+ "dotenv": "^16.0.0",
40
+ "fs-extra": "^11.0.0",
41
+ "uuid": "^11.1.0",
42
+ "vite": "^5.0.0"
43
+ },
44
+ "devDependencies": {
45
+ "@platform/eslint-config": "workspace:*",
46
+ "@semantic-release/git": "^10.0.1",
47
+ "@semantic-release/npm": "^12.0.1",
48
+ "@types/fs-extra": "^11.0.0",
49
+ "@types/node": "^20.0.0",
50
+ "@vitest/coverage-v8": "^1.0.0",
51
+ "@volley/vwr": "workspace:*",
52
+ "eslint": "^9.25.1",
53
+ "jsdom": "^24.1.3",
54
+ "prettier": "~3.0.3",
55
+ "semantic-release": "^24.2.3",
56
+ "semantic-release-monorepo": "^8.0.2",
57
+ "tsx": "^4.7.0",
58
+ "typescript": "^5.0.0",
59
+ "vitest": "^1.0.0"
60
+ }
55
61
  }
@@ -0,0 +1,35 @@
1
+ import { vi } from "vitest"
2
+
3
+ const mockLogger = {
4
+ debug: vi.fn(),
5
+ info: vi.fn(),
6
+ warn: vi.fn(),
7
+ error: vi.fn(),
8
+ log: vi.fn(),
9
+ setLevel: vi.fn(),
10
+ setHandler: vi.fn(),
11
+ setContext: vi.fn(),
12
+ addContext: vi.fn(),
13
+ removeContext: vi.fn(),
14
+ clearContext: vi.fn(),
15
+ getContext: vi.fn(() => ({})),
16
+ }
17
+
18
+ export const datadogLogs = {
19
+ init: vi.fn(),
20
+ logger: mockLogger,
21
+ createLogger: vi.fn(() => mockLogger),
22
+ getLogger: vi.fn(() => mockLogger),
23
+ setUser: vi.fn(),
24
+ setUserProperty: vi.fn(),
25
+ removeUserProperty: vi.fn(),
26
+ clearUser: vi.fn(),
27
+ getUser: vi.fn(() => ({})),
28
+ setGlobalContext: vi.fn(),
29
+ setGlobalContextProperty: vi.fn(),
30
+ removeGlobalContextProperty: vi.fn(),
31
+ clearGlobalContext: vi.fn(),
32
+ getGlobalContext: vi.fn(() => ({})),
33
+ getInitConfiguration: vi.fn(() => ({})),
34
+ getInternalContext: vi.fn(() => ({})),
35
+ }
@@ -0,0 +1,27 @@
1
+ import { vi } from "vitest"
2
+
3
+ export const datadogRum = {
4
+ init: vi.fn(),
5
+ startSessionReplayRecording: vi.fn(),
6
+ stopSessionReplayRecording: vi.fn(),
7
+ addAction: vi.fn(),
8
+ addError: vi.fn(),
9
+ addTiming: vi.fn(),
10
+ setUser: vi.fn(),
11
+ setUserProperty: vi.fn(),
12
+ removeUserProperty: vi.fn(),
13
+ clearUser: vi.fn(),
14
+ setGlobalContext: vi.fn(),
15
+ setGlobalContextProperty: vi.fn(),
16
+ removeGlobalContextProperty: vi.fn(),
17
+ clearGlobalContext: vi.fn(),
18
+ getGlobalContext: vi.fn(() => ({})),
19
+ getUser: vi.fn(() => ({})),
20
+ getInitConfiguration: vi.fn(() => ({})),
21
+ getInternalContext: vi.fn(() => ({})),
22
+ addFeatureFlagEvaluation: vi.fn(),
23
+ startView: vi.fn(),
24
+ stopView: vi.fn(),
25
+ }
26
+
27
+ export type RumGlobal = typeof datadogRum
@@ -1,6 +1,6 @@
1
1
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"
2
2
 
3
- import { fetchAmplitudeFlags } from "./amplitudeFlagFetcher"
3
+ import { fetchAmplitudeFlags, FlagFetchError } from "./amplitudeFlagFetcher"
4
4
 
5
5
  describe("fetchAmplitudeFlags", () => {
6
6
  const mockFetch = vi.fn()
@@ -91,54 +91,48 @@ describe("fetchAmplitudeFlags", () => {
91
91
  })
92
92
  })
93
93
 
94
- it("returns safe defaults on timeout", async () => {
94
+ it("throws FlagFetchError on timeout", async () => {
95
95
  mockFetch.mockImplementationOnce(
96
96
  () => new Promise((resolve) => setTimeout(resolve, 3000))
97
97
  )
98
98
 
99
- const result = await fetchAmplitudeFlags(
100
- "device-123",
101
- "FIRE_TV",
102
- { apiKey: "test-key", timeout: 100 },
103
- "1.0.0"
104
- )
105
-
106
- expect(result).toEqual({
107
- "vwr-enabled": false,
108
- })
99
+ await expect(
100
+ fetchAmplitudeFlags(
101
+ "device-123",
102
+ "FIRE_TV",
103
+ { apiKey: "test-key", timeout: 100 },
104
+ "1.0.0"
105
+ )
106
+ ).rejects.toThrow(FlagFetchError)
109
107
  })
110
108
 
111
- it("returns safe defaults on API error", async () => {
109
+ it("throws FlagFetchError on API error", async () => {
112
110
  mockFetch.mockResolvedValueOnce({
113
111
  ok: false,
114
112
  status: 500,
115
113
  })
116
114
 
117
- const result = await fetchAmplitudeFlags(
118
- "device-123",
119
- "MOBILE",
120
- { apiKey: "test-key" },
121
- "1.0.0"
122
- )
123
-
124
- expect(result).toEqual({
125
- "vwr-enabled": false,
126
- })
115
+ await expect(
116
+ fetchAmplitudeFlags(
117
+ "device-123",
118
+ "MOBILE",
119
+ { apiKey: "test-key" },
120
+ "1.0.0"
121
+ )
122
+ ).rejects.toThrow(FlagFetchError)
127
123
  })
128
124
 
129
- it("returns safe defaults on network error", async () => {
125
+ it("throws FlagFetchError on network error", async () => {
130
126
  mockFetch.mockRejectedValueOnce(new Error("Network error"))
131
127
 
132
- const result = await fetchAmplitudeFlags(
133
- "device-123",
134
- "MOBILE",
135
- { apiKey: "test-key" },
136
- "1.0.0"
137
- )
138
-
139
- expect(result).toEqual({
140
- "vwr-enabled": false,
141
- })
128
+ await expect(
129
+ fetchAmplitudeFlags(
130
+ "device-123",
131
+ "MOBILE",
132
+ { apiKey: "test-key" },
133
+ "1.0.0"
134
+ )
135
+ ).rejects.toThrow(FlagFetchError)
142
136
  })
143
137
 
144
138
  it("handles missing flag values in response", async () => {