@zenithbuild/router 0.7.5 → 0.7.7

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": "@zenithbuild/router",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "description": "File-based SPA router for Zenith framework with deterministic, compile-time route resolution",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,5 +1,6 @@
1
- export function renderRouterNavigationSource() {
2
- return `async function requestRouteCheck(context, resolved, targetUrl, signal) {
1
+ export function renderRouterNavigationSource({ routeCheck = false, formsEnabled = true } = {}) {
2
+ const routeCheckSource = routeCheck
3
+ ? `async function requestRouteCheck(context, resolved, targetUrl, signal) {
3
4
  if (!__ZENITH_ROUTE_CHECK_ENABLED__) {
4
5
  return { kind: "allow" };
5
6
  }
@@ -79,7 +80,12 @@ export function renderRouterNavigationSource() {
79
80
  });
80
81
  return { kind: "allow" };
81
82
  }
82
- }
83
+ }`
84
+ : `async function requestRouteCheck() {
85
+ return { kind: "allow" };
86
+ }`;
87
+
88
+ return `${routeCheckSource}
83
89
 
84
90
  function resolveRedirectUrl(location, fallbackUrl) {
85
91
  try {
@@ -365,7 +371,7 @@ function start() {
365
371
  currentUrl = new URL(window.location.href);
366
372
  queueScrollSnapshot();
367
373
  });
368
- installEnhancedFormHandling();
374
+ ${formsEnabled ? " installEnhancedFormHandling();\n" : ""}
369
375
 
370
376
  document.addEventListener("click", function(event) {
371
377
  if (event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
package/template.js CHANGED
@@ -22,7 +22,7 @@ export function renderRouterModule(opts) {
22
22
  throw new Error('renderRouterModule(opts) requires an options object');
23
23
  }
24
24
 
25
- const { manifestJson, runtimeImport, coreImport, routeCheck = false } = opts;
25
+ const { manifestJson, runtimeImport, coreImport, routeCheck = false, formsEnabled = true } = opts;
26
26
  if (typeof manifestJson !== 'string' || manifestJson.length === 0) {
27
27
  throw new Error('renderRouterModule(opts) requires opts.manifestJson string');
28
28
  }
@@ -37,5 +37,5 @@ export function renderRouterModule(opts) {
37
37
  const runtimeSpec = sanitizeImportSpecifier(runtimeImport);
38
38
  const coreSpec = sanitizeImportSpecifier(coreImport);
39
39
 
40
- return `${renderRouterCoreSource({ manifest, runtimeSpec, coreSpec, routeCheck })}\n\n${renderRouterDocumentSource()}\n\n${renderRouterLifecycleSource()}\n\n${renderRouterRefreshSource()}\n\n${renderRouterNavigationSource()}\n\n${renderRouterFormSource()}\n`;
40
+ return `${renderRouterCoreSource({ manifest, runtimeSpec, coreSpec, routeCheck })}\n\n${renderRouterDocumentSource()}\n\n${renderRouterLifecycleSource()}\n\n${renderRouterRefreshSource()}\n\n${renderRouterNavigationSource({ routeCheck, formsEnabled })}${formsEnabled ? `\n\n${renderRouterFormSource()}` : ""}\n`;
41
41
  }