@blakearoberts/visage 0.0.1-rc.8 → 0.0.1
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/README.md +98 -29
- package/dist/certs.d.ts +2 -6
- package/dist/certs.d.ts.map +1 -1
- package/dist/compose.d.ts +2 -1
- package/dist/compose.d.ts.map +1 -1
- package/dist/config.d.ts +50 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/hosts.d.ts +2 -1
- package/dist/hosts.d.ts.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +857 -462
- package/dist/middleware.d.ts +4 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/network.d.ts +3 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/render/index.d.ts +4 -2
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/nginx.d.ts.map +1 -1
- package/dist/render/oauth2-proxy.d.ts.map +1 -1
- package/dist/server.d.ts +31 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/types.d.ts +61 -20
- package/dist/types.d.ts.map +1 -1
- package/docker-compose.images.yml +7 -0
- package/package.json +22 -16
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { VisageMiddleware, VisageUpgradeHandler } from './server';
|
|
2
|
+
export declare function createVisageMiddleware(edgeKey: string): VisageMiddleware;
|
|
3
|
+
export declare function createVisageUpgradeHandler(edgeKey: string): VisageUpgradeHandler;
|
|
4
|
+
//# sourceMappingURL=middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CASxE;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,GACd,oBAAoB,CAUtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CA6CrE"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAQlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAgG1D;AAED,eAAe,MAAM,CAAC"}
|
package/dist/render/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
export { writeComposeConfig } from './compose';
|
|
2
|
+
export { writeDexConfig } from './dex';
|
|
3
|
+
export { writeNginxConfig } from './nginx';
|
|
4
|
+
export { writeOauth2ProxyConfig } from './oauth2-proxy';
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nginx.d.ts","sourceRoot":"","sources":["../../src/render/nginx.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"nginx.d.ts","sourceRoot":"","sources":["../../src/render/nginx.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAiH9C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAI3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2-proxy.d.ts","sourceRoot":"","sources":["../../src/render/oauth2-proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth2-proxy.d.ts","sourceRoot":"","sources":["../../src/render/oauth2-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAW9C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAIjE"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
2
|
+
import type { Socket } from 'node:net';
|
|
3
|
+
import { type VisageConfig } from './config';
|
|
4
|
+
import type { VisageOptions } from './types';
|
|
5
|
+
export type VisageMiddleware = (request: IncomingMessage, response: ServerResponse, next: () => void) => void;
|
|
6
|
+
export type VisageUpgradeHandler = (request: IncomingMessage, socket: Socket) => void;
|
|
7
|
+
/**
|
|
8
|
+
* A running Visage instance.
|
|
9
|
+
*/
|
|
10
|
+
export type VisageServer = {
|
|
11
|
+
/**
|
|
12
|
+
* Reject requests that did not pass through the Visage-managed NGINX edge.
|
|
13
|
+
*/
|
|
14
|
+
middleware: VisageMiddleware;
|
|
15
|
+
/**
|
|
16
|
+
* Reject upgrade requests that did not pass through the Visage-managed NGINX
|
|
17
|
+
* edge.
|
|
18
|
+
*/
|
|
19
|
+
upgrade: VisageUpgradeHandler;
|
|
20
|
+
/**
|
|
21
|
+
* Start the Visage managed services (NGINX, OAuth2 Proxy, and sometimes Dex).
|
|
22
|
+
*/
|
|
23
|
+
listen(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Stop the Visage managed services.
|
|
26
|
+
*/
|
|
27
|
+
close(): void;
|
|
28
|
+
};
|
|
29
|
+
export declare function createVisageServer(options: VisageOptions): VisageServer;
|
|
30
|
+
export declare function startVisageServer(config: VisageConfig): Promise<() => void>;
|
|
31
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKvC,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAa5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,IAAI,KACb,IAAI,CAAC;AAEV,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAC7B;;;OAGG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAgBvE;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,IAAI,CAAC,CAmBrB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -49,9 +49,9 @@ export type VisageCookiePolicy = {
|
|
|
49
49
|
/**
|
|
50
50
|
* Browser session cookie base name. When no domains are configured, Visage
|
|
51
51
|
* renders a host-only name with a `__Host-` prefix, so the default rendered
|
|
52
|
-
* name is `__Host-
|
|
52
|
+
* name is `__Host-sess`.
|
|
53
53
|
*
|
|
54
|
-
* @defaultValue `'
|
|
54
|
+
* @defaultValue `'sess'`
|
|
55
55
|
*/
|
|
56
56
|
readonly name?: string;
|
|
57
57
|
/**
|
|
@@ -66,9 +66,9 @@ export type VisageCookiePolicy = {
|
|
|
66
66
|
/**
|
|
67
67
|
* Session age after which OAuth2 Proxy attempts silent renewal using the
|
|
68
68
|
* stored refresh token, when one is available. Rendered as `cookie_refresh`
|
|
69
|
-
* using OAuth2 Proxy duration syntax. If upstreams validate forwarded
|
|
70
|
-
* tokens, set this below the
|
|
71
|
-
* before forwarding
|
|
69
|
+
* using OAuth2 Proxy duration syntax. If upstreams validate forwarded bearer
|
|
70
|
+
* tokens, set this below the relevant token lifetime so OAuth2 Proxy refreshes
|
|
71
|
+
* before forwarding expired token material.
|
|
72
72
|
*
|
|
73
73
|
* @defaultValue `'15m'`
|
|
74
74
|
*/
|
|
@@ -87,11 +87,14 @@ export type VisageCookiePolicy = {
|
|
|
87
87
|
readonly path?: string;
|
|
88
88
|
};
|
|
89
89
|
/**
|
|
90
|
-
* Managed Dex identity provider options.
|
|
90
|
+
* Managed Dex identity provider options. Dex is the default identity provider
|
|
91
|
+
* for Visage.
|
|
91
92
|
*/
|
|
92
93
|
export type VisageDexOptions = {
|
|
93
94
|
/**
|
|
94
95
|
* Token expiration and rotation settings rendered into the Dex config.
|
|
96
|
+
*
|
|
97
|
+
* @see {@link https://dexidp.io/docs/configuration/tokens/#expiration-and-rotation-settings}
|
|
95
98
|
*/
|
|
96
99
|
readonly expiry?: VisageDexExpiry;
|
|
97
100
|
/**
|
|
@@ -177,30 +180,36 @@ export type VisageDexUser = {
|
|
|
177
180
|
*/
|
|
178
181
|
export type VisageExternalIdpOptions = {
|
|
179
182
|
/**
|
|
180
|
-
* OIDC issuer URL used by OAuth2 Proxy.
|
|
183
|
+
* OIDC issuer URL used by OAuth2 Proxy. When no endpoint paths are
|
|
184
|
+
* configured, OAuth2 Proxy discovers provider endpoints from this issuer.
|
|
181
185
|
*/
|
|
182
186
|
readonly issuer: string;
|
|
183
187
|
/**
|
|
184
188
|
* OIDC authorization path appended to
|
|
185
|
-
* {@link VisageExternalIdpOptions.issuer}.
|
|
186
|
-
*
|
|
187
|
-
* @defaultValue '/auth'
|
|
189
|
+
* {@link VisageExternalIdpOptions.issuer}. Configure this, `token`, or `jwks`
|
|
190
|
+
* to disable OIDC discovery and render explicit provider endpoints.
|
|
188
191
|
*/
|
|
189
192
|
readonly authorization?: string;
|
|
190
193
|
/**
|
|
191
194
|
* OIDC token endpoint path appended to
|
|
192
|
-
* {@link VisageExternalIdpOptions.issuer}.
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
+
* {@link VisageExternalIdpOptions.issuer}. Configure this, `authorization`,
|
|
196
|
+
* or `jwks` to disable OIDC discovery and render explicit provider
|
|
197
|
+
* endpoints.
|
|
195
198
|
*/
|
|
196
199
|
readonly token?: string;
|
|
197
200
|
/**
|
|
198
201
|
* OIDC JWKS endpoint path appended to
|
|
199
|
-
* {@link VisageExternalIdpOptions.issuer}.
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
+
* {@link VisageExternalIdpOptions.issuer}. Configure this, `authorization`,
|
|
203
|
+
* or `token` to disable OIDC discovery and render explicit provider
|
|
204
|
+
* endpoints.
|
|
202
205
|
*/
|
|
203
206
|
readonly jwks?: string;
|
|
207
|
+
/**
|
|
208
|
+
* OIDC end-session endpoint URL. When configured, Visage routes OAuth2 Proxy
|
|
209
|
+
* sign-out redirects through this endpoint so the provider session can be
|
|
210
|
+
* ended as part of the sign-out flow.
|
|
211
|
+
*/
|
|
212
|
+
readonly end_session_endpoint?: string;
|
|
204
213
|
};
|
|
205
214
|
/**
|
|
206
215
|
* OAuth2 client configuration used by OAuth2 Proxy and, for managed Dex, the
|
|
@@ -228,6 +237,12 @@ export type VisageOAuth2Client = {
|
|
|
228
237
|
* @defaultValue `['openid', 'email', 'profile', 'offline_access']`
|
|
229
238
|
*/
|
|
230
239
|
readonly scopes?: readonly string[];
|
|
240
|
+
/**
|
|
241
|
+
* Email domains allowed by OAuth2 Proxy after authentication.
|
|
242
|
+
*
|
|
243
|
+
* @defaultValue `['example.com']`
|
|
244
|
+
*/
|
|
245
|
+
readonly emailDomains?: readonly string[];
|
|
231
246
|
};
|
|
232
247
|
/**
|
|
233
248
|
* Subset of a Docker Compose service definition managed by Visage.
|
|
@@ -251,6 +266,11 @@ export type VisageService = {
|
|
|
251
266
|
* Additional host-to-IP mappings rendered into the Compose service.
|
|
252
267
|
*/
|
|
253
268
|
readonly extra_hosts?: readonly string[];
|
|
269
|
+
/**
|
|
270
|
+
* Container restart policy.
|
|
271
|
+
* @defaultValue `'on-failure'`
|
|
272
|
+
*/
|
|
273
|
+
readonly restart?: 'always' | 'no' | 'on-failure' | 'unless-stopped';
|
|
254
274
|
/**
|
|
255
275
|
* Optional upstream override for this service. Omit this to create a default
|
|
256
276
|
* upstream from the service name.
|
|
@@ -309,13 +329,26 @@ export type VisageProxyPolicy = {
|
|
|
309
329
|
*/
|
|
310
330
|
readonly redirect?: boolean;
|
|
311
331
|
/**
|
|
312
|
-
*
|
|
313
|
-
* `
|
|
332
|
+
* Token forwarding behavior for the upstream `Authorization` header. Set
|
|
333
|
+
* to `false` to omit a bearer token. Set to `true` to forward the
|
|
334
|
+
* default bearer token for the upstream kind: an OAuth access token for
|
|
335
|
+
* external upstreams, or an OIDC ID token for local service upstreams.
|
|
314
336
|
*
|
|
315
|
-
*
|
|
337
|
+
* Use `'id'` or `'access'` to force a specific token kind.
|
|
338
|
+
*
|
|
339
|
+
* @defaultValue `false`
|
|
316
340
|
*/
|
|
317
|
-
readonly forward?: boolean;
|
|
341
|
+
readonly forward?: boolean | 'id' | 'access';
|
|
318
342
|
};
|
|
343
|
+
/**
|
|
344
|
+
* Browser request isolation policy for authenticated cookie-backed
|
|
345
|
+
* locations. Set this to `false` when an upstream handles CSRF itself or
|
|
346
|
+
* intentionally accepts cross-site browser requests.
|
|
347
|
+
*
|
|
348
|
+
* @defaultValue `'app'` for the built-in Vite root location; `'api'` for
|
|
349
|
+
* authenticated upstream locations; `false` for unauthenticated locations.
|
|
350
|
+
*/
|
|
351
|
+
readonly csrf?: false | 'app' | 'api';
|
|
319
352
|
/**
|
|
320
353
|
* Request headers to set when proxying to the upstream. Values may include
|
|
321
354
|
* NGINX variables. These are merged with Visage's default proxy headers:
|
|
@@ -326,5 +359,13 @@ export type VisageProxyPolicy = {
|
|
|
326
359
|
readonly headers?: {
|
|
327
360
|
readonly [key: string]: string;
|
|
328
361
|
};
|
|
362
|
+
/**
|
|
363
|
+
* Additional NGINX location directives. Values may include NGINX variables.
|
|
364
|
+
* String values render once; array values render once per item. These are
|
|
365
|
+
* merged with Visage's default directives such as `proxy_buffer_size`.
|
|
366
|
+
*/
|
|
367
|
+
readonly directives?: {
|
|
368
|
+
readonly [name: string]: string | readonly string[];
|
|
369
|
+
};
|
|
329
370
|
};
|
|
330
371
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,wBAAwB,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blakearoberts/visage",
|
|
3
|
-
"version": "0.0.1
|
|
3
|
+
"version": "0.0.1",
|
|
4
4
|
"description": "Vite plugin for local development with HMR and OIDC session cookie lifecycle semantics.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Blake Roberts",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"files": [
|
|
36
|
-
"dist"
|
|
36
|
+
"dist",
|
|
37
|
+
"docker-compose.images.yml"
|
|
37
38
|
],
|
|
38
39
|
"engines": {
|
|
39
40
|
"node": ">=20"
|
|
@@ -45,28 +46,33 @@
|
|
|
45
46
|
"scripts": {
|
|
46
47
|
"build": "npm run clean && rollup -c",
|
|
47
48
|
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"format
|
|
49
|
+
"example": "npm run example:simple",
|
|
50
|
+
"example:simple": "cd examples/simple && npm run dev",
|
|
51
|
+
"format": "prettier --write .",
|
|
52
|
+
"format:check": "prettier --check .",
|
|
53
|
+
"promote:codex": "scripts/promote-codex.sh",
|
|
51
54
|
"test": "npm run typecheck && npm run test:unit",
|
|
52
55
|
"test:all": "npm test && npm run test:e2e",
|
|
53
56
|
"test:e2e": "playwright test test/e2e",
|
|
54
57
|
"test:unit": "node --experimental-strip-types --test test/unit/*.test.ts",
|
|
55
|
-
"typecheck": "tsc --noEmit
|
|
58
|
+
"typecheck": "tsc --noEmit"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"bcryptjs": "^3.0.3",
|
|
62
|
+
"eta": "^4.6.0",
|
|
63
|
+
"yaml": "^2.9.0"
|
|
64
|
+
},
|
|
65
|
+
"peerDependencies": {
|
|
66
|
+
"vite": "^8.0.0"
|
|
56
67
|
},
|
|
57
68
|
"devDependencies": {
|
|
58
|
-
"@playwright/test": "^1.
|
|
69
|
+
"@playwright/test": "^1.60.0",
|
|
59
70
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
60
|
-
"@types/node": "^25.
|
|
71
|
+
"@types/node": "^25.8.0",
|
|
61
72
|
"prettier": "^3.8.3",
|
|
62
|
-
"rollup": "^4.60.
|
|
73
|
+
"rollup": "^4.60.4",
|
|
63
74
|
"tslib": "^2.8.1",
|
|
64
|
-
"typescript": "^
|
|
65
|
-
"vite": "^
|
|
66
|
-
},
|
|
67
|
-
"dependencies": {
|
|
68
|
-
"bcryptjs": "^3.0.3",
|
|
69
|
-
"eta": "^4.6.0",
|
|
70
|
-
"yaml": "^2.8.4"
|
|
75
|
+
"typescript": "^6.0.3",
|
|
76
|
+
"vite": "^8.0.13"
|
|
71
77
|
}
|
|
72
78
|
}
|