polen 0.10.0-next.14 → 0.10.0-next.15
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 +13 -89
- package/build/api/api.d.ts +4 -4
- package/build/api/api.js +4 -4
- package/build/api/builder/builder.js +1 -9
- 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 +89 -9
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +5 -5
- 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 +1 -12
- package/build/api/config/load.js.map +1 -1
- package/build/api/config/merge.d.ts +1 -1
- package/build/api/config/merge.d.ts.map +1 -1
- package/build/api/config/merge.js +1 -3
- 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.js +4 -4
- package/build/api/config-resolver/vite.d.ts +1 -1
- package/build/api/content/$$.d.ts +6 -6
- package/build/api/content/$$.js +6 -6
- package/build/api/content/$.d.ts +1 -1
- package/build/api/content/$.js +1 -1
- package/build/api/content/navbar.d.ts +1 -1
- package/build/api/content/navbar.js +2 -2
- package/build/api/content/page.d.ts +1 -1
- package/build/api/content/scan.d.ts +1 -1
- package/build/api/content/scan.js +7 -7
- package/build/api/content/sidebar.d.ts +5 -5
- package/build/api/content/sidebar.d.ts.map +1 -1
- package/build/api/content/sidebar.js +14 -14
- package/build/api/content/sidebar.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 +36 -1
- package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
- package/build/api/schema/data-sources/memory/memory.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +0 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.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 +30 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
- 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 +20 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
- 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 +43 -2
- package/build/api/schema/read.d.ts.map +1 -1
- package/build/api/schema/read.js +1 -1
- package/build/api/schema/read.js.map +1 -1
- package/build/api/schema/schema.d.ts +2 -2
- package/build/api/schema/schema.js +2 -2
- package/build/api/schema-augmentation/augmentations/description.d.ts +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 +1 -1
- package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
- package/build/api/schema-augmentation/schema-augmentation.js +1 -2
- package/build/api/schema-augmentation/schema-augmentation.js.map +1 -1
- package/build/api/server/report-error.js +7 -5
- package/build/api/server/report-error.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/singletons/markdown/markdown.d.ts.map +1 -1
- package/build/api/singletons/markdown/markdown.js +4 -22
- package/build/api/singletons/markdown/markdown.js.map +1 -1
- package/build/api/static/index.d.ts +1 -1
- package/build/api/static/index.js +1 -1
- package/build/api/static/manifest.js +3 -3
- package/build/api/static/rebase.d.ts +2 -2
- package/build/api/static/rebase.js +8 -8
- package/build/api/static/rebase.js.map +1 -1
- package/build/api/static/static.d.ts +2 -2
- package/build/api/static/static.js +2 -2
- package/build/api/utils/asset-url/index.d.ts +1 -1
- package/build/api/utils/asset-url/index.js +1 -1
- package/build/api/vite/logger.js +5 -5
- package/build/api/vite/plugins/{branding/index.d.ts → branding.d.ts} +1 -1
- package/build/api/vite/plugins/branding.d.ts.map +1 -0
- package/build/api/vite/plugins/{branding/index.js → branding.js} +9 -9
- package/build/api/vite/plugins/branding.js.map +1 -0
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +12 -22
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +2 -0
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +33 -38
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/main.d.ts.map +1 -1
- package/build/api/vite/plugins/main.js +25 -23
- package/build/api/vite/plugins/main.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts +3 -5
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +15 -42
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +34 -25
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/cli/commands/build.js +0 -1
- package/build/cli/commands/build.js.map +1 -1
- package/build/cli/commands/config/$default.d.ts +2 -0
- package/build/cli/commands/config/$default.d.ts.map +1 -0
- package/build/cli/commands/config/$default.js +7 -0
- package/build/cli/commands/config/$default.js.map +1 -0
- package/build/cli/commands/config/create.d.ts +2 -0
- package/build/cli/commands/config/create.d.ts.map +1 -0
- package/build/cli/commands/config/create.js +21 -0
- package/build/cli/commands/config/create.js.map +1 -0
- package/build/cli/commands/config.d.ts +3 -0
- package/build/cli/commands/config.d.ts.map +1 -0
- package/build/cli/commands/config.js +5 -0
- package/build/cli/commands/config.js.map +1 -0
- package/build/cli/commands/create.js +2 -3
- package/build/cli/commands/create.js.map +1 -1
- package/build/cli/commands/dev.js +0 -1
- package/build/cli/commands/dev.js.map +1 -1
- package/build/cli/commands/open.js +0 -1
- package/build/cli/commands/open.js.map +1 -1
- package/build/cli/commands/static/rebase.js +0 -1
- package/build/cli/commands/static/rebase.js.map +1 -1
- package/build/cli/commands/static.js +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/components.d.ts +3 -3
- package/build/exports/components.d.ts.map +1 -1
- package/build/exports/components.js +3 -3
- package/build/exports/components.js.map +1 -1
- package/build/exports/index.d.ts +1 -1
- package/build/exports/index.js +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/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/extensible-data/index.d.ts +1 -1
- package/build/lib/extensible-data/index.js +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 +1 -1
- package/build/lib/file-router/diagnostic-reporter.js +8 -8
- package/build/lib/file-router/file-router.d.ts +3 -3
- package/build/lib/file-router/file-router.js +3 -3
- 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 +5 -5
- package/build/lib/file-router/linter.js +7 -7
- package/build/lib/file-router/scan.d.ts +2 -2
- package/build/lib/file-router/scan.js +3 -3
- 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/index.d.ts +1 -1
- package/build/lib/graphql-change/index.js +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-document/$$.d.ts +4 -4
- package/build/lib/graphql-document/$$.js +4 -4
- package/build/lib/graphql-document/$.d.ts +1 -1
- package/build/lib/graphql-document/$.js +1 -1
- package/build/lib/graphql-document/analysis.d.ts +1 -1
- package/build/lib/graphql-document/analysis.js +46 -46
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +28 -21
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +3 -3
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +14 -30
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +2 -2
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +1 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +26 -24
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +1 -1
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +3 -3
- package/build/lib/graphql-document/components/IdentifierLink.js +22 -22
- package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +1 -1
- package/build/lib/graphql-document/components/graphql-document-styles.js +0 -23
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +1 -1
- package/build/lib/graphql-document/components/index.d.ts +4 -5
- package/build/lib/graphql-document/components/index.d.ts.map +1 -1
- package/build/lib/graphql-document/components/index.js +4 -5
- package/build/lib/graphql-document/components/index.js.map +1 -1
- package/build/lib/graphql-document/example.d.ts +1 -1
- package/build/lib/graphql-document/example.js +36 -36
- package/build/lib/graphql-document/example.js.map +1 -1
- package/build/lib/graphql-document/graphql-document.d.ts +9 -9
- package/build/lib/graphql-document/graphql-document.d.ts.map +1 -1
- package/build/lib/graphql-document/graphql-document.js +9 -9
- package/build/lib/graphql-document/graphql-document.js.map +1 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +1 -1
- package/build/lib/graphql-document/positioning-simple.js +31 -31
- package/build/lib/graphql-document/schema-integration.d.ts +5 -5
- package/build/lib/graphql-document/schema-integration.d.ts.map +1 -1
- package/build/lib/graphql-document/schema-integration.js +22 -22
- package/build/lib/graphql-document/schema-integration.js.map +1 -1
- package/build/lib/graphql-document/types.d.ts +4 -4
- package/build/lib/graphql-schema-loader/index.d.ts +1 -1
- package/build/lib/graphql-schema-loader/index.js +1 -1
- package/build/lib/helpers.js +1 -1
- package/build/lib/hono-aid/index.d.ts +1 -1
- package/build/lib/hono-aid/index.js +1 -1
- package/build/lib/html-utils/html-transformer.d.ts +4 -0
- package/build/lib/html-utils/html-transformer.d.ts.map +1 -0
- package/build/lib/html-utils/html-transformer.js +3 -0
- package/build/lib/html-utils/html-transformer.js.map +1 -0
- package/build/lib/html-utils/inject-global-data.d.ts +41 -0
- package/build/lib/html-utils/inject-global-data.d.ts.map +1 -0
- package/build/lib/html-utils/inject-global-data.js +65 -0
- package/build/lib/html-utils/inject-global-data.js.map +1 -0
- package/build/lib/kit-temp.d.ts +66 -2
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +37 -7
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/kit-temp.test-d.js +16 -16
- package/build/lib/kit-temp.test-d.js.map +1 -1
- package/build/lib/mask/$$.d.ts +2 -2
- package/build/lib/mask/$$.js +2 -2
- package/build/lib/mask/$.d.ts +1 -1
- package/build/lib/mask/$.js +1 -1
- package/build/lib/mask/apply.d.ts +9 -9
- package/build/lib/mask/apply.d.ts.map +1 -1
- package/build/lib/mask/apply.js +3 -3
- package/build/lib/mask/apply.js.map +1 -1
- package/build/lib/mask/mask.d.ts +7 -7
- package/build/lib/mask/mask.d.ts.map +1 -1
- package/build/lib/mask/mask.js +12 -12
- package/build/lib/mask/mask.test-d.js +14 -14
- package/build/lib/mask/mask.test-d.js.map +1 -1
- package/build/lib/mutation-type.js +3 -3
- package/build/lib/path-map/$$.d.ts +7 -0
- package/build/lib/path-map/$$.d.ts.map +1 -0
- package/build/lib/path-map/$$.js +7 -0
- package/build/lib/path-map/$$.js.map +1 -0
- package/build/lib/path-map/$.d.ts +7 -0
- package/build/lib/path-map/$.d.ts.map +1 -0
- package/build/lib/path-map/$.js +7 -0
- package/build/lib/path-map/$.js.map +1 -0
- package/build/lib/path-map/path-map.d.ts +110 -0
- package/build/lib/path-map/path-map.d.ts.map +1 -0
- package/build/lib/path-map/path-map.js +126 -0
- package/build/lib/path-map/path-map.js.map +1 -0
- 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 +1 -1
- package/build/lib/react-router-aid/react-router-aid.js +1 -1
- package/build/lib/react-router-loader/react-router-loader.d.ts.map +1 -1
- package/build/lib/react-router-loader/react-router-loader.js +1 -4
- package/build/lib/react-router-loader/react-router-loader.js.map +1 -1
- package/build/lib/stack-processor/index.d.ts +1 -1
- package/build/lib/stack-processor/index.js +1 -1
- package/build/lib/stack-processor/stack-processor.d.ts.map +1 -1
- package/build/lib/stack-processor/stack-processor.js +0 -1
- package/build/lib/stack-processor/stack-processor.js.map +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +1 -1
- package/build/lib/superjson-codec/codecs/graphql-schema.js +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/task/$$.d.ts +2 -2
- package/build/lib/task/$$.js +2 -2
- package/build/lib/task/$.d.ts +1 -1
- package/build/lib/task/$.js +1 -1
- package/build/lib/task/report.d.ts +1 -1
- package/build/lib/task/task.d.ts +1 -1
- package/build/lib/task/task.js +2 -2
- package/build/lib/theme/$.d.ts +2 -0
- package/build/lib/theme/$.d.ts.map +1 -0
- package/build/lib/theme/$.js +3 -0
- package/build/lib/theme/$.js.map +1 -0
- package/build/lib/theme/theme.d.ts +68 -0
- package/build/lib/theme/theme.d.ts.map +1 -0
- package/build/lib/theme/theme.js +123 -0
- package/build/lib/theme/theme.js.map +1 -0
- package/build/lib/vite-plugin-json/index.d.ts +1 -1
- package/build/lib/vite-plugin-json/index.js +1 -1
- package/build/lib/vite-plugin-json/vite-plugin-json.js +3 -4
- package/build/lib/vite-plugin-json/vite-plugin-json.js.map +1 -1
- package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
- package/build/lib/vite-plugin-mdx/index.js +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +2 -6
- package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
- package/build/lib/vite-plugin-reactive-data/index.d.ts +1 -1
- package/build/lib/vite-plugin-reactive-data/index.js +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +12 -14
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.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/identified-loader.d.ts +2 -2
- package/build/lib/vite-virtual/identified-loader.js +2 -2
- 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 +18 -6
- package/build/package-paths.d.ts.map +1 -1
- package/build/package-paths.js +19 -6
- package/build/package-paths.js.map +1 -1
- package/build/project-data.d.ts +3 -1
- package/build/project-data.d.ts.map +1 -1
- package/build/sandbox.js +9 -9
- package/build/template/components/ArgumentList.js +1 -1
- package/build/template/components/ArgumentList.js.map +1 -1
- package/build/template/components/ArgumentListAnnotation.js +2 -2
- package/build/template/components/ArgumentListAnnotation.js.map +1 -1
- package/build/template/components/Changelog.d.ts +1 -1
- package/build/template/components/Changelog.js +1 -1
- package/build/template/components/CodeBlock.d.ts +0 -8
- package/build/template/components/CodeBlock.d.ts.map +1 -1
- package/build/template/components/CodeBlock.js +3 -38
- package/build/template/components/CodeBlock.js.map +1 -1
- package/build/template/components/CodeBlockEnhancer.js +41 -41
- package/build/template/components/CodeBlockEnhancer.js.map +1 -1
- package/build/template/components/DeprecationReason.js +1 -1
- package/build/template/components/DeprecationReason.js.map +1 -1
- package/build/template/components/Description.js +1 -1
- package/build/template/components/Description.js.map +1 -1
- package/build/template/components/Field.js +4 -4
- package/build/template/components/Field.js.map +1 -1
- package/build/template/components/FieldList.js +1 -1
- package/build/template/components/FieldList.js.map +1 -1
- package/build/template/components/FieldListSection.js +1 -1
- package/build/template/components/FieldListSection.js.map +1 -1
- package/build/template/components/HamburgerMenu.js +11 -11
- package/build/template/components/HamburgerMenu.js.map +1 -1
- package/build/template/components/Link.d.ts +2 -2
- package/build/template/components/Link.d.ts.map +1 -1
- package/build/template/components/Link.js +17 -17
- package/build/template/components/Link.js.map +1 -1
- package/build/template/components/Logo.js +4 -4
- package/build/template/components/MDXComponents.d.ts +0 -1
- package/build/template/components/MDXComponents.d.ts.map +1 -1
- package/build/template/components/MDXComponents.js +1 -59
- package/build/template/components/MDXComponents.js.map +1 -1
- package/build/template/components/NamedType.js +2 -2
- package/build/template/components/NamedType.js.map +1 -1
- package/build/template/components/TestComponent.js +2 -2
- package/build/template/components/Texts/MinorHeading.js +4 -4
- package/build/template/components/Texts/index.d.ts +1 -1
- package/build/template/components/Texts/index.js +1 -1
- package/build/template/components/Texts/texts.d.ts +1 -1
- package/build/template/components/Texts/texts.d.ts.map +1 -1
- package/build/template/components/Texts/texts.js +1 -1
- package/build/template/components/Texts/texts.js.map +1 -1
- package/build/template/components/ThemeToggle.d.ts.map +1 -1
- package/build/template/components/ThemeToggle.js +25 -4
- package/build/template/components/ThemeToggle.js.map +1 -1
- package/build/template/components/TypeAnnotation.js +1 -1
- package/build/template/components/TypeAnnotation.js.map +1 -1
- package/build/template/components/TypeFieldsLinkList.js +1 -1
- package/build/template/components/TypeFieldsLinkList.js.map +1 -1
- package/build/template/components/TypeIndex.js +1 -1
- package/build/template/components/TypeIndex.js.map +1 -1
- package/build/template/components/content/$$.d.ts +1 -1
- package/build/template/components/content/$$.d.ts.map +1 -1
- package/build/template/components/content/$$.js +1 -1
- package/build/template/components/content/$$.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +2 -2
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts +2 -2
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
- package/build/template/components/content/GraphQLDocumentWrapper.js +8 -23
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
- package/build/template/components/graphql/graphql.d.ts +2 -2
- package/build/template/components/graphql/graphql.d.ts.map +1 -1
- package/build/template/components/graphql/graphql.js +2 -2
- package/build/template/components/graphql/graphql.js.map +1 -1
- package/build/template/components/graphql/index.d.ts +1 -1
- package/build/template/components/graphql/index.d.ts.map +1 -1
- package/build/template/components/graphql/index.js +1 -1
- package/build/template/components/graphql/index.js.map +1 -1
- package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
- package/build/template/components/graphql/type-kind-icon.js +1 -2
- package/build/template/components/graphql/type-kind-icon.js.map +1 -1
- package/build/template/components/graphql/type-link.js +3 -3
- package/build/template/components/graphql/type-link.js.map +1 -1
- package/build/template/components/sidebar/Sidebar.js +1 -1
- package/build/template/components/sidebar/Sidebar.js.map +1 -1
- package/build/template/components/sidebar/SidebarItem.js +4 -4
- package/build/template/components/sidebar/SidebarItem.js.map +1 -1
- package/build/template/constants.d.ts +17 -0
- package/build/template/constants.d.ts.map +1 -0
- package/build/template/constants.js +11 -0
- package/build/template/constants.js.map +1 -0
- package/build/template/contexts/ThemeContext.d.ts +3 -1
- package/build/template/contexts/ThemeContext.d.ts.map +1 -1
- package/build/template/contexts/ThemeContext.js +50 -22
- package/build/template/contexts/ThemeContext.js.map +1 -1
- package/build/template/entry.client.js +6 -2
- package/build/template/entry.client.js.map +1 -1
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/changelog.js +1 -1
- package/build/template/routes/changelog.js.map +1 -1
- package/build/template/routes/reference.$type.$field.js +2 -2
- package/build/template/routes/reference.$type.$field.js.map +1 -1
- package/build/template/routes/reference.$type.js +2 -2
- package/build/template/routes/reference.$type.js.map +1 -1
- package/build/template/routes/reference.js +2 -2
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.js +29 -26
- package/build/template/routes/root.js.map +1 -1
- package/build/template/routes.js +1 -1
- package/build/template/routes.js.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 +17 -8
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/create-page-html-response.d.ts +2 -1
- package/build/template/server/create-page-html-response.d.ts.map +1 -1
- package/build/template/server/create-page-html-response.js +34 -5
- package/build/template/server/create-page-html-response.js.map +1 -1
- package/build/template/server/main.js +3 -3
- package/build/template/server/middleware/page.d.ts +1 -1
- package/build/template/server/middleware/page.d.ts.map +1 -1
- package/build/template/server/middleware/page.js +3 -3
- package/build/template/server/middleware/page.js.map +1 -1
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +17 -7
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +1 -1
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/server/transformers/inject-polen-data.d.ts +6 -0
- package/build/template/server/transformers/inject-polen-data.d.ts.map +1 -0
- package/build/template/server/transformers/inject-polen-data.js +28 -0
- package/build/template/server/transformers/inject-polen-data.js.map +1 -0
- package/build/template/server/transformers/inject-theme-init.d.ts +6 -0
- package/build/template/server/transformers/inject-theme-init.d.ts.map +1 -0
- package/build/template/server/transformers/inject-theme-init.js +29 -0
- package/build/template/server/transformers/inject-theme-init.js.map +1 -0
- package/build/template/server/view.js +1 -1
- package/build/template/server/view.js.map +1 -1
- package/package.json +31 -77
- package/src/api/api.ts +4 -4
- package/src/api/builder/index.ts +1 -1
- package/src/api/config/config.ts +4 -4
- package/src/api/config/configurator.ts +94 -15
- package/src/api/config/define.ts +1 -1
- package/src/api/config/index.ts +1 -1
- package/src/api/config/load.ts +1 -4
- package/src/api/config/merge.ts +1 -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 +4 -4
- package/src/api/config-resolver/vite.ts +1 -1
- package/src/api/content/$$.ts +6 -6
- package/src/api/content/$.test.ts +1 -1
- package/src/api/content/$.ts +1 -1
- package/src/api/content/navbar.test.ts +2 -2
- package/src/api/content/navbar.ts +3 -3
- package/src/api/content/page.ts +1 -1
- package/src/api/content/scan.ts +8 -8
- package/src/api/content/sidebar.test.ts +3 -3
- package/src/api/content/sidebar.ts +20 -20
- 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 +36 -1
- package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +0 -1
- 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 +31 -2
- package/src/api/schema/data-sources/schema-file/schema-file.ts +20 -1
- package/src/api/schema/index.ts +1 -1
- package/src/api/schema/read.ts +43 -2
- package/src/api/schema/schema.ts +2 -2
- package/src/api/schema-augmentation/augmentations/description.ts +2 -2
- package/src/api/schema-augmentation/index.ts +1 -1
- package/src/api/schema-augmentation/schema-augmentation.ts +1 -2
- package/src/api/server/report-error.ts +7 -5
- package/src/api/singletons/markdown/index.ts +1 -1
- package/src/api/singletons/markdown/markdown.test.ts +27 -30
- package/src/api/singletons/markdown/markdown.ts +4 -23
- package/src/api/static/index.ts +1 -1
- package/src/api/static/manifest.test.ts +1 -1
- package/src/api/static/manifest.ts +3 -3
- package/src/api/static/rebase.test.ts +2 -2
- package/src/api/static/rebase.ts +11 -11
- package/src/api/static/static.ts +2 -2
- package/src/api/utils/asset-url/asset-url.test.ts +1 -1
- package/src/api/utils/asset-url/index.ts +1 -1
- package/src/api/vite/logger.ts +5 -5
- package/src/api/vite/plugins/{branding/index.ts → branding.ts} +9 -9
- package/src/api/vite/plugins/build.ts +11 -13
- package/src/api/vite/plugins/core.ts +37 -40
- package/src/api/vite/plugins/main.ts +25 -22
- package/src/api/vite/plugins/pages.ts +17 -52
- package/src/api/vite/plugins/serve.ts +36 -26
- package/src/cli/commands/build.ts +0 -1
- package/src/cli/commands/config/$default.ts +7 -0
- package/src/cli/commands/config/create.ts +25 -0
- package/src/cli/commands/config.ts +6 -0
- package/src/cli/commands/create.ts +2 -3
- package/src/cli/commands/dev.ts +0 -1
- package/src/cli/commands/open.ts +0 -1
- package/src/cli/commands/static/rebase.ts +0 -1
- package/src/cli/commands/static.ts +1 -1
- 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/components.ts +3 -3
- package/src/exports/index.ts +1 -1
- package/src/lib/apple-touch-icon/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/extensible-data/index.ts +1 -1
- package/src/lib/favicon/index.ts +1 -1
- package/src/lib/file-router/diagnostic-reporter.ts +9 -9
- package/src/lib/file-router/file-router.ts +3 -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 +2 -2
- package/src/lib/file-router/linter.ts +11 -11
- package/src/lib/file-router/scan.ts +4 -4
- 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/index.ts +1 -1
- package/src/lib/graphql-changeset/index.ts +1 -1
- package/src/lib/graphql-document/$$.ts +4 -4
- package/src/lib/graphql-document/$.test.ts +3 -3
- package/src/lib/graphql-document/$.ts +1 -1
- package/src/lib/graphql-document/analysis.ts +49 -49
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +38 -39
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +4 -4
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +18 -37
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +31 -29
- package/src/lib/graphql-document/components/IdentifierLink.tsx +25 -25
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -23
- package/src/lib/graphql-document/components/index.ts +4 -5
- package/src/lib/graphql-document/example.ts +35 -35
- package/src/lib/graphql-document/graphql-document.ts +9 -9
- package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +1 -1
- package/src/lib/graphql-document/positioning-simple.test.ts +4 -4
- package/src/lib/graphql-document/positioning-simple.ts +32 -32
- package/src/lib/graphql-document/schema-integration.test.ts +1 -1
- package/src/lib/graphql-document/schema-integration.ts +27 -36
- package/src/lib/graphql-document/types.ts +4 -4
- package/src/lib/graphql-schema-loader/index.ts +1 -1
- package/src/lib/helpers.ts +1 -1
- package/src/lib/hono-aid/index.ts +1 -1
- package/src/lib/html-utils/html-transformer.ts +6 -0
- package/src/lib/html-utils/inject-global-data.test.ts +89 -0
- package/src/lib/html-utils/inject-global-data.ts +80 -0
- package/src/lib/kit-temp.test-d.ts +27 -22
- package/src/lib/kit-temp.test.ts +4 -4
- package/src/lib/kit-temp.ts +83 -11
- package/src/lib/mask/$$.ts +2 -2
- package/src/lib/mask/$.test.ts +1 -1
- package/src/lib/mask/$.ts +1 -1
- package/src/lib/mask/apply.ts +15 -15
- package/src/lib/mask/mask.test-d.ts +30 -18
- package/src/lib/mask/mask.ts +18 -18
- package/src/lib/mutation-type.ts +3 -3
- package/src/lib/path-map/$$.ts +7 -0
- package/src/lib/path-map/$.test.ts +370 -0
- package/src/lib/path-map/$.ts +7 -0
- package/src/lib/path-map/path-map.ts +244 -0
- package/src/lib/react-router-aid/index.ts +1 -1
- package/src/lib/react-router-aid/react-router-aid.ts +1 -1
- package/src/lib/react-router-loader/react-router-loader.ts +1 -4
- package/src/lib/stack-processor/index.ts +1 -1
- package/src/lib/stack-processor/stack-processor.ts +0 -1
- package/src/lib/superjson-codec/codecs/graphql-schema.ts +1 -1
- package/src/lib/superjson-codec/exports.ts +2 -2
- package/src/lib/superjson-codec/index.ts +1 -1
- package/src/lib/task/$$.ts +2 -2
- package/src/lib/task/$.test.ts +2 -2
- package/src/lib/task/$.ts +1 -1
- package/src/lib/task/report.ts +1 -1
- package/src/lib/task/task.ts +3 -3
- package/src/lib/theme/$.ts +2 -0
- package/src/lib/theme/theme.test.ts +190 -0
- package/src/lib/theme/theme.ts +210 -0
- package/src/lib/vite-plugin-json/index.ts +1 -1
- package/src/lib/vite-plugin-json/vite-plugin-json.ts +4 -4
- package/src/lib/vite-plugin-mdx/index.ts +1 -1
- package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +1 -5
- package/src/lib/vite-plugin-reactive-data/index.ts +1 -1
- package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +13 -14
- package/src/lib/vite-plugins/index.ts +1 -1
- package/src/lib/vite-plugins/vite-plugins.ts +1 -1
- package/src/lib/vite-virtual/identified-loader.ts +4 -4
- 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 +38 -12
- package/src/project-data.ts +3 -1
- package/src/sandbox.ts +9 -9
- package/src/template/components/ArgumentList.tsx +1 -1
- package/src/template/components/ArgumentListAnnotation.tsx +2 -2
- package/src/template/components/Changelog.tsx +2 -2
- package/src/template/components/CodeBlock.tsx +4 -58
- package/src/template/components/CodeBlockEnhancer.tsx +41 -41
- package/src/template/components/DeprecationReason.tsx +1 -1
- package/src/template/components/Description.tsx +1 -1
- package/src/template/components/Field.tsx +4 -4
- package/src/template/components/FieldList.tsx +1 -1
- package/src/template/components/FieldListSection.tsx +1 -1
- package/src/template/components/HamburgerMenu.tsx +11 -11
- package/src/template/components/Link.tsx +19 -19
- package/src/template/components/Logo.tsx +4 -4
- package/src/template/components/MDXComponents.tsx +1 -85
- package/src/template/components/NamedType.tsx +2 -2
- package/src/template/components/TestComponent.tsx +2 -2
- package/src/template/components/Texts/MinorHeading.tsx +4 -4
- package/src/template/components/Texts/index.ts +1 -1
- package/src/template/components/Texts/texts.ts +1 -1
- package/src/template/components/ThemeToggle.tsx +29 -7
- package/src/template/components/TypeAnnotation.tsx +1 -1
- package/src/template/components/TypeFieldsLinkList.tsx +1 -1
- package/src/template/components/TypeIndex.tsx +1 -1
- package/src/template/components/content/$$.ts +1 -1
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +3 -3
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +9 -26
- package/src/template/components/graphql/graphql.tsx +2 -2
- package/src/template/components/graphql/index.ts +1 -1
- package/src/template/components/graphql/type-kind-icon.tsx +1 -2
- package/src/template/components/graphql/type-link.tsx +3 -3
- package/src/template/components/sidebar/Sidebar.tsx +1 -1
- package/src/template/components/sidebar/SidebarItem.tsx +4 -4
- package/src/template/constants.ts +17 -0
- package/src/template/contexts/ThemeContext.tsx +55 -24
- package/src/template/entry.client.tsx +7 -2
- package/src/template/global.d.ts +7 -0
- package/src/template/routes/changelog.tsx +1 -1
- package/src/template/routes/reference.$type.$field.tsx +3 -3
- package/src/template/routes/reference.$type.tsx +3 -3
- package/src/template/routes/reference.tsx +2 -2
- package/src/template/routes/root.tsx +46 -50
- package/src/template/routes.tsx +1 -1
- package/src/template/server/app.ts +17 -10
- package/src/template/server/create-page-html-response.ts +40 -5
- package/src/template/server/main.ts +3 -3
- package/src/template/server/middleware/page.ts +4 -4
- package/src/template/server/ssg/generate.ts +17 -7
- package/src/template/server/ssg/get-route-paths.ts +1 -1
- package/src/template/server/transformers/inject-polen-data.ts +32 -0
- package/src/template/server/transformers/inject-theme-init.ts +30 -0
- package/src/template/server/view.ts +1 -1
- package/build/api/vite/data/navbar.d.ts +0 -9
- package/build/api/vite/data/navbar.d.ts.map +0 -1
- package/build/api/vite/data/navbar.js +0 -6
- package/build/api/vite/data/navbar.js.map +0 -1
- package/build/api/vite/plugins/branding/index.d.ts.map +0 -1
- package/build/api/vite/plugins/branding/index.js.map +0 -1
- package/build/lib/demos/builder.d.ts +0 -83
- package/build/lib/demos/builder.d.ts.map +0 -1
- package/build/lib/demos/builder.js +0 -237
- package/build/lib/demos/builder.js.map +0 -1
- package/build/lib/demos/config-schema.d.ts +0 -243
- package/build/lib/demos/config-schema.d.ts.map +0 -1
- package/build/lib/demos/config-schema.js +0 -52
- package/build/lib/demos/config-schema.js.map +0 -1
- package/build/lib/demos/config.d.ts +0 -40
- package/build/lib/demos/config.d.ts.map +0 -1
- package/build/lib/demos/config.js +0 -180
- package/build/lib/demos/config.js.map +0 -1
- package/build/lib/demos/index.d.ts +0 -9
- package/build/lib/demos/index.d.ts.map +0 -1
- package/build/lib/demos/index.js +0 -8
- package/build/lib/demos/index.js.map +0 -1
- package/build/lib/demos/ui/components.d.ts +0 -33
- package/build/lib/demos/ui/components.d.ts.map +0 -1
- package/build/lib/demos/ui/components.js +0 -699
- package/build/lib/demos/ui/components.js.map +0 -1
- package/build/lib/demos/ui/data-collector.d.ts +0 -88
- package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
- package/build/lib/demos/ui/data-collector.js +0 -174
- package/build/lib/demos/ui/data-collector.js.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
- package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page-cli.js +0 -21
- package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
- package/build/lib/demos/ui/landing-page.d.ts +0 -32
- package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
- package/build/lib/demos/ui/landing-page.js +0 -83
- package/build/lib/demos/ui/landing-page.js.map +0 -1
- package/build/lib/demos/ui/page-renderer.d.ts +0 -26
- package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
- package/build/lib/demos/ui/page-renderer.js +0 -104
- package/build/lib/demos/ui/page-renderer.js.map +0 -1
- package/build/lib/demos/utils.d.ts +0 -14
- package/build/lib/demos/utils.d.ts.map +0 -1
- package/build/lib/demos/utils.js +0 -37
- package/build/lib/demos/utils.js.map +0 -1
- package/build/lib/deployment/$$.d.ts +0 -3
- package/build/lib/deployment/$$.d.ts.map +0 -1
- package/build/lib/deployment/$$.js +0 -3
- package/build/lib/deployment/$$.js.map +0 -1
- package/build/lib/deployment/$.d.ts +0 -2
- package/build/lib/deployment/$.d.ts.map +0 -1
- package/build/lib/deployment/$.js +0 -2
- package/build/lib/deployment/$.js.map +0 -1
- package/build/lib/deployment/metadata.d.ts +0 -32
- package/build/lib/deployment/metadata.d.ts.map +0 -1
- package/build/lib/deployment/metadata.js +0 -37
- package/build/lib/deployment/metadata.js.map +0 -1
- package/build/lib/deployment/path-manager.d.ts +0 -41
- package/build/lib/deployment/path-manager.d.ts.map +0 -1
- package/build/lib/deployment/path-manager.js +0 -157
- package/build/lib/deployment/path-manager.js.map +0 -1
- package/build/lib/github-actions/git-controller.d.ts +0 -50
- package/build/lib/github-actions/git-controller.d.ts.map +0 -1
- package/build/lib/github-actions/git-controller.js +0 -90
- package/build/lib/github-actions/git-controller.js.map +0 -1
- package/build/lib/github-actions/github-actions.d.ts +0 -7
- package/build/lib/github-actions/github-actions.d.ts.map +0 -1
- package/build/lib/github-actions/github-actions.js +0 -7
- package/build/lib/github-actions/github-actions.js.map +0 -1
- package/build/lib/github-actions/index.d.ts +0 -2
- package/build/lib/github-actions/index.d.ts.map +0 -1
- package/build/lib/github-actions/index.js +0 -2
- package/build/lib/github-actions/index.js.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
- package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
- package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
- package/build/lib/github-actions/pr-controller.d.ts +0 -39
- package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
- package/build/lib/github-actions/pr-controller.js +0 -122
- package/build/lib/github-actions/pr-controller.js.map +0 -1
- package/build/lib/github-actions/run-step-cli.d.ts +0 -9
- package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
- package/build/lib/github-actions/run-step-cli.js +0 -71
- package/build/lib/github-actions/run-step-cli.js.map +0 -1
- package/build/lib/github-actions/runner.d.ts +0 -17
- package/build/lib/github-actions/runner.d.ts.map +0 -1
- package/build/lib/github-actions/runner.js +0 -195
- package/build/lib/github-actions/runner.js.map +0 -1
- package/build/lib/github-actions/schemas/context.d.ts +0 -933
- package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/context.js +0 -407
- package/build/lib/github-actions/schemas/context.js.map +0 -1
- package/build/lib/github-actions/schemas/index.d.ts +0 -5
- package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
- package/build/lib/github-actions/schemas/index.js +0 -5
- package/build/lib/github-actions/schemas/index.js.map +0 -1
- package/build/lib/github-actions/search-module.d.ts +0 -38
- package/build/lib/github-actions/search-module.d.ts.map +0 -1
- package/build/lib/github-actions/search-module.js +0 -40
- package/build/lib/github-actions/search-module.js.map +0 -1
- package/build/lib/github-actions/step.d.ts +0 -163
- package/build/lib/github-actions/step.d.ts.map +0 -1
- package/build/lib/github-actions/step.js +0 -121
- package/build/lib/github-actions/step.js.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
- package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.js +0 -43
- package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
- package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.js +0 -297
- package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
- package/build/lib/shiki/index.d.ts +0 -2
- package/build/lib/shiki/index.d.ts.map +0 -1
- package/build/lib/shiki/index.js +0 -2
- package/build/lib/shiki/index.js.map +0 -1
- package/build/lib/shiki/shiki.d.ts +0 -26
- package/build/lib/shiki/shiki.d.ts.map +0 -1
- package/build/lib/shiki/shiki.js +0 -105
- package/build/lib/shiki/shiki.js.map +0 -1
- package/build/lib/version-history/index.d.ts +0 -3
- package/build/lib/version-history/index.d.ts.map +0 -1
- package/build/lib/version-history/index.js +0 -2
- package/build/lib/version-history/index.js.map +0 -1
- package/build/lib/version-history/types.d.ts +0 -64
- package/build/lib/version-history/types.d.ts.map +0 -1
- package/build/lib/version-history/types.js +0 -5
- package/build/lib/version-history/types.js.map +0 -1
- package/build/lib/version-history/version-history.d.ts +0 -85
- package/build/lib/version-history/version-history.d.ts.map +0 -1
- package/build/lib/version-history/version-history.js +0 -248
- package/build/lib/version-history/version-history.js.map +0 -1
- package/src/api/vite/data/navbar.ts +0 -15
- package/src/lib/demos/builder.ts +0 -298
- package/src/lib/demos/config-schema.ts +0 -56
- package/src/lib/demos/config.test.ts +0 -193
- package/src/lib/demos/config.ts +0 -205
- package/src/lib/demos/index.ts +0 -9
- package/src/lib/demos/ui/components.ts +0 -739
- package/src/lib/demos/ui/data-collector.ts +0 -246
- package/src/lib/demos/ui/landing-page-cli.ts +0 -23
- package/src/lib/demos/ui/landing-page.ts +0 -126
- package/src/lib/demos/ui/page-renderer.ts +0 -124
- package/src/lib/demos/utils.ts +0 -43
- package/src/lib/deployment/$$.ts +0 -2
- package/src/lib/deployment/$.test.ts +0 -53
- package/src/lib/deployment/$.ts +0 -1
- package/src/lib/deployment/metadata.ts +0 -40
- package/src/lib/deployment/path-manager.ts +0 -186
- package/src/lib/github-actions/git-controller.ts +0 -151
- package/src/lib/github-actions/github-actions.ts +0 -6
- package/src/lib/github-actions/index.ts +0 -1
- package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
- package/src/lib/github-actions/pr-controller.test.ts +0 -172
- package/src/lib/github-actions/pr-controller.ts +0 -183
- package/src/lib/github-actions/run-step-cli.ts +0 -84
- package/src/lib/github-actions/runner.test.ts +0 -192
- package/src/lib/github-actions/runner.ts +0 -226
- package/src/lib/github-actions/schemas/context.ts +0 -424
- package/src/lib/github-actions/schemas/index.ts +0 -5
- package/src/lib/github-actions/search-module.test.ts +0 -110
- package/src/lib/github-actions/search-module.ts +0 -76
- package/src/lib/github-actions/step.test.ts +0 -149
- package/src/lib/github-actions/step.ts +0 -232
- package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
- package/src/lib/graphql-document/schema-integration-example.ts +0 -341
- package/src/lib/shiki/index.ts +0 -1
- package/src/lib/shiki/shiki.test.ts +0 -107
- package/src/lib/shiki/shiki.ts +0 -161
- package/src/lib/version-history/index.test.ts +0 -196
- package/src/lib/version-history/index.ts +0 -4
- package/src/lib/version-history/types.ts +0 -68
- package/src/lib/version-history/version-history.ts +0 -293
@@ -0,0 +1,89 @@
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
2
|
+
import {
|
3
|
+
createGlobalDataScript,
|
4
|
+
createGlobalDataScriptWithInit,
|
5
|
+
injectGlobalDataIntoHTML,
|
6
|
+
} from './inject-global-data.js'
|
7
|
+
|
8
|
+
describe('createGlobalDataScript', () => {
|
9
|
+
it('creates a script tag with JSON data', () => {
|
10
|
+
const result = createGlobalDataScript('__TEST__', { foo: 'bar', num: 42 })
|
11
|
+
expect(result).toBe('<script>globalThis.__TEST__ = {"foo":"bar","num":42};</script>')
|
12
|
+
})
|
13
|
+
|
14
|
+
it('handles nested data structures', () => {
|
15
|
+
const data = {
|
16
|
+
user: { id: 1, name: 'John' },
|
17
|
+
settings: { theme: 'dark', notifications: true },
|
18
|
+
}
|
19
|
+
const result = createGlobalDataScript('__APP__', data)
|
20
|
+
expect(result).toContain('globalThis.__APP__ =')
|
21
|
+
expect(result).toContain(JSON.stringify(data))
|
22
|
+
})
|
23
|
+
|
24
|
+
it('escapes special characters in data', () => {
|
25
|
+
const data = { html: '</script><script>alert("xss")</script>' }
|
26
|
+
const result = createGlobalDataScript('__SAFE__', data)
|
27
|
+
// JSON.stringify escapes the forward slashes
|
28
|
+
expect(result).not.toContain('</script><script>')
|
29
|
+
expect(result).toContain('<\\/script>')
|
30
|
+
})
|
31
|
+
|
32
|
+
it('throws on invalid global names', () => {
|
33
|
+
expect(() => createGlobalDataScript('123invalid', {})).toThrow('Invalid global variable name')
|
34
|
+
expect(() => createGlobalDataScript('invalid-name', {})).toThrow('Invalid global variable name')
|
35
|
+
expect(() => createGlobalDataScript('invalid.name', {})).toThrow('Invalid global variable name')
|
36
|
+
})
|
37
|
+
|
38
|
+
it('accepts valid global names', () => {
|
39
|
+
expect(() => createGlobalDataScript('_valid', {})).not.toThrow()
|
40
|
+
expect(() => createGlobalDataScript('$valid', {})).not.toThrow()
|
41
|
+
expect(() => createGlobalDataScript('VALID_123', {})).not.toThrow()
|
42
|
+
})
|
43
|
+
})
|
44
|
+
|
45
|
+
describe('createGlobalDataScriptWithInit', () => {
|
46
|
+
it('creates script with data and init code', () => {
|
47
|
+
const result = createGlobalDataScriptWithInit(
|
48
|
+
'__THEME__',
|
49
|
+
{ theme: 'dark' },
|
50
|
+
'document.body.className = globalThis.__THEME__.theme;',
|
51
|
+
)
|
52
|
+
expect(result).toContain('globalThis.__THEME__ = {"theme":"dark"};')
|
53
|
+
expect(result).toContain('document.body.className = globalThis.__THEME__.theme;')
|
54
|
+
expect(result).toMatch(/<script>.*<\/script>/s)
|
55
|
+
})
|
56
|
+
|
57
|
+
it('returns just data script when no init code provided', () => {
|
58
|
+
const result = createGlobalDataScriptWithInit('__TEST__', { foo: 'bar' })
|
59
|
+
expect(result).toBe('<script>globalThis.__TEST__ = {"foo":"bar"};</script>')
|
60
|
+
})
|
61
|
+
})
|
62
|
+
|
63
|
+
describe('injectGlobalDataIntoHTML', () => {
|
64
|
+
const sampleHTML = `
|
65
|
+
<html>
|
66
|
+
<head>
|
67
|
+
<title>Test</title>
|
68
|
+
</head>
|
69
|
+
<body>
|
70
|
+
<div id="app"></div>
|
71
|
+
</body>
|
72
|
+
</html>`
|
73
|
+
|
74
|
+
it('injects script into head', () => {
|
75
|
+
const result = injectGlobalDataIntoHTML(sampleHTML, '__APP__', { version: '1.0' })
|
76
|
+
expect(result).toContain('<head>\n<script>globalThis.__APP__ = {"version":"1.0"};</script>')
|
77
|
+
})
|
78
|
+
|
79
|
+
it('injects script with init code', () => {
|
80
|
+
const result = injectGlobalDataIntoHTML(
|
81
|
+
sampleHTML,
|
82
|
+
'__CONFIG__',
|
83
|
+
{ apiUrl: '/api' },
|
84
|
+
'console.log("Config loaded:", globalThis.__CONFIG__);',
|
85
|
+
)
|
86
|
+
expect(result).toContain('globalThis.__CONFIG__ = {"apiUrl":"/api"};')
|
87
|
+
expect(result).toContain('console.log("Config loaded:", globalThis.__CONFIG__);')
|
88
|
+
})
|
89
|
+
})
|
@@ -0,0 +1,80 @@
|
|
1
|
+
/**
|
2
|
+
* Creates an HTML script tag that injects data into a global variable
|
3
|
+
*
|
4
|
+
* @param globalName - The name of the global variable (e.g., '__POLEN__')
|
5
|
+
* @param data - The data to inject (will be JSON stringified)
|
6
|
+
* @returns HTML script tag string ready to inject into HTML
|
7
|
+
*
|
8
|
+
* @example
|
9
|
+
* ```ts
|
10
|
+
* const script = createGlobalDataScript('__MY_APP__', { user: { id: 1, name: 'John' } })
|
11
|
+
* // Returns: <script>globalThis.__MY_APP__ = {"user":{"id":1,"name":"John"}};</script>
|
12
|
+
* ```
|
13
|
+
*/
|
14
|
+
export const createGlobalDataScript = (globalName: string, data: unknown): string => {
|
15
|
+
// Validate global name to prevent injection attacks
|
16
|
+
if (!/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(globalName)) {
|
17
|
+
throw new Error(`Invalid global variable name: ${globalName}`)
|
18
|
+
}
|
19
|
+
|
20
|
+
// JSON.stringify and then escape </script> tags to prevent XSS
|
21
|
+
const jsonData = JSON.stringify(data)
|
22
|
+
// Escape </script> to prevent breaking out of script tag
|
23
|
+
.replace(/<\/script>/gi, '<\\/script>')
|
24
|
+
|
25
|
+
return `<script>globalThis.${globalName} = ${jsonData};</script>`
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Creates a script tag that initializes global data and runs initialization code
|
30
|
+
*
|
31
|
+
* @param globalName - The name of the global variable
|
32
|
+
* @param data - The data to inject
|
33
|
+
* @param initCode - Optional initialization code to run after setting the global
|
34
|
+
* @returns HTML script tag string
|
35
|
+
*
|
36
|
+
* @example
|
37
|
+
* ```ts
|
38
|
+
* const script = createGlobalDataScriptWithInit('__THEME__', { theme: 'dark' }, `
|
39
|
+
* document.documentElement.className = globalThis.__THEME__.theme;
|
40
|
+
* `)
|
41
|
+
* ```
|
42
|
+
*/
|
43
|
+
export const createGlobalDataScriptWithInit = (
|
44
|
+
globalName: string,
|
45
|
+
data: unknown,
|
46
|
+
initCode?: string,
|
47
|
+
): string => {
|
48
|
+
const dataScript = createGlobalDataScript(globalName, data)
|
49
|
+
|
50
|
+
if (!initCode) {
|
51
|
+
return dataScript
|
52
|
+
}
|
53
|
+
|
54
|
+
// Remove the closing </script> tag from data script and append init code
|
55
|
+
const scriptContent = dataScript.replace('</script>', `\n${initCode}\n</script>`)
|
56
|
+
return scriptContent
|
57
|
+
}
|
58
|
+
|
59
|
+
/**
|
60
|
+
* Injects a global data script into the head of an HTML document
|
61
|
+
*
|
62
|
+
* @param html - The HTML document string
|
63
|
+
* @param globalName - The name of the global variable
|
64
|
+
* @param data - The data to inject
|
65
|
+
* @param initCode - Optional initialization code
|
66
|
+
* @returns Modified HTML with script injected
|
67
|
+
*/
|
68
|
+
export const injectGlobalDataIntoHTML = (
|
69
|
+
html: string,
|
70
|
+
globalName: string,
|
71
|
+
data: unknown,
|
72
|
+
initCode?: string,
|
73
|
+
): string => {
|
74
|
+
const script = initCode
|
75
|
+
? createGlobalDataScriptWithInit(globalName, data, initCode)
|
76
|
+
: createGlobalDataScript(globalName, data)
|
77
|
+
|
78
|
+
// Inject at the beginning of head to ensure it runs first
|
79
|
+
return html.replace('<head>', `<head>\n${script}`)
|
80
|
+
}
|
@@ -3,24 +3,29 @@ import { objFilter, ObjOmit, ObjPick, objPolicyFilter } from './kit-temp.js'
|
|
3
3
|
import type { ObjPolicyFilter } from './kit-temp.js'
|
4
4
|
|
5
5
|
// Test object for all tests
|
6
|
-
|
6
|
+
interface TestObj {
|
7
|
+
a: string
|
8
|
+
b: number
|
9
|
+
c: boolean
|
10
|
+
d: string[]
|
11
|
+
}
|
7
12
|
declare const testObj: TestObj
|
8
13
|
|
9
14
|
// Test 1: objPolicyFilter with allow mode
|
10
15
|
{
|
11
|
-
const result = objPolicyFilter(
|
16
|
+
const result = objPolicyFilter(`allow`, testObj, [`a`, `c`] as const)
|
12
17
|
Ts.assertEqual<{ a: string; c: boolean }>()(result)
|
13
18
|
}
|
14
19
|
|
15
20
|
// Test 2: objPolicyFilter with deny mode
|
16
21
|
{
|
17
|
-
const result = objPolicyFilter(
|
22
|
+
const result = objPolicyFilter(`deny`, testObj, [`a`, `c`] as const)
|
18
23
|
Ts.assertEqual<{ b: number; d: string[] }>()(result)
|
19
24
|
}
|
20
25
|
|
21
26
|
// Test 3: objFilter returns Partial<T>
|
22
27
|
{
|
23
|
-
const result = objFilter(testObj, (key, value) => value !==
|
28
|
+
const result = objFilter(testObj, (key, value) => value !== `hello`)
|
24
29
|
Ts.assertEqual<Partial<TestObj>>()(result)
|
25
30
|
|
26
31
|
// All properties are optional
|
@@ -32,28 +37,28 @@ declare const testObj: TestObj
|
|
32
37
|
|
33
38
|
// Test 4: ObjPick type inference
|
34
39
|
{
|
35
|
-
const result = ObjPick(testObj, [
|
40
|
+
const result = ObjPick(testObj, [`a`, `c`] as const)
|
36
41
|
Ts.assertEqual<{ a: string; c: boolean }>()(result)
|
37
42
|
}
|
38
43
|
|
39
44
|
// Test 5: ObjOmit type inference
|
40
45
|
{
|
41
|
-
const result = ObjOmit(testObj, [
|
46
|
+
const result = ObjOmit(testObj, [`a`, `c`] as const)
|
42
47
|
Ts.assertEqual<{ b: number; d: string[] }>()(result)
|
43
48
|
}
|
44
49
|
|
45
50
|
// Test 6: ObjPolicyFilter type-level function
|
46
51
|
{
|
47
|
-
type Allow = ObjPolicyFilter<TestObj,
|
52
|
+
type Allow = ObjPolicyFilter<TestObj, `a` | `c`, `allow`>
|
48
53
|
type _TestAllow = Ts.AssertEqual<Allow, { a: string; c: boolean }>
|
49
54
|
|
50
|
-
type Deny = ObjPolicyFilter<TestObj,
|
55
|
+
type Deny = ObjPolicyFilter<TestObj, `a` | `c`, `deny`>
|
51
56
|
type _TestDeny = Ts.AssertEqual<Deny, { b: number; d: string[] }>
|
52
57
|
|
53
|
-
type AllowEmpty = ObjPolicyFilter<TestObj, never,
|
58
|
+
type AllowEmpty = ObjPolicyFilter<TestObj, never, `allow`>
|
54
59
|
type _TestAllowEmpty = Ts.AssertEqual<AllowEmpty, {}>
|
55
60
|
|
56
|
-
type DenyEmpty = ObjPolicyFilter<TestObj, never,
|
61
|
+
type DenyEmpty = ObjPolicyFilter<TestObj, never, `deny`>
|
57
62
|
type _TestDenyEmpty = Ts.AssertEqual<DenyEmpty, TestObj>
|
58
63
|
}
|
59
64
|
|
@@ -61,8 +66,8 @@ declare const testObj: TestObj
|
|
61
66
|
{
|
62
67
|
// Empty object
|
63
68
|
const empty = {}
|
64
|
-
const allowEmpty = objPolicyFilter(
|
65
|
-
const denyEmpty = objPolicyFilter(
|
69
|
+
const allowEmpty = objPolicyFilter(`allow`, empty, [])
|
70
|
+
const denyEmpty = objPolicyFilter(`deny`, empty, [])
|
66
71
|
const filterEmpty = objFilter(empty, () => true)
|
67
72
|
|
68
73
|
Ts.assertEqual<{}>()(allowEmpty)
|
@@ -71,8 +76,8 @@ declare const testObj: TestObj
|
|
71
76
|
|
72
77
|
// Single property object
|
73
78
|
const single = { a: 1 }
|
74
|
-
const allowSingle = objPolicyFilter(
|
75
|
-
const denySingle = objPolicyFilter(
|
79
|
+
const allowSingle = objPolicyFilter(`allow`, single, [`a`] as const)
|
80
|
+
const denySingle = objPolicyFilter(`deny`, single, [`a`] as const)
|
76
81
|
const filterSingle = objFilter(single, () => true)
|
77
82
|
|
78
83
|
Ts.assertEqual<{ a: number }>()(allowSingle)
|
@@ -82,7 +87,7 @@ declare const testObj: TestObj
|
|
82
87
|
|
83
88
|
// Test 8: Complex nested object
|
84
89
|
{
|
85
|
-
|
90
|
+
interface ComplexObj {
|
86
91
|
nested: { a: string; b: number }
|
87
92
|
array: string[]
|
88
93
|
optional?: boolean
|
@@ -90,26 +95,26 @@ declare const testObj: TestObj
|
|
90
95
|
}
|
91
96
|
const complexObj = {} as ComplexObj
|
92
97
|
|
93
|
-
const picked = objPolicyFilter(
|
98
|
+
const picked = objPolicyFilter(`allow`, complexObj, [`nested`, `optional`] as const)
|
94
99
|
Ts.assertEqual<{ nested: { a: string; b: number }; optional?: boolean }>()(picked)
|
95
100
|
|
96
|
-
const omitted = objPolicyFilter(
|
101
|
+
const omitted = objPolicyFilter(`deny`, complexObj, [`nested`, `optional`] as const)
|
97
102
|
Ts.assertEqual<{ array: string[]; readonly ro: string }>()(omitted)
|
98
103
|
|
99
|
-
const filtered = objFilter(complexObj, (key) => key !==
|
104
|
+
const filtered = objFilter(complexObj, (key) => key !== `array`)
|
100
105
|
Ts.assertEqual<Partial<ComplexObj>>()(filtered)
|
101
106
|
}
|
102
107
|
|
103
108
|
// Test 9: Keys parameter type inference
|
104
109
|
{
|
105
110
|
// With const assertion
|
106
|
-
const keys1 = [
|
107
|
-
const result1 = objPolicyFilter(
|
111
|
+
const keys1 = [`a`, `c`] as const
|
112
|
+
const result1 = objPolicyFilter(`allow`, testObj, keys1)
|
108
113
|
Ts.assertEqual<{ a: string; c: boolean }>()(result1)
|
109
114
|
|
110
115
|
// Without const assertion (wider type)
|
111
|
-
const keys2: (keyof TestObj)[] = [
|
112
|
-
const result2 = objPolicyFilter(
|
116
|
+
const keys2: (keyof TestObj)[] = [`a`, `c`]
|
117
|
+
const result2 = objPolicyFilter(`allow`, testObj, keys2)
|
113
118
|
// Result is a union of all possible picks
|
114
119
|
type Result2 = typeof result2 // Pick<TestObj, keyof TestObj>
|
115
120
|
}
|
package/src/lib/kit-temp.test.ts
CHANGED
@@ -76,10 +76,10 @@ describe('property-based tests', () => {
|
|
76
76
|
|
77
77
|
// Combined they reconstruct the original object (only own properties)
|
78
78
|
const reconstructed = { ...allowed, ...denied }
|
79
|
-
const ownPropsObj = Object.keys(obj).reduce((acc, key) => {
|
79
|
+
const ownPropsObj = Object.keys(obj).reduce<any>((acc, key) => {
|
80
80
|
acc[key] = obj[key]
|
81
81
|
return acc
|
82
|
-
}, {}
|
82
|
+
}, {})
|
83
83
|
expect(reconstructed).toEqual(ownPropsObj)
|
84
84
|
},
|
85
85
|
),
|
@@ -94,10 +94,10 @@ describe('property-based tests', () => {
|
|
94
94
|
const filtered = objFilter(obj, () => true)
|
95
95
|
|
96
96
|
// Object.keys doesn't include __proto__, so we need to handle it specially
|
97
|
-
const objWithoutProto = Object.keys(obj).reduce((acc, key) => {
|
97
|
+
const objWithoutProto = Object.keys(obj).reduce<any>((acc, key) => {
|
98
98
|
acc[key] = obj[key]
|
99
99
|
return acc
|
100
|
-
}, {}
|
100
|
+
}, {})
|
101
101
|
|
102
102
|
expect(filtered).toEqual(objWithoutProto)
|
103
103
|
|
package/src/lib/kit-temp.ts
CHANGED
@@ -64,8 +64,8 @@ export interface ImportEvent {
|
|
64
64
|
export type ObjPolicyFilter<
|
65
65
|
$Object extends object,
|
66
66
|
$Key extends Keyof<$Object>,
|
67
|
-
Mode extends
|
68
|
-
> = Mode extends
|
67
|
+
Mode extends `allow` | `deny`,
|
68
|
+
> = Mode extends `allow`
|
69
69
|
? Pick<$Object, Extract<$Key, keyof $Object>>
|
70
70
|
: Omit<$Object, Extract<$Key, keyof $Object>>
|
71
71
|
|
@@ -96,15 +96,15 @@ type Keyof<$Object extends object> = object extends $Object ? PropertyKey : (key
|
|
96
96
|
export const objPolicyFilter = <
|
97
97
|
obj extends object,
|
98
98
|
keyUnion extends Keyof<obj>,
|
99
|
-
mode extends
|
99
|
+
mode extends `allow` | `deny`,
|
100
100
|
>(
|
101
101
|
mode: mode,
|
102
102
|
obj: obj,
|
103
103
|
keys: readonly keyUnion[],
|
104
104
|
): ObjPolicyFilter<obj, keyUnion, mode> => {
|
105
|
-
const result: any = mode ===
|
105
|
+
const result: any = mode === `deny` ? { ...obj } : {}
|
106
106
|
|
107
|
-
if (mode ===
|
107
|
+
if (mode === `allow`) {
|
108
108
|
// For allow mode, only add specified keys
|
109
109
|
for (const key of keys) {
|
110
110
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
@@ -152,11 +152,11 @@ export const objFilter = <T extends object>(
|
|
152
152
|
}
|
153
153
|
|
154
154
|
export const ObjPick = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K> => {
|
155
|
-
return objPolicyFilter(
|
155
|
+
return objPolicyFilter(`allow`, obj, keys) as any
|
156
156
|
}
|
157
157
|
|
158
158
|
export const ObjOmit = <T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Omit<T, K> => {
|
159
|
-
return objPolicyFilter(
|
159
|
+
return objPolicyFilter(`deny`, obj, keys) as any
|
160
160
|
}
|
161
161
|
|
162
162
|
export const ObjPartition = <T extends object, K extends keyof T>(
|
@@ -233,7 +233,7 @@ export type ExtendsExact<$Input, $Constraint> =
|
|
233
233
|
* ```
|
234
234
|
*/
|
235
235
|
export const chunk = <T>(array: readonly T[], size: number): T[][] => {
|
236
|
-
if (size <= 0) throw new Error(
|
236
|
+
if (size <= 0) throw new Error(`Chunk size must be greater than 0`)
|
237
237
|
if (array.length === 0) return []
|
238
238
|
|
239
239
|
const chunks: T[][] = []
|
@@ -345,7 +345,7 @@ const processBatch = async <T, R>(
|
|
345
345
|
operation: (item: T, index: number) => Promise<R>,
|
346
346
|
concurrency: number,
|
347
347
|
failFast: boolean,
|
348
|
-
startIndex
|
348
|
+
startIndex = 0,
|
349
349
|
): Promise<AsyncParallelResult<T, R>> => {
|
350
350
|
const results: R[] = []
|
351
351
|
const errors: (Error & { item: T })[] = []
|
@@ -372,7 +372,7 @@ const processBatch = async <T, R>(
|
|
372
372
|
const chunkResults = await Promise.allSettled(promises)
|
373
373
|
|
374
374
|
for (const promiseResult of chunkResults) {
|
375
|
-
if (promiseResult.status ===
|
375
|
+
if (promiseResult.status === `fulfilled`) {
|
376
376
|
const { success, result, error, item } = promiseResult.value
|
377
377
|
if (success) {
|
378
378
|
results.push(result!)
|
@@ -385,7 +385,7 @@ const processBatch = async <T, R>(
|
|
385
385
|
} else {
|
386
386
|
// This shouldn't happen since we're catching errors above
|
387
387
|
// But handle it just in case
|
388
|
-
const error = new Error(
|
388
|
+
const error = new Error(`Unexpected promise rejection`) as Error & { item: any }
|
389
389
|
errors.push(error)
|
390
390
|
if (failFast) {
|
391
391
|
return { results, errors, success: false }
|
@@ -520,3 +520,75 @@ export const asyncReduceWith = <T, C>(
|
|
520
520
|
)
|
521
521
|
}
|
522
522
|
}
|
523
|
+
|
524
|
+
/**
|
525
|
+
* Create a branded type that provides nominal typing in TypeScript.
|
526
|
+
*
|
527
|
+
* Branded types allow you to create distinct types from primitives or other types,
|
528
|
+
* preventing accidental mixing of values that are structurally identical but
|
529
|
+
* semantically different.
|
530
|
+
*
|
531
|
+
* @template $BaseType - The underlying type to brand (e.g., string, number)
|
532
|
+
* @template $BrandName - A unique string literal to distinguish this brand
|
533
|
+
*
|
534
|
+
* @example
|
535
|
+
* ```ts
|
536
|
+
* // Create distinct ID types that can't be mixed
|
537
|
+
* type UserId = Brand<string, 'UserId'>
|
538
|
+
* type PostId = Brand<string, 'PostId'>
|
539
|
+
*
|
540
|
+
* function getUser(id: UserId) { ... }
|
541
|
+
*
|
542
|
+
* const userId = 'u123' as UserId
|
543
|
+
* const postId = 'p456' as PostId
|
544
|
+
*
|
545
|
+
* getUser(userId) // ✓ OK
|
546
|
+
* getUser(postId) // ✗ Type error - can't use PostId where UserId expected
|
547
|
+
* ```
|
548
|
+
*
|
549
|
+
* @example
|
550
|
+
* ```ts
|
551
|
+
* // Brand primitive types for domain modeling
|
552
|
+
* type Email = Brand<string, 'Email'>
|
553
|
+
* type Url = Brand<string, 'Url'>
|
554
|
+
* type PositiveNumber = Brand<number, 'PositiveNumber'>
|
555
|
+
* ```
|
556
|
+
*/
|
557
|
+
export type Brand<$BaseType, $BrandName extends string> =
|
558
|
+
& $BaseType
|
559
|
+
& {
|
560
|
+
readonly __brand: $BrandName
|
561
|
+
}
|
562
|
+
|
563
|
+
/**
|
564
|
+
* Helper function to create a branded value.
|
565
|
+
*
|
566
|
+
* This is a simple type assertion helper. For runtime validation,
|
567
|
+
* combine with validation functions or schemas.
|
568
|
+
*
|
569
|
+
* @template $BaseType - The underlying type to brand
|
570
|
+
* @template $BrandName - The brand name to apply
|
571
|
+
* @param value - The value to brand
|
572
|
+
* @returns The value with the brand type applied
|
573
|
+
*
|
574
|
+
* @example
|
575
|
+
* ```ts
|
576
|
+
* type UserId = Brand<string, 'UserId'>
|
577
|
+
*
|
578
|
+
* // Simple branding (no runtime validation)
|
579
|
+
* const id = brand<string, 'UserId'>('u123')
|
580
|
+
*
|
581
|
+
* // With validation (recommended)
|
582
|
+
* function createUserId(value: string): UserId {
|
583
|
+
* if (!value.startsWith('u')) {
|
584
|
+
* throw new Error('User IDs must start with "u"')
|
585
|
+
* }
|
586
|
+
* return brand<string, 'UserId'>(value)
|
587
|
+
* }
|
588
|
+
* ```
|
589
|
+
*/
|
590
|
+
export const brand = <$BaseType, $BrandName extends string>(
|
591
|
+
value: $BaseType,
|
592
|
+
): Brand<$BaseType, $BrandName> => {
|
593
|
+
return value as Brand<$BaseType, $BrandName>
|
594
|
+
}
|
package/src/lib/mask/$$.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './apply.
|
2
|
-
export * from './mask.
|
1
|
+
export * from './apply.js'
|
2
|
+
export * from './mask.js'
|
package/src/lib/mask/$.test.ts
CHANGED
package/src/lib/mask/$.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * as Mask from './$$.
|
1
|
+
export * as Mask from './$$.js'
|
package/src/lib/mask/apply.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { type ExtendsExact, objPolicyFilter } from '#lib/kit-temp'
|
2
2
|
import { Obj } from '@wollybeard/kit'
|
3
3
|
import { never } from '@wollybeard/kit/language'
|
4
|
-
import type { GetDataType, Mask } from './mask.
|
4
|
+
import type { GetDataType, Mask } from './mask.js'
|
5
5
|
|
6
6
|
/**
|
7
7
|
* Type-level function that applies a mask to data.
|
@@ -19,16 +19,16 @@ import type { GetDataType, Mask } from './mask.ts'
|
|
19
19
|
* - Non-objects throw an error at runtime
|
20
20
|
*/
|
21
21
|
// dprint-ignore
|
22
|
-
export type Apply<Data, M extends Mask
|
23
|
-
M extends { type:
|
24
|
-
? M[
|
22
|
+
export type Apply<Data, M extends Mask> =
|
23
|
+
M extends { type: `binary`, show: boolean }
|
24
|
+
? M[`show`] extends true
|
25
25
|
? Data
|
26
26
|
: undefined
|
27
|
-
: M extends { type:
|
27
|
+
: M extends { type: `properties`, mode: string, properties: any[] }
|
28
28
|
? Data extends object
|
29
|
-
? M[
|
30
|
-
? Pick<Data, Extract<M[
|
31
|
-
: Omit<Data, Extract<M[
|
29
|
+
? M[`mode`] extends `allow`
|
30
|
+
? Pick<Data, Extract<M[`properties`][number], keyof Data>>
|
31
|
+
: Omit<Data, Extract<M[`properties`][number], keyof Data>>
|
32
32
|
: never // Non-objects not allowed with property masks
|
33
33
|
: never
|
34
34
|
|
@@ -50,7 +50,7 @@ export type Apply<Data, M extends Mask<any>> =
|
|
50
50
|
*/
|
51
51
|
export const apply = <
|
52
52
|
data extends GetDataType<mask>,
|
53
|
-
mask extends Mask
|
53
|
+
mask extends Mask,
|
54
54
|
>(data: data, mask: mask): Apply<data, mask> => {
|
55
55
|
return applyInternal(data, mask) as Apply<data, mask>
|
56
56
|
}
|
@@ -74,7 +74,7 @@ export const apply = <
|
|
74
74
|
*/
|
75
75
|
export const applyPartial = <
|
76
76
|
data extends Partial<GetDataType<mask>>,
|
77
|
-
mask extends Mask
|
77
|
+
mask extends Mask,
|
78
78
|
>(data: data, mask: mask): Apply<data, mask> => {
|
79
79
|
return applyInternal(data, mask) as Apply<data, mask>
|
80
80
|
}
|
@@ -105,7 +105,7 @@ export const applyPartial = <
|
|
105
105
|
*/
|
106
106
|
export const applyExact = <
|
107
107
|
data,
|
108
|
-
mask extends Mask
|
108
|
+
mask extends Mask,
|
109
109
|
>(
|
110
110
|
data: ExtendsExact<data, GetDataType<mask>>,
|
111
111
|
mask: mask,
|
@@ -114,17 +114,17 @@ export const applyExact = <
|
|
114
114
|
}
|
115
115
|
|
116
116
|
// Internal implementation
|
117
|
-
const applyInternal = (data: any, mask: Mask
|
117
|
+
const applyInternal = (data: any, mask: Mask): any => {
|
118
118
|
// ━ Handle binary mask
|
119
|
-
if (mask.type ===
|
119
|
+
if (mask.type === `binary`) {
|
120
120
|
return mask.show ? data : undefined
|
121
121
|
}
|
122
122
|
|
123
123
|
// ━ Handle properties mask
|
124
|
-
if (mask.type ===
|
124
|
+
if (mask.type === `properties`) {
|
125
125
|
// Properties mask requires object data
|
126
126
|
if (!Obj.is(data)) {
|
127
|
-
throw new Error(
|
127
|
+
throw new Error(`Cannot apply properties mask to non-object data`)
|
128
128
|
}
|
129
129
|
|
130
130
|
return objPolicyFilter(mask.mode, data, mask.properties)
|