polen 0.10.0-next.13 → 0.10.0-next.14
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/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +11 -3
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +12 -10
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +6 -7
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +47 -7
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/lib/file-router/diagnostic-reporter.js +2 -2
- package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +23 -11
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +0 -5
- package/build/lib/graphql-document/positioning-simple.d.ts.map +1 -1
- package/build/lib/graphql-document/positioning-simple.js +78 -90
- package/build/lib/graphql-document/positioning-simple.js.map +1 -1
- package/build/lib/kit-temp.d.ts +103 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +236 -2
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +1 -8
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +48 -53
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
- package/build/package-paths.js +3 -3
- package/build/package-paths.js.map +1 -1
- package/build/template/components/Link.d.ts +1 -1
- package/build/template/components/Link.d.ts.map +1 -1
- package/build/template/components/Link.js +14 -5
- package/build/template/components/Link.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -3
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.js +8 -7
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
- package/build/template/components/sidebar/SidebarItem.js +2 -2
- package/build/template/entry.client.d.ts.map +1 -1
- package/build/template/entry.client.js +0 -3
- package/build/template/entry.client.js.map +1 -1
- package/build/template/hooks/useClientOnly.d.ts +9 -0
- package/build/template/hooks/useClientOnly.d.ts.map +1 -0
- package/build/template/hooks/useClientOnly.js +16 -0
- package/build/template/hooks/useClientOnly.js.map +1 -0
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.js +2 -150
- package/build/template/routes/root.js.map +1 -1
- package/build/template/server/app.d.ts +8 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +21 -21
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/create-page-html-response.d.ts +7 -0
- package/build/template/server/create-page-html-response.d.ts.map +1 -0
- package/build/template/server/{render-page.js → create-page-html-response.js} +11 -16
- package/build/template/server/create-page-html-response.js.map +1 -0
- package/build/template/server/main.js +2 -1
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/middleware/page.d.ts +4 -0
- package/build/template/server/middleware/page.d.ts.map +1 -0
- package/build/template/server/middleware/page.js +15 -0
- package/build/template/server/middleware/page.js.map +1 -0
- package/build/template/server/middleware/unsupported-assets.d.ts +10 -0
- package/build/template/server/middleware/unsupported-assets.d.ts.map +1 -0
- package/build/template/server/middleware/unsupported-assets.js +21 -0
- package/build/template/server/middleware/unsupported-assets.js.map +1 -0
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +33 -34
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/styles/code-block.css +218 -0
- package/package.json +3 -2
- package/src/api/singletons/markdown/markdown.test.ts +1 -1
- package/src/api/vite/plugins/build.ts +97 -89
- package/src/api/vite/plugins/core.ts +15 -10
- package/src/api/vite/plugins/pages.ts +9 -7
- package/src/api/vite/plugins/serve.ts +62 -9
- package/src/lib/file-router/diagnostic-reporter.ts +2 -2
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +23 -11
- package/src/lib/graphql-document/positioning-simple.test.ts +18 -22
- package/src/lib/graphql-document/positioning-simple.ts +97 -108
- package/src/lib/kit-temp.test.ts +15 -3
- package/src/lib/kit-temp.ts +304 -4
- package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +52 -58
- package/src/package-paths.ts +3 -3
- package/src/template/components/Link.tsx +20 -12
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -5
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +14 -7
- package/src/template/components/sidebar/SidebarItem.tsx +2 -2
- package/src/template/entry.client.tsx +0 -3
- package/src/template/hooks/useClientOnly.ts +21 -0
- package/src/template/routes/root.tsx +0 -159
- package/src/template/server/app.ts +33 -23
- package/src/template/server/{render-page.tsx → create-page-html-response.ts} +19 -16
- package/src/template/server/main.ts +2 -1
- package/src/template/server/middleware/page.ts +19 -0
- package/src/template/server/middleware/unsupported-assets.ts +25 -0
- package/src/template/server/ssg/generate.ts +68 -72
- package/build/template/server/render-page.d.ts +0 -3
- package/build/template/server/render-page.d.ts.map +0 -1
- package/build/template/server/render-page.js.map +0 -1
@@ -15,11 +15,9 @@ interface ReactiveDataOptions {
|
|
15
15
|
* - A reactive value directly
|
16
16
|
*/
|
17
17
|
data: ComputedRef<object | unknown[]> | (() => object | unknown[]) | object | unknown[];
|
18
|
-
/** Debounce updates (ms). If not set, uses process.nextTick for batching */
|
19
|
-
debounce?: number;
|
20
18
|
/**
|
21
19
|
* JSON codec to use (e.g., superjson)
|
22
|
-
* Default:
|
20
|
+
* Default: JSON
|
23
21
|
* Only used when includeJsonPlugin is true
|
24
22
|
*/
|
25
23
|
codec?: VitePluginJson.Codec;
|
@@ -28,11 +26,6 @@ interface ReactiveDataOptions {
|
|
28
26
|
@default 'reactive-data'
|
29
27
|
*/
|
30
28
|
name?: string;
|
31
|
-
/**
|
32
|
-
* Module type to return. Default: 'json'
|
33
|
-
* Use 'superjson' to avoid conflicts with built-in JSON plugin
|
34
|
-
*/
|
35
|
-
moduleType?: string;
|
36
29
|
}
|
37
30
|
export declare const create: (options: ReactiveDataOptions) => Plugin;
|
38
31
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vite-plugin-reactive-data.d.ts","sourceRoot":"","sources":["../../../src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"vite-plugin-reactive-data.d.ts","sourceRoot":"","sources":["../../../src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAA;AAEjD,UAAU,mBAAmB;IAC3B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAA;IACvF;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK,CAAA;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAID,eAAO,MAAM,MAAM,GAAI,SAAS,mBAAmB,KAAG,MA0FrD,CAAA"}
|
@@ -1,43 +1,41 @@
|
|
1
|
-
import { ensureEnd } from '#lib/kit-temp';
|
2
1
|
import { VitePluginJson } from '#lib/vite-plugin-json/index';
|
3
|
-
import {
|
2
|
+
import { debugPolen } from '#singletons/debug';
|
4
3
|
import { effect, isRef } from '@vue/reactivity';
|
5
|
-
|
6
|
-
const debug = Debug.create('vite-plugin-reactive-data');
|
4
|
+
const pluginDebug = debugPolen.sub('vite-reactive-data');
|
7
5
|
export const create = (options) => {
|
8
|
-
const codec = options.codec ??
|
9
|
-
const
|
10
|
-
const moduleId = ensureEnd(options.moduleId, `.${moduleType}`);
|
6
|
+
const codec = options.codec ?? JSON;
|
7
|
+
const moduleId = options.moduleId;
|
11
8
|
const name = options.name ?? `reactive-data`;
|
12
|
-
|
13
|
-
|
14
|
-
let
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
if (
|
20
|
-
|
21
|
-
const moduleNode = server.moduleGraph.getModuleById(moduleId);
|
9
|
+
const debug = pluginDebug.sub(name);
|
10
|
+
debug('constructor', { moduleId });
|
11
|
+
let $server;
|
12
|
+
let $invalidationScheduled = false;
|
13
|
+
const tryInvalidate = () => {
|
14
|
+
$invalidationScheduled = false;
|
15
|
+
// updateTimer = undefined
|
16
|
+
if (!$server)
|
17
|
+
throw new Error('Server not available yet - this should be impossible');
|
18
|
+
const moduleNode = $server.moduleGraph.getModuleById(moduleId);
|
22
19
|
if (moduleNode) {
|
23
|
-
|
24
|
-
|
25
|
-
};
|
26
|
-
const scheduleUpdate = () => {
|
27
|
-
if (options.debounce) {
|
28
|
-
// User wants actual debouncing for rapid updates
|
29
|
-
if (updateTimer)
|
30
|
-
clearTimeout(updateTimer);
|
31
|
-
updateTimer = setTimeout(doUpdate, options.debounce);
|
20
|
+
debug('invalidate', { id: moduleNode.id });
|
21
|
+
$server.moduleGraph.invalidateModule(moduleNode);
|
32
22
|
}
|
33
23
|
else {
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
24
|
+
debug('cannot invalidate', {
|
25
|
+
reason: 'notInModuleGraph',
|
26
|
+
moduleId,
|
27
|
+
hint: 'maybe it was not loaded yet',
|
28
|
+
});
|
39
29
|
}
|
40
30
|
};
|
31
|
+
const scheduleInvalidate = () => {
|
32
|
+
if ($invalidationScheduled)
|
33
|
+
return; // already scheduled
|
34
|
+
$invalidationScheduled = true;
|
35
|
+
if (!$server)
|
36
|
+
return; // server will flush when ready
|
37
|
+
tryInvalidate();
|
38
|
+
};
|
41
39
|
// Helper to get the current data value
|
42
40
|
const getData = () => {
|
43
41
|
if (isRef(options.data)) {
|
@@ -54,38 +52,35 @@ export const create = (options) => {
|
|
54
52
|
effect(() => {
|
55
53
|
// Access data to track dependencies
|
56
54
|
const data = getData();
|
57
|
-
debug('
|
58
|
-
|
59
|
-
if (server) {
|
60
|
-
scheduleUpdate();
|
61
|
-
}
|
55
|
+
debug('effect triggered', { data });
|
56
|
+
scheduleInvalidate();
|
62
57
|
});
|
63
58
|
return {
|
64
59
|
name,
|
65
60
|
configureServer(_server) {
|
66
|
-
|
67
|
-
|
68
|
-
|
61
|
+
debug('hook configureServer');
|
62
|
+
$server = _server;
|
63
|
+
if ($invalidationScheduled) {
|
64
|
+
debug('try invalidate scheduled before server was ready');
|
65
|
+
tryInvalidate();
|
66
|
+
}
|
69
67
|
},
|
70
68
|
resolveId(id) {
|
71
69
|
if (id === moduleId) {
|
72
70
|
return moduleId;
|
73
71
|
}
|
74
72
|
},
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
// Return just the raw JSON string - let the JSON plugin handle the transformation
|
87
|
-
return codec.stringify(data);
|
88
|
-
},
|
73
|
+
// todo make use of Vite's builtin json plugin
|
74
|
+
// for example, call it here somehow
|
75
|
+
load(id) {
|
76
|
+
if (id !== moduleId)
|
77
|
+
return;
|
78
|
+
const data = getData();
|
79
|
+
debug('hook load', { data });
|
80
|
+
return {
|
81
|
+
code: codec.stringify(data),
|
82
|
+
map: null,
|
83
|
+
};
|
89
84
|
},
|
90
85
|
};
|
91
86
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vite-plugin-reactive-data.js","sourceRoot":"","sources":["../../../src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"vite-plugin-reactive-data.js","sourceRoot":"","sources":["../../../src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts"],"names":[],"mappings":"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"}
|
package/build/package-paths.js
CHANGED
@@ -22,11 +22,11 @@ export const packagePaths = {
|
|
22
22
|
template: {
|
23
23
|
rootDir: templateDir,
|
24
24
|
server: {
|
25
|
-
app: Path.join(templateDir, `server/app
|
26
|
-
entrypoint: Path.join(templateDir, `server/main
|
25
|
+
app: Path.join(templateDir, `server/app${sourceKind}`),
|
26
|
+
entrypoint: Path.join(templateDir, `server/main${sourceKind}`),
|
27
27
|
},
|
28
28
|
client: {
|
29
|
-
entrypoint: Path.join(templateDir, `entry.client
|
29
|
+
entrypoint: Path.join(templateDir, `entry.client${isRunningFromSource ? `.tsx` : `.js`}`),
|
30
30
|
},
|
31
31
|
},
|
32
32
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"package-paths.js","sourceRoot":"","sources":["../src/package-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAwBtC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAEnC;;GAEG;AACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;AACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAE1C,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAEpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,mBAAmB;IACnB,MAAM,EAAE;QACN,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,mBAAmB;KAC3B;IACD,eAAe,EAAE,UAAU;IAC3B,OAAO,EAAE,OAAO;IAChB,SAAS;IACT,QAAQ,EAAE;QACR,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,
|
1
|
+
{"version":3,"file":"package-paths.js","sourceRoot":"","sources":["../src/package-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAwBtC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,mBAAmB,GAAG,OAAO,CAAA;AAEnC;;GAEG;AACH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;AACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAE1C,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAEpE,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAEtD,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,mBAAmB;IACnB,MAAM,EAAE;QACN,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,mBAAmB;KAC3B;IACD,eAAe,EAAE,UAAU;IAC3B,OAAO,EAAE,OAAO;IAChB,SAAS;IACT,QAAQ,EAAE;QACR,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE;YACN,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,UAAU,EAAE,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,UAAU,EAAE,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SAC1F;KACF;CACF,CAAA"}
|
@@ -5,7 +5,7 @@ export declare const Link: FC<LinkPropsReactRouter & Omit<LinkPropsRadix, 'asChi
|
|
5
5
|
export interface PathActiveReport {
|
6
6
|
is: boolean;
|
7
7
|
isDirect: boolean;
|
8
|
-
|
8
|
+
isDescendant: boolean;
|
9
9
|
}
|
10
10
|
export declare const getPathActiveReport: (pathExp: string, currentPathExp: string) => PathActiveReport;
|
11
11
|
//# sourceMappingURL=Link.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/template/components/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/template/components/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAKrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAgBrD,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAyB3E,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,gBAAgB,MAAM,KACrB,gBAeF,CAAA"}
|
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Link as LinkReactRouter, useLocation } from 'react-router';
|
3
3
|
// todo: #lib/kit-temp does not work as import
|
4
4
|
import { ObjPartition } from "../../lib/kit-temp.js";
|
5
|
+
import { useClientOnly } from "../hooks/useClientOnly.js";
|
5
6
|
import { LinkRadix } from "./RadixLink.js";
|
6
7
|
const reactRouterPropKeys = [
|
7
8
|
'discover',
|
@@ -18,22 +19,30 @@ const reactRouterPropKeys = [
|
|
18
19
|
export const Link = props => {
|
19
20
|
const location = useLocation();
|
20
21
|
const toPathExp = typeof props.to === 'string' ? props.to : props.to.pathname || '';
|
21
|
-
const active = getPathActiveReport(toPathExp, location.pathname);
|
22
|
+
const active = useClientOnly(() => getPathActiveReport(toPathExp, location.pathname), { is: false, isDirect: false, isDescendant: false });
|
22
23
|
const { picked: reactRouterProps, omitted: radixProps } = ObjPartition(props, reactRouterPropKeys);
|
23
|
-
|
24
|
+
// Only add data attributes if they're true
|
25
|
+
const linkRadixProps = {
|
26
|
+
...radixProps,
|
27
|
+
asChild: true,
|
28
|
+
...(active.is && { 'data-active': true }),
|
29
|
+
...(active.isDirect && { 'data-active-direct': true }),
|
30
|
+
...(active.isDescendant && { 'data-active-descendant': true }),
|
31
|
+
};
|
32
|
+
return (_jsx(LinkRadix, { ...linkRadixProps, children: _jsx(LinkReactRouter, { ...reactRouterProps }) }));
|
24
33
|
};
|
25
34
|
export const getPathActiveReport = (pathExp, currentPathExp) => {
|
26
35
|
// Normalize both paths for comparison
|
27
36
|
const normalizedPath = pathExp.startsWith('/') ? pathExp.slice(1) : pathExp;
|
28
37
|
const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp;
|
29
38
|
const isDirect = normalizedCurrentPath === normalizedPath;
|
30
|
-
const
|
39
|
+
const isDescendant = normalizedCurrentPath.startsWith(normalizedPath + '/')
|
31
40
|
&& normalizedCurrentPath !== normalizedPath;
|
32
|
-
const is = isDirect ||
|
41
|
+
const is = isDirect || isDescendant;
|
33
42
|
return {
|
34
43
|
is,
|
35
44
|
isDirect,
|
36
|
-
|
45
|
+
isDescendant,
|
37
46
|
};
|
38
47
|
};
|
39
48
|
//# sourceMappingURL=Link.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../src/template/components/Link.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnE,8CAA8C;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../src/template/components/Link.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACnE,8CAA8C;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAA;AAE3C,MAAM,mBAAmB,GAAG;IAC1B,UAAU;IACV,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,OAAO;IACP,oBAAoB;IACpB,UAAU;IACV,IAAI;IACJ,gBAAgB;IAChB,UAAU;CACF,CAAA;AAEV,MAAM,CAAC,MAAM,IAAI,GAA+D,KAAK,CAAC,EAAE;IACtF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAA;IAEnF,MAAM,MAAM,GAAG,aAAa,CAC1B,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EACvD,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CACpD,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAA;IAElG,2CAA2C;IAC3C,MAAM,cAAc,GAAG;QACrB,GAAG,UAAU;QACb,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;KAC/D,CAAA;IAED,OAAO,CACL,KAAC,SAAS,OAAK,cAAc,YAC3B,KAAC,eAAe,OAAK,gBAAgB,GAAI,GAC/B,CACb,CAAA;AACH,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAe,EACf,cAAsB,EACJ,EAAE;IACpB,sCAAsC;IACtC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3E,MAAM,qBAAqB,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;IAEvG,MAAM,QAAQ,GAAG,qBAAqB,KAAK,cAAc,CAAA;IACzD,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,CAAC,cAAc,GAAG,GAAG,CAAC;WACtE,qBAAqB,KAAK,cAAc,CAAA;IAC7C,MAAM,EAAE,GAAG,QAAQ,IAAI,YAAY,CAAA;IAEnC,OAAO;QACL,EAAE;QACF,QAAQ;QACR,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GraphQLDocumentWithSchema.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"GraphQLDocumentWithSchema.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAExG;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAGpF,CAAA"}
|
@@ -8,9 +8,6 @@ import { GraphQLDocument } from "../../../lib/graphql-document/components/GraphQ
|
|
8
8
|
*/
|
9
9
|
export const GraphQLDocumentWithSchema = (props) => {
|
10
10
|
const schema = PROJECT_DATA.schema?.versions[0]?.after;
|
11
|
-
console.log('Template wrapper - schema:', schema ? 'EXISTS' : 'UNDEFINED');
|
12
|
-
console.log('Template wrapper - props:', props);
|
13
|
-
console.log('Template wrapper - PROJECT_DATA.schema:', PROJECT_DATA.schema);
|
14
11
|
return _jsx(GraphQLDocument, { ...props, schema: schema });
|
15
12
|
};
|
16
13
|
//# sourceMappingURL=GraphQLDocumentWithSchema.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GraphQLDocumentWithSchema.js","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"GraphQLDocumentWithSchema.js","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWithSchema.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA8D,CAAA;AAG9F;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAmD,CAAC,KAAK,EAAE,EAAE;IACjG,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;IACtD,OAAO,KAAC,eAAe,OAAK,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAAA;AACvD,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GraphQLDocumentWrapper.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAGxG;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,
|
1
|
+
{"version":3,"file":"GraphQLDocumentWrapper.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAA;AAGxG;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CA+EpF,CAAA"}
|
@@ -21,19 +21,20 @@ export const GraphQLDocumentWithSchema = (props) => {
|
|
21
21
|
theme: 'light', // You can make this dynamic based on theme
|
22
22
|
}).then(html => {
|
23
23
|
setHighlightedHtml(html);
|
24
|
-
}).catch(
|
25
|
-
|
24
|
+
}).catch(() => {
|
25
|
+
// Silently fall back to unhighlighted code
|
26
26
|
});
|
27
27
|
}
|
28
28
|
// Access virtual module only on client side
|
29
29
|
if (typeof window !== 'undefined') {
|
30
30
|
import('virtual:polen/project/data.jsonsuper').then(PROJECT_DATA => {
|
31
31
|
const s = PROJECT_DATA.default?.schema?.versions?.[0]?.after;
|
32
|
+
// Schema loaded successfully
|
32
33
|
if (s) {
|
33
34
|
setSchema(s);
|
34
35
|
}
|
35
|
-
}).catch(
|
36
|
-
|
36
|
+
}).catch(() => {
|
37
|
+
// Schema loading is optional - continue without it
|
37
38
|
});
|
38
39
|
}
|
39
40
|
}, [props.children]);
|
@@ -49,14 +50,14 @@ export const GraphQLDocumentWithSchema = (props) => {
|
|
49
50
|
}
|
50
51
|
};
|
51
52
|
return (_jsx("div", { "data-testid": 'graphql-document', children: _jsx(GraphQLDocument, { ...props, schema: schema, highlightedHtml: highlightedHtml || undefined, options: {
|
53
|
+
debug: false, // Default to false for shipping
|
52
54
|
...props.options,
|
53
55
|
onNavigate: handleNavigate,
|
54
|
-
debug: false, // Disable debug mode for shipping
|
55
56
|
} }) }));
|
56
57
|
}
|
57
58
|
catch (err) {
|
58
|
-
|
59
|
-
return _jsx("div", { children: "
|
59
|
+
// Fall back to plain code block on error
|
60
|
+
return (_jsx("div", { "data-testid": 'graphql-document', className: 'graphql-document graphql-document-static', children: _jsx("pre", { className: 'shiki', children: _jsx("code", { className: "language-graphql", children: props.children }) }) }));
|
60
61
|
}
|
61
62
|
};
|
62
63
|
//# sourceMappingURL=GraphQLDocumentWrapper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GraphQLDocumentWrapper.js","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA8D,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAmD,CAAC,KAAK,EAAE,EAAE;IACjG,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAM,IAAI,CAAC,CAAA;QACrD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACrD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAA;QAEjF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC,CAAA;YAEjB,qBAAqB;YACrB,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACvC,aAAa,CAAC;oBACZ,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,OAAO,EAAE,2CAA2C;iBAC5D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACb,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,
|
1
|
+
{"version":3,"file":"GraphQLDocumentWrapper.js","sourceRoot":"","sources":["../../../../src/template/components/content/GraphQLDocumentWrapper.tsx"],"names":[],"mappings":"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"}
|
@@ -37,7 +37,7 @@ const SBLink = ({ link }) => {
|
|
37
37
|
display: `block`,
|
38
38
|
textDecoration: `none`,
|
39
39
|
color: active.is ? `var(--accent-12)` : undefined,
|
40
|
-
backgroundColor: active.isDirect ? `var(--accent-2)` : active.
|
40
|
+
backgroundColor: active.isDirect ? `var(--accent-2)` : active.isDescendant ? `var(--accent-1)` : `transparent`,
|
41
41
|
borderRadius: `var(--radius-2)`,
|
42
42
|
}, children: _jsx(Box, { py: '2', px: '4', children: link.title }) }));
|
43
43
|
};
|
@@ -69,7 +69,7 @@ const SectionLink = ({ link }) => {
|
|
69
69
|
return (_jsx(Link, { role: 'Sidebar Link', to: '/' + link.pathExp, color: active.is ? `iris` : `gray`, style: {
|
70
70
|
textDecoration: `none`,
|
71
71
|
color: active.is ? `var(--accent-12)` : undefined,
|
72
|
-
backgroundColor: active.isDirect ? `var(--accent-2)` : active.
|
72
|
+
backgroundColor: active.isDirect ? `var(--accent-2)` : active.isDescendant ? `var(--accent-1)` : `transparent`,
|
73
73
|
borderBottomRightRadius: `var(--radius-2)`,
|
74
74
|
borderTopRightRadius: `var(--radius-2)`,
|
75
75
|
}, children: _jsx(Box, { py: '2', px: '4', children: link.title }) }));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"entry.client.d.ts","sourceRoot":"","sources":["../../src/template/entry.client.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"entry.client.d.ts","sourceRoot":"","sources":["../../src/template/entry.client.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAA;AACpC,OAAO,yBAAyB,CAAA"}
|
@@ -1,7 +1,4 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
-
// TODO it seems more logical to have this asset imported in the server entry.
|
3
|
-
// But then, we won't get it from the client manifest. But we could get it from the server manifest. Should we do that?
|
4
|
-
// But then, that wouldn't work for SPA. Does that matter? Just put a conditional here e.g. if (import.meta.env.PROD) ...?
|
5
2
|
import '@radix-ui/themes/styles.css';
|
6
3
|
import './styles/code-block.css';
|
7
4
|
import { ReactDomClient } from '#dep/react-dom-client/index';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"entry.client.js","sourceRoot":"","sources":["../../src/template/entry.client.tsx"],"names":[],"mappings":";AAAA,
|
1
|
+
{"version":3,"file":"entry.client.js","sourceRoot":"","sources":["../../src/template/entry.client.tsx"],"names":[],"mappings":";AAAA,OAAO,6BAA6B,CAAA;AACpC,OAAO,yBAAyB,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAc,CAAA;AAErC,MAAM;AAEN,6CAA6C;AAE7C,+BAA+B;AAC/B,wCAAwC;AACxC,IAAI;AAEJ,MAAM;AAEN,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;IACzC,aAAa,EAAE,MAAM,CAAC,2BAA2B;IACjD,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA;AAEF,cAAc,CAAC,WAAW,CACxB,QAAQ,EACR,CACE,KAAC,UAAU,cACT,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,GAAI,GACvB,CACd,CACF,CAAA"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Hook that returns a server value during SSR and switches to client value after hydration
|
3
|
+
*
|
4
|
+
* @param clientValue - Function that returns the value to use on the client
|
5
|
+
* @param serverValue - Value to use during SSR
|
6
|
+
* @returns The appropriate value based on rendering context
|
7
|
+
*/
|
8
|
+
export declare function useClientOnly<T>(clientValue: () => T, serverValue: T): T;
|
9
|
+
//# sourceMappingURL=useClientOnly.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useClientOnly.d.ts","sourceRoot":"","sources":["../../../src/template/hooks/useClientOnly.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,WAAW,EAAE,MAAM,CAAC,EACpB,WAAW,EAAE,CAAC,GACb,CAAC,CAQH"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useEffect, useState } from 'react';
|
2
|
+
/**
|
3
|
+
* Hook that returns a server value during SSR and switches to client value after hydration
|
4
|
+
*
|
5
|
+
* @param clientValue - Function that returns the value to use on the client
|
6
|
+
* @param serverValue - Value to use during SSR
|
7
|
+
* @returns The appropriate value based on rendering context
|
8
|
+
*/
|
9
|
+
export function useClientOnly(clientValue, serverValue) {
|
10
|
+
const [value, setValue] = useState(serverValue);
|
11
|
+
useEffect(() => {
|
12
|
+
setValue(clientValue());
|
13
|
+
}, []);
|
14
|
+
return value;
|
15
|
+
}
|
16
|
+
//# sourceMappingURL=useClientOnly.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useClientOnly.js","sourceRoot":"","sources":["../../../src/template/hooks/useClientOnly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,WAAoB,EACpB,WAAc;IAEd,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,WAAW,CAAC,CAAA;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;IACzB,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,KAAK,CAAA;AACd,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/template/routes/root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/template/routes/root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AA4B1D,eAAO,MAAM,SAAS,+CA0BrB,CAAA;AAuLD,eAAO,MAAM,IAAI;;;;CAIf,CAAA"}
|