polen 0.8.0 → 0.8.1-next.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.
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +16 -5
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/lib/file-router/scan-tree.d.ts +2 -2
- package/build/lib/tree/index.d.ts +2 -2
- package/build/lib/tree/index.js +1 -1
- package/build/template/components/Sidebar.jsx +9 -5
- package/build/template/components/Sidebar.jsx.map +1 -1
- package/package.json +1 -1
- package/src/api/vite/plugins/core.ts +17 -5
- package/src/lib/file-router/linter.test.ts +2 -2
- package/src/lib/file-router/scan-tree.test.ts +1 -1
- package/src/lib/file-router/scan-tree.ts +2 -2
- package/src/lib/tree/index.ts +2 -2
- package/src/lib/tree/tree.test.ts +1 -1
- package/src/template/components/Sidebar.tsx +9 -5
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAsB3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,YAAY,
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAsB3C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,YAAY,EAkR7D,CAAA"}
|
@@ -185,14 +185,24 @@ export const Core = (config) => {
|
|
185
185
|
// Process first-level children as navigation items
|
186
186
|
for (const child of routeTree.children) {
|
187
187
|
if (child.value.type === 'directory') {
|
188
|
-
|
189
|
-
const
|
190
|
-
|
188
|
+
// Check if this directory has an index file
|
189
|
+
const hasIndex = child.children.some(c => c.value.type === 'file' && c.value.name === 'index');
|
190
|
+
if (hasIndex) {
|
191
|
+
const pathExp = FileRouter.pathToExpression([child.value.name]);
|
192
|
+
const title = Str.titlizeSlug(child.value.name);
|
193
|
+
siteNavigationItems.push({
|
194
|
+
pathExp: pathExp.startsWith('/') ? pathExp.slice(1) : pathExp,
|
195
|
+
title,
|
196
|
+
});
|
197
|
+
}
|
191
198
|
}
|
192
199
|
else if (child.value.type === 'file' && child.value.name !== 'index') {
|
193
200
|
const pathExp = FileRouter.pathToExpression([child.value.name]);
|
194
201
|
const title = Str.titlizeSlug(child.value.name);
|
195
|
-
siteNavigationItems.push({
|
202
|
+
siteNavigationItems.push({
|
203
|
+
pathExp: pathExp.startsWith('/') ? pathExp.slice(1) : pathExp,
|
204
|
+
title,
|
205
|
+
});
|
196
206
|
}
|
197
207
|
}
|
198
208
|
// ━ Schema presence causes adding some navbar items
|
@@ -212,7 +222,8 @@ export const Core = (config) => {
|
|
212
222
|
const pathExp = `/${child.value.name}`;
|
213
223
|
// Create a subtree starting from this directory
|
214
224
|
const subtree = Tree.node(child.value, child.children);
|
215
|
-
|
225
|
+
// Pass the directory name as base path so paths are built correctly
|
226
|
+
const sidebar = FileRouter.Sidebar.buildFromTree(subtree, [child.value.name]);
|
216
227
|
_debug(`Built sidebar for ${pathExp}:`, sidebar);
|
217
228
|
sidebarIndex[pathExp] = sidebar;
|
218
229
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { type TreeNode } from '#lib/tree/index';
|
2
|
-
import type { Diagnostic } from './linter.
|
3
|
-
import type { Route } from './route.
|
2
|
+
import type { Diagnostic } from './linter.ts';
|
3
|
+
import type { Route } from './route.ts';
|
4
4
|
export type RouteTreeNodeType = 'directory' | 'file';
|
5
5
|
export interface RouteTreeNodeValue {
|
6
6
|
name: string;
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export * as Tree from './tree.
|
2
|
-
export type { TreeMapper, TreeNode, TreePredicate, TreeVisitor } from './tree.
|
1
|
+
export * as Tree from './tree.ts';
|
2
|
+
export type { TreeMapper, TreeNode, TreePredicate, TreeVisitor } from './tree.ts';
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/build/lib/tree/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * as Tree from
|
1
|
+
export * as Tree from "./tree.js";
|
2
2
|
//# sourceMappingURL=index.js.map
|
@@ -24,8 +24,10 @@ const SidebarItemComponent = ({ item, currentPathExp, level = 0 }) => {
|
|
24
24
|
return <SidebarSectionItem section={item} currentPathExp={currentPathExp} level={level}/>;
|
25
25
|
};
|
26
26
|
const SidebarNavItem = ({ nav, currentPathExp, level }) => {
|
27
|
-
|
28
|
-
|
27
|
+
// Normalize paths for comparison - remove leading slash if present
|
28
|
+
const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp;
|
29
|
+
const isActive = normalizedCurrentPath === nav.pathExp;
|
30
|
+
return (<Link to={`/${nav.pathExp}`} style={{
|
29
31
|
textDecoration: `none`,
|
30
32
|
color: isActive ? `var(--accent-11)` : `var(--gray-12)`,
|
31
33
|
padding: `var(--space-2) var(--space-3)`,
|
@@ -50,8 +52,10 @@ const SidebarNavItem = ({ nav, currentPathExp, level }) => {
|
|
50
52
|
};
|
51
53
|
const SidebarSectionItem = ({ section, currentPathExp, level }) => {
|
52
54
|
const [isExpanded, setIsExpanded] = useState(true);
|
53
|
-
|
54
|
-
const
|
55
|
+
// Normalize paths for comparison - remove leading slash if present
|
56
|
+
const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp;
|
57
|
+
const isDirectlyActive = normalizedCurrentPath === section.pathExp;
|
58
|
+
const hasActiveChild = section.navs.some(nav => normalizedCurrentPath === nav.pathExp);
|
55
59
|
const isActiveGroup = isDirectlyActive || hasActiveChild;
|
56
60
|
return (<>
|
57
61
|
<Flex align='center' style={{
|
@@ -84,7 +88,7 @@ const SidebarSectionItem = ({ section, currentPathExp, level }) => {
|
|
84
88
|
{isExpanded ? <ChevronDownIcon /> : <ChevronRightIcon />}
|
85
89
|
</Box>
|
86
90
|
{section.isNavToo
|
87
|
-
? (<Link to={section.pathExp} style={{
|
91
|
+
? (<Link to={`/${section.pathExp}`} style={{
|
88
92
|
textDecoration: `none`,
|
89
93
|
color: isDirectlyActive ? `var(--accent-11)` : `var(--gray-12)`,
|
90
94
|
flex: 1,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Sidebar.jsx","sourceRoot":"","sources":["../../../src/template/components/Sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAMhD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,CACL,CAAC,GAAG,CACF,WAAW,CAAC,SAAS,CACrB,KAAK,CAAC,CAAC;YACL,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,yBAAyB;YACtC,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,gBAAgB;SAC/B,CAAC,CAEF;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAC9B;QAAA,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,CAAC,oBAAoB,CACnB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAClB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAClC,CACH,CAAC,CACJ;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAA;AAQD,MAAM,oBAAoB,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,GAAG,CAAC,EAA6B,EAAE,EAAE;IAC9F,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAG,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAG,CAAA;AAC5F,CAAC,CAAA;AAQD,MAAM,cAAc,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAuB,EAAE,EAAE;IAC7E,MAAM,
|
1
|
+
{"version":3,"file":"Sidebar.jsx","sourceRoot":"","sources":["../../../src/template/components/Sidebar.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -217,13 +217,24 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
217
217
|
// Process first-level children as navigation items
|
218
218
|
for (const child of routeTree.children) {
|
219
219
|
if (child.value.type === 'directory') {
|
220
|
-
|
221
|
-
const
|
222
|
-
|
220
|
+
// Check if this directory has an index file
|
221
|
+
const hasIndex = child.children.some(c => c.value.type === 'file' && c.value.name === 'index')
|
222
|
+
|
223
|
+
if (hasIndex) {
|
224
|
+
const pathExp = FileRouter.pathToExpression([child.value.name])
|
225
|
+
const title = Str.titlizeSlug(child.value.name)
|
226
|
+
siteNavigationItems.push({
|
227
|
+
pathExp: pathExp.startsWith('/') ? pathExp.slice(1) : pathExp,
|
228
|
+
title,
|
229
|
+
})
|
230
|
+
}
|
223
231
|
} else if (child.value.type === 'file' && child.value.name !== 'index') {
|
224
232
|
const pathExp = FileRouter.pathToExpression([child.value.name])
|
225
233
|
const title = Str.titlizeSlug(child.value.name)
|
226
|
-
siteNavigationItems.push({
|
234
|
+
siteNavigationItems.push({
|
235
|
+
pathExp: pathExp.startsWith('/') ? pathExp.slice(1) : pathExp,
|
236
|
+
title,
|
237
|
+
})
|
227
238
|
}
|
228
239
|
}
|
229
240
|
|
@@ -247,7 +258,8 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
247
258
|
const pathExp = `/${child.value.name}`
|
248
259
|
// Create a subtree starting from this directory
|
249
260
|
const subtree = Tree.node(child.value, child.children)
|
250
|
-
|
261
|
+
// Pass the directory name as base path so paths are built correctly
|
262
|
+
const sidebar = FileRouter.Sidebar.buildFromTree(subtree, [child.value.name])
|
251
263
|
_debug(`Built sidebar for ${pathExp}:`, sidebar)
|
252
264
|
sidebarIndex[pathExp] = sidebar
|
253
265
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { describe, expect, test } from 'vitest'
|
2
|
-
import { lint } from './linter.
|
3
|
-
import type { Route } from './route.
|
2
|
+
import { lint } from './linter.ts'
|
3
|
+
import type { Route } from './route.ts'
|
4
4
|
|
5
5
|
const createRoute = (path: string[], order?: number, isIndex = false): Route => {
|
6
6
|
const name = isIndex ? 'index' : path[path.length - 1]!
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Tree } from '#lib/tree/index'
|
2
2
|
import { describe, expect, test } from 'vitest'
|
3
|
-
import type { RouteTreeNode } from './scan-tree.
|
3
|
+
import type { RouteTreeNode } from './scan-tree.ts'
|
4
4
|
|
5
5
|
// Helper to create a mock route tree structure for testing
|
6
6
|
const mockRouteTree = (structure: Record<string, any>): RouteTreeNode => {
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { TinyGlobby } from '#dep/tiny-globby/index'
|
2
2
|
import { Tree, type TreeNode } from '#lib/tree/index'
|
3
3
|
import { Path, Str } from '@wollybeard/kit'
|
4
|
-
import type { Diagnostic } from './linter.
|
5
|
-
import type { Route, RouteFile } from './route.
|
4
|
+
import type { Diagnostic } from './linter.ts'
|
5
|
+
import type { Route, RouteFile } from './route.ts'
|
6
6
|
|
7
7
|
//
|
8
8
|
// Types
|
package/src/lib/tree/index.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * as Tree from './tree.
|
2
|
-
export type { TreeMapper, TreeNode, TreePredicate, TreeVisitor } from './tree.
|
1
|
+
export * as Tree from './tree.ts'
|
2
|
+
export type { TreeMapper, TreeNode, TreePredicate, TreeVisitor } from './tree.ts'
|
@@ -57,11 +57,13 @@ interface SidebarNavItemProps {
|
|
57
57
|
}
|
58
58
|
|
59
59
|
const SidebarNavItem = ({ nav, currentPathExp, level }: SidebarNavItemProps) => {
|
60
|
-
|
60
|
+
// Normalize paths for comparison - remove leading slash if present
|
61
|
+
const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp
|
62
|
+
const isActive = normalizedCurrentPath === nav.pathExp
|
61
63
|
|
62
64
|
return (
|
63
65
|
<Link
|
64
|
-
to={nav.pathExp}
|
66
|
+
to={`/${nav.pathExp}`}
|
65
67
|
style={{
|
66
68
|
textDecoration: `none`,
|
67
69
|
color: isActive ? `var(--accent-11)` : `var(--gray-12)`,
|
@@ -98,8 +100,10 @@ interface SidebarSectionItemProps {
|
|
98
100
|
|
99
101
|
const SidebarSectionItem = ({ section, currentPathExp, level }: SidebarSectionItemProps) => {
|
100
102
|
const [isExpanded, setIsExpanded] = useState(true)
|
101
|
-
|
102
|
-
const
|
103
|
+
// Normalize paths for comparison - remove leading slash if present
|
104
|
+
const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp
|
105
|
+
const isDirectlyActive = normalizedCurrentPath === section.pathExp
|
106
|
+
const hasActiveChild = section.navs.some(nav => normalizedCurrentPath === nav.pathExp)
|
103
107
|
const isActiveGroup = isDirectlyActive || hasActiveChild
|
104
108
|
|
105
109
|
return (
|
@@ -144,7 +148,7 @@ const SidebarSectionItem = ({ section, currentPathExp, level }: SidebarSectionIt
|
|
144
148
|
{section.isNavToo
|
145
149
|
? (
|
146
150
|
<Link
|
147
|
-
to={section.pathExp}
|
151
|
+
to={`/${section.pathExp}`}
|
148
152
|
style={{
|
149
153
|
textDecoration: `none`,
|
150
154
|
color: isDirectlyActive ? `var(--accent-11)` : `var(--gray-12)`,
|