@purestack/ts-render 1.1.0 → 1.1.2

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.
@@ -1,4 +1,4 @@
1
- /*! @purestack/ts-render v1.1.0 | (c) 2026 Ahmed Yasin Koculu | MIT License */
1
+ /*! @purestack/ts-render v1.1.2 | (c) 2026 Ahmed Yasin Koculu | MIT License */
2
2
 
3
3
  import { Component } from "regor";
4
4
  import { TsSsgContext } from "@purestack/ts-common";
@@ -17,6 +17,8 @@ export declare const componentRegistry: {
17
17
  interface RenderAppOptions<TContext extends TsSsgContext> {
18
18
  components: unknown;
19
19
  context: TContext;
20
+ /** Runs on the rendered document, before it becomes HTML. */
21
+ onRendered?: (document: Document) => void;
20
22
  }
21
23
  export declare const renderApp: <TContext extends TsSsgContext>(html: string, options: RenderAppOptions<TContext>) => string;
22
24
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ts-render.d.mts","names":[],"sources":["../src/componentRegistry.ts","../src/renderApp.ts"],"mappings":";;;qBAKa;EACX,SAAQ,cAAa,WAAa;EAGlC,aAAa,gBAAW,aAAkB;EAQ1C,UAAU,eAAe;EAGzB,iBAAgB;EAGhB,YAAY,YAAY;EAGxB,QAAO,UAAW,YAAY;EAM9B;;;;UC1Be,iBAAiB,iBAAiB;EACjD;EACA,SAAS;;qBAGE,YAAa,iBAAiB,cAAY,cACzC,SACH,iBAAiB"}
1
+ {"version":3,"file":"ts-render.d.mts","names":[],"sources":["../src/componentRegistry.ts","../src/renderApp.ts"],"mappings":";;;qBAKa;EACX,SAAQ,cAAa,WAAa;EAGlC,aAAa,gBAAW,aAAkB;EAQ1C,UAAU,eAAe;EAGzB,iBAAgB;EAGhB,YAAY,YAAY;EAGxB,QAAO,UAAW,YAAY;EAM9B;;;;UC1Be,iBAAiB,iBAAiB;EACjD;EACA,SAAS;;EAET,cAAc,UAAU;;qBAGb,YAAa,iBAAiB,cAAY,cACzC,SACH,iBAAiB"}
@@ -1,4 +1,4 @@
1
- /*! @purestack/ts-render v1.1.0 | (c) 2026 Ahmed Yasin Koculu | MIT License */
1
+ /*! @purestack/ts-render v1.1.2 | (c) 2026 Ahmed Yasin Koculu | MIT License */
2
2
 
3
3
  import { isPlainObject } from "@purestack/ts-util";
4
4
  import { createDom } from "@purestack/ts-minidom";
@@ -76,6 +76,7 @@ const renderApp = (html, options) => {
76
76
  tsSsgContext
77
77
  }, { element: document.body });
78
78
  appendEmbeddedScriptsToDom(runtimeEmbeds, tsSsgContext);
79
+ options.onRendered?.(document);
79
80
  if (isDocument) return `<!DOCTYPE html>${document.documentElement?.outerHTML ?? ""}`;
80
81
  return document.body?.innerHTML ?? "";
81
82
  } finally {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-render.mjs","names":[],"sources":["../src/componentRegistry.ts","../src/renderApp.ts"],"sourcesContent":["import { isPlainObject } from '@purestack/ts-util'\nimport type { Component } from 'regor'\n\nconst registry = new Map<string, Component<never>>()\n\nexport const componentRegistry = {\n register(name: string, component: Component<never>) {\n registry.set(name, component)\n },\n registerMany<TComponents>(...components: (TComponents | object)[]) {\n for (const compSet of components) {\n if (!isPlainObject(compSet)) continue\n for (const [name, component] of Object.entries(compSet)) {\n registry.set(name, component as Component<never>)\n }\n }\n },\n getAll(): Record<string, Component> {\n return Object.fromEntries(registry.entries())\n },\n hasComponentName(name: string) {\n return hasComponentName(name, registry)\n },\n snapshot(): Map<string, Component<never>> {\n return new Map(registry)\n },\n restore(snapshot: Map<string, Component<never>>) {\n registry.clear()\n for (const [name, component] of snapshot) {\n registry.set(name, component)\n }\n },\n clear() {\n registry.clear()\n },\n}\n\nfunction hasComponentName(\n input: string,\n source: Map<string, Component<never>>,\n) {\n const normalizedInput = normalizeComponentName(input)\n if (!normalizedInput) return false\n for (const key of source.keys()) {\n const normalizedKey = normalizeComponentName(key)\n if (!normalizedKey) continue\n if (normalizedKey === normalizedInput) return true\n }\n return false\n}\n\nfunction normalizeComponentName(value: string) {\n const trimmed = value.trim()\n if (!trimmed) return ''\n return trimmed.toLowerCase().replace(/[^a-z0-9]/g, '')\n}\n","import type { TsSsgContext } from '@purestack/ts-common'\nimport { createDom } from '@purestack/ts-minidom'\nimport { buildModalScript, buildTabsScript } from '@purestack/ts-page-scripts'\nimport { createApp } from 'regor'\nimport { componentRegistry } from './componentRegistry'\n\nexport interface RenderAppOptions<TContext extends TsSsgContext> {\n components: unknown\n context: TContext\n}\n\nexport const renderApp = <TContext extends TsSsgContext>(\n html: string,\n options: RenderAppOptions<TContext>,\n) => {\n const normalizedHtml = html.trimStart()\n const isDocument =\n normalizedHtml.startsWith('<!DOCTYPE html>') ||\n normalizedHtml.startsWith('<!doctype html>') ||\n normalizedHtml.startsWith('<html')\n const htmlToParse = isDocument\n ? normalizedHtml\n : `<!DOCTYPE html><html><body>${html}</body></html>`\n const cleanup = createDom(htmlToParse)\n const snapshot = componentRegistry.snapshot()\n const runtimeEmbeds = new Map<string, 'body' | 'head'>()\n const baseContext = options.context\n const tsSsgContext = {\n ...baseContext,\n recordRuntimeEmbed: (name: string, position: 'body' | 'head') => {\n const normalized = name.trim().toLowerCase()\n if (normalized.length > 0) {\n runtimeEmbeds.set(normalized, position)\n }\n baseContext.recordRuntimeEmbed(name, position)\n },\n }\n try {\n if (options.components) componentRegistry.registerMany(options.components)\n const components = {\n ...componentRegistry.getAll(),\n }\n createApp(\n {\n components,\n tsSsgContext,\n },\n {\n element: document.body,\n },\n )\n appendEmbeddedScriptsToDom(runtimeEmbeds, tsSsgContext)\n if (isDocument) {\n const documentHtml = document.documentElement?.outerHTML ?? ''\n return `<!DOCTYPE html>${documentHtml}`\n }\n return document.body?.innerHTML ?? ''\n } finally {\n componentRegistry.restore(snapshot)\n cleanup()\n }\n}\n\nfunction appendEmbeddedScriptsToDom(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n appendRuntimeScript(\n resolveTabsEmbedPosition(runtimeEmbeds, context),\n buildTabsScript,\n )\n appendRuntimeScript(\n resolveModalEmbedPosition(runtimeEmbeds, context),\n buildModalScript,\n )\n}\n\nfunction appendRuntimeScript(\n position: 'body' | 'head' | undefined,\n scriptBuilder: () => string,\n) {\n if (!position) return\n const targetParent = ensureScriptParent(position)\n if (!targetParent) return\n const script = document.createElement('script')\n script.textContent = scriptBuilder()\n targetParent.appendChild(script)\n}\n\nfunction ensureScriptParent(position: 'body' | 'head') {\n if (position === 'body') {\n return document.body\n }\n return document.head\n}\n\nfunction resolveTabsEmbedPosition(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n const runtimePosition = runtimeEmbeds.get('tabs')\n if (runtimePosition) return runtimePosition\n return context?.pageInfo?.frontmatter?.embed?.tabs\n}\n\nfunction resolveModalEmbedPosition(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n const runtimePosition = runtimeEmbeds.get('modal')\n if (runtimePosition) return runtimePosition\n return context?.pageInfo?.frontmatter?.embed?.modal\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ts-render.mjs","names":[],"sources":["../src/componentRegistry.ts","../src/renderApp.ts"],"sourcesContent":["import { isPlainObject } from '@purestack/ts-util'\nimport type { Component } from 'regor'\n\nconst registry = new Map<string, Component<never>>()\n\nexport const componentRegistry = {\n register(name: string, component: Component<never>) {\n registry.set(name, component)\n },\n registerMany<TComponents>(...components: (TComponents | object)[]) {\n for (const compSet of components) {\n if (!isPlainObject(compSet)) continue\n for (const [name, component] of Object.entries(compSet)) {\n registry.set(name, component as Component<never>)\n }\n }\n },\n getAll(): Record<string, Component> {\n return Object.fromEntries(registry.entries())\n },\n hasComponentName(name: string) {\n return hasComponentName(name, registry)\n },\n snapshot(): Map<string, Component<never>> {\n return new Map(registry)\n },\n restore(snapshot: Map<string, Component<never>>) {\n registry.clear()\n for (const [name, component] of snapshot) {\n registry.set(name, component)\n }\n },\n clear() {\n registry.clear()\n },\n}\n\nfunction hasComponentName(\n input: string,\n source: Map<string, Component<never>>,\n) {\n const normalizedInput = normalizeComponentName(input)\n if (!normalizedInput) return false\n for (const key of source.keys()) {\n const normalizedKey = normalizeComponentName(key)\n if (!normalizedKey) continue\n if (normalizedKey === normalizedInput) return true\n }\n return false\n}\n\nfunction normalizeComponentName(value: string) {\n const trimmed = value.trim()\n if (!trimmed) return ''\n return trimmed.toLowerCase().replace(/[^a-z0-9]/g, '')\n}\n","import type { TsSsgContext } from '@purestack/ts-common'\nimport { createDom } from '@purestack/ts-minidom'\nimport { buildModalScript, buildTabsScript } from '@purestack/ts-page-scripts'\nimport { createApp } from 'regor'\nimport { componentRegistry } from './componentRegistry'\n\nexport interface RenderAppOptions<TContext extends TsSsgContext> {\n components: unknown\n context: TContext\n /** Runs on the rendered document, before it becomes HTML. */\n onRendered?: (document: Document) => void\n}\n\nexport const renderApp = <TContext extends TsSsgContext>(\n html: string,\n options: RenderAppOptions<TContext>,\n) => {\n const normalizedHtml = html.trimStart()\n const isDocument =\n normalizedHtml.startsWith('<!DOCTYPE html>') ||\n normalizedHtml.startsWith('<!doctype html>') ||\n normalizedHtml.startsWith('<html')\n const htmlToParse = isDocument\n ? normalizedHtml\n : `<!DOCTYPE html><html><body>${html}</body></html>`\n const cleanup = createDom(htmlToParse)\n const snapshot = componentRegistry.snapshot()\n const runtimeEmbeds = new Map<string, 'body' | 'head'>()\n const baseContext = options.context\n const tsSsgContext = {\n ...baseContext,\n recordRuntimeEmbed: (name: string, position: 'body' | 'head') => {\n const normalized = name.trim().toLowerCase()\n if (normalized.length > 0) {\n runtimeEmbeds.set(normalized, position)\n }\n baseContext.recordRuntimeEmbed(name, position)\n },\n }\n try {\n if (options.components) componentRegistry.registerMany(options.components)\n const components = {\n ...componentRegistry.getAll(),\n }\n createApp(\n {\n components,\n tsSsgContext,\n },\n {\n element: document.body,\n },\n )\n appendEmbeddedScriptsToDom(runtimeEmbeds, tsSsgContext)\n options.onRendered?.(document)\n if (isDocument) {\n const documentHtml = document.documentElement?.outerHTML ?? ''\n return `<!DOCTYPE html>${documentHtml}`\n }\n return document.body?.innerHTML ?? ''\n } finally {\n componentRegistry.restore(snapshot)\n cleanup()\n }\n}\n\nfunction appendEmbeddedScriptsToDom(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n appendRuntimeScript(\n resolveTabsEmbedPosition(runtimeEmbeds, context),\n buildTabsScript,\n )\n appendRuntimeScript(\n resolveModalEmbedPosition(runtimeEmbeds, context),\n buildModalScript,\n )\n}\n\nfunction appendRuntimeScript(\n position: 'body' | 'head' | undefined,\n scriptBuilder: () => string,\n) {\n if (!position) return\n const targetParent = ensureScriptParent(position)\n if (!targetParent) return\n const script = document.createElement('script')\n script.textContent = scriptBuilder()\n targetParent.appendChild(script)\n}\n\nfunction ensureScriptParent(position: 'body' | 'head') {\n if (position === 'body') {\n return document.body\n }\n return document.head\n}\n\nfunction resolveTabsEmbedPosition(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n const runtimePosition = runtimeEmbeds.get('tabs')\n if (runtimePosition) return runtimePosition\n return context?.pageInfo?.frontmatter?.embed?.tabs\n}\n\nfunction resolveModalEmbedPosition(\n runtimeEmbeds: Map<string, 'body' | 'head'>,\n context: TsSsgContext,\n) {\n const runtimePosition = runtimeEmbeds.get('modal')\n if (runtimePosition) return runtimePosition\n return context?.pageInfo?.frontmatter?.embed?.modal\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purestack/ts-render",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "packageManager": "yarn@4.9.2",
5
5
  "module": "./dist/ts-render.mjs",
6
6
  "types": "./dist/ts-render.d.mts",
@@ -39,10 +39,10 @@
39
39
  "test": "vitest"
40
40
  },
41
41
  "dependencies": {
42
- "@purestack/ts-common": "^1.1.0",
43
- "@purestack/ts-minidom": "^1.1.0",
44
- "@purestack/ts-page-scripts": "^1.1.0",
45
- "@purestack/ts-util": "^1.1.0",
42
+ "@purestack/ts-common": "^1.1.2",
43
+ "@purestack/ts-minidom": "^1.1.2",
44
+ "@purestack/ts-page-scripts": "^1.1.2",
45
+ "@purestack/ts-util": "^1.1.2",
46
46
  "regor": "^1.7.3"
47
47
  }
48
48
  }