@lickle/docs 0.0.0-dev.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/README.md +3 -0
- package/dist/esm/_lib/fs/index.js +20 -0
- package/dist/esm/_lib/fs/index.js.map +1 -0
- package/dist/esm/_lib/fs/watch.js +30 -0
- package/dist/esm/_lib/fs/watch.js.map +1 -0
- package/dist/esm/_lib/index.js +9 -0
- package/dist/esm/_lib/index.js.map +1 -0
- package/dist/esm/_lib/jiti/index.js +16 -0
- package/dist/esm/_lib/jiti/index.js.map +1 -0
- package/dist/esm/_lib/path/index.js +42 -0
- package/dist/esm/_lib/path/index.js.map +1 -0
- package/dist/esm/_lib/pkg/index.js +128 -0
- package/dist/esm/_lib/pkg/index.js.map +1 -0
- package/dist/esm/_lib/repo/index.js +100 -0
- package/dist/esm/_lib/repo/index.js.map +1 -0
- package/dist/esm/_lib/slug/index.js +23 -0
- package/dist/esm/_lib/slug/index.js.map +1 -0
- package/dist/esm/_lib/t.js +2 -0
- package/dist/esm/_lib/t.js.map +1 -0
- package/dist/esm/_lib/tsconfig/index.js +12 -0
- package/dist/esm/_lib/tsconfig/index.js.map +1 -0
- package/dist/esm/_lib/util/index.js +54 -0
- package/dist/esm/_lib/util/index.js.map +1 -0
- package/dist/esm/cli/cmd/dev.js +74 -0
- package/dist/esm/cli/cmd/dev.js.map +1 -0
- package/dist/esm/cli/cmd/index.js +4 -0
- package/dist/esm/cli/cmd/index.js.map +1 -0
- package/dist/esm/cli/cmd/init.js +74 -0
- package/dist/esm/cli/cmd/init.js.map +1 -0
- package/dist/esm/cli/cmd/json.js +28 -0
- package/dist/esm/cli/cmd/json.js.map +1 -0
- package/dist/esm/cli/env.js +5 -0
- package/dist/esm/cli/env.js.map +1 -0
- package/dist/esm/cli/index.js +13 -0
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/cli/vite/client/index.jsx +20 -0
- package/dist/esm/cli/vite/client/index.jsx.map +1 -0
- package/dist/esm/cli/vite/index.js +100 -0
- package/dist/esm/cli/vite/index.js.map +1 -0
- package/dist/esm/cli.js +5 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/config/defaults.js +32 -0
- package/dist/esm/config/defaults.js.map +1 -0
- package/dist/esm/config/file.js +48 -0
- package/dist/esm/config/file.js.map +1 -0
- package/dist/esm/config/index.js +7 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/config/load.js +79 -0
- package/dist/esm/config/load.js.map +1 -0
- package/dist/esm/config/types.js +2 -0
- package/dist/esm/config/types.js.map +1 -0
- package/dist/esm/core/index.js +3 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/project/debug.js +26 -0
- package/dist/esm/core/project/debug.js.map +1 -0
- package/dist/esm/core/project/index.js +39 -0
- package/dist/esm/core/project/index.js.map +1 -0
- package/dist/esm/core/project/naming.js +39 -0
- package/dist/esm/core/project/naming.js.map +1 -0
- package/dist/esm/core/project/routing.js +173 -0
- package/dist/esm/core/project/routing.js.map +1 -0
- package/dist/esm/core/project/types.js +4 -0
- package/dist/esm/core/project/types.js.map +1 -0
- package/dist/esm/core/reflect/index.js +10 -0
- package/dist/esm/core/reflect/index.js.map +1 -0
- package/dist/esm/core/reflect/indexed.js +195 -0
- package/dist/esm/core/reflect/indexed.js.map +1 -0
- package/dist/esm/core/reflect/resolve.js +157 -0
- package/dist/esm/core/reflect/resolve.js.map +1 -0
- package/dist/esm/core/reflect/scan.js +787 -0
- package/dist/esm/core/reflect/scan.js.map +1 -0
- package/dist/esm/core/reflect/state.js +29 -0
- package/dist/esm/core/reflect/state.js.map +1 -0
- package/dist/esm/core/reflect/types.js +16 -0
- package/dist/esm/core/reflect/types.js.map +1 -0
- package/dist/esm/core/reflect/walk.js +106 -0
- package/dist/esm/core/reflect/walk.js.map +1 -0
- package/dist/esm/solidjs/index.js +2 -0
- package/dist/esm/solidjs/index.js.map +1 -0
- package/dist/esm/solidjs/jsx-runtime.js +2 -0
- package/dist/esm/solidjs/jsx-runtime.js.map +1 -0
- package/dist/esm/ui/App.jsx +71 -0
- package/dist/esm/ui/App.jsx.map +1 -0
- package/dist/esm/ui/components/Breadcrumb.jsx +45 -0
- package/dist/esm/ui/components/Breadcrumb.jsx.map +1 -0
- package/dist/esm/ui/components/Code/index.jsx +89 -0
- package/dist/esm/ui/components/Code/index.jsx.map +1 -0
- package/dist/esm/ui/components/Comment.jsx +176 -0
- package/dist/esm/ui/components/Comment.jsx.map +1 -0
- package/dist/esm/ui/components/Declaration.jsx +147 -0
- package/dist/esm/ui/components/Declaration.jsx.map +1 -0
- package/dist/esm/ui/components/Header.jsx +66 -0
- package/dist/esm/ui/components/Header.jsx.map +1 -0
- package/dist/esm/ui/components/Layout.jsx +44 -0
- package/dist/esm/ui/components/Layout.jsx.map +1 -0
- package/dist/esm/ui/components/Link.jsx +34 -0
- package/dist/esm/ui/components/Link.jsx.map +1 -0
- package/dist/esm/ui/components/LivePreview/Example.jsx +76 -0
- package/dist/esm/ui/components/LivePreview/Example.jsx.map +1 -0
- package/dist/esm/ui/components/LivePreview/Sandbox.jsx +25 -0
- package/dist/esm/ui/components/LivePreview/Sandbox.jsx.map +1 -0
- package/dist/esm/ui/components/LivePreview/index.js +4 -0
- package/dist/esm/ui/components/LivePreview/index.js.map +1 -0
- package/dist/esm/ui/components/LivePreview/transform.js +16 -0
- package/dist/esm/ui/components/LivePreview/transform.js.map +1 -0
- package/dist/esm/ui/components/Markdown.jsx +14 -0
- package/dist/esm/ui/components/Markdown.jsx.map +1 -0
- package/dist/esm/ui/components/Page.jsx +121 -0
- package/dist/esm/ui/components/Page.jsx.map +1 -0
- package/dist/esm/ui/components/References.jsx +32 -0
- package/dist/esm/ui/components/References.jsx.map +1 -0
- package/dist/esm/ui/components/SearchPalette.jsx +178 -0
- package/dist/esm/ui/components/SearchPalette.jsx.map +1 -0
- package/dist/esm/ui/components/Sidebar.jsx +63 -0
- package/dist/esm/ui/components/Sidebar.jsx.map +1 -0
- package/dist/esm/ui/components/Syntax.jsx +10 -0
- package/dist/esm/ui/components/Syntax.jsx.map +1 -0
- package/dist/esm/ui/components/ThemeToggle.jsx +25 -0
- package/dist/esm/ui/components/ThemeToggle.jsx.map +1 -0
- package/dist/esm/ui/components/Type.jsx +444 -0
- package/dist/esm/ui/components/Type.jsx.map +1 -0
- package/dist/esm/ui/components/index.js +16 -0
- package/dist/esm/ui/components/index.js.map +1 -0
- package/dist/esm/ui/context/components.jsx +30 -0
- package/dist/esm/ui/context/components.jsx.map +1 -0
- package/dist/esm/ui/context/global.js +15 -0
- package/dist/esm/ui/context/global.js.map +1 -0
- package/dist/esm/ui/context/index.js +5 -0
- package/dist/esm/ui/context/index.js.map +1 -0
- package/dist/esm/ui/context/markup/index.jsx +25 -0
- package/dist/esm/ui/context/markup/index.jsx.map +1 -0
- package/dist/esm/ui/context/markup/markdown.js +34 -0
- package/dist/esm/ui/context/markup/markdown.js.map +1 -0
- package/dist/esm/ui/context/markup/shiki.js +58 -0
- package/dist/esm/ui/context/markup/shiki.js.map +1 -0
- package/dist/esm/ui/context/markup/util.js +22 -0
- package/dist/esm/ui/context/markup/util.js.map +1 -0
- package/dist/esm/ui/context/project/index.jsx +27 -0
- package/dist/esm/ui/context/project/index.jsx.map +1 -0
- package/dist/esm/ui/context/project/indexed.js +47 -0
- package/dist/esm/ui/context/project/indexed.js.map +1 -0
- package/dist/esm/ui/context/project/types.js +2 -0
- package/dist/esm/ui/context/project/types.js.map +1 -0
- package/dist/esm/ui/context/theme.jsx +36 -0
- package/dist/esm/ui/context/theme.jsx.map +1 -0
- package/dist/esm/ui/hooks/index.js +94 -0
- package/dist/esm/ui/hooks/index.js.map +1 -0
- package/dist/esm/ui/index.js +5 -0
- package/dist/esm/ui/index.js.map +1 -0
- package/dist/esm/ui/renderer.jsx +21 -0
- package/dist/esm/ui/renderer.jsx.map +1 -0
- package/dist/esm/ui/util/comment.js +14 -0
- package/dist/esm/ui/util/comment.js.map +1 -0
- package/dist/esm/ui/util/kind.js +85 -0
- package/dist/esm/ui/util/kind.js.map +1 -0
- package/dist/esm/ui/util/markdown.js +66 -0
- package/dist/esm/ui/util/markdown.js.map +1 -0
- package/dist/esm/ui/util/search.js +75 -0
- package/dist/esm/ui/util/search.js.map +1 -0
- package/dist/ts/_lib/fs/index.d.ts +6 -0
- package/dist/ts/_lib/fs/index.d.ts.map +1 -0
- package/dist/ts/_lib/fs/watch.d.ts +14 -0
- package/dist/ts/_lib/fs/watch.d.ts.map +1 -0
- package/dist/ts/_lib/index.d.ts +10 -0
- package/dist/ts/_lib/index.d.ts.map +1 -0
- package/dist/ts/_lib/jiti/index.d.ts +2 -0
- package/dist/ts/_lib/jiti/index.d.ts.map +1 -0
- package/dist/ts/_lib/path/index.d.ts +12 -0
- package/dist/ts/_lib/path/index.d.ts.map +1 -0
- package/dist/ts/_lib/pkg/index.d.ts +28 -0
- package/dist/ts/_lib/pkg/index.d.ts.map +1 -0
- package/dist/ts/_lib/repo/index.d.ts +30 -0
- package/dist/ts/_lib/repo/index.d.ts.map +1 -0
- package/dist/ts/_lib/slug/index.d.ts +4 -0
- package/dist/ts/_lib/slug/index.d.ts.map +1 -0
- package/dist/ts/_lib/t.d.ts +11 -0
- package/dist/ts/_lib/t.d.ts.map +1 -0
- package/dist/ts/_lib/tsconfig/index.d.ts +8 -0
- package/dist/ts/_lib/tsconfig/index.d.ts.map +1 -0
- package/dist/ts/_lib/util/index.d.ts +9 -0
- package/dist/ts/_lib/util/index.d.ts.map +1 -0
- package/dist/ts/cli/cmd/dev.d.ts +27 -0
- package/dist/ts/cli/cmd/dev.d.ts.map +1 -0
- package/dist/ts/cli/cmd/index.d.ts +4 -0
- package/dist/ts/cli/cmd/index.d.ts.map +1 -0
- package/dist/ts/cli/cmd/init.d.ts +14 -0
- package/dist/ts/cli/cmd/init.d.ts.map +1 -0
- package/dist/ts/cli/cmd/json.d.ts +12 -0
- package/dist/ts/cli/cmd/json.d.ts.map +1 -0
- package/dist/ts/cli/env.d.ts +2 -0
- package/dist/ts/cli/env.d.ts.map +1 -0
- package/dist/ts/cli/index.d.ts +78 -0
- package/dist/ts/cli/index.d.ts.map +1 -0
- package/dist/ts/cli/vite/client/index.d.ts +10 -0
- package/dist/ts/cli/vite/client/index.d.ts.map +1 -0
- package/dist/ts/cli/vite/index.d.ts +12 -0
- package/dist/ts/cli/vite/index.d.ts.map +1 -0
- package/dist/ts/cli.d.ts +3 -0
- package/dist/ts/cli.d.ts.map +1 -0
- package/dist/ts/config/defaults.d.ts +10 -0
- package/dist/ts/config/defaults.d.ts.map +1 -0
- package/dist/ts/config/file.d.ts +3 -0
- package/dist/ts/config/file.d.ts.map +1 -0
- package/dist/ts/config/index.d.ts +6 -0
- package/dist/ts/config/index.d.ts.map +1 -0
- package/dist/ts/config/load.d.ts +36 -0
- package/dist/ts/config/load.d.ts.map +1 -0
- package/dist/ts/config/types.d.ts +56 -0
- package/dist/ts/config/types.d.ts.map +1 -0
- package/dist/ts/core/index.d.ts +3 -0
- package/dist/ts/core/index.d.ts.map +1 -0
- package/dist/ts/core/project/debug.d.ts +3 -0
- package/dist/ts/core/project/debug.d.ts.map +1 -0
- package/dist/ts/core/project/index.d.ts +17 -0
- package/dist/ts/core/project/index.d.ts.map +1 -0
- package/dist/ts/core/project/naming.d.ts +23 -0
- package/dist/ts/core/project/naming.d.ts.map +1 -0
- package/dist/ts/core/project/routing.d.ts +61 -0
- package/dist/ts/core/project/routing.d.ts.map +1 -0
- package/dist/ts/core/project/types.d.ts +56 -0
- package/dist/ts/core/project/types.d.ts.map +1 -0
- package/dist/ts/core/reflect/index.d.ts +22 -0
- package/dist/ts/core/reflect/index.d.ts.map +1 -0
- package/dist/ts/core/reflect/indexed.d.ts +83 -0
- package/dist/ts/core/reflect/indexed.d.ts.map +1 -0
- package/dist/ts/core/reflect/resolve.d.ts +3 -0
- package/dist/ts/core/reflect/resolve.d.ts.map +1 -0
- package/dist/ts/core/reflect/scan.d.ts +218 -0
- package/dist/ts/core/reflect/scan.d.ts.map +1 -0
- package/dist/ts/core/reflect/state.d.ts +44 -0
- package/dist/ts/core/reflect/state.d.ts.map +1 -0
- package/dist/ts/core/reflect/types.d.ts +289 -0
- package/dist/ts/core/reflect/types.d.ts.map +1 -0
- package/dist/ts/core/reflect/walk.d.ts +28 -0
- package/dist/ts/core/reflect/walk.d.ts.map +1 -0
- package/dist/ts/solidjs/index.d.ts +2 -0
- package/dist/ts/solidjs/index.d.ts.map +1 -0
- package/dist/ts/solidjs/jsx-runtime.d.ts +2 -0
- package/dist/ts/solidjs/jsx-runtime.d.ts.map +1 -0
- package/dist/ts/ui/App.d.ts +17 -0
- package/dist/ts/ui/App.d.ts.map +1 -0
- package/dist/ts/ui/components/Breadcrumb.d.ts +4 -0
- package/dist/ts/ui/components/Breadcrumb.d.ts.map +1 -0
- package/dist/ts/ui/components/Code/index.d.ts +17 -0
- package/dist/ts/ui/components/Code/index.d.ts.map +1 -0
- package/dist/ts/ui/components/Comment.d.ts +49 -0
- package/dist/ts/ui/components/Comment.d.ts.map +1 -0
- package/dist/ts/ui/components/Declaration.d.ts +122 -0
- package/dist/ts/ui/components/Declaration.d.ts.map +1 -0
- package/dist/ts/ui/components/Header.d.ts +5 -0
- package/dist/ts/ui/components/Header.d.ts.map +1 -0
- package/dist/ts/ui/components/Layout.d.ts +5 -0
- package/dist/ts/ui/components/Layout.d.ts.map +1 -0
- package/dist/ts/ui/components/Link.d.ts +15 -0
- package/dist/ts/ui/components/Link.d.ts.map +1 -0
- package/dist/ts/ui/components/LivePreview/Example.d.ts +16 -0
- package/dist/ts/ui/components/LivePreview/Example.d.ts.map +1 -0
- package/dist/ts/ui/components/LivePreview/Sandbox.d.ts +20 -0
- package/dist/ts/ui/components/LivePreview/Sandbox.d.ts.map +1 -0
- package/dist/ts/ui/components/LivePreview/index.d.ts +4 -0
- package/dist/ts/ui/components/LivePreview/index.d.ts.map +1 -0
- package/dist/ts/ui/components/LivePreview/transform.d.ts +19 -0
- package/dist/ts/ui/components/LivePreview/transform.d.ts.map +1 -0
- package/dist/ts/ui/components/Markdown.d.ts +11 -0
- package/dist/ts/ui/components/Markdown.d.ts.map +1 -0
- package/dist/ts/ui/components/Page.d.ts +21 -0
- package/dist/ts/ui/components/Page.d.ts.map +1 -0
- package/dist/ts/ui/components/References.d.ts +2 -0
- package/dist/ts/ui/components/References.d.ts.map +1 -0
- package/dist/ts/ui/components/SearchPalette.d.ts +5 -0
- package/dist/ts/ui/components/SearchPalette.d.ts.map +1 -0
- package/dist/ts/ui/components/Sidebar.d.ts +5 -0
- package/dist/ts/ui/components/Sidebar.d.ts.map +1 -0
- package/dist/ts/ui/components/Syntax.d.ts +15 -0
- package/dist/ts/ui/components/Syntax.d.ts.map +1 -0
- package/dist/ts/ui/components/ThemeToggle.d.ts +2 -0
- package/dist/ts/ui/components/ThemeToggle.d.ts.map +1 -0
- package/dist/ts/ui/components/Type.d.ts +82 -0
- package/dist/ts/ui/components/Type.d.ts.map +1 -0
- package/dist/ts/ui/components/index.d.ts +15 -0
- package/dist/ts/ui/components/index.d.ts.map +1 -0
- package/dist/ts/ui/context/components.d.ts +124 -0
- package/dist/ts/ui/context/components.d.ts.map +1 -0
- package/dist/ts/ui/context/global.d.ts +210 -0
- package/dist/ts/ui/context/global.d.ts.map +1 -0
- package/dist/ts/ui/context/index.d.ts +5 -0
- package/dist/ts/ui/context/index.d.ts.map +1 -0
- package/dist/ts/ui/context/markup/index.d.ts +20 -0
- package/dist/ts/ui/context/markup/index.d.ts.map +1 -0
- package/dist/ts/ui/context/markup/markdown.d.ts +4 -0
- package/dist/ts/ui/context/markup/markdown.d.ts.map +1 -0
- package/dist/ts/ui/context/markup/shiki.d.ts +17 -0
- package/dist/ts/ui/context/markup/shiki.d.ts.map +1 -0
- package/dist/ts/ui/context/markup/util.d.ts +11 -0
- package/dist/ts/ui/context/markup/util.d.ts.map +1 -0
- package/dist/ts/ui/context/project/index.d.ts +25 -0
- package/dist/ts/ui/context/project/index.d.ts.map +1 -0
- package/dist/ts/ui/context/project/indexed.d.ts +4 -0
- package/dist/ts/ui/context/project/indexed.d.ts.map +1 -0
- package/dist/ts/ui/context/project/types.d.ts +13 -0
- package/dist/ts/ui/context/project/types.d.ts.map +1 -0
- package/dist/ts/ui/context/theme.d.ts +12 -0
- package/dist/ts/ui/context/theme.d.ts.map +1 -0
- package/dist/ts/ui/hooks/index.d.ts +29 -0
- package/dist/ts/ui/hooks/index.d.ts.map +1 -0
- package/dist/ts/ui/index.d.ts +5 -0
- package/dist/ts/ui/index.d.ts.map +1 -0
- package/dist/ts/ui/renderer.d.ts +200 -0
- package/dist/ts/ui/renderer.d.ts.map +1 -0
- package/dist/ts/ui/util/comment.d.ts +4 -0
- package/dist/ts/ui/util/comment.d.ts.map +1 -0
- package/dist/ts/ui/util/kind.d.ts +15 -0
- package/dist/ts/ui/util/kind.d.ts.map +1 -0
- package/dist/ts/ui/util/markdown.d.ts +8 -0
- package/dist/ts/ui/util/markdown.d.ts.map +1 -0
- package/dist/ts/ui/util/search.d.ts +20 -0
- package/dist/ts/ui/util/search.d.ts.map +1 -0
- package/package.json +89 -0
- package/src/_lib/fs/index.ts +23 -0
- package/src/_lib/fs/watch.ts +40 -0
- package/src/_lib/index.ts +9 -0
- package/src/_lib/jiti/index.ts +18 -0
- package/src/_lib/path/index.ts +44 -0
- package/src/_lib/pkg/index.ts +165 -0
- package/src/_lib/repo/index.ts +138 -0
- package/src/_lib/slug/index.ts +26 -0
- package/src/_lib/t.ts +17 -0
- package/src/_lib/tsconfig/index.ts +20 -0
- package/src/_lib/util/index.ts +53 -0
- package/src/cli/cmd/dev.ts +86 -0
- package/src/cli/cmd/index.ts +3 -0
- package/src/cli/cmd/init.ts +80 -0
- package/src/cli/cmd/json.ts +28 -0
- package/src/cli/env.ts +6 -0
- package/src/cli/index.ts +14 -0
- package/src/cli/vite/client/index.html +27 -0
- package/src/cli/vite/client/index.tsx +30 -0
- package/src/cli/vite/client/public/apple-touch-icon.png +0 -0
- package/src/cli/vite/client/public/favicon-96x96.png +0 -0
- package/src/cli/vite/client/public/favicon.ico +0 -0
- package/src/cli/vite/client/public/favicon.svg +1 -0
- package/src/cli/vite/client/public/site.webmanifest +21 -0
- package/src/cli/vite/client/public/web-app-manifest-192x192.png +0 -0
- package/src/cli/vite/client/public/web-app-manifest-512x512.png +0 -0
- package/src/cli/vite/index.ts +115 -0
- package/src/cli.ts +6 -0
- package/src/config/defaults.ts +36 -0
- package/src/config/file.ts +53 -0
- package/src/config/index.ts +11 -0
- package/src/config/load.ts +95 -0
- package/src/config/types.ts +59 -0
- package/src/core/index.ts +2 -0
- package/src/core/project/debug.ts +30 -0
- package/src/core/project/index.ts +58 -0
- package/src/core/project/naming.ts +49 -0
- package/src/core/project/routing.ts +234 -0
- package/src/core/project/types.ts +47 -0
- package/src/core/reflect/index.ts +18 -0
- package/src/core/reflect/indexed.ts +242 -0
- package/src/core/reflect/resolve.ts +159 -0
- package/src/core/reflect/scan.ts +816 -0
- package/src/core/reflect/state.ts +75 -0
- package/src/core/reflect/types.ts +164 -0
- package/src/core/reflect/walk.ts +121 -0
- package/src/solidjs/index.ts +1 -0
- package/src/solidjs/jsx-runtime.ts +1 -0
- package/src/ui/App.tsx +115 -0
- package/src/ui/components/Breadcrumb.tsx +53 -0
- package/src/ui/components/Code/index.tsx +112 -0
- package/src/ui/components/Comment.tsx +221 -0
- package/src/ui/components/Declaration.tsx +210 -0
- package/src/ui/components/Header.tsx +99 -0
- package/src/ui/components/Layout.tsx +62 -0
- package/src/ui/components/Link.tsx +43 -0
- package/src/ui/components/LivePreview/Example.tsx +104 -0
- package/src/ui/components/LivePreview/Sandbox.tsx +36 -0
- package/src/ui/components/LivePreview/index.ts +3 -0
- package/src/ui/components/LivePreview/transform.ts +28 -0
- package/src/ui/components/Markdown.tsx +16 -0
- package/src/ui/components/Page.tsx +162 -0
- package/src/ui/components/References.tsx +34 -0
- package/src/ui/components/SearchPalette.tsx +266 -0
- package/src/ui/components/Sidebar.tsx +107 -0
- package/src/ui/components/Syntax.tsx +10 -0
- package/src/ui/components/ThemeToggle.tsx +50 -0
- package/src/ui/components/Type.tsx +583 -0
- package/src/ui/components/index.ts +15 -0
- package/src/ui/context/components.tsx +103 -0
- package/src/ui/context/global.ts +33 -0
- package/src/ui/context/index.ts +4 -0
- package/src/ui/context/markup/index.tsx +39 -0
- package/src/ui/context/markup/markdown.ts +37 -0
- package/src/ui/context/markup/shiki.ts +72 -0
- package/src/ui/context/markup/util.ts +20 -0
- package/src/ui/context/project/index.tsx +47 -0
- package/src/ui/context/project/indexed.ts +52 -0
- package/src/ui/context/project/types.ts +14 -0
- package/src/ui/context/theme.tsx +45 -0
- package/src/ui/hooks/index.ts +116 -0
- package/src/ui/index.ts +4 -0
- package/src/ui/renderer.tsx +31 -0
- package/src/ui/util/comment.ts +12 -0
- package/src/ui/util/kind.ts +120 -0
- package/src/ui/util/markdown.ts +74 -0
- package/src/ui/util/search.ts +84 -0
- package/theme.css +301 -0
- package/tsconfig.client.json +12 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import * as cmd from 'cmd-ts';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import * as lib from "../../_lib/index.js";
|
|
4
|
+
export const init = cmd.command({
|
|
5
|
+
name: 'init',
|
|
6
|
+
description: 'Scaffold a config file and docs directory with a custom-component example',
|
|
7
|
+
args: {
|
|
8
|
+
dir: cmd.option({
|
|
9
|
+
long: 'dir',
|
|
10
|
+
short: 'd',
|
|
11
|
+
type: cmd.optional(cmd.string),
|
|
12
|
+
description: 'Directory to create the docs scaffold in (defaults to ./docs)',
|
|
13
|
+
}),
|
|
14
|
+
file: cmd.option({
|
|
15
|
+
long: 'config',
|
|
16
|
+
short: 'c',
|
|
17
|
+
type: cmd.optional(cmd.string),
|
|
18
|
+
defaultValue: () => path.join(process.cwd(), 'lickle.ts'),
|
|
19
|
+
description: 'Path to write the configuration file to (defaults to ./lickle.ts)',
|
|
20
|
+
}),
|
|
21
|
+
force: cmd.flag({
|
|
22
|
+
long: 'force',
|
|
23
|
+
short: 'f',
|
|
24
|
+
description: 'Overwrite existing scaffold files instead of skipping them',
|
|
25
|
+
}),
|
|
26
|
+
},
|
|
27
|
+
handler: async (args) => {
|
|
28
|
+
const file = args.file ?? path.join(process.cwd(), 'lickle.ts');
|
|
29
|
+
const dir = args.dir ?? path.join(process.cwd(), 'docs');
|
|
30
|
+
await lib.fs.ensureDir(file);
|
|
31
|
+
await lib.fs.writeFile(file, configTemplate);
|
|
32
|
+
await lib.fs.ensureDir(dir);
|
|
33
|
+
await writeInitFiles(dir, args.force);
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const configTemplate = `
|
|
37
|
+
import { defineConfig } from '@lickle/docs/config'
|
|
38
|
+
|
|
39
|
+
export default defineConfig({
|
|
40
|
+
name: '@lickle/docs',
|
|
41
|
+
pages: [{ title: 'Overview', content: './README.md' }],
|
|
42
|
+
custom: './docs/index.tsx',
|
|
43
|
+
})
|
|
44
|
+
`;
|
|
45
|
+
const example = `
|
|
46
|
+
import { registerComponent, LiveExample, transform } from '@lickle/docs/ui'
|
|
47
|
+
|
|
48
|
+
// Execute the compiled example into its preview host. \`host\` is the live DOM
|
|
49
|
+
// node, available to the example as a global.
|
|
50
|
+
const run = (code: string, host: HTMLElement) => new Function('host', code)(host)
|
|
51
|
+
|
|
52
|
+
// Opt in to runnable \`@example\` blocks: compile with \`transform\` then \`run\`.
|
|
53
|
+
registerComponent('tag.example', (props) => (
|
|
54
|
+
<LiveExample {...props} run={(code, host) => run(transform(code), host)} />
|
|
55
|
+
))`;
|
|
56
|
+
const initFiles = {
|
|
57
|
+
'.gitignore': [`docs.json`, `dist`],
|
|
58
|
+
'index.tsx': [example.trim()],
|
|
59
|
+
'tsconfig.json': [`{`, ` "extends": "@lickle/docs/tsconfig/tsconfig.client.json",`, ` "include": ["*"],`, `}`],
|
|
60
|
+
};
|
|
61
|
+
const writeInitFiles = async (dir, force = false) => {
|
|
62
|
+
for (const [file, content] of Object.entries(initFiles)) {
|
|
63
|
+
if (force) {
|
|
64
|
+
await lib.fs.writeFile(path.join(dir, file), content.join('\n'));
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (await lib.fs.exists(path.join(dir, file))) {
|
|
68
|
+
console.log(`skipping ${file} as it already exists`);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
await lib.fs.writeFile(path.join(dir, file), content.join('\n'));
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/cmd/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as cmd from 'cmd-ts';
|
|
2
|
+
import * as project from "../../core/project/index.js";
|
|
3
|
+
import * as config from "../../config/load.js";
|
|
4
|
+
import * as core from "../../core/index.js";
|
|
5
|
+
import * as lib from "../../_lib/index.js";
|
|
6
|
+
export const json = cmd.command({
|
|
7
|
+
name: 'json',
|
|
8
|
+
description: 'Generate the project\u2019s JSON reflection data into the docs directory',
|
|
9
|
+
args: {
|
|
10
|
+
print: cmd.flag({
|
|
11
|
+
long: 'print',
|
|
12
|
+
short: 'p',
|
|
13
|
+
description: 'Print the generated route tree to the console',
|
|
14
|
+
}),
|
|
15
|
+
full: cmd.flag({
|
|
16
|
+
long: 'full',
|
|
17
|
+
description: 'Document every declaration, not just the exported public API',
|
|
18
|
+
}),
|
|
19
|
+
},
|
|
20
|
+
handler: async (args) => {
|
|
21
|
+
await lib.fs.ensureDir('docs');
|
|
22
|
+
const p = await core.project.buildJson(await config.loadGen(process.cwd(), { full: args.full }));
|
|
23
|
+
if (args.print)
|
|
24
|
+
project.displayRoutes(p.routes);
|
|
25
|
+
await lib.fs.writeFile('docs/project.json', JSON.stringify(p, null, 2));
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/cli/cmd/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAE7B,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAA;AAE1C,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;IAC9B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE;QACJ,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,+CAA+C;SAC7D,CAAC;QACF,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,8DAA8D;SAC5E,CAAC;KACH;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAChG,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/cli/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as cmd from 'cmd-ts';
|
|
2
|
+
import * as cmds from "./cmd/index.js";
|
|
3
|
+
import * as lib from "../_lib/index.js";
|
|
4
|
+
export const app = async () => {
|
|
5
|
+
const version = await lib.pkg.read(process.cwd());
|
|
6
|
+
return cmd.subcommands({
|
|
7
|
+
name: 'ldocs',
|
|
8
|
+
version: version.version,
|
|
9
|
+
description: 'Generate documentation sites from TypeScript projects',
|
|
10
|
+
cmds: { json: cmds.json, dev: cmds.dev, build: cmds.build, init: cmds.init },
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAE7B,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAEvC,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;IAC5B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACjD,OAAO,GAAG,CAAC,WAAW,CAAC;QACrB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;KAC7E,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { App } from '@lickle/docs/ui';
|
|
2
|
+
import { render } from 'solid-js/web';
|
|
3
|
+
import { getJson, setJson, getRendered } from "../../../ui/context/global.js";
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import initialDocs from 'virtual:lickle/docs.json';
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
import '@lickle/docs/theme.css';
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
import 'virtual:lickle/custom.ts';
|
|
10
|
+
import { createEffect } from 'solid-js';
|
|
11
|
+
if (initialDocs)
|
|
12
|
+
setJson(initialDocs);
|
|
13
|
+
if (import.meta.hot)
|
|
14
|
+
import.meta.hot.on('docs-update', (payload) => setJson(payload));
|
|
15
|
+
createEffect(() => {
|
|
16
|
+
if (getRendered() === false)
|
|
17
|
+
return render(() => <App json={getJson()}/>, document.getElementById('root'));
|
|
18
|
+
return () => { };
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=index.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../../src/cli/vite/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAE7E,aAAa;AACb,OAAO,WAAW,MAAM,0BAA0B,CAAA;AAElD,aAAa;AACb,OAAO,wBAAwB,CAAA;AAE/B,aAAa;AACb,OAAO,0BAA0B,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAUvC,IAAI,WAAW;IAAE,OAAO,CAAC,WAAW,CAAC,CAAA;AACrC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG;IAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;AAErF,YAAY,CAAC,GAAG,EAAE;IAChB,IAAI,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAA;IAC5G,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import tailwindcss from '@tailwindcss/vite';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import solid from 'vite-plugin-solid';
|
|
4
|
+
import * as vite from 'vite';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import * as config from "../../config/index.js";
|
|
7
|
+
import * as core from "../../core/index.js";
|
|
8
|
+
import * as lib from "../../_lib/index.js";
|
|
9
|
+
const JSON_ID = 'virtual:lickle/docs.json';
|
|
10
|
+
const CUSTOM_ID = 'virtual:lickle/custom.ts';
|
|
11
|
+
const viteRoot = fileURLToPath(new URL('./client', import.meta.url));
|
|
12
|
+
const libRoot = fileURLToPath(new URL('../../../', import.meta.url));
|
|
13
|
+
const resolveOptions = (opts, mode) => {
|
|
14
|
+
const outDir = opts.custom ? path.join(path.dirname(opts.custom), 'dist') : 'docs/dist';
|
|
15
|
+
return {
|
|
16
|
+
root: viteRoot,
|
|
17
|
+
plugins: [solid(), tailwindcss(), docsPlugin(opts, mode)],
|
|
18
|
+
build: { outDir: outDir ? path.resolve(process.cwd(), outDir) : path.resolve(process.cwd(), 'docs/dist') },
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export const dev = async (options) => {
|
|
22
|
+
const server = await vite.createServer(resolveOptions(options, 'dev'));
|
|
23
|
+
await server.listen();
|
|
24
|
+
server.printUrls();
|
|
25
|
+
return server;
|
|
26
|
+
};
|
|
27
|
+
export const build = async (options) => vite.build(resolveOptions(options, 'build'));
|
|
28
|
+
const docsPlugin = (opts, mode) => {
|
|
29
|
+
let json;
|
|
30
|
+
let logger = undefined;
|
|
31
|
+
const HMR_PATH = `/@virtual:${JSON_ID}`;
|
|
32
|
+
const LIB_UI_PATH = path.resolve(libRoot, './src/ui/index.ts');
|
|
33
|
+
const LIB_THEME_CSS_PATH = path.resolve(libRoot, 'theme.css');
|
|
34
|
+
const LIB_SOLIDJS_PATH = path.resolve(libRoot, './src/solidjs/index.ts');
|
|
35
|
+
return {
|
|
36
|
+
name: 'docs',
|
|
37
|
+
enforce: 'pre',
|
|
38
|
+
configResolved(config) {
|
|
39
|
+
logger = config.logger;
|
|
40
|
+
},
|
|
41
|
+
config: () => {
|
|
42
|
+
return {
|
|
43
|
+
resolve: {
|
|
44
|
+
alias: {
|
|
45
|
+
'@lickle/docs/ui': LIB_UI_PATH,
|
|
46
|
+
'@lickle/docs/theme.css': LIB_THEME_CSS_PATH,
|
|
47
|
+
'@lickle/docs/solidjs': LIB_SOLIDJS_PATH,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
server: { fs: { allow: [viteRoot, opts.entrypoint ? path.dirname(opts.entrypoint) : viteRoot] } },
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
// transformIndexHtml: {
|
|
54
|
+
// order: 'pre',
|
|
55
|
+
// handler(html) {
|
|
56
|
+
// return html.replace('<script type="module" src="./index.tsx"></script>', `<script type="module" src="${entrypoint}"></script>`)
|
|
57
|
+
// },
|
|
58
|
+
// },
|
|
59
|
+
resolveId(id) {
|
|
60
|
+
if (id === JSON_ID || id === HMR_PATH)
|
|
61
|
+
return '\0' + JSON_ID;
|
|
62
|
+
if (id === CUSTOM_ID)
|
|
63
|
+
return '\0' + CUSTOM_ID;
|
|
64
|
+
return undefined;
|
|
65
|
+
},
|
|
66
|
+
async load(id) {
|
|
67
|
+
if (id === '\0' + JSON_ID) {
|
|
68
|
+
if (mode === 'build')
|
|
69
|
+
return JSON.stringify(await opts.build());
|
|
70
|
+
return json ?? 'null';
|
|
71
|
+
}
|
|
72
|
+
if (id === '\0' + CUSTOM_ID)
|
|
73
|
+
return opts.entrypoint ? `import ${JSON.stringify(opts.entrypoint)}\n` : '\n';
|
|
74
|
+
return undefined;
|
|
75
|
+
},
|
|
76
|
+
configureServer(s) {
|
|
77
|
+
if (!opts.build)
|
|
78
|
+
return;
|
|
79
|
+
const build = opts.build;
|
|
80
|
+
const handleJson = async () => {
|
|
81
|
+
if (json)
|
|
82
|
+
logger?.info('Rebuilding docs', { timestamp: true });
|
|
83
|
+
const nextJson = await build();
|
|
84
|
+
json = JSON.stringify(nextJson);
|
|
85
|
+
logger?.info('Docs built successfully', { timestamp: true });
|
|
86
|
+
const mod = s.moduleGraph.getModuleById('\0' + JSON_ID);
|
|
87
|
+
if (mod) {
|
|
88
|
+
s.moduleGraph.invalidateModule(mod);
|
|
89
|
+
s.ws.send({ type: 'custom', event: 'docs-update', data: nextJson });
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const watchPaths = opts.watchPaths ?? [];
|
|
93
|
+
watchPaths.forEach((p) => s.watcher.add(p));
|
|
94
|
+
const rebuild = lib.util.serial(() => handleJson());
|
|
95
|
+
s.watcher.on('change', (changedPath) => watchPaths.some((p) => changedPath.includes(p)) && rebuild());
|
|
96
|
+
rebuild();
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/vite/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/cli.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAE5B,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import * as lib from "../_lib/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a partial `UserConfig` into a fully-defaulted `NewProjectConfig`.
|
|
5
|
+
*
|
|
6
|
+
* Missing fields fall back to `package.json`, conventional project files
|
|
7
|
+
* (`README.md`) and the working directory. `declarations` / `children` stay
|
|
8
|
+
* empty here — the reflection pass fills them once scanning is wired up.
|
|
9
|
+
*/
|
|
10
|
+
export const apply = async (dir, c) => {
|
|
11
|
+
const pkg = await lib.pkg.read(process.cwd());
|
|
12
|
+
const info = await lib.repo.info(dir);
|
|
13
|
+
const readme = await lib.fs.existingPath(path.join(dir, 'README.md'));
|
|
14
|
+
const defualtLinks = info ? [{ label: 'Repository', href: info.url }] : [];
|
|
15
|
+
const entrypoints = c?.entrypoints ?? (await lib.pkg.resolveExportedSources(dir, pkg));
|
|
16
|
+
const tsconfig = lib.tsconfig.resolve(dir);
|
|
17
|
+
const name = c?.name ?? pkg?.name;
|
|
18
|
+
if (!name)
|
|
19
|
+
throw new Error('No project name found');
|
|
20
|
+
return {
|
|
21
|
+
...c,
|
|
22
|
+
name,
|
|
23
|
+
version: c?.version ?? pkg?.version ?? info?.tag,
|
|
24
|
+
readme,
|
|
25
|
+
entrypoints,
|
|
26
|
+
links: c?.links ?? defualtLinks,
|
|
27
|
+
repository: info ? { url: info.url, rev: info.commit, fileUrl: info.fileUrl } : undefined,
|
|
28
|
+
srcDir: c?.srcDir ?? tsconfig.rootDir,
|
|
29
|
+
full: c?.full,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAI5B,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAAE,CAAuB,EAAuB,EAAE;IACvF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,MAAM,WAAW,GAAG,CAAC,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACtF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAE1C,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,CAAA;IACjC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEnD,OAAO;QACL,GAAG,CAAC;QACJ,IAAI;QACJ,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,IAAI,EAAE,GAAG;QAChD,MAAM;QACN,WAAW;QACX,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;QACzF,MAAM,EAAE,CAAC,EAAE,MAAM,IAAI,QAAQ,CAAC,OAAO;QACrC,IAAI,EAAE,CAAC,EAAE,IAAI;KACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { pathToFileURL } from 'node:url';
|
|
2
|
+
import { createJiti } from 'jiti';
|
|
3
|
+
import fs from 'node:fs/promises';
|
|
4
|
+
import { v } from '@lickle/is';
|
|
5
|
+
import fg from 'fast-glob';
|
|
6
|
+
import {} from "./types.js";
|
|
7
|
+
const EXT = ['ts', 'mts', 'cts', 'js', 'cjs', 'mjs', 'json'];
|
|
8
|
+
export const load = async (dir) => {
|
|
9
|
+
const file = await find(dir);
|
|
10
|
+
if (!file)
|
|
11
|
+
return undefined;
|
|
12
|
+
if (file.endsWith('.json'))
|
|
13
|
+
return readJson(file);
|
|
14
|
+
return readCode(file);
|
|
15
|
+
};
|
|
16
|
+
const find = async (dir) => {
|
|
17
|
+
const ext = EXT.join(',');
|
|
18
|
+
const files = await fg.glob(`lickle.{${ext}}`, { cwd: dir, absolute: true });
|
|
19
|
+
return files?.[0];
|
|
20
|
+
};
|
|
21
|
+
const readCode = async (file) => {
|
|
22
|
+
const jti = createJiti(pathToFileURL(import.meta.url).href, {
|
|
23
|
+
moduleCache: false,
|
|
24
|
+
cache: false,
|
|
25
|
+
});
|
|
26
|
+
const mod = await jti.import(file);
|
|
27
|
+
const fl = await mod.default;
|
|
28
|
+
return valid(fl);
|
|
29
|
+
};
|
|
30
|
+
const readJson = async (file) => {
|
|
31
|
+
const content = await fs.readFile(file, 'utf-8');
|
|
32
|
+
const j = JSON.parse(content);
|
|
33
|
+
return valid(j);
|
|
34
|
+
};
|
|
35
|
+
const schema = v.struct({
|
|
36
|
+
name: v.string,
|
|
37
|
+
version: v.or(v.string, v.undefined),
|
|
38
|
+
readme: v.or(v.string, v.undefined),
|
|
39
|
+
links: v.or(v.array(v.struct({ label: v.string, href: v.string })), v.undefined),
|
|
40
|
+
tsconfig: v.or(v.string, v.undefined),
|
|
41
|
+
repository: v.or(v.struct({ url: v.string, rev: v.string, fileUrl: v.string }), v.undefined),
|
|
42
|
+
srcDir: v.or(v.string, v.undefined),
|
|
43
|
+
entrypoints: v.or(v.array(v.struct({ as: v.string, path: v.string })), v.undefined),
|
|
44
|
+
exclude: v.or(v.array(v.string), v.undefined),
|
|
45
|
+
full: v.or(v.boolean, v.undefined),
|
|
46
|
+
});
|
|
47
|
+
const valid = v.assert(schema);
|
|
48
|
+
//# sourceMappingURL=file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/config/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as lib from "../_lib/index.js";
|
|
2
|
+
export const defineConfig = (config) => {
|
|
3
|
+
const c = typeof config === 'function' ? config() : config;
|
|
4
|
+
return Promise.resolve(c);
|
|
5
|
+
};
|
|
6
|
+
export const fromExports = async () => lib.pkg.resolveExportedSources(process.cwd(), await lib.pkg.read(process.cwd()));
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAKvC,MAAM,CAAC,MAAM,YAAY,GAAG,CAA0E,MAAS,EAAE,EAAE;IACjH,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { v } from '@lickle/is';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import ts from 'typescript';
|
|
5
|
+
import fg from 'fast-glob';
|
|
6
|
+
import * as lib from "../_lib/index.js";
|
|
7
|
+
import {} from "./types.js";
|
|
8
|
+
import * as defaults from "./defaults.js";
|
|
9
|
+
import * as types from "./types.js";
|
|
10
|
+
const EXT = ['ts', 'mts', 'cts', 'js', 'cjs', 'mjs', 'json'];
|
|
11
|
+
export const loadGen = async (dir = process.cwd(), opts) => {
|
|
12
|
+
const c = await load(dir, opts);
|
|
13
|
+
return toGenerateOptions(c);
|
|
14
|
+
};
|
|
15
|
+
export const toGenerateOptions = async (c) => {
|
|
16
|
+
const gen = {
|
|
17
|
+
dir: process.cwd(),
|
|
18
|
+
...c,
|
|
19
|
+
exclude: c.exclude ?? [],
|
|
20
|
+
config: { entrypoints: [], links: [], ...c, routes: [] },
|
|
21
|
+
compilerOptions: c.compilerOptions,
|
|
22
|
+
full: c.full,
|
|
23
|
+
};
|
|
24
|
+
if (c.readme) {
|
|
25
|
+
const page = {
|
|
26
|
+
kind: 'markdown',
|
|
27
|
+
content: await lib.fs.readFile(c.readme, 'utf-8'),
|
|
28
|
+
};
|
|
29
|
+
gen.config.routes = [{ label: 'README', slug: 'readme', page, children: [], sidebar: true }];
|
|
30
|
+
}
|
|
31
|
+
return gen;
|
|
32
|
+
};
|
|
33
|
+
export const load = async (dir = process.cwd(), opts) => {
|
|
34
|
+
const c = lib.tsconfig.resolve(dir);
|
|
35
|
+
if (!c.config)
|
|
36
|
+
throw new Error('No tsconfig.json found');
|
|
37
|
+
const loaded = await loadFile(dir);
|
|
38
|
+
const info = await defaults.apply(dir, { ...loaded, ...opts });
|
|
39
|
+
const parsed = ts.parseJsonConfigFileContent(c.config, ts.sys, path.dirname(c.config.path));
|
|
40
|
+
return { ...info, compilerOptions: parsed.options };
|
|
41
|
+
};
|
|
42
|
+
const loadFile = async (dir) => {
|
|
43
|
+
const file = await findFile(dir);
|
|
44
|
+
if (!file)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (file.endsWith('.json'))
|
|
47
|
+
return readJson(file);
|
|
48
|
+
return readCode(file);
|
|
49
|
+
};
|
|
50
|
+
export const findFile = async (dir) => {
|
|
51
|
+
const ext = EXT.join(',');
|
|
52
|
+
const files = await fg.glob(`lickle.{${ext}}`, { cwd: dir, absolute: true });
|
|
53
|
+
return files?.[0];
|
|
54
|
+
};
|
|
55
|
+
const readCode = async (file) => {
|
|
56
|
+
const mod = await lib.jiti.importModule(file);
|
|
57
|
+
return valid(mod.default);
|
|
58
|
+
};
|
|
59
|
+
const readJson = async (file) => {
|
|
60
|
+
const content = await fs.readFile(file, 'utf-8');
|
|
61
|
+
const j = JSON.parse(content);
|
|
62
|
+
return valid(j);
|
|
63
|
+
};
|
|
64
|
+
export const schema = v.struct({
|
|
65
|
+
name: v.string,
|
|
66
|
+
version: v.or(v.string, v.undefined),
|
|
67
|
+
readme: v.or(v.string, v.undefined),
|
|
68
|
+
links: v.or(v.array(v.struct({ label: v.string, href: v.string })), v.undefined),
|
|
69
|
+
tsconfig: v.or(v.string, v.undefined),
|
|
70
|
+
repository: v.or(v.struct({ url: v.string, rev: v.string, fileUrl: v.string }), v.undefined),
|
|
71
|
+
srcDir: v.or(v.string, v.undefined),
|
|
72
|
+
entrypoints: v.or(v.array(v.struct({ as: v.string, path: v.string })), v.undefined),
|
|
73
|
+
exclude: v.or(v.array(v.string), v.undefined),
|
|
74
|
+
full: v.or(v.boolean, v.undefined),
|
|
75
|
+
});
|
|
76
|
+
const valid = (c) => {
|
|
77
|
+
return c;
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/config/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const displayRoutes = (routes, prefix = '') => {
|
|
2
|
+
const kinds = { module: 'M', markdown: '.MD', declaration: 'D' };
|
|
3
|
+
// console.log(JSON.stringify(compact(routes)))
|
|
4
|
+
// routes.map
|
|
5
|
+
for (const r of routes) {
|
|
6
|
+
const id = r.page.id ?? r.label;
|
|
7
|
+
console.log(`${prefix}${kinds[r.page.kind]} ${id} (${r.slug})`);
|
|
8
|
+
if (r.children)
|
|
9
|
+
displayRoutes(r.children, prefix + ' ');
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const compact = (routes) => {
|
|
13
|
+
return routes
|
|
14
|
+
.map((r) => {
|
|
15
|
+
// if (r.page.kind === 'declaration') return ['D']
|
|
16
|
+
return [
|
|
17
|
+
{
|
|
18
|
+
label: r.label,
|
|
19
|
+
slug: r.slug,
|
|
20
|
+
children: compact(r.children),
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
})
|
|
24
|
+
.flat();
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/core/project/debug.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAmB,EAAE,SAAiB,EAAE,EAAE,EAAE;IACxE,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAA;IAChE,+CAA+C;IAE/C,aAAa;IACb,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAI,CAAC,CAAC,IAAwB,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAA;QACpD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;QAC/D,IAAI,CAAC,CAAC,QAAQ;YAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IAC1D,CAAC;AACH,CAAC,CAAA;AAID,MAAM,OAAO,GAAG,CAAC,MAAmB,EAAsB,EAAE;IAC1D,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,kDAAkD;QAClD,OAAO;YACL;gBACE,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC9B;SACF,CAAA;IACH,CAAC,CAAC;SACD,IAAI,EAAE,CAAA;AACX,CAAC,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import mm from 'micromatch';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import * as reflect from "../reflect/index.js";
|
|
5
|
+
import * as routing from "./routing.js";
|
|
6
|
+
export * from "./debug.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
export const buildJson = async (opts) => {
|
|
9
|
+
const graph = reflect.generate(opts.config.entrypoints, {
|
|
10
|
+
compilerOptions: opts.compilerOptions,
|
|
11
|
+
rootDir: opts.dir,
|
|
12
|
+
include: keepFile(opts),
|
|
13
|
+
});
|
|
14
|
+
const routes = Array.from(routing.buildRoutes(graph, {
|
|
15
|
+
entrypoints: opts.config.entrypoints,
|
|
16
|
+
rootName: opts.config.name,
|
|
17
|
+
provider: opts.routeProvider,
|
|
18
|
+
mode: opts.full ? 'full' : 'exposed',
|
|
19
|
+
reserved: collectSlugs(opts.config.routes),
|
|
20
|
+
}));
|
|
21
|
+
return {
|
|
22
|
+
...opts.config,
|
|
23
|
+
declarations: [...graph.declarations()],
|
|
24
|
+
routes: [...opts.config.routes, ...routes],
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
/** All slugs in a route subtree, so routing can avoid colliding with them. */
|
|
28
|
+
const collectSlugs = (routes) => routes.flatMap((r) => [r.slug, ...collectSlugs(r.children)]);
|
|
29
|
+
const keepFile = (opts) => (sf) => {
|
|
30
|
+
if (sf.isDeclarationFile)
|
|
31
|
+
return false;
|
|
32
|
+
if (sf.fileName.includes('/node_modules/'))
|
|
33
|
+
return false;
|
|
34
|
+
const relative = path.relative(opts.dir, sf.fileName);
|
|
35
|
+
if (opts.exclude?.some((i) => mm.isMatch(relative, i)))
|
|
36
|
+
return false;
|
|
37
|
+
return true;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAa1B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,IAAqB,EAAwB,EAAE;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACtD,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;KACxB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE;QACzB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;QACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;QAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC3C,CAAC,CACH,CAAA;IAED,OAAO;QACL,GAAG,IAAI,CAAC,MAAM;QACd,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA;AAED,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAY,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAEpH,MAAM,QAAQ,GACZ,CAAC,IAAqB,EAAE,EAAE,CAC1B,CAAC,EAAiB,EAAW,EAAE;IAC7B,IAAI,EAAE,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAA;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IACpE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as path from "../../_lib/path/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Parts for a root entry module — its slug is the site-relative base that all
|
|
4
|
+
* descendants build on. The main entry (`.`) lives at the root (`''`).
|
|
5
|
+
*/
|
|
6
|
+
export const rootParts = (d, opts) => {
|
|
7
|
+
const alias = opts.aliases.get(d.path);
|
|
8
|
+
if (alias && alias !== '.')
|
|
9
|
+
return { label: alias, slug: alias, qualified: alias };
|
|
10
|
+
const seg = moduleSegments(d.path, opts.commonDir);
|
|
11
|
+
if (seg.length === 0)
|
|
12
|
+
return { label: opts.rootName, slug: '', qualified: opts.rootName };
|
|
13
|
+
const joined = seg.join('.');
|
|
14
|
+
return { label: joined, slug: seg.join('/'), qualified: joined };
|
|
15
|
+
};
|
|
16
|
+
/** Parts for a route nested under `parent`, named by its local `segment`. */
|
|
17
|
+
export const childParts = (segment, parent) => ({
|
|
18
|
+
label: segment,
|
|
19
|
+
slug: parent.slug ? `${parent.slug}/${segment}` : segment,
|
|
20
|
+
qualified: parent.qualified ? `${parent.qualified}.${segment}` : segment,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Module path -> path segments, relative to the common source dir, with the
|
|
24
|
+
* file extension dropped and a trailing `index` removed. Pure string ops, so
|
|
25
|
+
* no regex is built from (and broken by) arbitrary file paths.
|
|
26
|
+
*/
|
|
27
|
+
const moduleSegments = (modulePath, commonDir) => {
|
|
28
|
+
let rel = modulePath;
|
|
29
|
+
if (commonDir && rel.startsWith(commonDir))
|
|
30
|
+
rel = rel.slice(commonDir.length);
|
|
31
|
+
const segs = rel.split('/').filter(Boolean);
|
|
32
|
+
const last = segs[segs.length - 1];
|
|
33
|
+
if (last && /^index\./.test(last))
|
|
34
|
+
segs.pop();
|
|
35
|
+
else if (last)
|
|
36
|
+
segs[segs.length - 1] = path.stripExt(last);
|
|
37
|
+
return segs;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../src/core/project/naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAehD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAgC,EAAE,IAAiB,EAAS,EAAE;IACtF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IAClF,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;IACzF,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AAClE,CAAC,CAAA;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,MAAa,EAAS,EAAE,CAAC,CAAC;IACpE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;IACzD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO;CACzE,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,SAAiB,EAAY,EAAE;IACzE,IAAI,GAAG,GAAG,UAAU,CAAA;IACpB,IAAI,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC7E,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,GAAG,EAAE,CAAA;SACxC,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|