@vertesia/build-tools 1.6.0-dev.20260918.061604Z → 1.6.0-dev.20260918.063824Z
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/lib/vite/api-server.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
import type { Plugin } from 'vite';
|
|
28
|
-
export declare function injectRuntimeConfigMarker(html: string): string;
|
|
28
|
+
export declare function injectRuntimeConfigMarker(html: string, authMode?: string): string;
|
|
29
29
|
export interface ApiServerPluginOptions {
|
|
30
30
|
/**
|
|
31
31
|
* Tool server entry point (TypeScript source). Resolved by Vite from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-server.d.ts","sourceRoot":"","sources":["../../src/vite/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAUlD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"api-server.d.ts","sourceRoot":"","sources":["../../src/vite/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAUlD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjF;AAID,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAUD,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,EAAE,CAyC9E"}
|
package/lib/vite/api-server.js
CHANGED
|
@@ -29,12 +29,17 @@ import { getRequestListener } from '@hono/node-server';
|
|
|
29
29
|
import { vertesiaDevServerPlugin } from './dev-server.js';
|
|
30
30
|
const RUNTIME_CONFIG_MARKER = 'vertesia-runtime-config';
|
|
31
31
|
const RUNTIME_CONFIG_VERSION = 'v1';
|
|
32
|
-
export function injectRuntimeConfigMarker(html) {
|
|
32
|
+
export function injectRuntimeConfigMarker(html, authMode) {
|
|
33
|
+
if (authMode && authMode !== 'central' && authMode !== 'firebase') {
|
|
34
|
+
throw new Error('VITE_AUTH_MODE must be firebase or central');
|
|
35
|
+
}
|
|
33
36
|
const metaTags = html.match(/<meta\b[^>]*>/gi) || [];
|
|
34
37
|
const markerName = new RegExp(`\\bname\\s*=\\s*(["'])${RUNTIME_CONFIG_MARKER}\\1`, 'i');
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const marker = `<meta name="${RUNTIME_CONFIG_MARKER}" content="${RUNTIME_CONFIG_VERSION}" />`;
|
|
38
|
+
const existing = metaTags.find((tag) => markerName.test(tag));
|
|
39
|
+
const modeAttribute = authMode ? ` data-auth-mode="${authMode}"` : '';
|
|
40
|
+
const marker = `<meta name="${RUNTIME_CONFIG_MARKER}" content="${RUNTIME_CONFIG_VERSION}"${modeAttribute} />`;
|
|
41
|
+
if (existing)
|
|
42
|
+
return authMode ? html.replace(existing, marker) : html;
|
|
38
43
|
return html.replace(/<\/head>/i, ` ${marker}\n</head>`);
|
|
39
44
|
}
|
|
40
45
|
/**
|
|
@@ -49,10 +54,16 @@ export function apiServerPlugin(options = {}) {
|
|
|
49
54
|
// Resolve compiled entry relative to the consumer's cwd. Vite is run from
|
|
50
55
|
// the project root by convention, so this lands at the right file.
|
|
51
56
|
const absoluteCompiledEntry = path.resolve(process.cwd(), compiledEntry);
|
|
57
|
+
let authMode;
|
|
52
58
|
return [
|
|
53
59
|
{
|
|
54
60
|
name: 'vertesia-runtime-config-marker',
|
|
55
|
-
|
|
61
|
+
configResolved(config) {
|
|
62
|
+
authMode = config.env.VITE_AUTH_MODE?.trim() || undefined;
|
|
63
|
+
},
|
|
64
|
+
transformIndexHtml(html) {
|
|
65
|
+
return injectRuntimeConfigMarker(html, authMode);
|
|
66
|
+
},
|
|
56
67
|
},
|
|
57
68
|
// Vertesia query-import transformer (skill / raw / prompt / template etc.).
|
|
58
69
|
vertesiaDevServerPlugin(transformers ? { transformers } : undefined),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-server.js","sourceRoot":"","sources":["../../src/vite/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAM1D,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AACxD,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,UAAU,yBAAyB,CAAC,IAAY;
|
|
1
|
+
{"version":3,"file":"api-server.js","sourceRoot":"","sources":["../../src/vite/api-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertesia/build-tools",
|
|
3
|
-
"version": "1.6.0-dev.20260918.
|
|
3
|
+
"version": "1.6.0-dev.20260918.063824Z",
|
|
4
4
|
"description": "Build tools for Vertesia projects - import transformers (skill / template / prompt / raw), esbuild widget bundler, vertesia-build CLI, and a Vite dev plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@llumiverse/common": "1.6.0-dev.20260918.055633Z",
|
|
37
|
-
"@vertesia/common": "1.6.0-dev.20260918.
|
|
38
|
-
"@vertesia/studio-utils": "1.6.0-dev.20260918.
|
|
37
|
+
"@vertesia/common": "1.6.0-dev.20260918.063824Z",
|
|
38
|
+
"@vertesia/studio-utils": "1.6.0-dev.20260918.063824Z",
|
|
39
39
|
"ajv": "^8.20.0",
|
|
40
40
|
"es-module-lexer": "^3.0.2",
|
|
41
41
|
"esbuild": "^0.28.2",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"zod",
|
|
76
76
|
"validation"
|
|
77
77
|
],
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "5e9878a6ab82875248b0696621bb957732d42377",
|
|
79
79
|
"scripts": {
|
|
80
80
|
"lint": "biome lint src",
|
|
81
81
|
"test": "vitest run",
|
|
@@ -14,6 +14,19 @@ describe('apiServerPlugin runtime configuration marker', () => {
|
|
|
14
14
|
expect(injectRuntimeConfigMarker(html)).toBe(html);
|
|
15
15
|
});
|
|
16
16
|
|
|
17
|
+
it('records the explicit app auth mode for the serving gateway', () => {
|
|
18
|
+
expect(injectRuntimeConfigMarker('<head></head>', 'firebase')).toContain('data-auth-mode="firebase"');
|
|
19
|
+
expect(injectRuntimeConfigMarker('<head></head>', 'central')).toContain('data-auth-mode="central"');
|
|
20
|
+
expect(() => injectRuntimeConfigMarker('<head></head>', 'typo')).toThrow('VITE_AUTH_MODE');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('updates an existing marker with the build mode without duplicating it', () => {
|
|
24
|
+
const html = '<head><meta name="vertesia-runtime-config" content="v1" /></head>';
|
|
25
|
+
const result = injectRuntimeConfigMarker(html, 'firebase');
|
|
26
|
+
expect(result.match(/vertesia-runtime-config/g)).toHaveLength(1);
|
|
27
|
+
expect(result).toContain('data-auth-mode="firebase"');
|
|
28
|
+
});
|
|
29
|
+
|
|
17
30
|
it('includes marker emission in the existing API server plugin set', () => {
|
|
18
31
|
expect(apiServerPlugin().map((plugin) => plugin.name)).toContain('vertesia-runtime-config-marker');
|
|
19
32
|
});
|
package/src/vite/api-server.ts
CHANGED
|
@@ -38,12 +38,17 @@ interface HonoApp {
|
|
|
38
38
|
const RUNTIME_CONFIG_MARKER = 'vertesia-runtime-config';
|
|
39
39
|
const RUNTIME_CONFIG_VERSION = 'v1';
|
|
40
40
|
|
|
41
|
-
export function injectRuntimeConfigMarker(html: string): string {
|
|
41
|
+
export function injectRuntimeConfigMarker(html: string, authMode?: string): string {
|
|
42
|
+
if (authMode && authMode !== 'central' && authMode !== 'firebase') {
|
|
43
|
+
throw new Error('VITE_AUTH_MODE must be firebase or central');
|
|
44
|
+
}
|
|
42
45
|
const metaTags = html.match(/<meta\b[^>]*>/gi) || [];
|
|
43
46
|
const markerName = new RegExp(`\\bname\\s*=\\s*(["'])${RUNTIME_CONFIG_MARKER}\\1`, 'i');
|
|
44
|
-
|
|
47
|
+
const existing = metaTags.find((tag) => markerName.test(tag));
|
|
48
|
+
const modeAttribute = authMode ? ` data-auth-mode="${authMode}"` : '';
|
|
49
|
+
const marker = `<meta name="${RUNTIME_CONFIG_MARKER}" content="${RUNTIME_CONFIG_VERSION}"${modeAttribute} />`;
|
|
50
|
+
if (existing) return authMode ? html.replace(existing, marker) : html;
|
|
45
51
|
|
|
46
|
-
const marker = `<meta name="${RUNTIME_CONFIG_MARKER}" content="${RUNTIME_CONFIG_VERSION}" />`;
|
|
47
52
|
return html.replace(/<\/head>/i, ` ${marker}\n</head>`);
|
|
48
53
|
}
|
|
49
54
|
|
|
@@ -101,10 +106,17 @@ export function apiServerPlugin(options: ApiServerPluginOptions = {}): Plugin[]
|
|
|
101
106
|
// the project root by convention, so this lands at the right file.
|
|
102
107
|
const absoluteCompiledEntry = path.resolve(process.cwd(), compiledEntry);
|
|
103
108
|
|
|
109
|
+
let authMode: string | undefined;
|
|
110
|
+
|
|
104
111
|
return [
|
|
105
112
|
{
|
|
106
113
|
name: 'vertesia-runtime-config-marker',
|
|
107
|
-
|
|
114
|
+
configResolved(config) {
|
|
115
|
+
authMode = config.env.VITE_AUTH_MODE?.trim() || undefined;
|
|
116
|
+
},
|
|
117
|
+
transformIndexHtml(html) {
|
|
118
|
+
return injectRuntimeConfigMarker(html, authMode);
|
|
119
|
+
},
|
|
108
120
|
},
|
|
109
121
|
|
|
110
122
|
// Vertesia query-import transformer (skill / raw / prompt / template etc.).
|