@replyke/expo 4.0.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.
@@ -0,0 +1,2 @@
1
+ declare function TokenManager(): null;
2
+ export default TokenManager;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __generator = (this && this.__generator) || function (thisArg, body) {
45
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
+ function verb(n) { return function (v) { return step([n, v]); }; }
48
+ function step(op) {
49
+ if (f) throw new TypeError("Generator is already executing.");
50
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
52
+ if (y = 0, t) op = [op[0] & 2, t.value];
53
+ switch (op[0]) {
54
+ case 0: case 1: t = op; break;
55
+ case 4: _.label++; return { value: op[1], done: false };
56
+ case 5: _.label++; y = op[1]; op = [0]; continue;
57
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
+ default:
59
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
+ if (t[2]) _.ops.pop();
64
+ _.trys.pop(); continue;
65
+ }
66
+ op = body.call(thisArg, _);
67
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
+ }
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ var react_1 = require("react");
73
+ var core_1 = require("@replyke/core");
74
+ var SecureStore = __importStar(require("expo-secure-store"));
75
+ function TokenManager() {
76
+ var _this = this;
77
+ var _a = (0, core_1.useAuth)(), refreshToken = _a.refreshToken, setRefreshToken = _a.setRefreshToken;
78
+ // TODO: Should we manage the state of the refresh token here? And call the request new access token using that refresh token here?
79
+ var handleTokenStorage = function (newToken) { return __awaiter(_this, void 0, void 0, function () {
80
+ var err_1;
81
+ return __generator(this, function (_a) {
82
+ switch (_a.label) {
83
+ case 0:
84
+ _a.trys.push([0, 4, , 5]);
85
+ if (!newToken) return [3 /*break*/, 1];
86
+ SecureStore.setItem("replyke-refresh-token", newToken);
87
+ return [3 /*break*/, 3];
88
+ case 1: return [4 /*yield*/, SecureStore.deleteItemAsync("replyke-refresh-token")];
89
+ case 2:
90
+ _a.sent();
91
+ _a.label = 3;
92
+ case 3: return [3 /*break*/, 5];
93
+ case 4:
94
+ err_1 = _a.sent();
95
+ (0, core_1.handleError)(err_1, "Failed to handle token storage");
96
+ return [3 /*break*/, 5];
97
+ case 5: return [2 /*return*/];
98
+ }
99
+ });
100
+ }); };
101
+ var handleTokenRetrieval = function () { return __awaiter(_this, void 0, void 0, function () {
102
+ var storedToken, err_2;
103
+ return __generator(this, function (_a) {
104
+ switch (_a.label) {
105
+ case 0:
106
+ if (!setRefreshToken)
107
+ throw new Error("Invalid setRefreshToken function");
108
+ _a.label = 1;
109
+ case 1:
110
+ _a.trys.push([1, 3, , 4]);
111
+ return [4 /*yield*/, SecureStore.getItemAsync("replyke-refresh-token")];
112
+ case 2:
113
+ storedToken = _a.sent();
114
+ if (storedToken)
115
+ setRefreshToken(storedToken);
116
+ return [3 /*break*/, 4];
117
+ case 3:
118
+ err_2 = _a.sent();
119
+ (0, core_1.handleError)(err_2, "Failed to handle token retrieval");
120
+ return [3 /*break*/, 4];
121
+ case 4: return [2 /*return*/];
122
+ }
123
+ });
124
+ }); };
125
+ (0, react_1.useEffect)(function () {
126
+ handleTokenRetrieval();
127
+ }, []);
128
+ (0, react_1.useEffect)(function () {
129
+ handleTokenStorage(refreshToken);
130
+ }, [refreshToken]);
131
+ return null;
132
+ }
133
+ exports.default = TokenManager;
134
+ //# sourceMappingURL=TokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/TokenManager.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAClC,sCAAqD;AACrD,6DAAiD;AAEjD,SAAS,YAAY;IAArB,iBAqCC;IApCO,IAAA,KAAoC,IAAA,cAAO,GAAE,EAA3C,YAAY,kBAAA,EAAE,eAAe,qBAAc,CAAC;IACpD,mIAAmI;IACnI,IAAM,kBAAkB,GAAG,UAAO,QAAmC;;;;;;yBAE7D,QAAQ,EAAR,wBAAQ;oBACV,WAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;;wBAEvD,qBAAM,WAAW,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAA;;oBAA1D,SAA0D,CAAC;;;;;oBAG7D,IAAA,kBAAW,EAAC,KAAG,EAAE,gCAAgC,CAAC,CAAC;;;;;SAEtD,CAAC;IAEF,IAAM,oBAAoB,GAAG;;;;;oBAC3B,IAAI,CAAC,eAAe;wBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;;;;oBAGpD,qBAAM,WAAW,CAAC,YAAY,CAChD,uBAAuB,CACxB,EAAA;;oBAFK,WAAW,GAAG,SAEnB;oBACD,IAAI,WAAW;wBAAE,eAAe,CAAC,WAAW,CAAC,CAAC;;;;oBAE9C,IAAA,kBAAW,EAAC,KAAG,EAAE,kCAAkC,CAAC,CAAC;;;;;SAExD,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "@replyke/core";
2
+ export declare const ReplykeProvider: React.FC<{
3
+ projectId: string;
4
+ signedToken?: string | null | undefined;
5
+ children: React.ReactNode;
6
+ }>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.ReplykeProvider = void 0;
21
+ var jsx_runtime_1 = require("react/jsx-runtime");
22
+ var core_1 = require("@replyke/core");
23
+ // Re-export all exports from @replyke/core
24
+ __exportStar(require("@replyke/core"), exports);
25
+ var TokenManager_1 = __importDefault(require("./TokenManager"));
26
+ // Override ReplykeProvider
27
+ var ReplykeProvider = function (_a) {
28
+ var projectId = _a.projectId, signedToken = _a.signedToken, children = _a.children;
29
+ return ((0, jsx_runtime_1.jsx)(core_1.ReplykeProvider, { projectId: projectId, signedToken: signedToken, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TokenManager_1.default, {}), children] }) }));
30
+ };
31
+ exports.ReplykeProvider = ReplykeProvider;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,sCAA2E;AAE3E,2CAA2C;AAC3C,gDAA8B;AAC9B,gEAA0C;AAE1C,2BAA2B;AACpB,IAAM,eAAe,GAIvB,UAAC,EAAoC;QAAlC,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACtC,OAAO,CACL,uBAAC,sBAAuB,IAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,YACrE,6DACE,uBAAC,sBAAY,KAAG,EACf,QAAQ,IACR,GACqB,CAC3B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,eAAe,mBAa1B"}
@@ -0,0 +1,2 @@
1
+ declare function TokenManager(): null;
2
+ export default TokenManager;
@@ -0,0 +1,99 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useEffect } from "react";
38
+ import { handleError, useAuth } from "@replyke/core";
39
+ import * as SecureStore from "expo-secure-store";
40
+ function TokenManager() {
41
+ var _this = this;
42
+ var _a = useAuth(), refreshToken = _a.refreshToken, setRefreshToken = _a.setRefreshToken;
43
+ // TODO: Should we manage the state of the refresh token here? And call the request new access token using that refresh token here?
44
+ var handleTokenStorage = function (newToken) { return __awaiter(_this, void 0, void 0, function () {
45
+ var err_1;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ _a.trys.push([0, 4, , 5]);
50
+ if (!newToken) return [3 /*break*/, 1];
51
+ SecureStore.setItem("replyke-refresh-token", newToken);
52
+ return [3 /*break*/, 3];
53
+ case 1: return [4 /*yield*/, SecureStore.deleteItemAsync("replyke-refresh-token")];
54
+ case 2:
55
+ _a.sent();
56
+ _a.label = 3;
57
+ case 3: return [3 /*break*/, 5];
58
+ case 4:
59
+ err_1 = _a.sent();
60
+ handleError(err_1, "Failed to handle token storage");
61
+ return [3 /*break*/, 5];
62
+ case 5: return [2 /*return*/];
63
+ }
64
+ });
65
+ }); };
66
+ var handleTokenRetrieval = function () { return __awaiter(_this, void 0, void 0, function () {
67
+ var storedToken, err_2;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ if (!setRefreshToken)
72
+ throw new Error("Invalid setRefreshToken function");
73
+ _a.label = 1;
74
+ case 1:
75
+ _a.trys.push([1, 3, , 4]);
76
+ return [4 /*yield*/, SecureStore.getItemAsync("replyke-refresh-token")];
77
+ case 2:
78
+ storedToken = _a.sent();
79
+ if (storedToken)
80
+ setRefreshToken(storedToken);
81
+ return [3 /*break*/, 4];
82
+ case 3:
83
+ err_2 = _a.sent();
84
+ handleError(err_2, "Failed to handle token retrieval");
85
+ return [3 /*break*/, 4];
86
+ case 4: return [2 /*return*/];
87
+ }
88
+ });
89
+ }); };
90
+ useEffect(function () {
91
+ handleTokenRetrieval();
92
+ }, []);
93
+ useEffect(function () {
94
+ handleTokenStorage(refreshToken);
95
+ }, [refreshToken]);
96
+ return null;
97
+ }
98
+ export default TokenManager;
99
+ //# sourceMappingURL=TokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../src/TokenManager.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAEjD,SAAS,YAAY;IAArB,iBAqCC;IApCO,IAAA,KAAoC,OAAO,EAAE,EAA3C,YAAY,kBAAA,EAAE,eAAe,qBAAc,CAAC;IACpD,mIAAmI;IACnI,IAAM,kBAAkB,GAAG,UAAO,QAAmC;;;;;;yBAE7D,QAAQ,EAAR,wBAAQ;oBACV,WAAW,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;;wBAEvD,qBAAM,WAAW,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAA;;oBAA1D,SAA0D,CAAC;;;;;oBAG7D,WAAW,CAAC,KAAG,EAAE,gCAAgC,CAAC,CAAC;;;;;SAEtD,CAAC;IAEF,IAAM,oBAAoB,GAAG;;;;;oBAC3B,IAAI,CAAC,eAAe;wBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;;;;oBAGpD,qBAAM,WAAW,CAAC,YAAY,CAChD,uBAAuB,CACxB,EAAA;;oBAFK,WAAW,GAAG,SAEnB;oBACD,IAAI,WAAW;wBAAE,eAAe,CAAC,WAAW,CAAC,CAAC;;;;oBAE9C,WAAW,CAAC,KAAG,EAAE,kCAAkC,CAAC,CAAC;;;;;SAExD,CAAC;IAEF,SAAS,CAAC;QACR,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC;QACR,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "@replyke/core";
2
+ export declare const ReplykeProvider: React.FC<{
3
+ projectId: string;
4
+ signedToken?: string | null | undefined;
5
+ children: React.ReactNode;
6
+ }>;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ReplykeProvider as OriginalReplykeProvider } from "@replyke/core";
3
+ // Re-export all exports from @replyke/core
4
+ export * from "@replyke/core";
5
+ import TokenManager from "./TokenManager";
6
+ // Override ReplykeProvider
7
+ export var ReplykeProvider = function (_a) {
8
+ var projectId = _a.projectId, signedToken = _a.signedToken, children = _a.children;
9
+ return (_jsx(OriginalReplykeProvider, { projectId: projectId, signedToken: signedToken, children: _jsxs(_Fragment, { children: [_jsx(TokenManager, {}), children] }) }));
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE3E,2CAA2C;AAC3C,cAAc,eAAe,CAAC;AAC9B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,2BAA2B;AAC3B,MAAM,CAAC,IAAM,eAAe,GAIvB,UAAC,EAAoC;QAAlC,SAAS,eAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACtC,OAAO,CACL,KAAC,uBAAuB,IAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,YACrE,8BACE,KAAC,YAAY,KAAG,EACf,QAAQ,IACR,GACqB,CAC3B,CAAC;AACJ,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@replyke/expo",
3
+ "version": "4.0.0",
4
+ "license": "MIT",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/esm/index.d.ts",
8
+ "type": "module",
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "bugs": {
16
+ "url": "https://discord.gg/A94q4kC6"
17
+ },
18
+ "homepage": "https://docs.replyke.com",
19
+ "dependencies": {
20
+ "@replyke/core": "4.0.0"
21
+ },
22
+ "devDependencies": {
23
+ "expo-secure-store": "^14.0.1"
24
+ },
25
+ "peerDependencies": {
26
+ "expo-secure-store": "^14"
27
+ },
28
+ "scripts": {
29
+ "build:esm": "tsc -p tsconfig.esm.json",
30
+ "build:cjs": "tsc -p tsconfig.cjs.json",
31
+ "build": "rimraf dist && pnpm run build:esm && pnpm run build:cjs"
32
+ }
33
+ }