@molecule/api-jwt 1.0.2 → 1.0.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/LICENSE +111 -24
- package/README.md +104 -104
- package/package.json +3 -3
package/LICENSE
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
Apache License
|
|
2
3
|
Version 2.0, January 2004
|
|
3
4
|
http://www.apache.org/licenses/
|
|
@@ -34,21 +35,33 @@
|
|
|
34
35
|
|
|
35
36
|
"Work" shall mean the work of authorship, whether in Source or
|
|
36
37
|
Object form, made available under the License, as indicated by a
|
|
37
|
-
copyright notice that is included in or attached to the work
|
|
38
|
+
copyright notice that is included in or attached to the work
|
|
39
|
+
(an example is provided in the Appendix below).
|
|
38
40
|
|
|
39
41
|
"Derivative Works" shall mean any work, whether in Source or Object
|
|
40
42
|
form, that is based on (or derived from) the Work and for which the
|
|
41
43
|
editorial revisions, annotations, elaborations, or other modifications
|
|
42
|
-
represent, as a whole, an original work of authorship.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
47
|
+
the Work and Derivative Works thereof.
|
|
48
|
+
|
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
|
50
|
+
the original version of the Work and any modifications or additions
|
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
49
62
|
|
|
50
63
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
51
|
-
on behalf of whom a Contribution has been received by
|
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
52
65
|
subsequently incorporated within the Work.
|
|
53
66
|
|
|
54
67
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
@@ -61,8 +74,18 @@
|
|
|
61
74
|
3. Grant of Patent License. Subject to the terms and conditions of
|
|
62
75
|
this License, each Contributor hereby grants to You a perpetual,
|
|
63
76
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
64
|
-
|
|
65
|
-
and otherwise transfer the Work
|
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
79
|
+
where such license applies only to those patent claims licensable
|
|
80
|
+
by such Contributor that are necessarily infringed by their
|
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
83
|
+
institute patent litigation against any entity (including a
|
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
86
|
+
or contributory patent infringement, then any patent licenses
|
|
87
|
+
granted to You under this License for that Work shall terminate
|
|
88
|
+
as of the date such litigation is filed.
|
|
66
89
|
|
|
67
90
|
4. Redistribution. You may reproduce and distribute copies of the
|
|
68
91
|
Work or Derivative Works thereof in any medium, with or without
|
|
@@ -84,23 +107,87 @@
|
|
|
84
107
|
(d) If the Work includes a "NOTICE" text file as part of its
|
|
85
108
|
distribution, then any Derivative Works that You distribute must
|
|
86
109
|
include a readable copy of the attribution notices contained
|
|
87
|
-
within such NOTICE file
|
|
88
|
-
|
|
89
|
-
|
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
|
112
|
+
of the following places: within a NOTICE text file distributed
|
|
113
|
+
as part of the Derivative Works; within the Source form or
|
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
|
115
|
+
within a display generated by the Derivative Works, if and
|
|
116
|
+
wherever such third-party notices normally appear. The contents
|
|
117
|
+
of the NOTICE file are for informational purposes only and
|
|
118
|
+
do not modify the License. You may add Your own attribution
|
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
121
|
+
that such additional attribution notices cannot be construed
|
|
122
|
+
as modifying the License.
|
|
123
|
+
|
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
|
125
|
+
may provide additional or different license terms and conditions
|
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
129
|
+
the conditions stated in this License.
|
|
130
|
+
|
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
134
|
+
this License, without any additional terms or conditions.
|
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
136
|
+
the terms of any separate license agreement you may have executed
|
|
137
|
+
with Licensor regarding such Contributions.
|
|
90
138
|
|
|
91
139
|
6. Trademarks. This License does not grant permission to use the trade
|
|
92
|
-
names, trademarks, service marks, or product names of the Licensor
|
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
141
|
+
except as required for reasonable and customary use in describing the
|
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
93
143
|
|
|
94
144
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
95
|
-
agreed to in writing, Licensor provides the Work
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
|
153
|
+
|
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
|
159
|
+
incidental, or consequential damages of any character arising as a
|
|
160
|
+
result of this License or out of the use or inability to use the
|
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
163
|
+
other commercial damages or losses), even if such Contributor
|
|
164
|
+
has been advised of the possibility of such damages.
|
|
165
|
+
|
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
169
|
+
or other liability obligations and/or rights consistent with this
|
|
170
|
+
License. However, in accepting such obligations, You may act only
|
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
175
|
+
of your accepting any such warranty or additional liability.
|
|
176
|
+
|
|
177
|
+
END OF TERMS AND CONDITIONS
|
|
178
|
+
|
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
180
|
+
|
|
181
|
+
To apply the Apache License to your work, attach the following
|
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
183
|
+
replaced with your own identifying information. (Don't include
|
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
185
|
+
comment syntax for the file format. We also recommend that a
|
|
186
|
+
file or class name and description of purpose be included on the
|
|
187
|
+
same "printed page" as the copyright notice for easier
|
|
188
|
+
identification within third-party archives.
|
|
189
|
+
|
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
|
104
191
|
|
|
105
192
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
106
193
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-
|
|
6
|
+
Generated: 2026-10-16T00:31:01.424Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/api-jwt
|
|
@@ -49,55 +49,6 @@ npm install @molecule/api-jwt @molecule/api-bond
|
|
|
49
49
|
|
|
50
50
|
### Interfaces
|
|
51
51
|
|
|
52
|
-
#### `JwtDecodeOptions`
|
|
53
|
-
|
|
54
|
-
Options for decoding a JWT (without verification).
|
|
55
|
-
|
|
56
|
-
```typescript
|
|
57
|
-
interface JwtDecodeOptions {
|
|
58
|
-
complete?: boolean
|
|
59
|
-
json?: boolean
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### `JwtPayload`
|
|
64
|
-
|
|
65
|
-
Decoded JWT payload.
|
|
66
|
-
|
|
67
|
-
```typescript
|
|
68
|
-
interface JwtPayload {
|
|
69
|
-
[key: string]: unknown
|
|
70
|
-
iss?: string
|
|
71
|
-
sub?: string
|
|
72
|
-
aud?: string | string[]
|
|
73
|
-
exp?: number
|
|
74
|
-
nbf?: number
|
|
75
|
-
iat?: number
|
|
76
|
-
jti?: string
|
|
77
|
-
}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
#### `JwtProvider`
|
|
81
|
-
|
|
82
|
-
JWT provider interface that all JWT bond packages must implement.
|
|
83
|
-
|
|
84
|
-
Provides `sign`, `verify`, and `decode` operations. Key management
|
|
85
|
-
and algorithm configuration are handled by the core package.
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
interface JwtProvider {
|
|
89
|
-
sign(payload: JSONObject, options?: JwtSignOptions, privateKey?: string | Buffer): string
|
|
90
|
-
|
|
91
|
-
verify(
|
|
92
|
-
token: string,
|
|
93
|
-
options?: JwtVerifyOptions,
|
|
94
|
-
publicKey?: string | Buffer,
|
|
95
|
-
): string | JwtPayload
|
|
96
|
-
|
|
97
|
-
decode(token: string, options?: JwtDecodeOptions): string | JwtPayload | null
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
52
|
#### `JwtSignOptions`
|
|
102
53
|
|
|
103
54
|
Options for signing a JWT.
|
|
@@ -139,25 +90,57 @@ interface JwtVerifyOptions {
|
|
|
139
90
|
}
|
|
140
91
|
```
|
|
141
92
|
|
|
142
|
-
|
|
93
|
+
#### `JwtDecodeOptions`
|
|
143
94
|
|
|
144
|
-
|
|
95
|
+
Options for decoding a JWT (without verification).
|
|
145
96
|
|
|
146
|
-
|
|
147
|
-
|
|
97
|
+
```typescript
|
|
98
|
+
interface JwtDecodeOptions {
|
|
99
|
+
complete?: boolean
|
|
100
|
+
json?: boolean
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### `JwtPayload`
|
|
105
|
+
|
|
106
|
+
Decoded JWT payload.
|
|
148
107
|
|
|
149
108
|
```typescript
|
|
150
|
-
|
|
109
|
+
interface JwtPayload {
|
|
110
|
+
[key: string]: unknown
|
|
111
|
+
iss?: string
|
|
112
|
+
sub?: string
|
|
113
|
+
aud?: string | string[]
|
|
114
|
+
exp?: number
|
|
115
|
+
nbf?: number
|
|
116
|
+
iat?: number
|
|
117
|
+
jti?: string
|
|
118
|
+
}
|
|
151
119
|
```
|
|
152
120
|
|
|
153
|
-
#### `
|
|
121
|
+
#### `JwtProvider`
|
|
154
122
|
|
|
155
|
-
|
|
123
|
+
JWT provider interface that all JWT bond packages must implement.
|
|
124
|
+
|
|
125
|
+
Provides `sign`, `verify`, and `decode` operations. Key management
|
|
126
|
+
and algorithm configuration are handled by the core package.
|
|
156
127
|
|
|
157
128
|
```typescript
|
|
158
|
-
|
|
129
|
+
interface JwtProvider {
|
|
130
|
+
sign(payload: JSONObject, options?: JwtSignOptions, privateKey?: string | Buffer): string
|
|
131
|
+
|
|
132
|
+
verify(
|
|
133
|
+
token: string,
|
|
134
|
+
options?: JwtVerifyOptions,
|
|
135
|
+
publicKey?: string | Buffer,
|
|
136
|
+
): string | JwtPayload
|
|
137
|
+
|
|
138
|
+
decode(token: string, options?: JwtDecodeOptions): string | JwtPayload | null
|
|
139
|
+
}
|
|
159
140
|
```
|
|
160
141
|
|
|
142
|
+
### Types
|
|
143
|
+
|
|
161
144
|
#### `JwtAlgorithm`
|
|
162
145
|
|
|
163
146
|
Supported JWT signing algorithms.
|
|
@@ -178,21 +161,24 @@ type JwtAlgorithm =
|
|
|
178
161
|
| 'PS512'
|
|
179
162
|
```
|
|
180
163
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
#### `decode(token, options)`
|
|
164
|
+
#### `JSONValue`
|
|
184
165
|
|
|
185
|
-
|
|
186
|
-
token contents when verification is handled elsewhere.
|
|
166
|
+
Recursive JSON value type representing any valid JSON primitive, array, or object.
|
|
187
167
|
|
|
188
168
|
```typescript
|
|
189
|
-
|
|
169
|
+
type JSONValue = string | number | boolean | null | JSONValue[] | { [key: string]: JSONValue }
|
|
190
170
|
```
|
|
191
171
|
|
|
192
|
-
|
|
193
|
-
- `options` — Decode options such as `complete` for full header+payload output.
|
|
172
|
+
#### `JSONObject`
|
|
194
173
|
|
|
195
|
-
|
|
174
|
+
A plain JSON object whose values are `JSONValue`s. Used as the payload
|
|
175
|
+
type for JWT signing operations.
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
type JSONObject = { [key: string]: JSONValue }
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Functions
|
|
196
182
|
|
|
197
183
|
#### `generateKeyPairSync()`
|
|
198
184
|
|
|
@@ -204,6 +190,28 @@ function generateKeyPairSync(): { publicKey: string; privateKey: string }
|
|
|
204
190
|
|
|
205
191
|
**Returns:** An object containing `publicKey` and `privateKey` as PEM strings.
|
|
206
192
|
|
|
193
|
+
#### `writeKeys(outputPath)`
|
|
194
|
+
|
|
195
|
+
Writes a freshly generated RSA key pair to disk as PEM files. Creates
|
|
196
|
+
the output directory if it does not exist.
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
function writeKeys(outputPath?: string): void
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
- `outputPath` — Directory to write the PEM files into; defaults to `{JWT_KEYS_DIR}/{NODE_ENV}/`.
|
|
203
|
+
|
|
204
|
+
#### `setProvider(provider)`
|
|
205
|
+
|
|
206
|
+
Registers a JWT provider as the active singleton. Called by bond
|
|
207
|
+
packages during application startup.
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
function setProvider(provider: JwtProvider): void
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
- `provider` — The JWT provider implementation to bond.
|
|
214
|
+
|
|
207
215
|
#### `getProvider()`
|
|
208
216
|
|
|
209
217
|
Retrieves the bonded JWT provider, throwing if none is configured.
|
|
@@ -224,17 +232,6 @@ function hasProvider(): boolean
|
|
|
224
232
|
|
|
225
233
|
**Returns:** `true` if a JWT provider is bonded.
|
|
226
234
|
|
|
227
|
-
#### `setProvider(provider)`
|
|
228
|
-
|
|
229
|
-
Registers a JWT provider as the active singleton. Called by bond
|
|
230
|
-
packages during application startup.
|
|
231
|
-
|
|
232
|
-
```typescript
|
|
233
|
-
function setProvider(provider: JwtProvider): void
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
- `provider` — The JWT provider implementation to bond.
|
|
237
|
-
|
|
238
235
|
#### `sign(object, options, privateKey)`
|
|
239
236
|
|
|
240
237
|
Signs a payload into a JWT string using the bonded provider. Uses the
|
|
@@ -276,39 +273,21 @@ function verify(
|
|
|
276
273
|
|
|
277
274
|
**Returns:** The decoded payload string or object.
|
|
278
275
|
|
|
279
|
-
#### `
|
|
280
|
-
|
|
281
|
-
Writes a freshly generated RSA key pair to disk as PEM files. Creates
|
|
282
|
-
the output directory if it does not exist.
|
|
283
|
-
|
|
284
|
-
```typescript
|
|
285
|
-
function writeKeys(outputPath?: string): void
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
- `outputPath` — Directory to write the PEM files into; defaults to `{JWT_KEYS_DIR}/{NODE_ENV}/`.
|
|
289
|
-
|
|
290
|
-
### Constants
|
|
291
|
-
|
|
292
|
-
#### `JWT_ALGORITHM`
|
|
276
|
+
#### `decode(token, options)`
|
|
293
277
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
actionable warning at module load and falls back to `RS256` rather than
|
|
297
|
-
failing every `sign()`/`verify()` call later with an unexplained
|
|
298
|
-
"invalid algorithm" error.
|
|
278
|
+
Decodes a JWT string without verifying its signature. Useful for inspecting
|
|
279
|
+
token contents when verification is handled elsewhere.
|
|
299
280
|
|
|
300
281
|
```typescript
|
|
301
|
-
|
|
282
|
+
function decode(token: string, options?: JwtDecodeOptions): string | JwtPayload | null
|
|
302
283
|
```
|
|
303
284
|
|
|
304
|
-
|
|
285
|
+
- `token` — The JWT string to decode.
|
|
286
|
+
- `options` — Decode options such as `complete` for full header+payload output.
|
|
305
287
|
|
|
306
|
-
|
|
307
|
-
variable, defaulting to 604800 (1 week).
|
|
288
|
+
**Returns:** The decoded payload, or `null` if the token cannot be decoded.
|
|
308
289
|
|
|
309
|
-
|
|
310
|
-
const JWT_EXPIRES_TIME: number
|
|
311
|
-
```
|
|
290
|
+
### Constants
|
|
312
291
|
|
|
313
292
|
#### `JWT_PRIVATE_KEY`
|
|
314
293
|
|
|
@@ -336,6 +315,27 @@ Throws at startup if no source provides a key.
|
|
|
336
315
|
const JWT_PUBLIC_KEY: string | Buffer<ArrayBufferLike>
|
|
337
316
|
```
|
|
338
317
|
|
|
318
|
+
#### `JWT_ALGORITHM`
|
|
319
|
+
|
|
320
|
+
The signing algorithm used for JWT operations. Read from the `JWT_ALGORITHM`
|
|
321
|
+
environment variable, defaulting to `RS256`. An unrecognized value logs an
|
|
322
|
+
actionable warning at module load and falls back to `RS256` rather than
|
|
323
|
+
failing every `sign()`/`verify()` call later with an unexplained
|
|
324
|
+
"invalid algorithm" error.
|
|
325
|
+
|
|
326
|
+
```typescript
|
|
327
|
+
const JWT_ALGORITHM: JwtAlgorithm
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
#### `JWT_EXPIRES_TIME`
|
|
331
|
+
|
|
332
|
+
Token lifetime in seconds. Read from the `JWT_EXPIRES_TIME` environment
|
|
333
|
+
variable, defaulting to 604800 (1 week).
|
|
334
|
+
|
|
335
|
+
```typescript
|
|
336
|
+
const JWT_EXPIRES_TIME: number
|
|
337
|
+
```
|
|
338
|
+
|
|
339
339
|
#### `JWT_REFRESH_TIME`
|
|
340
340
|
|
|
341
341
|
Refresh window in seconds — tokens are refreshed if they will expire within
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@molecule/api-jwt",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "JWT interface and key management for molecule.dev",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@molecule/api-bond": "^1.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@molecule/api-bond": "1.0.
|
|
34
|
+
"@molecule/api-bond": "1.0.2",
|
|
35
35
|
"@types/node": "26.1.2",
|
|
36
36
|
"typescript": "6.0.3",
|
|
37
37
|
"vitest": "4.1.11"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"url": "https://github.com/molecule-dev/molecule.git",
|
|
42
42
|
"directory": "packages/api/core/jwt"
|
|
43
43
|
},
|
|
44
|
-
"homepage": "https://
|
|
44
|
+
"homepage": "https://www.molecule.dev/packages/api-jwt",
|
|
45
45
|
"bugs": "https://github.com/molecule-dev/molecule/issues",
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|