polen 0.11.0-next.4 → 0.11.0-next.6
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/template/routes/reference.d.ts.map +1 -1
- package/build/template/routes/reference.js +5 -3
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/sources/schema-source.d.ts.map +1 -1
- package/build/template/sources/schema-source.js +11 -2
- package/build/template/sources/schema-source.js.map +1 -1
- package/package.json +1 -1
- package/src/template/routes/reference.tsx +5 -3
- package/src/template/sources/schema-source.ts +14 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/template/routes/reference.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
1
|
+
{"version":3,"file":"reference.d.ts","sourceRoot":"","sources":["../../../src/template/routes/reference.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAoFnD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;CAKpB,CAAA"}
|
@@ -6,7 +6,6 @@ import { Box } from '@radix-ui/themes';
|
|
6
6
|
import { Outlet } from 'react-router';
|
7
7
|
import { MissingSchema } from '../components/MissingSchema.js';
|
8
8
|
import { VersionSelector } from '../components/VersionSelector.js';
|
9
|
-
import { useVersionPath } from '../hooks/useVersionPath.js';
|
10
9
|
import { SidebarLayout } from '../layouts/index.js';
|
11
10
|
import { VERSION_LATEST } from '../lib/schema-utils/constants.js';
|
12
11
|
import { schemaSource } from '../sources/schema-source.js';
|
@@ -34,8 +33,11 @@ const Component = () => {
|
|
34
33
|
const kindMap = GrafaidOld.getKindMap(data.schema);
|
35
34
|
const sidebarItems = [];
|
36
35
|
const kindEntries = Object.entries(kindMap.list).filter(([_, types]) => types.length > 0);
|
37
|
-
// Build path prefix based on current version
|
38
|
-
|
36
|
+
// Build path prefix based on current version from loader data
|
37
|
+
// This ensures sidebar links always match the current version being viewed
|
38
|
+
const versionPath = data.currentVersion === VERSION_LATEST
|
39
|
+
? ``
|
40
|
+
: `version/${data.currentVersion}/`;
|
39
41
|
for (const [title, types] of kindEntries) {
|
40
42
|
sidebarItems.push({
|
41
43
|
type: `ItemSection`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../src/template/routes/reference.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../src/template/routes/reference.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema-source.d.ts","sourceRoot":"","sources":["../../../src/template/sources/schema-source.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"schema-source.d.ts","sourceRoot":"","sources":["../../../src/template/sources/schema-source.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAIvB,CAAA"}
|
@@ -10,9 +10,18 @@ const io = import.meta.env.SSR
|
|
10
10
|
// Dynamic import to keep fs out of client bundle
|
11
11
|
const { readFile } = await import('node:fs/promises');
|
12
12
|
// Extract the path after the assets route
|
13
|
-
//
|
13
|
+
// The incoming path includes the base path from the client
|
14
|
+
// e.g., "/assets/schemas/latest.json" -> "schemas/latest.json" (no base path)
|
15
|
+
// e.g., "/demos/pokemon/assets/schemas/latest.json" -> "schemas/latest.json" (with base path)
|
16
|
+
const basePath = PROJECT_DATA.basePath;
|
14
17
|
const assetsRoute = PROJECT_DATA.server.routes.assets;
|
15
|
-
|
18
|
+
// Escape special regex characters in paths
|
19
|
+
const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
20
|
+
// Build precise pattern that accounts for base path
|
21
|
+
const pattern = basePath === '/' || basePath === ''
|
22
|
+
? `^${escapeRegex(assetsRoute)}/(.+)$`
|
23
|
+
: `^${escapeRegex(basePath)}${escapeRegex(assetsRoute)}/(.+)$`;
|
24
|
+
const routePattern = new RegExp(pattern);
|
16
25
|
const match = path.match(routePattern);
|
17
26
|
const assetPath = match ? match[1] : path;
|
18
27
|
// In SSR, we need to read from the correct location
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"schema-source.js","sourceRoot":"","sources":["../../../src/template/sources/schema-source.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,uBAAuB,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD,yCAAyC;AACzC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;IAC5B,CAAC,CAAC;QACA,oCAAoC;QACpC,IAAI,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAC3B,iDAAiD;YACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAErD,0CAA0C;YAC1C
|
1
|
+
{"version":3,"file":"schema-source.js","sourceRoot":"","sources":["../../../src/template/sources/schema-source.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -6,7 +6,6 @@ import { Box } from '@radix-ui/themes'
|
|
6
6
|
import { Outlet } from 'react-router'
|
7
7
|
import { MissingSchema } from '../components/MissingSchema.js'
|
8
8
|
import { VersionSelector } from '../components/VersionSelector.js'
|
9
|
-
import { useVersionPath } from '../hooks/useVersionPath.js'
|
10
9
|
import { SidebarLayout } from '../layouts/index.js'
|
11
10
|
import { VERSION_LATEST } from '../lib/schema-utils/constants.js'
|
12
11
|
import { schemaSource } from '../sources/schema-source.js'
|
@@ -42,8 +41,11 @@ const Component = () => {
|
|
42
41
|
const sidebarItems: Content.Item[] = []
|
43
42
|
const kindEntries = Object.entries(kindMap.list).filter(([_, types]) => types.length > 0)
|
44
43
|
|
45
|
-
// Build path prefix based on current version
|
46
|
-
|
44
|
+
// Build path prefix based on current version from loader data
|
45
|
+
// This ensures sidebar links always match the current version being viewed
|
46
|
+
const versionPath = data.currentVersion === VERSION_LATEST
|
47
|
+
? ``
|
48
|
+
: `version/${data.currentVersion}/`
|
47
49
|
|
48
50
|
for (const [title, types] of kindEntries) {
|
49
51
|
sidebarItems.push({
|
@@ -12,9 +12,21 @@ const io = import.meta.env.SSR
|
|
12
12
|
const { readFile } = await import('node:fs/promises')
|
13
13
|
|
14
14
|
// Extract the path after the assets route
|
15
|
-
//
|
15
|
+
// The incoming path includes the base path from the client
|
16
|
+
// e.g., "/assets/schemas/latest.json" -> "schemas/latest.json" (no base path)
|
17
|
+
// e.g., "/demos/pokemon/assets/schemas/latest.json" -> "schemas/latest.json" (with base path)
|
18
|
+
const basePath = PROJECT_DATA.basePath
|
16
19
|
const assetsRoute = PROJECT_DATA.server.routes.assets
|
17
|
-
|
20
|
+
|
21
|
+
// Escape special regex characters in paths
|
22
|
+
const escapeRegex = (str: string) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
23
|
+
|
24
|
+
// Build precise pattern that accounts for base path
|
25
|
+
const pattern = basePath === '/' || basePath === ''
|
26
|
+
? `^${escapeRegex(assetsRoute)}/(.+)$`
|
27
|
+
: `^${escapeRegex(basePath)}${escapeRegex(assetsRoute)}/(.+)$`
|
28
|
+
|
29
|
+
const routePattern = new RegExp(pattern)
|
18
30
|
const match = path.match(routePattern)
|
19
31
|
const assetPath = match ? match[1] : path
|
20
32
|
|