@oxyhq/services 5.16.41 → 5.16.42

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.
@@ -5,37 +5,46 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createPlatformAdapter = createPlatformAdapter;
7
7
  var _expo = require("./expo");
8
- var _node = require("./node");
9
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /**
10
9
  * Platform Adapters
11
10
  *
12
11
  * Factory function to create the appropriate platform adapter
12
+ *
13
+ * Uses dynamic imports for Node.js adapter to avoid Metro bundling Node-specific code
14
+ * in React Native environments.
13
15
  */
14
16
  /**
15
17
  * Detect platform and create appropriate adapter
18
+ *
19
+ * Uses dynamic imports for Node.js adapter to ensure Metro doesn't process
20
+ * Node-specific code (like 'crypto' module) in React Native bundles.
16
21
  */
17
22
  async function createPlatformAdapter() {
18
- // Check if we're in Node.js
19
- if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null) {
20
- // Check if we're in a React Native/Expo environment
21
- try {
22
- // Try to detect React Native
23
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
24
- return await (0, _expo.createExpoAdapter)();
25
- }
23
+ // Detect if we're in Node.js environment
24
+ const isNode = typeof process !== 'undefined' && process.versions?.node != null;
26
25
 
27
- // Check for Expo in Node (unlikely but possible)
28
- const Platform = await Promise.resolve().then(() => _interopRequireWildcard(require('react-native'))).then(m => m.Platform).catch(() => null);
29
- if (Platform) {
30
- return await (0, _expo.createExpoAdapter)();
31
- }
26
+ // Detect if we're in React Native
27
+ const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
28
+
29
+ // If we're in Node.js AND not React Native, consider using Node adapter
30
+ if (isNode && !isReactNative) {
31
+ // Double-check: try to import react-native to confirm we're not in React Native
32
+ // This is a safety check for edge cases where Node.js might be available but we're in RN
33
+ try {
34
+ await Promise.resolve().then(() => _interopRequireWildcard(require('react-native')));
35
+ // If we can import react-native, we're in React Native environment
36
+ return await (0, _expo.createExpoAdapter)();
32
37
  } catch {
33
- // Not React Native, use Node adapter
38
+ // Cannot import react-native, we're in pure Node.js
39
+ // Use dynamic import to avoid Metro processing Node-specific code
40
+ const {
41
+ createNodeAdapter
42
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('./node/index.js')));
43
+ return await createNodeAdapter();
34
44
  }
35
- return await (0, _node.createNodeAdapter)();
36
45
  }
37
46
 
38
- // Default to Expo adapter (React Native or Web)
47
+ // Default: Expo adapter (React Native or Web)
39
48
  return await (0, _expo.createExpoAdapter)();
40
49
  }
41
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_expo","require","_node","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createPlatformAdapter","process","versions","node","navigator","product","createExpoAdapter","Platform","Promise","resolve","then","m","catch","createNodeAdapter"],"sourceRoot":"../../../src","sources":["adapters/index.ts"],"mappings":";;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAAwF,SAAAE,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA,KAPxF;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACO,eAAekB,qBAAqBA,CAAA,EAA6B;EACtE;EACA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,QAAQ,IAAI,IAAI,IAAID,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI,EAAE;IAC/F;IACA,IAAI;MACF;MACA,IAAI,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa,EAAE;QAC3E,OAAO,MAAM,IAAAC,uBAAiB,EAAC,CAAC;MAClC;;MAEA;MACA,MAAMC,QAAQ,GAAG,MAAMC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAA9B,uBAAA,CAAAF,OAAA,CAAO,cAAc,IAAEgC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACJ,QAAQ,CAAC,CAACK,KAAK,CAAC,MAAM,IAAI,CAAC;MACrF,IAAIL,QAAQ,EAAE;QACZ,OAAO,MAAM,IAAAD,uBAAiB,EAAC,CAAC;MAClC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;IAGF,OAAO,MAAM,IAAAO,uBAAiB,EAAC,CAAC;EAClC;;EAEA;EACA,OAAO,MAAM,IAAAP,uBAAiB,EAAC,CAAC;AAClC","ignoreList":[]}
1
+ {"version":3,"names":["_expo","require","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createPlatformAdapter","isNode","process","versions","node","isReactNative","navigator","product","Promise","resolve","then","createExpoAdapter","createNodeAdapter"],"sourceRoot":"../../../src","sources":["adapters/index.ts"],"mappings":";;;;;;AASA,IAAAA,KAAA,GAAAC,OAAA;AAAwF,SAAAC,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA,KATxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACO,eAAekB,qBAAqBA,CAAA,EAA6B;EACtE;EACA,MAAMC,MAAM,GAAG,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,QAAQ,EAAEC,IAAI,IAAI,IAAI;;EAE/E;EACA,MAAMC,aAAa,GAAG,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa;;EAE7F;EACA,IAAIN,MAAM,IAAI,CAACI,aAAa,EAAE;IAC5B;IACA;IACA,IAAI;MACF,MAAAG,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAA9B,uBAAA,CAAAD,OAAA,CAAa,cAAc,GAAC;MAC5B;MACA,OAAO,MAAM,IAAAgC,uBAAiB,EAAC,CAAC;IAClC,CAAC,CAAC,MAAM;MACN;MACA;MACA,MAAM;QAAEC;MAAkB,CAAC,GAAG,MAAAJ,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAA9B,uBAAA,CAAAD,OAAA,CAAa,iBAAiB,GAAC;MAC7D,OAAO,MAAMiC,iBAAiB,CAAC,CAAC;IAClC;EACF;;EAEA;EACA,OAAO,MAAM,IAAAD,uBAAiB,EAAC,CAAC;AAClC","ignoreList":[]}
@@ -4,35 +4,44 @@
4
4
  * Platform Adapters
5
5
  *
6
6
  * Factory function to create the appropriate platform adapter
7
+ *
8
+ * Uses dynamic imports for Node.js adapter to avoid Metro bundling Node-specific code
9
+ * in React Native environments.
7
10
  */
8
11
 
9
12
  import { createExpoAdapter } from './expo';
10
- import { createNodeAdapter } from './node';
11
13
  /**
12
14
  * Detect platform and create appropriate adapter
15
+ *
16
+ * Uses dynamic imports for Node.js adapter to ensure Metro doesn't process
17
+ * Node-specific code (like 'crypto' module) in React Native bundles.
13
18
  */
14
19
  export async function createPlatformAdapter() {
15
- // Check if we're in Node.js
16
- if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null) {
17
- // Check if we're in a React Native/Expo environment
18
- try {
19
- // Try to detect React Native
20
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
21
- return await createExpoAdapter();
22
- }
20
+ // Detect if we're in Node.js environment
21
+ const isNode = typeof process !== 'undefined' && process.versions?.node != null;
23
22
 
24
- // Check for Expo in Node (unlikely but possible)
25
- const Platform = await import('react-native').then(m => m.Platform).catch(() => null);
26
- if (Platform) {
27
- return await createExpoAdapter();
28
- }
23
+ // Detect if we're in React Native
24
+ const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
25
+
26
+ // If we're in Node.js AND not React Native, consider using Node adapter
27
+ if (isNode && !isReactNative) {
28
+ // Double-check: try to import react-native to confirm we're not in React Native
29
+ // This is a safety check for edge cases where Node.js might be available but we're in RN
30
+ try {
31
+ await import('react-native');
32
+ // If we can import react-native, we're in React Native environment
33
+ return await createExpoAdapter();
29
34
  } catch {
30
- // Not React Native, use Node adapter
35
+ // Cannot import react-native, we're in pure Node.js
36
+ // Use dynamic import to avoid Metro processing Node-specific code
37
+ const {
38
+ createNodeAdapter
39
+ } = await import('./node/index.js');
40
+ return await createNodeAdapter();
31
41
  }
32
- return await createNodeAdapter();
33
42
  }
34
43
 
35
- // Default to Expo adapter (React Native or Web)
44
+ // Default: Expo adapter (React Native or Web)
36
45
  return await createExpoAdapter();
37
46
  }
38
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createExpoAdapter","createNodeAdapter","createPlatformAdapter","process","versions","node","navigator","product","Platform","then","m","catch"],"sourceRoot":"../../../src","sources":["adapters/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,iBAAiB,QAAqD,QAAQ;AACvF,SAASC,iBAAiB,QAAqD,QAAQ;AAIvF;AACA;AACA;AACA,OAAO,eAAeC,qBAAqBA,CAAA,EAA6B;EACtE;EACA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,QAAQ,IAAI,IAAI,IAAID,OAAO,CAACC,QAAQ,CAACC,IAAI,IAAI,IAAI,EAAE;IAC/F;IACA,IAAI;MACF;MACA,IAAI,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa,EAAE;QAC3E,OAAO,MAAMP,iBAAiB,CAAC,CAAC;MAClC;;MAEA;MACA,MAAMQ,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACF,QAAQ,CAAC,CAACG,KAAK,CAAC,MAAM,IAAI,CAAC;MACrF,IAAIH,QAAQ,EAAE;QACZ,OAAO,MAAMR,iBAAiB,CAAC,CAAC;MAClC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;IAGF,OAAO,MAAMC,iBAAiB,CAAC,CAAC;EAClC;;EAEA;EACA,OAAO,MAAMD,iBAAiB,CAAC,CAAC;AAClC","ignoreList":[]}
1
+ {"version":3,"names":["createExpoAdapter","createPlatformAdapter","isNode","process","versions","node","isReactNative","navigator","product","createNodeAdapter"],"sourceRoot":"../../../src","sources":["adapters/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,iBAAiB,QAAqD,QAAQ;AAKvF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,qBAAqBA,CAAA,EAA6B;EACtE;EACA,MAAMC,MAAM,GAAG,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,QAAQ,EAAEC,IAAI,IAAI,IAAI;;EAE/E;EACA,MAAMC,aAAa,GAAG,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAa;;EAE7F;EACA,IAAIN,MAAM,IAAI,CAACI,aAAa,EAAE;IAC5B;IACA;IACA,IAAI;MACF,MAAM,MAAM,CAAC,cAAc,CAAC;MAC5B;MACA,OAAO,MAAMN,iBAAiB,CAAC,CAAC;IAClC,CAAC,CAAC,MAAM;MACN;MACA;MACA,MAAM;QAAES;MAAkB,CAAC,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;MAC7D,OAAO,MAAMA,iBAAiB,CAAC,CAAC;IAClC;EACF;;EAEA;EACA,OAAO,MAAMT,iBAAiB,CAAC,CAAC;AAClC","ignoreList":[]}
@@ -2,12 +2,18 @@
2
2
  * Platform Adapters
3
3
  *
4
4
  * Factory function to create the appropriate platform adapter
5
+ *
6
+ * Uses dynamic imports for Node.js adapter to avoid Metro bundling Node-specific code
7
+ * in React Native environments.
5
8
  */
6
9
  import { type PlatformAdapter as ExpoPlatformAdapter } from './expo';
7
- import { type PlatformAdapter as NodePlatformAdapter } from './node';
10
+ import type { PlatformAdapter as NodePlatformAdapter } from './node';
8
11
  export type PlatformAdapter = ExpoPlatformAdapter | NodePlatformAdapter;
9
12
  /**
10
13
  * Detect platform and create appropriate adapter
14
+ *
15
+ * Uses dynamic imports for Node.js adapter to ensure Metro doesn't process
16
+ * Node-specific code (like 'crypto' module) in React Native bundles.
11
17
  */
12
18
  export declare function createPlatformAdapter(): Promise<PlatformAdapter>;
13
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqB,KAAK,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxF,OAAO,EAAqB,KAAK,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAExF,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAExE;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC,CAwBtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAqB,KAAK,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAExE;;;;;GAKG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC,CAyBtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.16.41",
3
+ "version": "5.16.42",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -2,39 +2,46 @@
2
2
  * Platform Adapters
3
3
  *
4
4
  * Factory function to create the appropriate platform adapter
5
+ *
6
+ * Uses dynamic imports for Node.js adapter to avoid Metro bundling Node-specific code
7
+ * in React Native environments.
5
8
  */
6
9
 
7
10
  import { createExpoAdapter, type PlatformAdapter as ExpoPlatformAdapter } from './expo';
8
- import { createNodeAdapter, type PlatformAdapter as NodePlatformAdapter } from './node';
11
+ import type { PlatformAdapter as NodePlatformAdapter } from './node';
9
12
 
10
13
  export type PlatformAdapter = ExpoPlatformAdapter | NodePlatformAdapter;
11
14
 
12
15
  /**
13
16
  * Detect platform and create appropriate adapter
17
+ *
18
+ * Uses dynamic imports for Node.js adapter to ensure Metro doesn't process
19
+ * Node-specific code (like 'crypto' module) in React Native bundles.
14
20
  */
15
21
  export async function createPlatformAdapter(): Promise<PlatformAdapter> {
16
- // Check if we're in Node.js
17
- if (typeof process !== 'undefined' && process.versions != null && process.versions.node != null) {
18
- // Check if we're in a React Native/Expo environment
22
+ // Detect if we're in Node.js environment
23
+ const isNode = typeof process !== 'undefined' && process.versions?.node != null;
24
+
25
+ // Detect if we're in React Native
26
+ const isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
27
+
28
+ // If we're in Node.js AND not React Native, consider using Node adapter
29
+ if (isNode && !isReactNative) {
30
+ // Double-check: try to import react-native to confirm we're not in React Native
31
+ // This is a safety check for edge cases where Node.js might be available but we're in RN
19
32
  try {
20
- // Try to detect React Native
21
- if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
22
- return await createExpoAdapter();
23
- }
24
-
25
- // Check for Expo in Node (unlikely but possible)
26
- const Platform = await import('react-native').then(m => m.Platform).catch(() => null);
27
- if (Platform) {
28
- return await createExpoAdapter();
29
- }
33
+ await import('react-native');
34
+ // If we can import react-native, we're in React Native environment
35
+ return await createExpoAdapter();
30
36
  } catch {
31
- // Not React Native, use Node adapter
37
+ // Cannot import react-native, we're in pure Node.js
38
+ // Use dynamic import to avoid Metro processing Node-specific code
39
+ const { createNodeAdapter } = await import('./node/index.js');
40
+ return await createNodeAdapter();
32
41
  }
33
-
34
- return await createNodeAdapter();
35
42
  }
36
43
 
37
- // Default to Expo adapter (React Native or Web)
44
+ // Default: Expo adapter (React Native or Web)
38
45
  return await createExpoAdapter();
39
46
  }
40
47