polen 0.8.0-next.9 → 0.8.0
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 +25 -0
- package/build/api/api.d.ts +3 -3
- package/build/api/api.js +3 -3
- package/build/api/builder/builder.d.ts +1 -1
- package/build/api/builder/builder.d.ts.map +1 -1
- package/build/api/builder/builder.js +12 -4
- package/build/api/builder/builder.js.map +1 -1
- package/build/api/builder/index.d.ts +1 -1
- package/build/api/builder/index.js +1 -1
- package/build/api/config/config.d.ts +4 -4
- package/build/api/config/config.js +4 -4
- package/build/api/config/configurator.d.ts +21 -4
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +6 -2
- package/build/api/config/configurator.js.map +1 -1
- package/build/api/config/define.d.ts +1 -1
- package/build/api/config/index.d.ts +1 -1
- package/build/api/config/index.js +1 -1
- package/build/api/config/load.d.ts +1 -1
- package/build/api/config/load.d.ts.map +1 -1
- package/build/api/config/load.js +71 -19
- package/build/api/config/load.js.map +1 -1
- package/build/api/config/merge.d.ts +1 -1
- package/build/api/config/merge.js +1 -1
- package/build/api/config/merge.js.map +1 -1
- package/build/api/config-resolver/config-resolver.d.ts +2 -2
- package/build/api/config-resolver/config-resolver.js +2 -2
- package/build/api/config-resolver/index.d.ts +1 -1
- package/build/api/config-resolver/index.js +1 -1
- package/build/api/config-resolver/resolve.d.ts +3 -3
- package/build/api/config-resolver/resolve.d.ts.map +1 -1
- package/build/api/config-resolver/resolve.js +8 -5
- package/build/api/config-resolver/resolve.js.map +1 -1
- package/build/api/config-resolver/vite.d.ts +2 -2
- package/build/api/config-resolver/vite.d.ts.map +1 -1
- package/build/api/config-resolver/vite.js +2 -2
- package/build/api/config-resolver/vite.js.map +1 -1
- package/build/api/index.d.ts +1 -1
- package/build/api/index.js +1 -1
- package/build/api/schema/data-sources/data-sources.d.ts +3 -3
- package/build/api/schema/data-sources/data-sources.js +3 -3
- package/build/api/schema/data-sources/index.d.ts +1 -1
- package/build/api/schema/data-sources/index.js +1 -1
- package/build/api/schema/data-sources/memory/memory.d.ts +1 -1
- package/build/api/schema/data-sources/memory/memory.js +2 -2
- package/build/api/schema/data-sources/memory/memory.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +5 -5
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.js +2 -2
- package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
- package/build/api/schema/index.d.ts +1 -1
- package/build/api/schema/index.js +1 -1
- package/build/api/schema/read.d.ts +2 -2
- package/build/api/schema/read.js +1 -1
- package/build/api/schema/schema.d.ts +3 -3
- package/build/api/schema/schema.d.ts.map +1 -1
- package/build/api/schema/schema.js +2 -2
- package/build/api/schema-augmentation/augmentations/description.d.ts +2 -2
- package/build/api/schema-augmentation/augmentations/description.d.ts.map +1 -1
- package/build/api/schema-augmentation/augmentations/description.js +1 -1
- package/build/api/schema-augmentation/index.d.ts +1 -1
- package/build/api/schema-augmentation/index.js +1 -1
- package/build/api/schema-augmentation/schema-augmentation.d.ts +2 -2
- package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
- package/build/api/schema-augmentation/schema-augmentation.js +1 -1
- package/build/api/schema-augmentation/target.d.ts +1 -1
- package/build/api/schema-augmentation/target.d.ts.map +1 -1
- package/build/api/schema-augmentation/target.js +1 -1
- package/build/api/schema-augmentation/target.js.map +1 -1
- package/build/api/singletons/markdown/index.d.ts +1 -1
- package/build/api/singletons/markdown/index.js +1 -1
- package/build/api/vite/log-filters.d.ts +1 -1
- package/build/api/vite/log-filters.d.ts.map +1 -1
- package/build/api/vite/log-filters.js +1 -1
- package/build/api/vite/log-filters.js.map +1 -1
- package/build/api/vite/logger.d.ts +1 -1
- package/build/api/vite/logger.d.ts.map +1 -1
- package/build/api/vite/logger.js +21 -7
- package/build/api/vite/logger.js.map +1 -1
- package/build/api/vite/plugins/build.d.ts +2 -2
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +14 -6
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +3 -3
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +148 -208
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/main.d.ts +2 -2
- package/build/api/vite/plugins/main.d.ts.map +1 -1
- package/build/api/vite/plugins/main.js +3 -3
- package/build/api/vite/plugins/pages-tree.d.ts +16 -0
- package/build/api/vite/plugins/pages-tree.d.ts.map +1 -0
- package/build/api/vite/plugins/pages-tree.js +152 -0
- package/build/api/vite/plugins/pages-tree.js.map +1 -0
- package/build/api/vite/plugins/serve.d.ts +2 -2
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +41 -26
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/api/vite/vi.d.ts +2 -2
- package/build/api/vite/vi.d.ts.map +1 -1
- package/build/api/vite/vi.js +2 -2
- package/build/api/vite/vi.js.map +1 -1
- package/build/cli/_/self-contained-mode.d.ts +16 -0
- package/build/cli/_/self-contained-mode.d.ts.map +1 -0
- package/build/cli/_/self-contained-mode.js +58 -0
- package/build/cli/_/self-contained-mode.js.map +1 -0
- package/build/cli/commands/build.js +2 -2
- package/build/cli/commands/build.js.map +1 -1
- package/build/cli/commands/dev.js +3 -4
- package/build/cli/commands/dev.js.map +1 -1
- package/build/cli/commands/open.js +4 -4
- package/build/cli/commands/open.js.map +1 -1
- package/build/dep/graphql-inspector/index.d.ts +1 -1
- package/build/dep/graphql-inspector/index.js +1 -1
- package/build/dep/hono/hono.d.ts +1 -1
- package/build/dep/hono/hono.js +1 -1
- package/build/dep/hono/index.d.ts +1 -1
- package/build/dep/hono/index.js +1 -1
- package/build/dep/superjson/index.d.ts +1 -1
- package/build/dep/superjson/index.js +1 -1
- package/build/dep/tiny-globby/index.d.ts +1 -1
- package/build/dep/tiny-globby/index.js +1 -1
- package/build/dep/vite/index.d.ts +1 -1
- package/build/dep/vite/index.js +1 -1
- package/build/exports/index.d.ts +1 -1
- package/build/exports/index.js +1 -1
- package/build/exports/polen.d.ts +3 -3
- package/build/exports/polen.d.ts.map +1 -1
- package/build/exports/polen.js +3 -3
- package/build/exports/polen.js.map +1 -1
- package/build/lib/apple-touch-icon/index.d.ts +1 -1
- package/build/lib/apple-touch-icon/index.js +1 -1
- package/build/lib/debug/debug.d.ts +3 -3
- package/build/lib/debug/debug.d.ts.map +1 -1
- package/build/lib/debug/debug.js +39 -10
- package/build/lib/debug/debug.js.map +1 -1
- package/build/lib/debug/environment-variable.d.ts +2 -1
- package/build/lib/debug/environment-variable.d.ts.map +1 -1
- package/build/lib/debug/environment-variable.js +27 -7
- package/build/lib/debug/environment-variable.js.map +1 -1
- package/build/lib/debug/index.d.ts +1 -1
- package/build/lib/debug/index.js +1 -1
- package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
- package/build/lib/errors/ContextualAggregateError.js +1 -1
- package/build/lib/errors/ContextualError.d.ts +1 -1
- package/build/lib/errors/ErrorInternal.d.ts +2 -2
- package/build/lib/errors/ErrorInternal.js +1 -1
- package/build/lib/errors/errors.d.ts +4 -4
- package/build/lib/errors/errors.js +4 -4
- package/build/lib/errors/index.d.ts +1 -1
- package/build/lib/errors/index.js +1 -1
- package/build/lib/errors/types.d.ts +1 -1
- package/build/lib/favicon/index.d.ts +1 -1
- package/build/lib/favicon/index.js +1 -1
- package/build/lib/file-router/diagnostic-reporter.d.ts +3 -0
- package/build/lib/file-router/diagnostic-reporter.d.ts.map +1 -0
- package/build/lib/file-router/diagnostic-reporter.js +18 -0
- package/build/lib/file-router/diagnostic-reporter.js.map +1 -0
- package/build/lib/file-router/file-router.d.ts +5 -3
- package/build/lib/file-router/file-router.d.ts.map +1 -1
- package/build/lib/file-router/file-router.js +5 -3
- package/build/lib/file-router/file-router.js.map +1 -1
- package/build/lib/file-router/index.d.ts +1 -1
- package/build/lib/file-router/index.js +1 -1
- package/build/lib/file-router/linter.d.ts +25 -2
- package/build/lib/file-router/linter.d.ts.map +1 -1
- package/build/lib/file-router/linter.js +44 -3
- package/build/lib/file-router/linter.js.map +1 -1
- package/build/lib/file-router/route.d.ts +1 -0
- package/build/lib/file-router/route.d.ts.map +1 -1
- package/build/lib/file-router/route.js +1 -1
- package/build/lib/file-router/route.js.map +1 -1
- package/build/lib/file-router/scan-tree.d.ts +20 -0
- package/build/lib/file-router/scan-tree.d.ts.map +1 -0
- package/build/lib/file-router/scan-tree.js +158 -0
- package/build/lib/file-router/scan-tree.js.map +1 -0
- package/build/lib/file-router/scan.d.ts +2 -2
- package/build/lib/file-router/scan.d.ts.map +1 -1
- package/build/lib/file-router/scan.js +26 -10
- package/build/lib/file-router/scan.js.map +1 -1
- package/build/lib/file-router/sidebar/index.d.ts +3 -0
- package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/index.js +4 -0
- package/build/lib/file-router/sidebar/index.js.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
- package/build/lib/file-router/sidebar/types.d.ts +17 -0
- package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/types.js +2 -0
- package/build/lib/file-router/sidebar/types.js.map +1 -0
- package/build/lib/grafaid/_Nodes.d.ts +1 -1
- package/build/lib/grafaid/_Nodes.js +1 -1
- package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
- package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
- package/build/lib/grafaid/document/kind.d.ts +1 -1
- package/build/lib/grafaid/document/kind.js +1 -1
- package/build/lib/grafaid/document.d.ts +4 -4
- package/build/lib/grafaid/document.js +6 -6
- package/build/lib/grafaid/grafaid.d.ts +4 -4
- package/build/lib/grafaid/grafaid.js +4 -4
- package/build/lib/grafaid/graphql.d.ts +2 -2
- package/build/lib/grafaid/graphql.js +2 -2
- package/build/lib/grafaid/http/__.d.ts +1 -1
- package/build/lib/grafaid/http/__.js +1 -1
- package/build/lib/grafaid/http/http.js +1 -1
- package/build/lib/grafaid/index.d.ts +1 -1
- package/build/lib/grafaid/index.js +1 -1
- package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
- package/build/lib/grafaid/schema/KindMap/_.js +4 -4
- package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
- package/build/lib/grafaid/schema/KindMap/__.js +1 -1
- package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
- package/build/lib/grafaid/schema/OperationType/__.js +1 -1
- package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
- package/build/lib/grafaid/schema/RootDetails.js +2 -2
- package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
- package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
- package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
- package/build/lib/grafaid/schema/nodes-like.js +1 -1
- package/build/lib/grafaid/schema/schema.d.ts +14 -14
- package/build/lib/grafaid/schema/schema.js +15 -15
- package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
- package/build/lib/grafaid/schema/type-kind-name.js +1 -1
- package/build/lib/grafaid/schema/type.d.ts +1 -1
- package/build/lib/grafaid/schema/typeGuards.js +1 -1
- package/build/lib/grafaid-old/grafaid.d.ts +1 -1
- package/build/lib/grafaid-old/grafaid.js +1 -1
- package/build/lib/grafaid-old/index.d.ts +1 -1
- package/build/lib/grafaid-old/index.js +1 -1
- package/build/lib/graphql-change/graphql-change.d.ts +2 -2
- package/build/lib/graphql-change/graphql-change.d.ts.map +1 -1
- package/build/lib/graphql-change/graphql-change.js +1 -1
- package/build/lib/graphql-change/graphql-change.js.map +1 -1
- package/build/lib/graphql-change/index.d.ts +1 -1
- package/build/lib/graphql-change/index.js +1 -1
- package/build/lib/graphql-changeset/graphql-changeset.d.ts +2 -2
- package/build/lib/graphql-changeset/graphql-changeset.d.ts.map +1 -1
- package/build/lib/graphql-changeset/index.d.ts +1 -1
- package/build/lib/graphql-changeset/index.js +1 -1
- package/build/lib/graphql-schema-loader/graphql-schema-loader.d.ts +1 -1
- package/build/lib/graphql-schema-loader/graphql-schema-loader.d.ts.map +1 -1
- package/build/lib/graphql-schema-loader/graphql-schema-loader.js +1 -1
- package/build/lib/graphql-schema-loader/graphql-schema-loader.js.map +1 -1
- package/build/lib/graphql-schema-loader/index.d.ts +1 -1
- package/build/lib/graphql-schema-loader/index.js +1 -1
- package/build/lib/hono-aid/hono-aid.d.ts +1 -1
- package/build/lib/hono-aid/hono-aid.d.ts.map +1 -1
- package/build/lib/hono-aid/index.d.ts +1 -1
- package/build/lib/hono-aid/index.js +1 -1
- package/build/lib/kit-temp.d.ts +6 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +3 -0
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/react-router-aid/get-paths-patterns.d.ts +1 -1
- package/build/lib/react-router-aid/get-paths-patterns.d.ts.map +1 -1
- package/build/lib/react-router-aid/index.d.ts +1 -1
- package/build/lib/react-router-aid/index.js +1 -1
- package/build/lib/react-router-aid/react-router-aid.d.ts +2 -2
- package/build/lib/react-router-aid/react-router-aid.d.ts.map +1 -1
- package/build/lib/react-router-aid/react-router-aid.js +1 -1
- package/build/lib/react-router-loader/react-router-loader.js +1 -1
- package/build/lib/stack-processor/index.d.ts +1 -1
- package/build/lib/stack-processor/index.js +1 -1
- package/build/lib/superjson-codec/codec.d.ts +1 -1
- package/build/lib/superjson-codec/codec.d.ts.map +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +2 -2
- package/build/lib/superjson-codec/codecs/graphql-schema.d.ts.map +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.js +2 -2
- package/build/lib/superjson-codec/codecs/graphql-schema.js.map +1 -1
- package/build/lib/superjson-codec/exports.d.ts +2 -2
- package/build/lib/superjson-codec/exports.js +2 -2
- package/build/lib/superjson-codec/index.d.ts +1 -1
- package/build/lib/superjson-codec/index.js +1 -1
- package/build/lib/tree/index.d.ts +3 -0
- package/build/lib/tree/index.d.ts.map +1 -0
- package/build/lib/tree/index.js +2 -0
- package/build/lib/tree/index.js.map +1 -0
- package/build/lib/tree/tree.d.ts +62 -0
- package/build/lib/tree/tree.d.ts.map +1 -0
- package/build/lib/tree/tree.js +134 -0
- package/build/lib/tree/tree.js.map +1 -0
- package/build/lib/vite-plugin-config/vite-plugin-config.d.ts +1 -1
- package/build/lib/vite-plugin-config/vite-plugin-config.d.ts.map +1 -1
- package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
- package/build/lib/vite-plugin-mdx/index.d.ts.map +1 -1
- package/build/lib/vite-plugin-mdx/index.js +1 -3
- package/build/lib/vite-plugin-mdx/index.js.map +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +22 -0
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +55 -71
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
- package/build/lib/vite-plugins/index.d.ts +1 -1
- package/build/lib/vite-plugins/index.js +1 -1
- package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
- package/build/lib/vite-plugins/vite-plugins.js +1 -1
- package/build/lib/vite-virtual/debug.d.ts +3 -0
- package/build/lib/vite-virtual/debug.d.ts.map +1 -0
- package/build/lib/vite-virtual/debug.js +3 -0
- package/build/lib/vite-virtual/debug.js.map +1 -0
- package/build/lib/vite-virtual/hooks.d.ts +1 -1
- package/build/lib/vite-virtual/hooks.d.ts.map +1 -1
- package/build/lib/vite-virtual/identified-loader.d.ts +3 -3
- package/build/lib/vite-virtual/identified-loader.d.ts.map +1 -1
- package/build/lib/vite-virtual/identified-loader.js +2 -2
- package/build/lib/vite-virtual/identified-loader.js.map +1 -1
- package/build/lib/vite-virtual/identifier.js +1 -1
- package/build/lib/vite-virtual/index.d.ts +1 -1
- package/build/lib/vite-virtual/index.js +1 -1
- package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
- package/build/lib/vite-virtual/vite-virtual.js +3 -3
- package/build/package-paths.d.ts +7 -0
- package/build/package-paths.d.ts.map +1 -1
- package/build/package-paths.js +12 -1
- package/build/package-paths.js.map +1 -1
- package/build/project-data.d.ts +4 -20
- package/build/project-data.d.ts.map +1 -1
- package/build/singletons/debug.d.ts +3 -0
- package/build/singletons/debug.d.ts.map +1 -0
- package/build/singletons/debug.js +3 -0
- package/build/singletons/debug.js.map +1 -0
- package/build/singletons/superjson.d.ts +1 -1
- package/build/singletons/superjson.d.ts.map +1 -1
- package/build/singletons/superjson.js +2 -2
- package/build/singletons/superjson.js.map +1 -1
- package/build/template/components/ArgumentListAnnotation.jsx +1 -1
- package/build/template/components/ArgumentListAnnotation.jsx.map +1 -1
- package/build/template/components/Changelog.d.ts +1 -1
- package/build/template/components/Changelog.jsx +2 -2
- package/build/template/components/Changelog.jsx.map +1 -1
- package/build/template/components/DeprecationReason.d.ts +1 -1
- package/build/template/components/DeprecationReason.d.ts.map +1 -1
- package/build/template/components/Description.d.ts +1 -1
- package/build/template/components/Description.d.ts.map +1 -1
- package/build/template/components/Field.d.ts +1 -1
- package/build/template/components/Field.d.ts.map +1 -1
- package/build/template/components/Field.jsx +1 -1
- package/build/template/components/Field.jsx.map +1 -1
- package/build/template/components/FieldList.d.ts +1 -1
- package/build/template/components/FieldList.d.ts.map +1 -1
- package/build/template/components/FieldList.jsx +1 -1
- package/build/template/components/FieldList.jsx.map +1 -1
- package/build/template/components/FieldListSection.jsx +1 -1
- package/build/template/components/FieldListSection.jsx.map +1 -1
- package/build/template/components/Markdown.jsx +1 -1
- package/build/template/components/Markdown.jsx.map +1 -1
- package/build/template/components/Sidebar.d.ts +2 -2
- package/build/template/components/Sidebar.d.ts.map +1 -1
- package/build/template/components/Sidebar.jsx +2 -2
- package/build/template/components/Sidebar.jsx.map +1 -1
- package/build/template/components/TypeIndex.jsx +1 -1
- package/build/template/components/TypeIndex.jsx.map +1 -1
- package/build/template/components/graphql/type-kind-icon.d.ts +2 -2
- package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
- package/build/template/components/graphql/type-kind-icon.jsx +1 -1
- package/build/template/components/graphql/type-link.d.ts +1 -1
- package/build/template/components/graphql/type-link.d.ts.map +1 -1
- package/build/template/components/graphql/type-link.jsx +2 -2
- package/build/template/components/graphql/type-link.jsx.map +1 -1
- package/build/template/entry.client.jsx +1 -1
- package/build/template/entry.client.jsx.map +1 -1
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/changelog.jsx +2 -2
- package/build/template/routes/changelog.jsx.map +1 -1
- package/build/template/routes/index.d.ts +1 -1
- package/build/template/routes/index.d.ts.map +1 -1
- package/build/template/routes/index.jsx +1 -1
- package/build/template/routes/index.jsx.map +1 -1
- package/build/template/routes/reference.$type.$field.jsx +3 -3
- package/build/template/routes/reference.$type.$field.jsx.map +1 -1
- package/build/template/routes/reference.$type.jsx +2 -2
- package/build/template/routes/reference.$type.jsx.map +1 -1
- package/build/template/routes/reference.jsx +2 -2
- package/build/template/routes/reference.jsx.map +1 -1
- package/build/template/routes/root.d.ts +1 -1
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.jsx +3 -3
- package/build/template/routes/root.jsx.map +1 -1
- package/build/template/server/app.d.ts +1 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +5 -4
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/main.js +3 -3
- package/build/template/server/manifest.d.ts +1 -1
- package/build/template/server/manifest.d.ts.map +1 -1
- package/build/template/server/render-page.d.ts +1 -1
- package/build/template/server/render-page.d.ts.map +1 -1
- package/build/template/server/render-page.jsx +2 -2
- package/build/template/server/ssg/generate.d.ts +1 -1
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +3 -3
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +2 -2
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/package.json +70 -54
- package/src/api/api.ts +3 -3
- package/src/api/builder/builder.ts +3 -3
- package/src/api/builder/index.ts +1 -1
- package/src/api/config/config.ts +4 -4
- package/src/api/config/configurator.ts +27 -5
- package/src/api/config/define.ts +1 -1
- package/src/api/config/index.ts +1 -1
- package/src/api/config/load.ts +74 -23
- package/src/api/config/merge.ts +2 -2
- package/src/api/config-resolver/config-resolver.ts +2 -2
- package/src/api/config-resolver/index.ts +1 -1
- package/src/api/config-resolver/resolve.ts +8 -5
- package/src/api/config-resolver/vite.ts +3 -3
- package/src/api/index.ts +1 -1
- package/src/api/schema/data-sources/data-sources.ts +3 -3
- package/src/api/schema/data-sources/index.ts +1 -1
- package/src/api/schema/data-sources/memory/memory.ts +4 -4
- package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +7 -7
- package/src/api/schema/data-sources/schema-file/schema-file.ts +4 -4
- package/src/api/schema/index.ts +1 -1
- package/src/api/schema/read.ts +2 -2
- package/src/api/schema/schema.ts +3 -3
- package/src/api/schema-augmentation/augmentations/description.ts +3 -3
- package/src/api/schema-augmentation/index.ts +1 -1
- package/src/api/schema-augmentation/schema-augmentation.ts +2 -2
- package/src/api/schema-augmentation/target.ts +1 -1
- package/src/api/singletons/markdown/index.ts +1 -1
- package/src/api/vite/log-filters.ts +1 -1
- package/src/api/vite/logger.ts +23 -7
- package/src/api/vite/plugins/build.ts +6 -6
- package/src/api/vite/plugins/core.ts +165 -245
- package/src/api/vite/plugins/main.ts +5 -5
- package/src/api/vite/plugins/pages-tree.ts +186 -0
- package/src/api/vite/plugins/serve.ts +52 -29
- package/src/api/vite/vi.ts +2 -2
- package/src/cli/_/self-contained-mode.ts +85 -0
- package/src/cli/commands/build.ts +2 -2
- package/src/cli/commands/dev.ts +3 -4
- package/src/cli/commands/open.ts +4 -4
- package/src/dep/graphql-inspector/index.ts +1 -1
- package/src/dep/hono/hono.ts +1 -1
- package/src/dep/hono/index.ts +1 -1
- package/src/dep/superjson/index.ts +1 -1
- package/src/dep/tiny-globby/index.ts +1 -1
- package/src/dep/vite/index.ts +1 -1
- package/src/exports/index.ts +1 -1
- package/src/exports/polen.ts +3 -3
- package/src/lib/apple-touch-icon/index.ts +1 -1
- package/src/lib/debug/debug.ts +45 -18
- package/src/lib/debug/environment-variable.ts +28 -7
- package/src/lib/debug/index.ts +1 -1
- package/src/lib/errors/ContextualAggregateError.ts +1 -1
- package/src/lib/errors/ContextualError.ts +1 -1
- package/src/lib/errors/ErrorInternal.ts +2 -2
- package/src/lib/errors/errors.ts +4 -4
- package/src/lib/errors/index.ts +1 -1
- package/src/lib/errors/types.ts +1 -1
- package/src/lib/favicon/index.ts +1 -1
- package/src/lib/file-router/diagnostic-reporter.ts +22 -0
- package/src/lib/file-router/file-router.ts +5 -3
- package/src/lib/file-router/index.test.ts +2 -2
- package/src/lib/file-router/index.ts +1 -1
- package/src/lib/file-router/linter.test.ts +115 -0
- package/src/lib/file-router/linter.ts +78 -4
- package/src/lib/file-router/route.ts +2 -1
- package/src/lib/file-router/scan-tree.test.ts +189 -0
- package/src/lib/file-router/scan-tree.ts +205 -0
- package/src/lib/file-router/scan.ts +27 -12
- package/src/lib/file-router/sidebar/index.ts +3 -0
- package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
- package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
- package/src/lib/file-router/sidebar/types.ts +19 -0
- package/src/lib/grafaid/_Nodes.ts +1 -1
- package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
- package/src/lib/grafaid/document/kind.ts +1 -1
- package/src/lib/grafaid/document.ts +6 -6
- package/src/lib/grafaid/grafaid.ts +4 -4
- package/src/lib/grafaid/graphql.ts +3 -3
- package/src/lib/grafaid/http/__.ts +1 -1
- package/src/lib/grafaid/http/http.ts +1 -1
- package/src/lib/grafaid/index.ts +1 -1
- package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
- package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
- package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
- package/src/lib/grafaid/schema/RootDetails.ts +3 -3
- package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
- package/src/lib/grafaid/schema/nodes-like.ts +2 -2
- package/src/lib/grafaid/schema/schema.ts +15 -15
- package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
- package/src/lib/grafaid/schema/type.ts +1 -1
- package/src/lib/grafaid/schema/typeGuards.ts +1 -1
- package/src/lib/grafaid-old/grafaid.ts +1 -1
- package/src/lib/grafaid-old/index.ts +1 -1
- package/src/lib/graphql-change/graphql-change.ts +2 -2
- package/src/lib/graphql-change/index.ts +1 -1
- package/src/lib/graphql-changeset/graphql-changeset.ts +2 -2
- package/src/lib/graphql-changeset/index.ts +1 -1
- package/src/lib/graphql-schema-loader/graphql-schema-loader.ts +1 -1
- package/src/lib/graphql-schema-loader/index.ts +1 -1
- package/src/lib/hono-aid/hono-aid.ts +1 -1
- package/src/lib/hono-aid/index.ts +1 -1
- package/src/lib/kit-temp.ts +10 -0
- package/src/lib/react-router-aid/get-paths-patterns.ts +1 -1
- package/src/lib/react-router-aid/index.ts +1 -1
- package/src/lib/react-router-aid/react-router-aid.ts +2 -2
- package/src/lib/react-router-loader/react-router-loader.ts +1 -1
- package/src/lib/stack-processor/index.ts +1 -1
- package/src/lib/superjson-codec/codec.ts +1 -1
- package/src/lib/superjson-codec/codecs/graphql-schema.ts +2 -2
- package/src/lib/superjson-codec/exports.ts +2 -2
- package/src/lib/superjson-codec/index.ts +1 -1
- package/src/lib/tree/index.ts +2 -0
- package/src/lib/tree/tree.test.ts +117 -0
- package/src/lib/tree/tree.ts +183 -0
- package/src/lib/vite-plugin-config/vite-plugin-config.ts +1 -1
- package/src/lib/vite-plugin-mdx/index.ts +1 -2
- package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +80 -70
- package/src/lib/vite-plugins/index.ts +1 -1
- package/src/lib/vite-plugins/vite-plugins.ts +1 -1
- package/src/lib/vite-virtual/debug.ts +3 -0
- package/src/lib/vite-virtual/hooks.ts +1 -1
- package/src/lib/vite-virtual/identified-loader.ts +5 -5
- package/src/lib/vite-virtual/identifier.ts +1 -1
- package/src/lib/vite-virtual/index.ts +1 -1
- package/src/lib/vite-virtual/vite-virtual.ts +3 -3
- package/src/package-paths.ts +22 -1
- package/src/project-data.ts +4 -24
- package/src/singletons/debug.ts +3 -0
- package/src/singletons/superjson.ts +2 -2
- package/src/template/components/ArgumentListAnnotation.tsx +1 -1
- package/src/template/components/Changelog.tsx +6 -6
- package/src/template/components/DeprecationReason.tsx +1 -1
- package/src/template/components/Description.tsx +1 -1
- package/src/template/components/Field.tsx +1 -1
- package/src/template/components/FieldList.tsx +1 -1
- package/src/template/components/FieldListSection.tsx +1 -1
- package/src/template/components/Markdown.tsx +1 -1
- package/src/template/components/Sidebar.tsx +7 -6
- package/src/template/components/TypeIndex.tsx +1 -1
- package/src/template/components/graphql/type-kind-icon.tsx +3 -3
- package/src/template/components/graphql/type-kind-tokens.ts +1 -1
- package/src/template/components/graphql/type-link.tsx +2 -2
- package/src/template/entry.client.tsx +1 -1
- package/src/template/routes/changelog.tsx +2 -2
- package/src/template/routes/index.tsx +1 -1
- package/src/template/routes/reference.$type.$field.tsx +3 -3
- package/src/template/routes/reference.$type.tsx +2 -2
- package/src/template/routes/reference.tsx +2 -2
- package/src/template/routes/root.tsx +4 -5
- package/src/template/server/app.ts +6 -4
- package/src/template/server/main.ts +3 -3
- package/src/template/server/manifest.ts +1 -1
- package/src/template/server/render-page.tsx +4 -4
- package/src/template/server/ssg/generate.ts +4 -4
- package/src/template/server/ssg/get-route-paths.ts +2 -2
- package/build/lib/file-router/sidebar.d.ts +0 -2
- package/build/lib/file-router/sidebar.d.ts.map +0 -1
- package/build/lib/file-router/sidebar.js +0 -2
- package/build/lib/file-router/sidebar.js.map +0 -1
- package/src/lib/file-router/sidebar.ts +0 -0
package/src/lib/kit-temp.ts
CHANGED
@@ -13,6 +13,7 @@
|
|
13
13
|
//
|
14
14
|
|
15
15
|
import { Fs, Path, Undefined } from '@wollybeard/kit'
|
16
|
+
import type { ResolveHookContext } from 'node:module'
|
16
17
|
|
17
18
|
export const arrayEquals = (a: any[], b: any[]) => {
|
18
19
|
if (a.length !== b.length) return false
|
@@ -49,3 +50,12 @@ export const pickFirstPathExisting = async (paths: string[]): Promise<string | u
|
|
49
50
|
const checks = await Promise.all(paths.map(path => Fs.exists(path).then(exists => exists ? path : undefined)))
|
50
51
|
return checks.find(maybePath => maybePath !== undefined)
|
51
52
|
}
|
53
|
+
|
54
|
+
export const isSpecifierFromPackage = (specifier: string, packageName: string): boolean => {
|
55
|
+
return specifier === packageName || specifier.startsWith(packageName + `/`)
|
56
|
+
}
|
57
|
+
|
58
|
+
export interface ImportEvent {
|
59
|
+
specifier: string
|
60
|
+
context: ResolveHookContext
|
61
|
+
}
|
@@ -1 +1 @@
|
|
1
|
-
export * as ReactRouterAid from './react-router-aid.
|
1
|
+
export * as ReactRouterAid from './react-router-aid.ts'
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import type { ReactRouter } from '#dep/react-router/index
|
1
|
+
import type { ReactRouter } from '#dep/react-router/index'
|
2
2
|
import type { Http } from '@wollybeard/kit'
|
3
3
|
|
4
|
-
export * from './get-paths-patterns.
|
4
|
+
export * from './get-paths-patterns.ts'
|
5
5
|
|
6
6
|
export type RouteObject = RouteObjectIndex | RouteObjectNonIndex
|
7
7
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { Fn } from '@wollybeard/kit'
|
2
2
|
import { useLoaderData as useLoaderDataRR, useRouteLoaderData as useRouteLoaderDataRR } from 'react-router'
|
3
|
-
import { superjson } from '../../singletons/superjson.
|
3
|
+
import { superjson } from '../../singletons/superjson.ts'
|
4
4
|
|
5
5
|
type Loader = Fn.AnyAny
|
6
6
|
|
@@ -1 +1 @@
|
|
1
|
-
export * as StackProcessor from './stack-processor.
|
1
|
+
export * as StackProcessor from './stack-processor.ts'
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './codec.
|
2
|
-
export * from './codecs/graphql-schema.
|
1
|
+
export * from './codec.ts'
|
2
|
+
export * from './codecs/graphql-schema.ts'
|
@@ -1 +1 @@
|
|
1
|
-
export * as SuperjsonCodecs from './exports.
|
1
|
+
export * as SuperjsonCodecs from './exports.ts'
|
@@ -0,0 +1,117 @@
|
|
1
|
+
import { describe, expect, test } from 'vitest'
|
2
|
+
import * as Tree from './tree.js'
|
3
|
+
|
4
|
+
describe('Tree', () => {
|
5
|
+
const sampleTree = Tree.node('root', [
|
6
|
+
Tree.node('a', [
|
7
|
+
Tree.node('a1'),
|
8
|
+
Tree.node('a2'),
|
9
|
+
]),
|
10
|
+
Tree.node('b', [
|
11
|
+
Tree.node('b1'),
|
12
|
+
]),
|
13
|
+
Tree.node('c'),
|
14
|
+
])
|
15
|
+
|
16
|
+
test('node creates a tree node', () => {
|
17
|
+
const leaf = Tree.node('leaf')
|
18
|
+
expect(leaf).toEqual({ value: 'leaf', children: [] })
|
19
|
+
|
20
|
+
const parent = Tree.node('parent', [leaf])
|
21
|
+
expect(parent).toEqual({ value: 'parent', children: [leaf] })
|
22
|
+
})
|
23
|
+
|
24
|
+
test('map transforms node values', () => {
|
25
|
+
const upperTree = Tree.map(sampleTree, value => value.toUpperCase())
|
26
|
+
|
27
|
+
expect(upperTree.value).toBe('ROOT')
|
28
|
+
expect(upperTree.children[0]!.value).toBe('A')
|
29
|
+
expect(upperTree.children[0]!.children[0]!.value).toBe('A1')
|
30
|
+
})
|
31
|
+
|
32
|
+
test('map provides depth and path', () => {
|
33
|
+
const depths: number[] = []
|
34
|
+
const paths: string[][] = []
|
35
|
+
|
36
|
+
Tree.map(sampleTree, (value, depth, path) => {
|
37
|
+
depths.push(depth)
|
38
|
+
paths.push(path)
|
39
|
+
return value
|
40
|
+
})
|
41
|
+
|
42
|
+
expect(depths).toEqual([0, 1, 2, 2, 1, 2, 1])
|
43
|
+
expect(paths[0]).toEqual([])
|
44
|
+
expect(paths[1]).toEqual(['root'])
|
45
|
+
expect(paths[2]).toEqual(['root', 'a'])
|
46
|
+
})
|
47
|
+
|
48
|
+
test('visit traverses all nodes', () => {
|
49
|
+
const visited: string[] = []
|
50
|
+
Tree.visit(sampleTree, node => visited.push(node.value))
|
51
|
+
|
52
|
+
expect(visited).toEqual(['root', 'a', 'a1', 'a2', 'b', 'b1', 'c'])
|
53
|
+
})
|
54
|
+
|
55
|
+
test('find locates node', () => {
|
56
|
+
const found = Tree.find(sampleTree, value => value === 'b1')
|
57
|
+
expect(found?.value).toBe('b1')
|
58
|
+
|
59
|
+
const notFound = Tree.find(sampleTree, value => value === 'x')
|
60
|
+
expect(notFound).toBeUndefined()
|
61
|
+
})
|
62
|
+
|
63
|
+
test('filter removes non-matching nodes', () => {
|
64
|
+
const filtered = Tree.filter(sampleTree, value => !value.includes('2'))
|
65
|
+
|
66
|
+
expect(filtered).toBeDefined()
|
67
|
+
expect(Tree.flatten(filtered!)).toEqual(['root', 'a', 'a1', 'b', 'b1', 'c'])
|
68
|
+
})
|
69
|
+
|
70
|
+
test('sort orders children', () => {
|
71
|
+
const sorted = Tree.sort(sampleTree, (a, b) => b.localeCompare(a))
|
72
|
+
|
73
|
+
expect(sorted.children.map(c => c.value)).toEqual(['c', 'b', 'a'])
|
74
|
+
expect(sorted.children[2]!.children.map(c => c.value)).toEqual(['a2', 'a1'])
|
75
|
+
})
|
76
|
+
|
77
|
+
test('flatten returns all values', () => {
|
78
|
+
const flat = Tree.flatten(sampleTree)
|
79
|
+
expect(flat).toEqual(['root', 'a', 'a1', 'a2', 'b', 'b1', 'c'])
|
80
|
+
})
|
81
|
+
|
82
|
+
test('depth calculates tree depth', () => {
|
83
|
+
expect(Tree.depth(Tree.node('single'))).toBe(0)
|
84
|
+
expect(Tree.depth(sampleTree)).toBe(2)
|
85
|
+
})
|
86
|
+
|
87
|
+
test('count counts all nodes', () => {
|
88
|
+
expect(Tree.count(Tree.node('single'))).toBe(1)
|
89
|
+
expect(Tree.count(sampleTree)).toBe(7)
|
90
|
+
})
|
91
|
+
|
92
|
+
test('isLeaf identifies leaf nodes', () => {
|
93
|
+
expect(Tree.isLeaf(sampleTree)).toBe(false)
|
94
|
+
expect(Tree.isLeaf(sampleTree.children[0]!)).toBe(false)
|
95
|
+
expect(Tree.isLeaf(sampleTree.children[0]!.children[0]!)).toBe(true)
|
96
|
+
})
|
97
|
+
|
98
|
+
test('leaves gets all leaf nodes', () => {
|
99
|
+
const leafNodes = Tree.leaves(sampleTree)
|
100
|
+
expect(leafNodes.map(n => n.value)).toEqual(['a1', 'a2', 'b1', 'c'])
|
101
|
+
})
|
102
|
+
|
103
|
+
test('fromList builds tree from flat list', () => {
|
104
|
+
const items = [
|
105
|
+
{ id: '1', name: 'root' },
|
106
|
+
{ id: '2', parentId: '1', name: 'child1' },
|
107
|
+
{ id: '3', parentId: '1', name: 'child2' },
|
108
|
+
{ id: '4', parentId: '2', name: 'grandchild' },
|
109
|
+
]
|
110
|
+
|
111
|
+
const trees = Tree.fromList(items, undefined)
|
112
|
+
expect(trees).toHaveLength(1)
|
113
|
+
expect(trees[0]!.value.name).toBe('root')
|
114
|
+
expect(trees[0]!.children).toHaveLength(2)
|
115
|
+
expect(trees[0]!.children[0]!.children[0]!.value.name).toBe('grandchild')
|
116
|
+
})
|
117
|
+
})
|
@@ -0,0 +1,183 @@
|
|
1
|
+
/**
|
2
|
+
* Generic tree data structure and utilities
|
3
|
+
*/
|
4
|
+
|
5
|
+
export interface TreeNode<T> {
|
6
|
+
value: T
|
7
|
+
children: TreeNode<T>[]
|
8
|
+
}
|
9
|
+
|
10
|
+
export type TreeVisitor<T, R = void> = (node: TreeNode<T>, depth: number, path: T[]) => R
|
11
|
+
|
12
|
+
export type TreeMapper<T, U> = (value: T, depth: number, path: T[]) => U
|
13
|
+
|
14
|
+
export type TreePredicate<T> = (value: T, depth: number, path: T[]) => boolean
|
15
|
+
|
16
|
+
/**
|
17
|
+
* Create a new tree node
|
18
|
+
*/
|
19
|
+
export const node = <T>(value: T, children: TreeNode<T>[] = []): TreeNode<T> => ({
|
20
|
+
value,
|
21
|
+
children,
|
22
|
+
})
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Map over a tree, transforming each node's value
|
26
|
+
*/
|
27
|
+
export const map = <T, U>(
|
28
|
+
tree: TreeNode<T>,
|
29
|
+
mapper: TreeMapper<T, U>,
|
30
|
+
depth = 0,
|
31
|
+
path: T[] = [],
|
32
|
+
): TreeNode<U> => {
|
33
|
+
const newPath = [...path, tree.value]
|
34
|
+
return {
|
35
|
+
value: mapper(tree.value, depth, path),
|
36
|
+
children: tree.children.map(child => map(child, mapper, depth + 1, newPath)),
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Visit each node in the tree (depth-first)
|
42
|
+
*/
|
43
|
+
export const visit = <T>(
|
44
|
+
tree: TreeNode<T>,
|
45
|
+
visitor: TreeVisitor<T>,
|
46
|
+
depth = 0,
|
47
|
+
path: T[] = [],
|
48
|
+
): void => {
|
49
|
+
visitor(tree, depth, path)
|
50
|
+
const newPath = [...path, tree.value]
|
51
|
+
tree.children.forEach(child => visit(child, visitor, depth + 1, newPath))
|
52
|
+
}
|
53
|
+
|
54
|
+
/**
|
55
|
+
* Find a node in the tree
|
56
|
+
*/
|
57
|
+
export const find = <T>(
|
58
|
+
tree: TreeNode<T>,
|
59
|
+
predicate: TreePredicate<T>,
|
60
|
+
depth = 0,
|
61
|
+
path: T[] = [],
|
62
|
+
): TreeNode<T> | undefined => {
|
63
|
+
if (predicate(tree.value, depth, path)) {
|
64
|
+
return tree
|
65
|
+
}
|
66
|
+
const newPath = [...path, tree.value]
|
67
|
+
for (const child of tree.children) {
|
68
|
+
const found = find(child, predicate, depth + 1, newPath)
|
69
|
+
if (found) return found
|
70
|
+
}
|
71
|
+
return undefined
|
72
|
+
}
|
73
|
+
|
74
|
+
/**
|
75
|
+
* Filter tree nodes (keeps structure, removes non-matching nodes)
|
76
|
+
*/
|
77
|
+
export const filter = <T>(
|
78
|
+
tree: TreeNode<T>,
|
79
|
+
predicate: TreePredicate<T>,
|
80
|
+
depth = 0,
|
81
|
+
path: T[] = [],
|
82
|
+
): TreeNode<T> | undefined => {
|
83
|
+
const newPath = [...path, tree.value]
|
84
|
+
const filteredChildren = tree.children
|
85
|
+
.map(child => filter(child, predicate, depth + 1, newPath))
|
86
|
+
.filter((child): child is TreeNode<T> => child !== undefined)
|
87
|
+
|
88
|
+
// Keep node if it matches or has matching children
|
89
|
+
if (predicate(tree.value, depth, path) || filteredChildren.length > 0) {
|
90
|
+
return {
|
91
|
+
value: tree.value,
|
92
|
+
children: filteredChildren,
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
return undefined
|
97
|
+
}
|
98
|
+
|
99
|
+
/**
|
100
|
+
* Sort a tree's children at each level
|
101
|
+
*/
|
102
|
+
export const sort = <T>(
|
103
|
+
tree: TreeNode<T>,
|
104
|
+
compareFn: (a: T, b: T) => number,
|
105
|
+
): TreeNode<T> => ({
|
106
|
+
value: tree.value,
|
107
|
+
children: tree.children
|
108
|
+
.map(child => sort(child, compareFn))
|
109
|
+
.sort((a, b) => compareFn(a.value, b.value)),
|
110
|
+
})
|
111
|
+
|
112
|
+
/**
|
113
|
+
* Flatten a tree into an array (depth-first)
|
114
|
+
*/
|
115
|
+
export const flatten = <T>(tree: TreeNode<T>): T[] => {
|
116
|
+
const result: T[] = [tree.value]
|
117
|
+
tree.children.forEach(child => {
|
118
|
+
result.push(...flatten(child))
|
119
|
+
})
|
120
|
+
return result
|
121
|
+
}
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Get the depth of the tree
|
125
|
+
*/
|
126
|
+
export const depth = <T>(tree: TreeNode<T>): number => {
|
127
|
+
if (tree.children.length === 0) return 0
|
128
|
+
return 1 + Math.max(...tree.children.map(depth))
|
129
|
+
}
|
130
|
+
|
131
|
+
/**
|
132
|
+
* Count total nodes in the tree
|
133
|
+
*/
|
134
|
+
export const count = <T>(tree: TreeNode<T>): number => {
|
135
|
+
return 1 + tree.children.reduce((sum, child) => sum + count(child), 0)
|
136
|
+
}
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Check if a node is a leaf (has no children)
|
140
|
+
*/
|
141
|
+
export const isLeaf = <T>(node: TreeNode<T>): boolean => {
|
142
|
+
return node.children.length === 0
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Get all leaf nodes
|
147
|
+
*/
|
148
|
+
export const leaves = <T>(tree: TreeNode<T>): TreeNode<T>[] => {
|
149
|
+
if (isLeaf(tree)) return [tree]
|
150
|
+
return tree.children.flatMap(leaves)
|
151
|
+
}
|
152
|
+
|
153
|
+
/**
|
154
|
+
* Build a tree from a flat list with parent references
|
155
|
+
*/
|
156
|
+
export const fromList = <T extends { id: string; parentId?: string }>(
|
157
|
+
items: T[],
|
158
|
+
rootId?: string,
|
159
|
+
): TreeNode<T>[] => {
|
160
|
+
const itemMap = new Map(items.map(item => [item.id, item]))
|
161
|
+
const roots: TreeNode<T>[] = []
|
162
|
+
const nodeMap = new Map<string, TreeNode<T>>()
|
163
|
+
|
164
|
+
// Create all nodes
|
165
|
+
items.forEach(item => {
|
166
|
+
nodeMap.set(item.id, node(item))
|
167
|
+
})
|
168
|
+
|
169
|
+
// Build hierarchy
|
170
|
+
items.forEach(item => {
|
171
|
+
const itemNode = nodeMap.get(item.id)!
|
172
|
+
if (item.parentId === rootId) {
|
173
|
+
roots.push(itemNode)
|
174
|
+
} else if (item.parentId) {
|
175
|
+
const parent = nodeMap.get(item.parentId)
|
176
|
+
if (parent) {
|
177
|
+
parent.children.push(itemNode)
|
178
|
+
}
|
179
|
+
}
|
180
|
+
})
|
181
|
+
|
182
|
+
return roots
|
183
|
+
}
|
@@ -1,2 +1 @@
|
|
1
|
-
|
2
|
-
// export type { Options as MdxOptions } from './vite-plugin-mdx.js'
|
1
|
+
export * from './vite-plugin-mdx.ts'
|
@@ -1,81 +1,91 @@
|
|
1
1
|
// TODO: use this or similar once transform hook can change module type and have result re-processed
|
2
2
|
// @see https://github.com/rolldown/rolldown/issues/4004
|
3
|
+
// Note: This is adapted from `@mdx-js/mdx`
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
5
|
+
import type { CompileOptions } from '@mdx-js/mdx'
|
6
|
+
import {
|
7
|
+
createFormatAwareProcessors,
|
8
|
+
type FormatAwareProcessors,
|
9
|
+
} from '@mdx-js/mdx/internal-create-format-aware-processors'
|
10
|
+
import { createFilter, type FilterPattern } from '@rollup/pluginutils'
|
11
|
+
import type { SourceDescription } from 'rolldown'
|
12
|
+
import { SourceMapGenerator } from 'source-map'
|
13
|
+
import { VFile } from 'vfile'
|
14
|
+
import type { Plugin } from 'vite'
|
14
15
|
|
15
|
-
|
16
|
+
type ApplicableOptions = Omit<CompileOptions, `SourceMapGenerator`>
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
18
|
+
interface ExtraOptions {
|
19
|
+
/**
|
20
|
+
* Picomatch patterns to exclude (optional).
|
21
|
+
*/
|
22
|
+
exclude?: FilterPattern | null | undefined
|
23
|
+
/**
|
24
|
+
* Picomatch patterns to include (optional).
|
25
|
+
*/
|
26
|
+
include?: FilterPattern | null | undefined
|
27
|
+
}
|
27
28
|
|
28
|
-
|
29
|
+
export type Options = ApplicableOptions & ExtraOptions
|
29
30
|
|
30
|
-
//
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
//
|
35
|
-
|
36
|
-
|
37
|
-
// ...rest
|
38
|
-
// } = options ?? {}
|
39
|
-
// let formatAwareProcessors: FormatAwareProcessors
|
40
|
-
// const filter = createFilter(include, exclude)
|
31
|
+
// eslint-disable-next-line
|
32
|
+
export const createConfig = (options?: Readonly<Options> | null | undefined): Options => {
|
33
|
+
const {
|
34
|
+
exclude,
|
35
|
+
include = /\.mdx?$/, // Default to .md and .mdx files
|
36
|
+
...rest
|
37
|
+
} = options ?? {}
|
41
38
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
// SourceMapGenerator,
|
49
|
-
// development: env.mode === `development`,
|
50
|
-
// ...rest,
|
51
|
-
// })
|
52
|
-
// },
|
53
|
-
// async transform(value: string, id: string): Promise<SourceDescription | undefined> {
|
54
|
-
// // Ensure processors are initialized
|
55
|
-
// // if (!formatAwareProcessors) {
|
56
|
-
// // formatAwareProcessors = createFormatAwareProcessors({
|
57
|
-
// // SourceMapGenerator,
|
58
|
-
// // ...rest,
|
59
|
-
// // })
|
60
|
-
// // }
|
39
|
+
return {
|
40
|
+
exclude,
|
41
|
+
include,
|
42
|
+
...rest,
|
43
|
+
}
|
44
|
+
}
|
61
45
|
|
62
|
-
|
46
|
+
/**
|
47
|
+
* Plugin to compile MDX.
|
48
|
+
*
|
49
|
+
* Uses Rolldown.
|
50
|
+
*/
|
51
|
+
export function VitePluginMdx(options?: Readonly<Options> | null): Plugin {
|
52
|
+
const config = createConfig(options)
|
63
53
|
|
64
|
-
|
65
|
-
|
66
|
-
// && filter(file.path)
|
67
|
-
// && formatAwareProcessors.extnames.includes(file.extname)
|
68
|
-
// ) {
|
69
|
-
// const compiled = await formatAwareProcessors.process(file)
|
70
|
-
// const code = String(compiled.value)
|
71
|
-
// const result: SourceDescription = {
|
72
|
-
// code,
|
73
|
-
// // When MDX compiles to JS (not JSX), we don't need to set moduleType
|
74
|
-
// map: compiled.map,
|
75
|
-
// }
|
54
|
+
const filter = createFilter(config.include, config.exclude)
|
55
|
+
let formatAwareProcessors: FormatAwareProcessors
|
76
56
|
|
77
|
-
|
78
|
-
|
79
|
-
//
|
80
|
-
//
|
81
|
-
|
57
|
+
return {
|
58
|
+
name: `mdx`,
|
59
|
+
// TODO: should not be needed?
|
60
|
+
// enforce: `pre`, // Run before other transforms
|
61
|
+
config(__config, env) {
|
62
|
+
// Initialize processors with Vite environment info
|
63
|
+
formatAwareProcessors = createFormatAwareProcessors({
|
64
|
+
SourceMapGenerator,
|
65
|
+
jsx: true, // emit JSX, not JS
|
66
|
+
development: env.mode === `development`,
|
67
|
+
...config,
|
68
|
+
})
|
69
|
+
},
|
70
|
+
async transform(value: string, id: string): Promise<SourceDescription | undefined> {
|
71
|
+
const file = new VFile({ path: id, value })
|
72
|
+
|
73
|
+
if (
|
74
|
+
file.extname
|
75
|
+
&& filter(file.path)
|
76
|
+
&& formatAwareProcessors.extnames.includes(file.extname)
|
77
|
+
) {
|
78
|
+
const compiled = await formatAwareProcessors.process(file)
|
79
|
+
const code = String(compiled.value)
|
80
|
+
const sourceDescription: SourceDescription = {
|
81
|
+
code,
|
82
|
+
moduleType: `jsx`,
|
83
|
+
// When MDX compiles to JS (not JSX), we don't need to set moduleType
|
84
|
+
map: compiled.map,
|
85
|
+
}
|
86
|
+
|
87
|
+
return sourceDescription
|
88
|
+
}
|
89
|
+
},
|
90
|
+
}
|
91
|
+
}
|
@@ -1 +1 @@
|
|
1
|
-
export * from './build-logger.
|
1
|
+
export * from './build-logger.ts'
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import type { Vite } from '#dep/vite/index
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import type { HookLoad, HookResolveId } from './hooks.
|
5
|
-
import type { Identifier } from './identifier.
|
1
|
+
import type { Vite } from '#dep/vite/index'
|
2
|
+
import { StackProcessor } from '../stack-processor/index.ts'
|
3
|
+
import { debug } from './debug.ts'
|
4
|
+
import type { HookLoad, HookResolveId } from './hooks.ts'
|
5
|
+
import type { Identifier } from './identifier.ts'
|
6
6
|
|
7
7
|
export interface IdentifiedLoader {
|
8
8
|
identifier: Identifier
|
@@ -1 +1 @@
|
|
1
|
-
export * as ViteVirtual from './vite-virtual.
|
1
|
+
export * as ViteVirtual from './vite-virtual.ts'
|
@@ -1,3 +1,3 @@
|
|
1
|
-
export * as Id from './id.
|
2
|
-
export * as IdentifiedLoader from './identified-loader.
|
3
|
-
export * as Identifier from './identifier.
|
1
|
+
export * as Id from './id.ts'
|
2
|
+
export * as IdentifiedLoader from './identified-loader.ts'
|
3
|
+
export * as Identifier from './identifier.ts'
|
package/src/package-paths.ts
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
import { Path } from '@wollybeard/kit'
|
2
2
|
|
3
3
|
export interface PackagePaths {
|
4
|
+
name: string
|
5
|
+
isRunningFromSource: boolean
|
6
|
+
static: {
|
7
|
+
source: string
|
8
|
+
build: string
|
9
|
+
}
|
4
10
|
rootDir: string
|
11
|
+
sourceExtension: `.js` | `.ts`
|
5
12
|
sourceDir: string
|
6
13
|
template: {
|
7
14
|
rootDir: string
|
@@ -15,14 +22,28 @@ export interface PackagePaths {
|
|
15
22
|
}
|
16
23
|
}
|
17
24
|
|
25
|
+
const sourceDirRelativeExp = `src`
|
26
|
+
const buildDirRelativeExp = `build`
|
27
|
+
|
18
28
|
/**
|
19
|
-
* Usually ./build but if running
|
29
|
+
* Usually ./build but if running source then ./src
|
20
30
|
*/
|
21
31
|
const sourceDir = import.meta.dirname
|
22
32
|
const templateDir = Path.join(sourceDir, `template`)
|
23
33
|
const rootDir = Path.join(sourceDir, `..`)
|
24
34
|
|
35
|
+
const isRunningFromSource = sourceDir.endsWith(sourceDirRelativeExp)
|
36
|
+
|
37
|
+
const sourceKind = isRunningFromSource ? `.ts` : `.js`
|
38
|
+
|
25
39
|
export const packagePaths: PackagePaths = {
|
40
|
+
name: `polen`,
|
41
|
+
isRunningFromSource,
|
42
|
+
static: {
|
43
|
+
source: sourceDir,
|
44
|
+
build: buildDirRelativeExp,
|
45
|
+
},
|
46
|
+
sourceExtension: sourceKind,
|
26
47
|
rootDir: rootDir,
|
27
48
|
sourceDir,
|
28
49
|
template: {
|