@gracile/engine 0.9.0-next.3 → 0.9.0-next.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/plugin.d.ts.map +1 -1
- package/dist/plugin.js +13 -0
- package/dist/render/light-dom.d.ts +2 -0
- package/dist/render/light-dom.d.ts.map +1 -0
- package/dist/render/light-dom.js +31 -0
- package/dist/render/route-template.d.ts +3 -1
- package/dist/render/route-template.d.ts.map +1 -1
- package/dist/render/route-template.js +13 -4
- package/dist/routes/render.d.ts.map +1 -1
- package/dist/routes/render.js +1 -0
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +1 -0
- package/dist/user-config.d.ts +35 -0
- package/dist/user-config.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAQtD;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,OAAO,GAAI,SAAS,aAAa,KAAG,GAAG,EAuVnD,CAAC;AAEF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { join } from 'node:path';
|
|
2
2
|
import { rename, rm } from 'node:fs/promises';
|
|
3
3
|
import { createLogger } from '@gracile/internal-utils/logger/helpers';
|
|
4
|
+
import { getPluginContext, } from '@gracile/internal-utils/plugin-context';
|
|
4
5
|
import { getVersion } from '@gracile/internal-utils/version';
|
|
5
6
|
// import { betterErrors } from '@gracile-labs/better-errors/plugin';
|
|
6
7
|
import c from 'picocolors';
|
|
@@ -54,7 +55,16 @@ export const gracile = (config) => {
|
|
|
54
55
|
gracileConfig,
|
|
55
56
|
// enabled: gracileConfig?.pages?.premises?.expose || false,
|
|
56
57
|
});
|
|
58
|
+
let sharedPluginContext;
|
|
57
59
|
return [
|
|
60
|
+
{
|
|
61
|
+
name: 'vite-plugin-gracile-context',
|
|
62
|
+
config(config) {
|
|
63
|
+
sharedPluginContext = getPluginContext(config);
|
|
64
|
+
gracileConfig.litSsr ??= { renderInfo: {} };
|
|
65
|
+
gracileConfig.litSsr.renderInfo = sharedPluginContext.litSsrRenderInfo;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
58
68
|
// betterErrors({
|
|
59
69
|
// overlayImportPath: '@gracile/gracile/_internals/vite-custom-overlay',
|
|
60
70
|
// }),
|
|
@@ -164,6 +174,9 @@ export const gracile = (config) => {
|
|
|
164
174
|
optimizeDeps: { include: [] },
|
|
165
175
|
plugins: [virtualRoutesForClient],
|
|
166
176
|
});
|
|
177
|
+
// NOTE: Important. Get the dev. server elements renderers.
|
|
178
|
+
gracileConfig.litSsr ??= {};
|
|
179
|
+
gracileConfig.litSsr.renderInfo = getPluginContext(viteServerForClientHtmlBuild.config)?.litSsrRenderInfo;
|
|
167
180
|
const htmlPages = await buildRoutes({
|
|
168
181
|
viteServerForBuild: viteServerForClientHtmlBuild,
|
|
169
182
|
root: viteConfig.root || process.cwd(),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"light-dom.d.ts","sourceRoot":"","sources":["../../src/render/light-dom.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js';
|
|
2
|
+
// import type { ThunkedRenderResult } from '@lit-labs/ssr/lib/render-result.js';
|
|
3
|
+
// export class LightDomLitElementRenderer extends LitElementRenderer {
|
|
4
|
+
// static override matchesClass(ctor: typeof HTMLElement) {
|
|
5
|
+
// // return (ctor as any)._$lightDom === true;
|
|
6
|
+
// return true;
|
|
7
|
+
// }
|
|
8
|
+
// // eslint-disable-next-line class-methods-use-this
|
|
9
|
+
// override renderShadow(): ThunkedRenderResult {
|
|
10
|
+
// return;
|
|
11
|
+
// // return []; // ← no <template shadowrootmode> emitted
|
|
12
|
+
// // return [];
|
|
13
|
+
// }
|
|
14
|
+
// override renderLight(renderInfo) {
|
|
15
|
+
// // Emit the render() output as direct light-DOM children
|
|
16
|
+
// // yield* super.renderShadow(renderInfo);
|
|
17
|
+
// // return super.renderLight(renderInfo);
|
|
18
|
+
// const result = this.element.render();
|
|
19
|
+
// console.log({ result });
|
|
20
|
+
// // return renderInfo.render(result);
|
|
21
|
+
// return ['<div>Light DOM content</div>'];
|
|
22
|
+
// // yield* renderInfo.render(result);
|
|
23
|
+
// }
|
|
24
|
+
// // override *renderLight(renderInfo) {
|
|
25
|
+
// // const result = this.element.render();
|
|
26
|
+
// // yield* renderInfo.render(result);
|
|
27
|
+
// // }
|
|
28
|
+
// }
|
|
29
|
+
// // NOTE: On server, Lit SSR doesn't seems to care at all about CE ctors.
|
|
30
|
+
// // customElements.define('app-shell', new Object() as typeof HTMLElement);
|
|
31
|
+
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Readable } from 'node:stream';
|
|
2
|
+
import { type RenderInfo } from '@lit-labs/ssr';
|
|
2
3
|
import type { ViteDevServer } from 'vite';
|
|
3
4
|
import type { RouteInfos } from '../routes/match.js';
|
|
4
5
|
import type * as R from '../routes/route.js';
|
|
5
6
|
export declare const REGEX_TAG_SCRIPT: RegExp;
|
|
6
7
|
export declare const REGEX_TAG_LINK: RegExp;
|
|
7
|
-
export declare function renderRouteTemplate({ url, vite, mode, routeInfos, routeAssets, serverMode, docOnly, }: {
|
|
8
|
+
export declare function renderRouteTemplate({ url, vite, mode, routeInfos, routeAssets, serverMode, docOnly, renderInfo, }: {
|
|
8
9
|
url: string;
|
|
9
10
|
vite?: ViteDevServer | undefined;
|
|
10
11
|
mode: 'dev' | 'build';
|
|
@@ -13,6 +14,7 @@ export declare function renderRouteTemplate({ url, vite, mode, routeInfos, route
|
|
|
13
14
|
root: string;
|
|
14
15
|
serverMode?: boolean | undefined;
|
|
15
16
|
docOnly?: boolean | undefined;
|
|
17
|
+
renderInfo?: Partial<RenderInfo> | undefined;
|
|
16
18
|
}): Promise<{
|
|
17
19
|
output: null | Readable;
|
|
18
20
|
document: null | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-template.d.ts","sourceRoot":"","sources":["../../src/render/route-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"route-template.d.ts","sourceRoot":"","sources":["../../src/render/route-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAO1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAY7C,eAAO,MAAM,gBAAgB,QACkC,CAAC;AAEhE,eAAO,MAAM,cAAc,QAA2B,CAAC;AAEvD,wBAAsB,mBAAmB,CAAC,EACzC,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,GACV,EAAE;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;CAC7C,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;IAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;CAAE,CAAC,CAyOhE"}
|
|
@@ -3,6 +3,7 @@ import * as assert from '@gracile/internal-utils/assertions';
|
|
|
3
3
|
import { html } from '@gracile/internal-utils/dummy-literals';
|
|
4
4
|
import { render as renderLitSsr } from '@lit-labs/ssr';
|
|
5
5
|
import { collectResult } from '@lit-labs/ssr/lib/render-result.js';
|
|
6
|
+
import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js';
|
|
6
7
|
import { GracileError, GracileErrorData, TemplateError, } from '../errors/errors.js';
|
|
7
8
|
import { PAGE_ASSETS_MARKER, SSR_OUTLET_MARKER } from './markers.js';
|
|
8
9
|
async function* concatStreams(...readables) {
|
|
@@ -14,12 +15,20 @@ async function* concatStreams(...readables) {
|
|
|
14
15
|
}
|
|
15
16
|
export const REGEX_TAG_SCRIPT = /\s?<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script\s*>\s?/gi;
|
|
16
17
|
export const REGEX_TAG_LINK = /\s?<link\b[^>]*?>\s?/gi;
|
|
17
|
-
export async function renderRouteTemplate({ url, vite, mode, routeInfos, routeAssets, serverMode, docOnly, }) {
|
|
18
|
+
export async function renderRouteTemplate({ url, vite, mode, routeInfos, routeAssets, serverMode, docOnly, renderInfo, }) {
|
|
18
19
|
const location = {
|
|
19
20
|
file: routeInfos.foundRoute.filePath,
|
|
20
21
|
};
|
|
21
22
|
if (!routeInfos.routeModule.document && !routeInfos.routeModule.template)
|
|
22
23
|
return { output: null, document: null };
|
|
24
|
+
// MARK: Merged render info
|
|
25
|
+
const mergedRenderInfo = {
|
|
26
|
+
...renderInfo,
|
|
27
|
+
elementRenderers: [
|
|
28
|
+
...(renderInfo?.elementRenderers || []),
|
|
29
|
+
LitElementRenderer,
|
|
30
|
+
],
|
|
31
|
+
};
|
|
23
32
|
// MARK: Context
|
|
24
33
|
const context = {
|
|
25
34
|
url: new URL(url),
|
|
@@ -35,7 +44,7 @@ export async function renderRouteTemplate({ url, vite, mode, routeInfos, routeAs
|
|
|
35
44
|
message: GracileErrorData.InvalidRouteDocument.message(location.file),
|
|
36
45
|
// location,
|
|
37
46
|
});
|
|
38
|
-
const fragmentRender = renderLitSsr(fragmentOutput);
|
|
47
|
+
const fragmentRender = renderLitSsr(fragmentOutput, mergedRenderInfo);
|
|
39
48
|
const output = Readable.from(fragmentRender);
|
|
40
49
|
return { output, document: null };
|
|
41
50
|
}
|
|
@@ -56,7 +65,7 @@ export async function renderRouteTemplate({ url, vite, mode, routeInfos, routeAs
|
|
|
56
65
|
});
|
|
57
66
|
let baseDocumentRendered;
|
|
58
67
|
try {
|
|
59
|
-
baseDocumentRendered = await collectResult(renderLitSsr(baseDocumentTemplateResult));
|
|
68
|
+
baseDocumentRendered = await collectResult(renderLitSsr(baseDocumentTemplateResult, mergedRenderInfo));
|
|
60
69
|
}
|
|
61
70
|
catch (error) {
|
|
62
71
|
throw new TemplateError({
|
|
@@ -158,7 +167,7 @@ export async function renderRouteTemplate({ url, vite, mode, routeInfos, routeAs
|
|
|
158
167
|
// }
|
|
159
168
|
if (assert.isLitTemplate(routeOutput) === false)
|
|
160
169
|
throw new Error(`Wrong template result for page template ${routeInfos.foundRoute.filePath}.`);
|
|
161
|
-
const renderStream = Readable.from(renderLitSsr(routeOutput));
|
|
170
|
+
const renderStream = Readable.from(renderLitSsr(routeOutput, mergedRenderInfo));
|
|
162
171
|
const output = Readable.from(concatStreams(baseDocumentRenderStreamPre, renderStream, baseDocumentRenderStreamPost));
|
|
163
172
|
return { output, document: baseDocumentHtml };
|
|
164
173
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/routes/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IAEF,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B;AAcD,wBAAsB,YAAY,CAAC,EAClC,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAoB,EACpB,aAAa,GACb,EAAE;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;CAC7B;;;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/routes/render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,EAAE;QACP,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;IAEF,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B;AAcD,wBAAsB,YAAY,CAAC,EAClC,MAAM,EACN,IAAI,EACJ,UAAU,EACV,IAAoB,EACpB,aAAa,GACb,EAAE;IACF,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;CAC7B;;;GAmKA"}
|
package/dist/routes/render.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQlD,OAAO,KAAK,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3E,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC5B,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,KACZ,OAAO,CAAC,gBAAgB,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC;AASjE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1E;AAED,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,UAAU,EACV,aAAa,GACb,EAAE;IACF,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;CAC7B,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAQlD,OAAO,KAAK,KAAK,CAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,KAAK,gBAAgB,GAAG;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC3E,KAAK,wBAAwB,GAAG;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAC5B,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,KACZ,OAAO,CAAC,gBAAgB,GAAG,wBAAwB,GAAG,IAAI,CAAC,CAAC;AASjE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO1E;AAED,wBAAgB,oBAAoB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,UAAU,EACV,aAAa,GACb,EAAE;IACF,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;CAC7B,kBAgRA"}
|
package/dist/server/request.js
CHANGED
|
@@ -72,6 +72,7 @@ export function createGracileHandler({ vite, routes, routeImports, routeAssets,
|
|
|
72
72
|
serverMode,
|
|
73
73
|
routeInfos,
|
|
74
74
|
docOnly: premises?.documentOnly,
|
|
75
|
+
renderInfo: gracileConfig.litSsr?.renderInfo,
|
|
75
76
|
};
|
|
76
77
|
logger.info(`[${c.yellow(method)}] ${c.yellow(fullUrl)}`, {
|
|
77
78
|
timestamp: true,
|
package/dist/user-config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RenderInfo } from '@lit-labs/ssr';
|
|
1
2
|
import type { Connect } from 'vite';
|
|
2
3
|
/**
|
|
3
4
|
* @example
|
|
@@ -93,6 +94,40 @@ export interface GracileConfig {
|
|
|
93
94
|
exclude?: string[];
|
|
94
95
|
};
|
|
95
96
|
};
|
|
97
|
+
litSsr?: {
|
|
98
|
+
/**
|
|
99
|
+
* Lets you extend Gracile's SSR pipeline with
|
|
100
|
+
* custom Lit SSR `ElementRenderer` subclasses. This is the foundation for
|
|
101
|
+
* features like [Islands](/docs/add-ons/islands/), which register a renderer
|
|
102
|
+
* for the `<is-land>` custom element to server-render components from other
|
|
103
|
+
* UI frameworks.
|
|
104
|
+
*
|
|
105
|
+
* In most cases, you do **not** set this option manually — add-on plugins
|
|
106
|
+
* (like `gracileIslands()`) register their renderers automatically via the
|
|
107
|
+
* plugin context communication channel. However,
|
|
108
|
+
* you can use it directly for advanced use cases:
|
|
109
|
+
*
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { gracile } from '@gracile/gracile/plugin';
|
|
112
|
+
* import { defineConfig } from 'vite';
|
|
113
|
+
*
|
|
114
|
+
* export default defineConfig({
|
|
115
|
+
* plugins: [
|
|
116
|
+
* gracile({
|
|
117
|
+
* litSsr: {
|
|
118
|
+
* renderInfo: {
|
|
119
|
+
* elementRenderers: [
|
|
120
|
+
* // Your custom ElementRenderer subclass
|
|
121
|
+
* ],
|
|
122
|
+
* },
|
|
123
|
+
* },
|
|
124
|
+
* }),
|
|
125
|
+
* ],
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
renderInfo?: Partial<RenderInfo>;
|
|
130
|
+
};
|
|
96
131
|
/**
|
|
97
132
|
* Future, unstable features flags.
|
|
98
133
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE7B;;OAEG;IACH,GAAG,CAAC,EAAE;QACL;;;;;WAKG;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;YAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAA;SAAE,KAAK,OAAO,CAAC;KACxE,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;;;;;;;;;;;;WAaG;QACH,QAAQ,CAAC,EAAE;YACV;;eAEG;YACH,MAAM,CAAC,EAAE,OAAO,CAAC;YAGjB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YAEnB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACF,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE;QACd;;;WAGG;QACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;KAOhC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,aAAa;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE7B;;OAEG;IACH,GAAG,CAAC,EAAE;QACL;;;;;WAKG;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE;YAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAA;SAAE,KAAK,OAAO,CAAC;KACxE,CAAC;IAEF;;OAEG;IACH,MAAM,CAAC,EAAE;QACR;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,KAAK,CAAC,EAAE;QACP;;;;;;;;;;;;;WAaG;QACH,QAAQ,CAAC,EAAE;YACV;;eAEG;YACH,MAAM,CAAC,EAAE,OAAO,CAAC;YAGjB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;YAEnB;;eAEG;YACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACF,CAAC;IACF,MAAM,CAAC,EAAE;QACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA8BG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;KACjC,CAAC;IAEF;;OAEG;IACH,YAAY,CAAC,EAAE;QACd;;;WAGG;QACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;KAOhC,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gracile/engine",
|
|
3
|
-
"version": "0.9.0-next.
|
|
3
|
+
"version": "0.9.0-next.4",
|
|
4
4
|
"description": "A thin, full-stack, web framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"custom-elements",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"!/dist/typedoc-entrypoint.*"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@gracile-labs/better-errors": "^0.2.0-next.
|
|
47
|
-
"@gracile/internal-utils": "^0.6.0-next.
|
|
46
|
+
"@gracile-labs/better-errors": "^0.2.0-next.4",
|
|
47
|
+
"@gracile/internal-utils": "^0.6.0-next.3",
|
|
48
48
|
"@whatwg-node/server": "^0.10.18",
|
|
49
49
|
"fdir": "^6.5.0",
|
|
50
50
|
"picocolors": "^1.1.1",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"access": "public",
|
|
61
61
|
"provenance": true
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "a7441bf4d5c390521a9789077568619ca90ae623"
|
|
64
64
|
}
|