@mohasinac/appkit 4.31.0 → 4.31.1

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.
@@ -32,3 +32,9 @@ export { UnauthorizedView } from "./components/UnauthorizedView";
32
32
  export type { UnauthorizedViewProps } from "./components/UnauthorizedView";
33
33
  export { ErrorBoundary } from "./ErrorBoundary";
34
34
  export type { ErrorBoundaryProps } from "./ErrorBoundary";
35
+ export { navItemId } from "../_internal/shared/features/layout/types";
36
+ export { matchesNavQuery } from "../_internal/shared/features/layout/matchesNavQuery";
37
+ export { buildActionIndexBase, deriveNavEntries, deriveQuickActionEntries, } from "../features/search/action-index/derive";
38
+ export { deriveSettingsEntries } from "../features/search/action-index/settings-entries";
39
+ export { mergeActionIndex, projectActionIndexForViewer, } from "../features/search/action-index/types";
40
+ export type { ActionIndexEntry, ActionIndexControl, ActionIndexOverride, } from "../features/search/action-index/types";
@@ -27,3 +27,39 @@ export { ErrorView } from "./components/ErrorView";
27
27
  export { NotFoundView } from "./components/NotFoundView";
28
28
  export { UnauthorizedView } from "./components/UnauthorizedView";
29
29
  export { ErrorBoundary } from "./ErrorBoundary";
30
+ /*
31
+ * Pure, isomorphic nav helpers — deliberately re-exported HERE as well as from
32
+ * the main and client entries.
33
+ *
34
+ * 🛑 `src/constants/navigation.tsx` CALLS `navItemId()` at module scope and is
35
+ * imported by BOTH server code (the locale and store layouts, the action index)
36
+ * and client code (every sidebar). That leaves it nowhere to import from:
37
+ *
38
+ * - `@mohasinac/appkit/client` is `"use client"`, so on the server the binding
39
+ * is a client-reference proxy and calling it throws (Root Cause #76). It did
40
+ * — "Attempted to call navItemId() from the server" failed the Vercel build.
41
+ * - the bare `@mohasinac/appkit` entry then trips
42
+ * `audit-client-server-only-leak` on all 57 client components that reach
43
+ * navigation.tsx transitively (Root Cause #6).
44
+ *
45
+ * The two audits pull in opposite directions, and both are right. `./next` is
46
+ * the third door: not `"use client"`, and not a path to firebase-admin — so it
47
+ * satisfies both. This is the same reasoning that keeps `/ui` and `/tokens`
48
+ * separate entries.
49
+ */
50
+ export { navItemId } from "../_internal/shared/features/layout/types";
51
+ export { matchesNavQuery } from "../_internal/shared/features/layout/matchesNavQuery";
52
+ /*
53
+ * The action-index derivation — same reasoning as the nav helpers above.
54
+ *
55
+ * `src/constants/action-index.ts` calls `buildActionIndexBase()` at module
56
+ * scope and is imported by `GET /api/action-index` (a server route) as well as
57
+ * by `LayoutShellClient` (a client component). Neither the `"use client"` entry
58
+ * nor the bare one works for both; `./next` does.
59
+ *
60
+ * Found by `audit-client-entry-in-server`'s R2 the first time it ran — the same
61
+ * defect as navItemId, one file over, and the next build failure in line.
62
+ */
63
+ export { buildActionIndexBase, deriveNavEntries, deriveQuickActionEntries, } from "../features/search/action-index/derive";
64
+ export { deriveSettingsEntries } from "../features/search/action-index/settings-entries";
65
+ export { mergeActionIndex, projectActionIndexForViewer, } from "../features/search/action-index/types";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mohasinac/appkit",
3
- "version": "4.31.0",
3
+ "version": "4.31.1",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"