@ecopages/ecopages-jsx 0.2.0-beta.27 → 0.2.0-beta.29
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ecopages/ecopages-jsx",
|
|
3
|
-
"version": "0.2.0-beta.
|
|
3
|
+
"version": "0.2.0-beta.29",
|
|
4
4
|
"description": "JSX integration plugin for Ecopages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ecopages",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"directory": "packages/integrations/ecopages-jsx"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@ecopages/mdx": "0.2.0-beta.
|
|
34
|
+
"@ecopages/mdx": "0.2.0-beta.29",
|
|
35
35
|
"@mdx-js/mdx": "^3.1.1",
|
|
36
36
|
"vfile": "^6.0.3"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@ecopages/core": "0.2.0-beta.
|
|
39
|
+
"@ecopages/core": "0.2.0-beta.29",
|
|
40
40
|
"@ecopages/jsx": "0.3.0-beta.2",
|
|
41
41
|
"@ecopages/radiant": "0.3.0-beta.2"
|
|
42
42
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentRenderInput, ComponentRenderResult, EcoComponent, IntegrationRendererRenderOptions, RouteRendererBody } from '@ecopages/core';
|
|
2
|
-
import { IntegrationRenderer, type RenderToResponseContext, type RouteModuleLoadOptions } from '@ecopages/core/route-renderer/integration-renderer';
|
|
3
|
-
import type { ForeignChildRuntime } from '@ecopages/core/route-renderer/component-render-context';
|
|
2
|
+
import { IntegrationRenderer, type RenderToResponseContext, type RouteModuleLoadOptions } from '@ecopages/core/route-renderer/orchestration/integration-renderer';
|
|
3
|
+
import type { ForeignChildRuntime } from '@ecopages/core/route-renderer/orchestration/foreign-child/component-render-context';
|
|
4
4
|
import { type JsxRenderable } from '@ecopages/jsx';
|
|
5
5
|
import { type EcopagesJsxMdxPageModule } from './ecopages-jsx-mdx.js';
|
|
6
6
|
import type { EcopagesJsxRendererOptions } from './ecopages-jsx.types.js';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IntegrationRenderer
|
|
3
|
-
} from "@ecopages/core/route-renderer/integration-renderer";
|
|
3
|
+
} from "@ecopages/core/route-renderer/orchestration/integration-renderer";
|
|
4
|
+
import {
|
|
5
|
+
getForeignSubtreeResolutionContextKey,
|
|
6
|
+
resolveOwningIntegrationRenderer
|
|
7
|
+
} from "@ecopages/core/route-renderer/orchestration/foreign-child/owning-renderer-resolution";
|
|
4
8
|
import { createMarkupNodeLike } from "@ecopages/jsx";
|
|
5
9
|
import { renderToString, withServerCustomElementRenderHook } from "@ecopages/jsx/server";
|
|
6
10
|
import { ECOPAGES_JSX_PLUGIN_NAME } from "./ecopages-jsx.constants.js";
|
|
@@ -178,12 +182,26 @@ class EcopagesJsxRenderer extends IntegrationRenderer {
|
|
|
178
182
|
};
|
|
179
183
|
const content = await this.withCustomElementRenderHook(() => component(componentProps));
|
|
180
184
|
const rendered = await this.renderJsx(content);
|
|
181
|
-
const queuedForeignSubtreeResolution = await this.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
const queuedForeignSubtreeResolution = await this.foreignSubtreeExecutionService.resolveQueuedHtml({
|
|
186
|
+
currentIntegrationName: this.name,
|
|
187
|
+
html: rendered.html,
|
|
188
|
+
runtimeContext: this.foreignSubtreeExecutionService.getQueuedRuntimeContext(
|
|
189
|
+
input,
|
|
190
|
+
getForeignSubtreeResolutionContextKey(this.name)
|
|
191
|
+
),
|
|
192
|
+
queueLabel: "Ecopages JSX",
|
|
193
|
+
getOwningRenderer: (integrationName, rendererCache) => resolveOwningIntegrationRenderer({
|
|
194
|
+
appConfig: this.appConfig,
|
|
195
|
+
runtimeOrigin: this.runtimeOrigin,
|
|
196
|
+
currentIntegrationName: this.name,
|
|
197
|
+
currentRenderer: this,
|
|
198
|
+
integrationName,
|
|
199
|
+
cache: rendererCache
|
|
200
|
+
}),
|
|
201
|
+
applyAttributesToFirstElement: (resolvedHtml, attributes) => this.htmlTransformer.applyAttributesToFirstElement(resolvedHtml, attributes),
|
|
202
|
+
dedupeProcessedAssets: (assets2) => this.htmlTransformer.dedupeProcessedAssets(assets2),
|
|
203
|
+
renderQueuedChildren: (children, _runtimeContext, queuedResolutionsByToken, resolveToken) => this.renderQueuedForeignSubtreeChildren(children, queuedResolutionsByToken, resolveToken)
|
|
204
|
+
});
|
|
187
205
|
const componentAssets = input.component.config?.dependencies && typeof this.assetProcessingService?.processDependencies === "function" ? await this.processComponentDependencies([input.component]) : [];
|
|
188
206
|
const assets = this.htmlTransformer.dedupeProcessedAssets([
|
|
189
207
|
...this.renderSession.endCollectedAssetFrame(assetFrame),
|