@rudderjs/passport 1.1.2 → 1.1.4
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.
- package/dist/Passport.d.ts +0 -34
- package/dist/Passport.d.ts.map +1 -1
- package/dist/Passport.js +92 -110
- package/dist/Passport.js.map +1 -1
- package/package.json +8 -5
package/dist/Passport.d.ts
CHANGED
|
@@ -21,40 +21,6 @@ export interface AuthorizationViewContext {
|
|
|
21
21
|
}
|
|
22
22
|
export type AuthorizationViewFn = (ctx: AuthorizationViewContext) => unknown | Promise<unknown>;
|
|
23
23
|
export declare class Passport {
|
|
24
|
-
private static _scopes;
|
|
25
|
-
private static _tokenLifetime;
|
|
26
|
-
private static _refreshTokenLifetime;
|
|
27
|
-
private static _personalTokenLifetime;
|
|
28
|
-
private static _keyPath;
|
|
29
|
-
private static _privateKey;
|
|
30
|
-
private static _publicKey;
|
|
31
|
-
/**
|
|
32
|
-
* Previous public key, retained for verification only after a `passport:keys
|
|
33
|
-
* --force` rotation. Tokens minted before the rotation keep verifying via
|
|
34
|
-
* this slot during the grace window; new tokens are signed by the current
|
|
35
|
-
* private key. Single-slot — one rotation deep — by design (operators who
|
|
36
|
-
* need a longer history should stage rotations to land outside the
|
|
37
|
-
* configured access-token lifetime). See JWKS verifier design notes in
|
|
38
|
-
* `verificationKeys()` below.
|
|
39
|
-
*/
|
|
40
|
-
private static _previousPublicKey;
|
|
41
|
-
private static _clientModel;
|
|
42
|
-
private static _tokenModel;
|
|
43
|
-
private static _refreshTokenModel;
|
|
44
|
-
private static _authCodeModel;
|
|
45
|
-
private static _deviceCodeModel;
|
|
46
|
-
private static _authorizationView;
|
|
47
|
-
private static _routesIgnored;
|
|
48
|
-
private static _issuer;
|
|
49
|
-
/**
|
|
50
|
-
* Maximum value (in seconds) the per-row `oauth_device_codes.interval` is
|
|
51
|
-
* allowed to grow to via repeated `slow_down` escalations (RFC 8628 §3.5
|
|
52
|
-
* doesn't specify a cap; we add one to keep degenerate clients from
|
|
53
|
-
* pushing the interval to absurd values). 60 seconds is the default — long
|
|
54
|
-
* enough to make a misbehaving client back off meaningfully, short enough
|
|
55
|
-
* that a legitimate user typing the user_code never hits it.
|
|
56
|
-
*/
|
|
57
|
-
private static _deviceMaxInterval;
|
|
58
24
|
/** Define available OAuth scopes. */
|
|
59
25
|
static tokensCan(scopes: Record<string, string>): void;
|
|
60
26
|
/** Check if a scope is defined. */
|
package/dist/Passport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Passport.d.ts","sourceRoot":"","sources":["../src/Passport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAO,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAO,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAU,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAQ,wBAAwB,CAAA;AAI1D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAW,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,wBAAwB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Passport.d.ts","sourceRoot":"","sources":["../src/Passport.ts"],"names":[],"mappings":"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"}
|
package/dist/Passport.js
CHANGED
|
@@ -1,80 +1,62 @@
|
|
|
1
|
+
const _g = globalThis;
|
|
2
|
+
if (!_g['__rudderjs_passport_config__']) {
|
|
3
|
+
_g['__rudderjs_passport_config__'] = {
|
|
4
|
+
scopes: new Map(),
|
|
5
|
+
tokenLifetime: 15 * 24 * 60 * 60 * 1000,
|
|
6
|
+
refreshTokenLifetime: 30 * 24 * 60 * 60 * 1000,
|
|
7
|
+
personalTokenLifetime: 6 * 30 * 24 * 60 * 60 * 1000,
|
|
8
|
+
keyPath: 'storage',
|
|
9
|
+
privateKey: null,
|
|
10
|
+
publicKey: null,
|
|
11
|
+
previousPublicKey: null,
|
|
12
|
+
clientModel: null,
|
|
13
|
+
tokenModel: null,
|
|
14
|
+
refreshTokenModel: null,
|
|
15
|
+
authCodeModel: null,
|
|
16
|
+
deviceCodeModel: null,
|
|
17
|
+
authorizationView: null,
|
|
18
|
+
routesIgnored: false,
|
|
19
|
+
issuer: null,
|
|
20
|
+
deviceMaxInterval: 60,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const _store = _g['__rudderjs_passport_config__'];
|
|
1
24
|
export class Passport {
|
|
2
|
-
static _scopes = new Map();
|
|
3
|
-
static _tokenLifetime = 15 * 24 * 60 * 60 * 1000; // 15 days
|
|
4
|
-
static _refreshTokenLifetime = 30 * 24 * 60 * 60 * 1000; // 30 days
|
|
5
|
-
static _personalTokenLifetime = 6 * 30 * 24 * 60 * 60 * 1000; // ~6 months
|
|
6
|
-
static _keyPath = 'storage';
|
|
7
|
-
static _privateKey = null;
|
|
8
|
-
static _publicKey = null;
|
|
9
|
-
/**
|
|
10
|
-
* Previous public key, retained for verification only after a `passport:keys
|
|
11
|
-
* --force` rotation. Tokens minted before the rotation keep verifying via
|
|
12
|
-
* this slot during the grace window; new tokens are signed by the current
|
|
13
|
-
* private key. Single-slot — one rotation deep — by design (operators who
|
|
14
|
-
* need a longer history should stage rotations to land outside the
|
|
15
|
-
* configured access-token lifetime). See JWKS verifier design notes in
|
|
16
|
-
* `verificationKeys()` below.
|
|
17
|
-
*/
|
|
18
|
-
static _previousPublicKey = null;
|
|
19
|
-
// Custom model overrides (lazy — resolved at use-site so the defaults aren't eagerly loaded).
|
|
20
|
-
static _clientModel = null;
|
|
21
|
-
static _tokenModel = null;
|
|
22
|
-
static _refreshTokenModel = null;
|
|
23
|
-
static _authCodeModel = null;
|
|
24
|
-
static _deviceCodeModel = null;
|
|
25
|
-
// Consent screen hook
|
|
26
|
-
static _authorizationView = null;
|
|
27
|
-
// Route auto-registration toggle
|
|
28
|
-
static _routesIgnored = false;
|
|
29
|
-
// JWT issuer URL — when set, createToken stamps `iss` on the payload and
|
|
30
|
-
// verifyToken can validate it via `expectedIssuer`. Optional per RFC 7519
|
|
31
|
-
// but recommended by RFC 8725 §3.10 once the deployment has more than one
|
|
32
|
-
// possible issuer (e.g. multi-tenant or staging vs prod sharing keys).
|
|
33
|
-
static _issuer = null;
|
|
34
|
-
/**
|
|
35
|
-
* Maximum value (in seconds) the per-row `oauth_device_codes.interval` is
|
|
36
|
-
* allowed to grow to via repeated `slow_down` escalations (RFC 8628 §3.5
|
|
37
|
-
* doesn't specify a cap; we add one to keep degenerate clients from
|
|
38
|
-
* pushing the interval to absurd values). 60 seconds is the default — long
|
|
39
|
-
* enough to make a misbehaving client back off meaningfully, short enough
|
|
40
|
-
* that a legitimate user typing the user_code never hits it.
|
|
41
|
-
*/
|
|
42
|
-
static _deviceMaxInterval = 60;
|
|
43
25
|
// ── Scopes ──────────────────────────────────────────────
|
|
44
26
|
/** Define available OAuth scopes. */
|
|
45
27
|
static tokensCan(scopes) {
|
|
46
28
|
for (const [id, description] of Object.entries(scopes)) {
|
|
47
|
-
|
|
29
|
+
_store.scopes.set(id, description);
|
|
48
30
|
}
|
|
49
31
|
}
|
|
50
32
|
/** Check if a scope is defined. */
|
|
51
33
|
static hasScope(id) {
|
|
52
|
-
return
|
|
34
|
+
return _store.scopes.has(id);
|
|
53
35
|
}
|
|
54
36
|
/** Get all defined scopes. */
|
|
55
37
|
static scopes() {
|
|
56
|
-
return [...
|
|
38
|
+
return [..._store.scopes.entries()].map(([id, description]) => ({ id, description }));
|
|
57
39
|
}
|
|
58
40
|
/** Validate a list of scopes — returns only the valid ones. */
|
|
59
41
|
static validScopes(requested) {
|
|
60
|
-
return requested.filter(s =>
|
|
42
|
+
return requested.filter(s => _store.scopes.has(s) || s === '*');
|
|
61
43
|
}
|
|
62
44
|
// ── Lifetimes ───────────────────────────────────────────
|
|
63
|
-
static tokensExpireIn(ms) {
|
|
64
|
-
static refreshTokensExpireIn(ms) {
|
|
65
|
-
static personalAccessTokensExpireIn(ms) {
|
|
66
|
-
static tokenLifetime() { return
|
|
67
|
-
static refreshTokenLifetime() { return
|
|
68
|
-
static personalTokenLifetime() { return
|
|
45
|
+
static tokensExpireIn(ms) { _store.tokenLifetime = ms; }
|
|
46
|
+
static refreshTokensExpireIn(ms) { _store.refreshTokenLifetime = ms; }
|
|
47
|
+
static personalAccessTokensExpireIn(ms) { _store.personalTokenLifetime = ms; }
|
|
48
|
+
static tokenLifetime() { return _store.tokenLifetime; }
|
|
49
|
+
static refreshTokenLifetime() { return _store.refreshTokenLifetime; }
|
|
50
|
+
static personalTokenLifetime() { return _store.personalTokenLifetime; }
|
|
69
51
|
// ── Keys ────────────────────────────────────────────────
|
|
70
52
|
/** Set the directory where RSA keys are stored. */
|
|
71
|
-
static loadKeysFrom(path) {
|
|
53
|
+
static loadKeysFrom(path) { _store.keyPath = path; }
|
|
72
54
|
/** Get the configured key path. */
|
|
73
|
-
static keyPath() { return
|
|
55
|
+
static keyPath() { return _store.keyPath; }
|
|
74
56
|
/** Set keys directly (from environment variables). */
|
|
75
57
|
static setKeys(privateKey, publicKey) {
|
|
76
|
-
|
|
77
|
-
|
|
58
|
+
_store.privateKey = privateKey;
|
|
59
|
+
_store.publicKey = publicKey;
|
|
78
60
|
}
|
|
79
61
|
/**
|
|
80
62
|
* Stamp the previous public key for verification grace after a key
|
|
@@ -85,7 +67,7 @@ export class Passport {
|
|
|
85
67
|
* convention. Pass `null` to clear.
|
|
86
68
|
*/
|
|
87
69
|
static setPreviousPublicKey(publicKey) {
|
|
88
|
-
|
|
70
|
+
_store.previousPublicKey = publicKey && publicKey.length > 0 ? publicKey : null;
|
|
89
71
|
}
|
|
90
72
|
/**
|
|
91
73
|
* Probe whether an RSA keypair is reachable — either explicitly set via
|
|
@@ -97,12 +79,12 @@ export class Passport {
|
|
|
97
79
|
* Does NOT load or cache the keys; it only stats the files.
|
|
98
80
|
*/
|
|
99
81
|
static async keysAvailable() {
|
|
100
|
-
if (
|
|
82
|
+
if (_store.privateKey && _store.publicKey)
|
|
101
83
|
return true;
|
|
102
84
|
const { stat } = await import('node:fs/promises');
|
|
103
85
|
const { join } = await import('node:path');
|
|
104
|
-
const privatePath = join(process.cwd(),
|
|
105
|
-
const publicPath = join(process.cwd(),
|
|
86
|
+
const privatePath = join(process.cwd(), _store.keyPath, 'oauth-private.key');
|
|
87
|
+
const publicPath = join(process.cwd(), _store.keyPath, 'oauth-public.key');
|
|
106
88
|
const [priv, pub] = await Promise.all([
|
|
107
89
|
stat(privatePath).then(() => true, () => false),
|
|
108
90
|
stat(publicPath).then(() => true, () => false),
|
|
@@ -112,20 +94,20 @@ export class Passport {
|
|
|
112
94
|
/** Load keys from files or env. Returns { privateKey, publicKey }. */
|
|
113
95
|
static async keys() {
|
|
114
96
|
// Prefer explicitly set keys (from env vars)
|
|
115
|
-
if (
|
|
116
|
-
return { privateKey:
|
|
97
|
+
if (_store.privateKey && _store.publicKey) {
|
|
98
|
+
return { privateKey: _store.privateKey, publicKey: _store.publicKey };
|
|
117
99
|
}
|
|
118
100
|
// Load from filesystem
|
|
119
101
|
const { readFile } = await import('node:fs/promises');
|
|
120
102
|
const { join } = await import('node:path');
|
|
121
|
-
const privatePath = join(process.cwd(),
|
|
122
|
-
const publicPath = join(process.cwd(),
|
|
103
|
+
const privatePath = join(process.cwd(), _store.keyPath, 'oauth-private.key');
|
|
104
|
+
const publicPath = join(process.cwd(), _store.keyPath, 'oauth-public.key');
|
|
123
105
|
const [privateKey, publicKey] = await Promise.all([
|
|
124
106
|
readFile(privatePath, 'utf8'),
|
|
125
107
|
readFile(publicPath, 'utf8'),
|
|
126
108
|
]);
|
|
127
|
-
|
|
128
|
-
|
|
109
|
+
_store.privateKey = privateKey;
|
|
110
|
+
_store.publicKey = publicKey;
|
|
129
111
|
return { privateKey, publicKey };
|
|
130
112
|
}
|
|
131
113
|
/**
|
|
@@ -151,8 +133,8 @@ export class Passport {
|
|
|
151
133
|
static async verificationKeys() {
|
|
152
134
|
const { publicKey } = await this.keys();
|
|
153
135
|
const keys = [publicKey];
|
|
154
|
-
if (
|
|
155
|
-
keys.push(
|
|
136
|
+
if (_store.previousPublicKey) {
|
|
137
|
+
keys.push(_store.previousPublicKey);
|
|
156
138
|
return keys;
|
|
157
139
|
}
|
|
158
140
|
// Filesystem fallback — `oauth-previous-public.key` is written by
|
|
@@ -160,10 +142,10 @@ export class Passport {
|
|
|
160
142
|
// timestamped audit backup.
|
|
161
143
|
const { readFile } = await import('node:fs/promises');
|
|
162
144
|
const { join } = await import('node:path');
|
|
163
|
-
const previousPath = join(process.cwd(),
|
|
145
|
+
const previousPath = join(process.cwd(), _store.keyPath, 'oauth-previous-public.key');
|
|
164
146
|
try {
|
|
165
147
|
const previous = await readFile(previousPath, 'utf8');
|
|
166
|
-
|
|
148
|
+
_store.previousPublicKey = previous;
|
|
167
149
|
keys.push(previous);
|
|
168
150
|
}
|
|
169
151
|
catch {
|
|
@@ -174,37 +156,37 @@ export class Passport {
|
|
|
174
156
|
}
|
|
175
157
|
/** Get the configured previous public key, if any. */
|
|
176
158
|
static previousPublicKey() {
|
|
177
|
-
return
|
|
159
|
+
return _store.previousPublicKey;
|
|
178
160
|
}
|
|
179
161
|
// ── Custom Models ───────────────────────────────────────
|
|
180
|
-
static useClientModel(cls) {
|
|
181
|
-
static useTokenModel(cls) {
|
|
182
|
-
static useRefreshTokenModel(cls) {
|
|
183
|
-
static useAuthCodeModel(cls) {
|
|
184
|
-
static useDeviceCodeModel(cls) {
|
|
162
|
+
static useClientModel(cls) { _store.clientModel = cls; }
|
|
163
|
+
static useTokenModel(cls) { _store.tokenModel = cls; }
|
|
164
|
+
static useRefreshTokenModel(cls) { _store.refreshTokenModel = cls; }
|
|
165
|
+
static useAuthCodeModel(cls) { _store.authCodeModel = cls; }
|
|
166
|
+
static useDeviceCodeModel(cls) { _store.deviceCodeModel = cls; }
|
|
185
167
|
static async clientModel() {
|
|
186
|
-
if (
|
|
187
|
-
return
|
|
168
|
+
if (_store.clientModel)
|
|
169
|
+
return _store.clientModel;
|
|
188
170
|
return (await import('./models/OAuthClient.js')).OAuthClient;
|
|
189
171
|
}
|
|
190
172
|
static async tokenModel() {
|
|
191
|
-
if (
|
|
192
|
-
return
|
|
173
|
+
if (_store.tokenModel)
|
|
174
|
+
return _store.tokenModel;
|
|
193
175
|
return (await import('./models/AccessToken.js')).AccessToken;
|
|
194
176
|
}
|
|
195
177
|
static async refreshTokenModel() {
|
|
196
|
-
if (
|
|
197
|
-
return
|
|
178
|
+
if (_store.refreshTokenModel)
|
|
179
|
+
return _store.refreshTokenModel;
|
|
198
180
|
return (await import('./models/RefreshToken.js')).RefreshToken;
|
|
199
181
|
}
|
|
200
182
|
static async authCodeModel() {
|
|
201
|
-
if (
|
|
202
|
-
return
|
|
183
|
+
if (_store.authCodeModel)
|
|
184
|
+
return _store.authCodeModel;
|
|
203
185
|
return (await import('./models/AuthCode.js')).AuthCode;
|
|
204
186
|
}
|
|
205
187
|
static async deviceCodeModel() {
|
|
206
|
-
if (
|
|
207
|
-
return
|
|
188
|
+
if (_store.deviceCodeModel)
|
|
189
|
+
return _store.deviceCodeModel;
|
|
208
190
|
return (await import('./models/DeviceCode.js')).DeviceCode;
|
|
209
191
|
}
|
|
210
192
|
// ── Consent screen hook ─────────────────────────────────
|
|
@@ -214,10 +196,10 @@ export class Passport {
|
|
|
214
196
|
* When unset, GET /oauth/authorize returns JSON with the validated request.
|
|
215
197
|
*/
|
|
216
198
|
static authorizationView(fn) {
|
|
217
|
-
|
|
199
|
+
_store.authorizationView = fn;
|
|
218
200
|
}
|
|
219
201
|
static authorizationViewFn() {
|
|
220
|
-
return
|
|
202
|
+
return _store.authorizationView;
|
|
221
203
|
}
|
|
222
204
|
// ── Route auto-registration toggle ──────────────────────
|
|
223
205
|
/**
|
|
@@ -225,10 +207,10 @@ export class Passport {
|
|
|
225
207
|
* letting the application wire OAuth routes manually.
|
|
226
208
|
*/
|
|
227
209
|
static ignoreRoutes() {
|
|
228
|
-
|
|
210
|
+
_store.routesIgnored = true;
|
|
229
211
|
}
|
|
230
212
|
static routesIgnored() {
|
|
231
|
-
return
|
|
213
|
+
return _store.routesIgnored;
|
|
232
214
|
}
|
|
233
215
|
// ── JWT issuer ──────────────────────────────────────────
|
|
234
216
|
/**
|
|
@@ -244,8 +226,8 @@ export class Passport {
|
|
|
244
226
|
* exempt during the migration window — same pattern as redirect_uri (P1)
|
|
245
227
|
* and familyId (P4).
|
|
246
228
|
*/
|
|
247
|
-
static useIssuer(url) {
|
|
248
|
-
static issuer() { return
|
|
229
|
+
static useIssuer(url) { _store.issuer = url || null; }
|
|
230
|
+
static issuer() { return _store.issuer; }
|
|
249
231
|
// ── Device flow polling cap (RFC 8628 §3.5) ─────────────
|
|
250
232
|
/**
|
|
251
233
|
* Configure the maximum value (in seconds) the per-row device-code
|
|
@@ -263,32 +245,32 @@ export class Passport {
|
|
|
263
245
|
static deviceMaxInterval(seconds) {
|
|
264
246
|
// Never below the floor — escalation is by 5s, so a cap below 5
|
|
265
247
|
// would prevent any escalation from ever taking effect.
|
|
266
|
-
|
|
248
|
+
_store.deviceMaxInterval = Math.max(5, Math.floor(seconds));
|
|
267
249
|
}
|
|
268
250
|
/** Current cap on `oauth_device_codes.interval` (seconds). */
|
|
269
251
|
static deviceMaxIntervalSeconds() {
|
|
270
|
-
return
|
|
252
|
+
return _store.deviceMaxInterval;
|
|
271
253
|
}
|
|
272
254
|
// ── Reset (testing) ─────────────────────────────────────
|
|
273
255
|
/** @internal */
|
|
274
256
|
static reset() {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
257
|
+
_store.scopes.clear();
|
|
258
|
+
_store.tokenLifetime = 15 * 24 * 60 * 60 * 1000;
|
|
259
|
+
_store.refreshTokenLifetime = 30 * 24 * 60 * 60 * 1000;
|
|
260
|
+
_store.personalTokenLifetime = 6 * 30 * 24 * 60 * 60 * 1000;
|
|
261
|
+
_store.keyPath = 'storage';
|
|
262
|
+
_store.privateKey = null;
|
|
263
|
+
_store.publicKey = null;
|
|
264
|
+
_store.previousPublicKey = null;
|
|
265
|
+
_store.clientModel = null;
|
|
266
|
+
_store.tokenModel = null;
|
|
267
|
+
_store.refreshTokenModel = null;
|
|
268
|
+
_store.authCodeModel = null;
|
|
269
|
+
_store.deviceCodeModel = null;
|
|
270
|
+
_store.authorizationView = null;
|
|
271
|
+
_store.routesIgnored = false;
|
|
272
|
+
_store.issuer = null;
|
|
273
|
+
_store.deviceMaxInterval = 60;
|
|
292
274
|
}
|
|
293
275
|
}
|
|
294
276
|
//# sourceMappingURL=Passport.js.map
|
package/dist/Passport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Passport.js","sourceRoot":"","sources":["../src/Passport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Passport.js","sourceRoot":"","sources":["../src/Passport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/passport",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"rudderjs": {
|
|
5
5
|
"provider": "PassportProvider",
|
|
6
6
|
"stage": "infrastructure",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"directory": "packages/passport"
|
|
17
17
|
},
|
|
18
18
|
"type": "module",
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
21
|
+
},
|
|
19
22
|
"files": [
|
|
20
23
|
"dist",
|
|
21
24
|
"schema",
|
|
@@ -34,15 +37,15 @@
|
|
|
34
37
|
}
|
|
35
38
|
},
|
|
36
39
|
"dependencies": {
|
|
37
|
-
"@rudderjs/core": "^1.1.
|
|
38
|
-
"@rudderjs/contracts": "^1.
|
|
39
|
-
"@rudderjs/orm": "^1.9.
|
|
40
|
+
"@rudderjs/core": "^1.1.6",
|
|
41
|
+
"@rudderjs/contracts": "^1.7.0",
|
|
42
|
+
"@rudderjs/orm": "^1.9.3"
|
|
40
43
|
},
|
|
41
44
|
"devDependencies": {
|
|
42
45
|
"@types/node": "^20.0.0",
|
|
43
46
|
"typescript": "^5.4.0",
|
|
44
47
|
"tsx": "^4.0.0",
|
|
45
|
-
"@rudderjs/console": "^1.0.
|
|
48
|
+
"@rudderjs/console": "^1.0.2"
|
|
46
49
|
},
|
|
47
50
|
"author": "Suleiman Shahbari",
|
|
48
51
|
"scripts": {
|