@astryxdesign/cli 0.6.3 → 0.6.4-canary.0e1fbdb
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/CHANGELOG.md +194 -0
- package/README.md +152 -107
- package/api/blog/blog.doc.mjs +1 -0
- package/api/build/_adapter.d.mts +50 -0
- package/api/build/_adapter.mjs +60 -0
- package/api/build/build.doc.mjs +22 -10
- package/api/build/build.test.mjs +219 -8
- package/api/build/build.type.d.mts +91 -2
- package/api/build/build.type.mjs +52 -8
- package/api/build/help/help.d.mts +12 -5
- package/api/build/help/help.mjs +69 -6
- package/api/build/kit/kit.d.mts +4 -1
- package/api/build/kit/kit.mjs +208 -53
- package/api/build/kit/rank.d.mts +44 -0
- package/api/build/kit/rank.mjs +432 -0
- package/api/build/kit/rank.test.mjs +196 -0
- package/api/component/_adapter.d.mts +31 -12
- package/api/component/_adapter.mjs +79 -15
- package/api/component/component.d.mts +6 -3
- package/api/component/component.doc.mjs +49 -19
- package/api/component/component.mjs +339 -22
- package/api/component/component.test.mjs +38 -0
- package/api/component/component.type.d.mts +47 -11
- package/api/component/component.type.mjs +76 -24
- package/api/component/detail/blocks/blocks.d.mts +2 -1
- package/api/component/detail/blocks/blocks.mjs +4 -3
- package/api/component/list/list.d.mts +0 -5
- package/api/component/list/list.mjs +40 -11
- package/api/discover/_adapter.d.mts +114 -6
- package/api/discover/_adapter.mjs +372 -17
- package/api/discover/_adapter.test.mjs +215 -0
- package/api/discover/_catalog-view.d.mts +115 -0
- package/api/discover/_catalog-view.mjs +203 -0
- package/api/discover/_catalog-view.test.mjs +128 -0
- package/api/discover/detail/detail.d.mts +18 -6
- package/api/discover/detail/detail.mjs +67 -13
- package/api/discover/detail/detail.test.mjs +85 -0
- package/api/discover/detail/item/item.d.mts +26 -0
- package/api/discover/detail/item/item.mjs +78 -0
- package/api/discover/detail/item/item.test.mjs +73 -0
- package/api/discover/discover.d.mts +3 -9
- package/api/discover/discover.doc.mjs +62 -18
- package/api/discover/discover.mjs +220 -36
- package/api/discover/discover.test.mjs +11 -2
- package/api/discover/discover.type.d.mts +150 -11
- package/api/discover/discover.type.mjs +107 -17
- package/api/discover/list/list.d.mts +20 -6
- package/api/discover/list/list.mjs +45 -12
- package/api/discover/list/list.test.mjs +46 -0
- package/api/discover/search/search.d.mts +18 -16
- package/api/discover/search/search.mjs +102 -56
- package/api/discover/search/search.test.mjs +144 -10
- package/api/docs/_adapter.d.mts +277 -41
- package/api/docs/_adapter.mjs +993 -108
- package/api/docs/compiled-topics.test.mjs +78 -0
- package/api/docs/detail/detail.mjs +22 -63
- package/api/docs/detail/section/section.d.mts +1 -1
- package/api/docs/detail/section/section.mjs +54 -19
- package/api/docs/detail/section/section.test.mjs +50 -0
- package/api/docs/docOverlays.test.mjs +27 -1
- package/api/docs/docs.d.mts +10 -3
- package/api/docs/docs.doc.mjs +55 -16
- package/api/docs/docs.mjs +53 -10
- package/api/docs/docs.type.d.mts +221 -5
- package/api/docs/docs.type.mjs +153 -11
- package/api/docs/index/index.d.mts +18 -0
- package/api/docs/index/index.mjs +40 -0
- package/api/docs/index/index.test.mjs +62 -0
- package/api/docs/list/list.mjs +28 -12
- package/api/docs/node/node.d.mts +43 -0
- package/api/docs/node/node.mjs +192 -0
- package/api/docs/reference-blocks.test.mjs +406 -0
- package/api/doctor/doctor.d.mts +104 -1
- package/api/doctor/doctor.doc.mjs +18 -8
- package/api/doctor/doctor.mjs +635 -7
- package/api/doctor/doctor.test.mjs +732 -11
- package/api/doctor/doctor.type.d.mts +1 -1
- package/api/doctor/doctor.type.mjs +1 -1
- package/api/gap-report/gap-report.doc.mjs +27 -14
- package/api/hook/_adapter.mjs +19 -5
- package/api/hook/hook.doc.mjs +7 -3
- package/api/hook/hook.type.d.mts +3 -3
- package/api/hook/hook.type.mjs +11 -11
- package/api/hook/list/list.d.mts +2 -2
- package/api/hook/list/list.mjs +69 -17
- package/api/index.d.mts +2 -1
- package/api/index.mjs +6 -3
- package/api/init/init.doc.mjs +22 -12
- package/api/init/init.test.mjs +41 -1
- package/api/init/remove/remove.mjs +1 -1
- package/api/init/run/run.mjs +20 -10
- package/api/integration/add-contribution.component-names.test.mjs +120 -0
- package/api/integration/add-contribution.d.mts +2 -1
- package/api/integration/add-contribution.mjs +130 -15
- package/api/integration/add-contribution.test.mjs +258 -7
- package/api/integration/add-helpers.d.mts +5 -2
- package/api/integration/add-helpers.mjs +36 -9
- package/api/integration/add-theme.mjs +56 -65
- package/api/integration/add-theme.test.mjs +139 -21
- package/api/integration/authoring-checks.mjs +138 -28
- package/api/integration/authoring-checks.test.mjs +179 -7
- package/api/integration/authoring-checks.type.mjs +6 -1
- package/api/integration/integration-authoring.type.d.mts +3 -1
- package/api/integration/integration-authoring.type.mjs +2 -0
- package/api/integration/integration-block-exports.test.mjs +10 -6
- package/api/integration/integrationAdd.doc.mjs +14 -4
- package/api/integration/integrationAddAgentDoc.doc.mjs +1 -0
- package/api/integration/integrationAddCodemod.doc.mjs +1 -0
- package/api/integration/integrationAddComponent.doc.mjs +2 -1
- package/api/integration/integrationAddDoc.doc.mjs +8 -1
- package/api/integration/integrationAddTemplate.doc.mjs +1 -0
- package/api/integration/integrationAddTheme.doc.mjs +6 -5
- package/api/integration/integrationComponentConflicts.doc.mjs +1 -0
- package/api/integration/integrationDocConflicts.doc.mjs +2 -1
- package/api/integration/integrationPackCheck.doc.mjs +5 -4
- package/api/integration/integrationTemplateConflicts.doc.d.mts +3 -0
- package/api/integration/integrationTemplateConflicts.doc.mjs +4 -0
- package/api/integration/pack-check.lifecycle-output.test.mjs +107 -0
- package/api/integration/pack-check.mjs +160 -11
- package/api/integration/pack-check.test.mjs +477 -47
- package/api/integration/pack-check.type.d.mts +26 -2
- package/api/integration/pack-check.type.mjs +15 -2
- package/api/integration/summarizeIssues.doc.mjs +1 -0
- package/api/integration/template-conflict-compatibility.test.mjs +73 -0
- package/api/integration/validate-integration-fixes.test.mjs +1389 -0
- package/api/integration/validate-integration.mjs +52 -102
- package/api/integration/validate-integration.test.mjs +179 -26
- package/api/integration/validate-unread-theme-folders.test.mjs +110 -0
- package/api/integration/validateIntegration.doc.mjs +3 -2
- package/api/json/assertResponse.doc.mjs +2 -1
- package/api/json/envelope-types.test.mjs +76 -0
- package/api/json/index.ts +2 -0
- package/api/json/isError.doc.mjs +2 -1
- package/api/json/parseResponse.doc.mjs +3 -2
- package/api/layout/_adapter.mjs +20 -5
- package/api/layout/expand/expand.mjs +7 -5
- package/api/layout/expand/expand.path-safety.test.mjs +53 -0
- package/api/layout/grammar/grammar.mjs +2 -1
- package/api/layout/layoutCheck.doc.mjs +1 -0
- package/api/layout/layoutExpand.doc.mjs +2 -1
- package/api/layout/layoutGrammar.doc.mjs +1 -0
- package/api/search/search-return-type.test.mjs +54 -0
- package/api/search/search.d.mts +89 -12
- package/api/search/search.doc.mjs +8 -2
- package/api/search/search.mjs +697 -97
- package/api/search/search.type.d.mts +15 -3
- package/api/search/search.type.mjs +5 -2
- package/api/swizzle/copy/copy.mjs +28 -11
- package/api/swizzle/swizzle.doc.mjs +8 -5
- package/api/swizzle/swizzle.type.d.mts +2 -2
- package/api/swizzle/swizzle.type.mjs +2 -2
- package/api/template/copy/copy.mjs +18 -24
- package/api/template/copy/copy.test.mjs +26 -0
- package/api/template/list/list.mjs +1 -0
- package/api/template/table-floating-bulk-actions.test.mjs +66 -0
- package/api/template/template-integration.test.mjs +1072 -3
- package/api/template/template-suffix.test.mjs +41 -21
- package/api/template/template.d.mts +1 -1
- package/api/template/template.doc.mjs +32 -9
- package/api/template/template.mjs +45 -8
- package/api/template/template.type.d.mts +12 -14
- package/api/template/template.type.mjs +15 -14
- package/api/theme/_adapter.d.mts +2 -3
- package/api/theme/_adapter.mjs +4 -5
- package/api/theme/add/add.binary.test.mjs +84 -0
- package/api/theme/add/add.mjs +31 -22
- package/api/theme/add/add.rollback.test.mjs +158 -0
- package/api/theme/add/add.staging.test.mjs +83 -0
- package/api/theme/add/add.test.mjs +14 -1
- package/api/theme/build/build.family.test.mjs +7 -12
- package/api/theme/build/build.mjs +140 -59
- package/api/theme/build/build.public-component-vars.test.mjs +1 -1
- package/api/theme/build/build.receipt-doc.test.mjs +111 -0
- package/api/theme/build/build.rollback.test.mjs +148 -0
- package/api/theme/build/build.test.mjs +127 -0
- package/api/theme/build/font-warning.mjs +3 -3
- package/api/theme/build/font-warning.test.mjs +5 -2
- package/api/theme/generateTonalPalette.doc.mjs +2 -2
- package/api/theme/integration-themes.test.mjs +39 -28
- package/api/theme/list/list.test.mjs +19 -20
- package/api/theme/listThemes.doc.mjs +6 -5
- package/api/theme/palette/generate/generate.mjs +8 -3
- package/api/theme/palette/generate/generate.test.mjs +96 -0
- package/api/theme/palette/generate/generator.d.mts +10 -13
- package/api/theme/palette/generate/generator.mjs +15 -4
- package/api/theme/palette/generate/generator.test.mjs +10 -0
- package/api/theme/template/template.mjs +11 -2
- package/api/theme/template/template.test.mjs +20 -0
- package/api/theme/theme.type.d.mts +170 -11
- package/api/theme/theme.type.mjs +94 -27
- package/api/theme/themeAdd.doc.mjs +12 -12
- package/api/theme/themeBuild.doc.mjs +21 -17
- package/api/theme/themeList.doc.mjs +6 -3
- package/api/theme/themeListAvailable.doc.mjs +6 -3
- package/api/theme/themePaletteGenerate.doc.mjs +16 -8
- package/api/theme/themeTargets.doc.mjs +4 -2
- package/api/theme/themeTemplate.doc.mjs +8 -3
- package/api/upgrade/_adapter.d.mts +32 -5
- package/api/upgrade/_adapter.mjs +139 -22
- package/api/upgrade/list/list.mjs +2 -1
- package/api/upgrade/list/list.test.mjs +73 -0
- package/api/upgrade/project-context.test.mjs +272 -0
- package/api/upgrade/provider-agreement.test.mjs +152 -0
- package/api/upgrade/run/files-changed.test.mjs +111 -0
- package/api/upgrade/run/run.mjs +358 -59
- package/api/upgrade/status/status.mjs +2 -2
- package/api/upgrade/upgrade.doc.mjs +32 -23
- package/api/upgrade/upgrade.type.d.mts +43 -5
- package/api/upgrade/upgrade.type.mjs +29 -13
- package/assets/codemods/__tests__/registry.test.mjs +1 -0
- package/assets/codemods/__tests__/runner.test.mjs +332 -8
- package/assets/codemods/file-count.test.mjs +163 -0
- package/assets/codemods/integration-discovery.mjs +48 -4
- package/assets/codemods/integration-discovery.test.mjs +73 -0
- package/assets/codemods/integration-runner.mjs +59 -7
- package/assets/codemods/integration-runner.protection.test.mjs +153 -0
- package/assets/codemods/registry.mjs +1 -0
- package/assets/codemods/run-codemod.mjs +177 -34
- package/assets/codemods/runner.mjs +353 -104
- package/assets/codemods/term-log.mjs +32 -8
- package/assets/codemods/term-log.test.mjs +19 -1
- package/assets/codemods/transform-prop.mjs +109 -0
- package/assets/codemods/transform-prop.test.mjs +95 -0
- package/assets/codemods/transforms/v0.0.14/__tests__/rename-status-variants.test.mjs +86 -165
- package/assets/codemods/transforms/v0.0.14/rename-status-variants.mjs +72 -210
- package/assets/codemods/transforms/v0.1.8/__tests__/rename-avatar-size-scale.test.mjs +83 -115
- package/assets/codemods/transforms/v0.1.8/rename-avatar-size-scale.mjs +57 -186
- package/assets/codemods/transforms/v0.3.0/__tests__/unwrap-authoring-factories.test.mjs +27 -5
- package/assets/codemods/transforms/v0.3.0/unwrap-authoring-factories.mjs +20 -5
- package/assets/codemods/transforms/v0.6.0/__tests__/next-codemods.test.mjs +47 -0
- package/assets/codemods/transforms/v0.6.0/rename-resizable-pixel-bounds.mjs +57 -10
- package/assets/codemods/transforms/v0.6.4/__tests__/migrate-native-picker-to-presentation.test.mjs +63 -0
- package/assets/codemods/transforms/v0.6.4/__tests__/migrate-theme-catalog-to-descriptors.test.mjs +220 -0
- package/assets/codemods/transforms/v0.6.4/index.mjs +31 -0
- package/assets/codemods/transforms/v0.6.4/migrate-native-picker-to-presentation.mjs +148 -0
- package/assets/codemods/transforms/v0.6.4/migrate-theme-catalog-to-descriptors.mjs +141 -0
- package/assets/docs/README.md +12 -1
- package/assets/docs/authoring.doc.mjs +14 -0
- package/assets/docs/browser-support.doc.mjs +11 -11
- package/assets/docs/color.doc.mjs +8 -2
- package/assets/docs/elevation.doc.mjs +6 -4
- package/assets/docs/getting-started.doc.mjs +6 -17
- package/assets/docs/icons.doc.mjs +2 -21
- package/assets/docs/illustrations.doc.mjs +7 -15
- package/assets/docs/internationalization.doc.mjs +7 -5
- package/assets/docs/layout.doc.dense.mjs +132 -84
- package/assets/docs/layout.doc.mjs +134 -78
- package/assets/docs/migration.doc.mjs +19 -21
- package/assets/docs/motion.doc.mjs +16 -3
- package/assets/docs/principles.doc.dense.mjs +5 -5
- package/assets/docs/principles.doc.mjs +14 -6
- package/assets/docs/principles.doc.zh.mjs +6 -6
- package/assets/docs/shape.doc.mjs +8 -3
- package/assets/docs/spacing.doc.mjs +7 -2
- package/assets/docs/styling-libraries.doc.mjs +10 -6
- package/assets/docs/styling.doc.mjs +22 -26
- package/assets/docs/theme.doc.dense.mjs +58 -18
- package/assets/docs/theme.doc.mjs +60 -50
- package/assets/docs/theme.doc.zh.mjs +9 -8
- package/assets/docs/tokens.doc.dense.mjs +2 -2
- package/assets/docs/tokens.doc.mjs +390 -9
- package/assets/docs/tokens.doc.zh.mjs +2 -2
- package/assets/docs/tree/add-a-component.doc.mjs +75 -0
- package/assets/docs/tree/add-a-theme.doc.mjs +85 -0
- package/assets/docs/tree/add-a-topic.doc.mjs +144 -0
- package/assets/docs/tree/agent-guidance.doc.mjs +138 -0
- package/assets/docs/tree/api.doc.mjs +30 -0
- package/assets/docs/tree/block-template.doc.mjs +130 -0
- package/assets/docs/tree/build-the-template.doc.mjs +28 -0
- package/assets/docs/tree/building-blocks.doc.mjs +46 -0
- package/assets/docs/tree/check-your-docs.doc.mjs +137 -0
- package/assets/docs/tree/checks.doc.mjs +119 -0
- package/assets/docs/tree/cli.doc.mjs +23 -0
- package/assets/docs/tree/codemods.doc.mjs +147 -0
- package/assets/docs/tree/commands.doc.mjs +25 -0
- package/assets/docs/tree/component-family.doc.mjs +113 -0
- package/assets/docs/tree/component-imports.doc.mjs +69 -0
- package/assets/docs/tree/component-lookups.doc.mjs +149 -0
- package/assets/docs/tree/components.doc.mjs +23 -0
- package/assets/docs/tree/configuration.doc.mjs +23 -0
- package/assets/docs/tree/debug-and-gap-reports.doc.mjs +182 -0
- package/assets/docs/tree/define-the-theme.doc.mjs +118 -0
- package/assets/docs/tree/describe-the-component.doc.mjs +57 -0
- package/assets/docs/tree/docs.doc.mjs +21 -0
- package/assets/docs/tree/document-the-template.doc.mjs +28 -0
- package/assets/docs/tree/document-the-theme.doc.mjs +68 -0
- package/assets/docs/tree/export-template-assets.doc.mjs +147 -0
- package/assets/docs/tree/extend-or-replace.doc.mjs +103 -0
- package/assets/docs/tree/fonts-and-assets.doc.mjs +106 -0
- package/assets/docs/tree/generate-a-palette.doc.mjs +66 -0
- package/assets/docs/tree/grade-template-with-agent.doc.mjs +105 -0
- package/assets/docs/tree/help.doc.mjs +16 -0
- package/assets/docs/tree/integrations.doc.mjs +40 -0
- package/assets/docs/tree/links.doc.mjs +98 -0
- package/assets/docs/tree/package-and-test.doc.mjs +32 -0
- package/assets/docs/tree/page-template.doc.mjs +71 -0
- package/assets/docs/tree/publishing.doc.mjs +111 -0
- package/assets/docs/tree/quick-start.doc.mjs +272 -0
- package/assets/docs/tree/replace-a-core-component.doc.mjs +104 -0
- package/assets/docs/tree/replace-a-core-template.doc.mjs +172 -0
- package/assets/docs/tree/sections-and-placement.doc.mjs +108 -0
- package/assets/docs/tree/see-it-in-an-app.doc.mjs +59 -0
- package/assets/docs/tree/ship.doc.mjs +16 -0
- package/assets/docs/tree/short-and-findable.doc.mjs +108 -0
- package/assets/docs/tree/single-component.doc.mjs +165 -0
- package/assets/docs/tree/start-a-template.doc.mjs +143 -0
- package/assets/docs/tree/subcomponent.doc.mjs +115 -0
- package/assets/docs/tree/template-assets.doc.mjs +64 -0
- package/assets/docs/tree/template-doc-overview.doc.mjs +109 -0
- package/assets/docs/tree/template-fonts.doc.mjs +102 -0
- package/assets/docs/tree/template-grading-rubric.doc.mjs +452 -0
- package/assets/docs/tree/template-icons.doc.mjs +97 -0
- package/assets/docs/tree/template-images-media.doc.mjs +127 -0
- package/assets/docs/tree/template-styles.doc.mjs +93 -0
- package/assets/docs/tree/templates.doc.mjs +34 -0
- package/assets/docs/tree/test-in-an-app.doc.mjs +115 -0
- package/assets/docs/tree/test-template-in-app.doc.mjs +128 -0
- package/assets/docs/tree/themes.doc.mjs +39 -0
- package/assets/docs/tree/troubleshooting.doc.mjs +149 -0
- package/assets/docs/tree/upgrading.doc.mjs +103 -0
- package/assets/docs/tree/use-a-theme-in-an-app.doc.mjs +51 -0
- package/assets/docs/tree/verify-packed-template.doc.mjs +77 -0
- package/assets/docs/tree/versioning.doc.mjs +161 -0
- package/assets/docs/tree/write-good-templates.doc.mjs +64 -0
- package/assets/docs/tree/write-the-template-file.doc.mjs +154 -0
- package/assets/docs/typography.doc.mjs +24 -4
- package/assets/docs/working-with-ai.doc.mjs +34 -26
- package/assets/templates/blocks/components/CheckboxList/CheckboxListSelectAllPattern.doc.mjs +1 -1
- package/assets/templates/blocks/components/CheckboxList/CheckboxListSelectAllPattern.tsx +1 -3
- package/assets/templates/blocks/components/DateInput/DateInputDateRange.tsx +1 -1
- package/assets/templates/blocks/components/InternationalizationProvider/InternationalizationProvider01ShippedLocale.tsx +1 -1
- package/assets/templates/blocks/components/Item/ItemDocumentTabs.doc.mjs +14 -0
- package/assets/templates/blocks/components/Item/ItemDocumentTabs.tsx +100 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaInlineRail.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaInlineRail.tsx +61 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaOverscrollChaining.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaOverscrollChaining.tsx +126 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaShowcase.doc.mjs +15 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaShowcase.tsx +86 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyGroupHeaders.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyGroupHeaders.tsx +99 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyPassthrough.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaStickyPassthrough.tsx +122 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaTwoAxisBoard.doc.mjs +14 -0
- package/assets/templates/blocks/components/ScrollableArea/ScrollableAreaTwoAxisBoard.tsx +95 -0
- package/assets/templates/blocks/components/Table/TableBulkActionsTable.doc.mjs +14 -0
- package/assets/templates/blocks/components/Table/TableBulkActionsTable.tsx +71 -0
- package/assets/templates/blocks/components/Table/TableFloatingBulkActionsTable.doc.mjs +19 -0
- package/assets/templates/blocks/components/Table/TableFloatingBulkActionsTable.tsx +139 -0
- package/assets/templates/blocks/components/TimeInput/TimeInputConstrained.tsx +1 -0
- package/assets/templates/blocks/components/Timer/TimerFormats.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerFormats.tsx +34 -0
- package/assets/templates/blocks/components/Timer/TimerInline.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerInline.tsx +14 -0
- package/assets/templates/blocks/components/Timer/TimerShowcase.doc.mjs +13 -0
- package/assets/templates/blocks/components/Timer/TimerShowcase.tsx +47 -0
- package/assets/templates/blocks/components/Timer/TimerTypography.doc.mjs +14 -0
- package/assets/templates/blocks/components/Timer/TimerTypography.tsx +31 -0
- package/assets/templates/blocks/components/Toolbar/ToolbarTableFilter.doc.mjs +19 -3
- package/assets/templates/blocks/components/Toolbar/ToolbarTableFilter.tsx +383 -65
- package/assets/templates/pages/table-tree/page.tsx +1704 -0
- package/assets/templates/pages/table-tree/template.doc.mjs +12 -0
- package/assets/templates/themes/butter/butterTheme.doc.mjs +11 -0
- package/assets/templates/themes/chocolate/chocolateTheme.doc.mjs +11 -0
- package/assets/templates/themes/gothic/gothicTheme.doc.mjs +11 -0
- package/assets/templates/themes/matcha/matchaTheme.doc.mjs +11 -0
- package/assets/templates/themes/neutral/neutralTheme.doc.mjs +11 -0
- package/assets/templates/themes/stone/stoneTheme.doc.mjs +11 -0
- package/assets/templates/themes/y2k/y2kTheme.doc.mjs +11 -0
- package/authoring/_shared/contract.ts +22 -0
- package/authoring/codemod/codemod.doc.mjs +7 -2
- package/authoring/codemod/parse.d.mts +8 -8
- package/authoring/codemod/parse.mjs +8 -6
- package/authoring/codemod/type.ts +12 -0
- package/authoring/config/config.doc.mjs +11 -3
- package/authoring/config/debug-composition.test.mjs +92 -0
- package/authoring/config/parse.d.mts +15 -13
- package/authoring/config/parse.mjs +27 -8
- package/authoring/config/parse.test.mjs +8 -0
- package/authoring/config/type.ts +29 -6
- package/authoring/debug/debug.doc.d.mts +11 -0
- package/authoring/debug/debug.doc.mjs +182 -0
- package/authoring/debug/parse.d.mts +8 -8
- package/authoring/debug/parse.mjs +3 -3
- package/authoring/discover/discover.doc.d.mts +13 -0
- package/authoring/discover/discover.doc.mjs +138 -0
- package/authoring/discover/parse.d.mts +24 -0
- package/authoring/discover/parse.mjs +128 -0
- package/authoring/discover/parse.test.mjs +124 -0
- package/authoring/discover/type.ts +87 -0
- package/authoring/doctypes/_schema.d.mts +792 -24
- package/authoring/doctypes/_schema.mjs +549 -39
- package/authoring/doctypes/base/graph-fields.doc.d.mts +9 -0
- package/authoring/doctypes/base/graph-fields.doc.mjs +64 -0
- package/authoring/doctypes/base/type.ts +43 -0
- package/authoring/doctypes/command/command.doc.mjs +4 -3
- package/authoring/doctypes/command/parse.d.mts +2 -2
- package/authoring/doctypes/command/parse.mjs +1 -1
- package/authoring/doctypes/command/type.ts +5 -4
- package/authoring/doctypes/component/component.doc.mjs +12 -3
- package/authoring/doctypes/component/parse.d.mts +2 -2
- package/authoring/doctypes/component/parse.mjs +1 -1
- package/authoring/doctypes/component/type.ts +14 -5
- package/authoring/doctypes/doctypes-new.test.mjs +48 -6
- package/authoring/doctypes/enum/enum.doc.mjs +1 -1
- package/authoring/doctypes/enum/parse.d.mts +2 -2
- package/authoring/doctypes/enum/parse.mjs +1 -1
- package/authoring/doctypes/enum/type.ts +4 -2
- package/authoring/doctypes/function/function.doc.mjs +7 -2
- package/authoring/doctypes/function/parse.d.mts +2 -2
- package/authoring/doctypes/function/parse.mjs +1 -1
- package/authoring/doctypes/function/type.ts +9 -4
- package/authoring/doctypes/hook/hook.doc.mjs +4 -0
- package/authoring/doctypes/hook/parse.d.mts +2 -2
- package/authoring/doctypes/hook/parse.mjs +1 -1
- package/authoring/doctypes/hook/type.ts +5 -4
- package/authoring/doctypes/legacy.d.mts +8 -6
- package/authoring/doctypes/legacy.mjs +5 -4
- package/authoring/doctypes/load-contract.test.mjs +233 -0
- package/authoring/doctypes/namespace/namespace.doc.d.mts +9 -0
- package/authoring/doctypes/namespace/namespace.doc.mjs +128 -0
- package/authoring/doctypes/namespace/parse.d.mts +12 -0
- package/authoring/doctypes/namespace/parse.mjs +25 -0
- package/authoring/doctypes/namespace/parse.test.mjs +163 -0
- package/authoring/doctypes/namespace/type.ts +74 -0
- package/authoring/doctypes/parse.d.mts +22 -18
- package/authoring/doctypes/parse.mjs +22 -11
- package/authoring/doctypes/parse.test.mjs +77 -3
- package/authoring/doctypes/reference/parse.d.mts +2 -2
- package/authoring/doctypes/reference/parse.mjs +8 -5
- package/authoring/doctypes/reference/reference.doc.mjs +55 -6
- package/authoring/doctypes/reference/type.ts +75 -7
- package/authoring/doctypes/schema/parse.d.mts +2 -2
- package/authoring/doctypes/schema/parse.mjs +1 -1
- package/authoring/doctypes/schema/schema.doc.mjs +2 -2
- package/authoring/doctypes/schema/type.ts +4 -4
- package/authoring/doctypes/template/parse.d.mts +94 -1
- package/authoring/doctypes/template/parse.mjs +40 -2
- package/authoring/doctypes/template/parse.test.mjs +26 -2
- package/authoring/doctypes/template/template.doc.mjs +13 -3
- package/authoring/doctypes/template/type.ts +13 -2
- package/authoring/doctypes/theme/parse.d.mts +35 -0
- package/authoring/doctypes/theme/parse.mjs +76 -0
- package/authoring/doctypes/theme/theme.doc.d.mts +9 -0
- package/authoring/doctypes/theme/theme.doc.mjs +79 -0
- package/authoring/doctypes/theme/type.ts +42 -0
- package/authoring/doctypes/types.ts +12 -10
- package/authoring/gap-report/gap-report.doc.d.mts +12 -0
- package/authoring/gap-report/gap-report.doc.mjs +183 -0
- package/authoring/gap-report/parse.d.mts +10 -10
- package/authoring/gap-report/parse.mjs +6 -6
- package/authoring/gap-report/type.ts +1 -1
- package/authoring/identity/identity.doc.d.mts +9 -0
- package/authoring/identity/identity.doc.mjs +61 -0
- package/authoring/identity/type.ts +132 -0
- package/authoring/index.d.mts +3 -0
- package/authoring/index.d.ts +62 -17
- package/authoring/index.mjs +4 -1
- package/authoring/integration/integration.doc.mjs +22 -13
- package/authoring/integration/parse.d.mts +2 -2
- package/authoring/integration/parse.mjs +1 -1
- package/authoring/integration/parse.test.mjs +10 -1
- package/authoring/integration/schema.d.mts +6 -4
- package/authoring/integration/schema.mjs +9 -3
- package/authoring/integration/type.ts +19 -8
- package/authoring/shadcn/receipt.d.mts +6 -6
- package/clients/cli/__tests__/cliManifest.test.ts +27 -29
- package/clients/cli/command-load-failure.test.mjs +83 -0
- package/clients/cli/commands/blog.doc.mjs +1 -1
- package/clients/cli/commands/blog.mjs +23 -8
- package/clients/cli/commands/blog.test.mjs +42 -1
- package/clients/cli/commands/build-theme.adaptations.test.mjs +100 -1
- package/clients/cli/commands/build-theme.ascii-output.test.mjs +161 -0
- package/clients/cli/commands/build-theme.flag-docs.test.mjs +110 -0
- package/clients/cli/commands/build-theme.mjs +16 -50
- package/clients/cli/commands/build-theme.path-safety.test.mjs +86 -1
- package/clients/cli/commands/build-theme.variants.test.mjs +76 -0
- package/clients/cli/commands/build.doc.mjs +16 -8
- package/clients/cli/commands/build.exit-codes-doc.test.mjs +50 -0
- package/clients/cli/commands/build.mjs +137 -114
- package/clients/cli/commands/build.playbook.test.mjs +75 -0
- package/clients/cli/commands/build.text-fields.test.mjs +81 -0
- package/clients/cli/commands/component/index.mjs +153 -61
- package/clients/cli/commands/component-batch.test.mjs +341 -0
- package/clients/cli/commands/component-ownership.test.mjs +92 -3
- package/clients/cli/commands/component-package.test.mjs +46 -0
- package/clients/cli/commands/component-resolution.test.mjs +21 -0
- package/clients/cli/commands/component.doc.mjs +28 -10
- package/clients/cli/commands/component.test.mjs +19 -0
- package/clients/cli/commands/detail-levels.test.mjs +2 -2
- package/clients/cli/commands/discover.broken-integration.test.mjs +52 -5
- package/clients/cli/commands/discover.components-flag.test.mjs +97 -0
- package/clients/cli/commands/discover.doc.mjs +55 -9
- package/clients/cli/commands/discover.mjs +393 -118
- package/clients/cli/commands/discover.sources.test.mjs +267 -0
- package/clients/cli/commands/discover.text-projection.test.mjs +103 -0
- package/clients/cli/commands/docs.doc.mjs +28 -6
- package/clients/cli/commands/docs.mjs +295 -38
- package/clients/cli/commands/doctor-integration-components.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +6 -5
- package/clients/cli/commands/doctor-integration-templates.doc.mjs +15 -8
- package/clients/cli/commands/doctor-integration-validate.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration.doc.mjs +1 -1
- package/clients/cli/commands/doctor-integration.package-json.test.mjs +53 -0
- package/clients/cli/commands/doctor-integration.test.mjs +143 -8
- package/clients/cli/commands/doctor.doc.mjs +4 -2
- package/clients/cli/commands/doctor.mjs +108 -37
- package/clients/cli/commands/doctor.test.mjs +42 -0
- package/clients/cli/commands/gap-report.doc.mjs +27 -15
- package/clients/cli/commands/gap-report.test.mjs +72 -0
- package/clients/cli/commands/hook/index.mjs +7 -17
- package/clients/cli/commands/hook.doc.mjs +1 -1
- package/clients/cli/commands/hook.text-projection.test.mjs +45 -0
- package/clients/cli/commands/init.doc.mjs +24 -10
- package/clients/cli/commands/init.flag-help.test.mjs +153 -0
- package/clients/cli/commands/integration-add.controls.test.mjs +132 -0
- package/clients/cli/commands/integration-add.doc.mjs +39 -13
- package/clients/cli/commands/integration-authoring.test.mjs +74 -19
- package/clients/cli/commands/integration-pack.doc.mjs +6 -10
- package/clients/cli/commands/integration-real-world.test.mjs +4 -10
- package/clients/cli/commands/integration-verify.doc.mjs +22 -0
- package/clients/cli/commands/integration.doc.mjs +5 -5
- package/clients/cli/commands/integration.mjs +75 -43
- package/clients/cli/commands/interactive-guard.test.mjs +101 -24
- package/clients/cli/commands/json-contract.test.mjs +33 -0
- package/clients/cli/commands/layout-check.doc.mjs +15 -4
- package/clients/cli/commands/layout-expand.doc.mjs +22 -5
- package/clients/cli/commands/layout-grammar.doc.mjs +1 -1
- package/clients/cli/commands/layout.doc.mjs +3 -3
- package/clients/cli/commands/layout.mjs +21 -9
- package/clients/cli/commands/layout.path-help.test.mjs +33 -0
- package/clients/cli/commands/layout.stdin-cap.test.mjs +47 -0
- package/clients/cli/commands/layout.text-fields.test.mjs +39 -0
- package/clients/cli/commands/manifest.doc.mjs +2 -2
- package/clients/cli/commands/no-prompt-wording.test.mjs +94 -0
- package/clients/cli/commands/search.doc.mjs +16 -6
- package/clients/cli/commands/search.mjs +49 -11
- package/clients/cli/commands/search.test.mjs +92 -0
- package/clients/cli/commands/setup-nudge.test.mjs +6 -0
- package/clients/cli/commands/swizzle.doc.mjs +4 -3
- package/clients/cli/commands/swizzle.path-safety.test.mjs +42 -0
- package/clients/cli/commands/template.doc.mjs +53 -14
- package/clients/cli/commands/template.flag-help.test.mjs +117 -0
- package/clients/cli/commands/template.mjs +4 -91
- package/clients/cli/commands/template.path-help.test.mjs +40 -0
- package/clients/cli/commands/text-json-parity.test.mjs +725 -0
- package/clients/cli/commands/theme-add.doc.mjs +5 -4
- package/clients/cli/commands/theme-build.doc.mjs +8 -7
- package/clients/cli/commands/theme-list.doc.mjs +2 -2
- package/clients/cli/commands/theme-palette-generate.doc.mjs +12 -7
- package/clients/cli/commands/theme-palette-generate.test.mjs +19 -0
- package/clients/cli/commands/theme-palette.doc.mjs +2 -3
- package/clients/cli/commands/theme-targets.behavior.test.mjs +4 -3
- package/clients/cli/commands/theme-targets.doc.mjs +3 -3
- package/clients/cli/commands/theme-template.behavior.test.mjs +12 -0
- package/clients/cli/commands/theme-template.doc.mjs +2 -2
- package/clients/cli/commands/theme.doc.mjs +3 -2
- package/clients/cli/commands/upgrade.ascii-output.test.mjs +87 -0
- package/clients/cli/commands/upgrade.doc.mjs +83 -12
- package/clients/cli/commands/upgrade.file-protection.test.mjs +228 -0
- package/clients/cli/commands/upgrade.flag-help.test.mjs +188 -0
- package/clients/cli/commands/upgrade.hook-output.test.mjs +88 -0
- package/clients/cli/commands/upgrade.mjs +29 -7
- package/clients/cli/formatters/index.mjs +164 -1
- package/clients/cli/formatters/index.test.mjs +97 -0
- package/clients/cli/index.mjs +47 -34
- package/clients/cli/latest-version-env.test.mjs +50 -0
- package/clients/cli/lib/cli-error.test.mjs +7 -0
- package/clients/cli/lib/component-format.mjs +9 -9
- package/clients/cli/lib/component-format.test.mjs +1 -1
- package/clients/cli/lib/define-command.mjs +56 -6
- package/clients/cli/lib/define-command.test.mjs +54 -0
- package/clients/cli/lib/doc-text-ascii.test.mjs +82 -0
- package/clients/cli/lib/exit-codes.test.mjs +113 -0
- package/clients/cli/lib/hook-format.mjs +19 -10
- package/clients/cli/lib/json-shim.mjs +62 -16
- package/clients/cli/lib/json-shim.test.mjs +83 -0
- package/clients/cli/lib/manifest.d.ts +2 -0
- package/clients/cli/lib/manifest.mjs +53 -6
- package/clients/cli/lib/manifest.test.mjs +22 -2
- package/clients/cli/lib/parse-error-format.test.mjs +81 -0
- package/foundation/agent-docs/agent-docs.d.mts +7 -2
- package/foundation/agent-docs/agent-docs.mjs +83 -13
- package/foundation/agent-docs/agent-docs.path-safety.test.mjs +266 -4
- package/foundation/config/integration-debug.test.mjs +28 -3
- package/foundation/config/project-themes.test.mjs +11 -19
- package/foundation/config/project.d.mts +20 -11
- package/foundation/config/project.mjs +263 -91
- package/foundation/config/project.test.mjs +270 -21
- package/foundation/discovery/authoring-self-docs.d.mts +87 -0
- package/foundation/discovery/authoring-self-docs.mjs +237 -0
- package/foundation/discovery/authoring-self-docs.test.mjs +174 -0
- package/foundation/discovery/authoring-surface.d.mts +74 -0
- package/foundation/discovery/authoring-surface.mjs +525 -0
- package/foundation/discovery/authoring-surface.test.mjs +392 -0
- package/foundation/discovery/cli-self-docs.d.mts +119 -0
- package/foundation/discovery/cli-self-docs.mjs +504 -0
- package/foundation/discovery/cli-self-docs.test.mjs +395 -0
- package/foundation/discovery/component-discovery.d.mts +39 -1
- package/foundation/discovery/component-discovery.mjs +50 -1
- package/foundation/discovery/component-loader.d.mts +35 -38
- package/foundation/discovery/component-loader.mjs +53 -222
- package/foundation/discovery/docs-discovery.d.mts +119 -11
- package/foundation/discovery/docs-discovery.mjs +427 -108
- package/foundation/discovery/docs-discovery.test.mjs +386 -20
- package/foundation/discovery/docs-output-budget.d.mts +28 -0
- package/foundation/discovery/docs-output-budget.mjs +50 -0
- package/foundation/discovery/docs-section-key.d.mts +116 -0
- package/foundation/discovery/docs-section-key.mjs +322 -0
- package/foundation/discovery/docs-section-key.test.mjs +246 -0
- package/foundation/discovery/template-adapter.d.mts +113 -11
- package/foundation/discovery/template-adapter.fixture-refs.test.mjs +248 -0
- package/foundation/discovery/template-adapter.integration-isolation.test.mjs +94 -0
- package/foundation/discovery/template-adapter.mjs +774 -83
- package/foundation/discovery/template-adapter.test.mjs +57 -0
- package/foundation/discovery/template-conflict-release.d.mts +13 -0
- package/foundation/discovery/template-conflict-release.mjs +40 -0
- package/foundation/discovery/template-conflict-release.test.mjs +40 -0
- package/foundation/discovery/theme-discovery.d.mts +67 -7
- package/foundation/discovery/theme-discovery.mjs +916 -186
- package/foundation/discovery/theme-discovery.test.mjs +613 -219
- package/foundation/discovery/theming-targets.test.mjs +4 -0
- package/foundation/doc-compiler/bundle.d.mts +47 -0
- package/foundation/doc-compiler/bundle.mjs +278 -0
- package/foundation/doc-compiler/bundle.test.mjs +266 -0
- package/foundation/doc-compiler/compile.d.mts +343 -0
- package/foundation/doc-compiler/compile.mjs +558 -0
- package/foundation/doc-compiler/diagnostics.d.mts +126 -0
- package/foundation/doc-compiler/diagnostics.mjs +305 -0
- package/foundation/doc-compiler/doc-compiler.test.mjs +714 -0
- package/foundation/doc-compiler/doc-loads.test.mjs +1643 -0
- package/foundation/doc-compiler/import.d.mts +24 -0
- package/foundation/doc-compiler/import.mjs +59 -0
- package/foundation/doc-compiler/inputs.d.mts +102 -0
- package/foundation/doc-compiler/inputs.mjs +291 -0
- package/foundation/doc-compiler/inputs.test.mjs +298 -0
- package/foundation/doc-compiler/ir.d.mts +22 -0
- package/foundation/doc-compiler/ir.mjs +471 -0
- package/foundation/doc-compiler/lenses.d.mts +36 -0
- package/foundation/doc-compiler/lenses.mjs +173 -0
- package/foundation/doc-compiler/links.d.mts +162 -0
- package/foundation/doc-compiler/links.mjs +294 -0
- package/foundation/doc-compiler/links.test.mjs +192 -0
- package/foundation/doc-compiler/lower-doc.test.mjs +495 -0
- package/foundation/doc-compiler/overlays.d.mts +37 -0
- package/foundation/doc-compiler/overlays.mjs +206 -0
- package/foundation/doc-compiler/parse-readable.d.mts +9 -0
- package/foundation/doc-compiler/parse-readable.mjs +29 -0
- package/foundation/doc-compiler/read.d.mts +127 -0
- package/foundation/doc-compiler/read.mjs +325 -0
- package/foundation/doc-compiler/read.test.mjs +313 -0
- package/foundation/doc-compiler/source.d.mts +33 -0
- package/foundation/doc-compiler/source.mjs +128 -0
- package/foundation/doc-compiler/tree.d.mts +292 -0
- package/foundation/doc-compiler/tree.mjs +881 -0
- package/foundation/fs/file-protection.d.mts +33 -0
- package/foundation/fs/file-protection.mjs +825 -0
- package/foundation/fs/file-protection.test.mjs +250 -0
- package/foundation/fs/module-loader.d.mts +1 -0
- package/foundation/fs/module-loader.mjs +50 -1
- package/foundation/fs/module-loader.stdout.test.mjs +332 -0
- package/foundation/fs/path-safety.d.mts +3 -2
- package/foundation/fs/path-safety.mjs +49 -19
- package/foundation/fs/path-safety.test.mjs +50 -0
- package/foundation/fs/publish-file-hardlink-unavailable.test.mjs +129 -94
- package/foundation/identity/provider-identity.d.mts +90 -0
- package/foundation/identity/provider-identity.mjs +320 -0
- package/foundation/identity/provider-identity.test.mjs +254 -0
- package/foundation/identity/providers.d.mts +7 -0
- package/foundation/identity/providers.mjs +16 -0
- package/foundation/integrations/autolink.d.mts +58 -1
- package/foundation/integrations/autolink.mjs +143 -45
- package/foundation/integrations/autolink.test.mjs +1 -1
- package/foundation/integrations/cli-requirement.d.mts +65 -0
- package/foundation/integrations/cli-requirement.mjs +189 -0
- package/foundation/integrations/cli-requirement.test.mjs +89 -0
- package/foundation/integrations/contribution-fixes.d.mts +145 -0
- package/foundation/integrations/contribution-fixes.mjs +1284 -0
- package/foundation/integrations/contribution-inventory.d.mts +3 -2
- package/foundation/integrations/contribution-inventory.mjs +28 -25
- package/foundation/integrations/contribution-inventory.test.mjs +86 -27
- package/foundation/integrations/integration-warnings.d.mts +9 -2
- package/foundation/integrations/integration-warnings.mjs +52 -21
- package/foundation/integrations/integration-warnings.test.mjs +74 -1
- package/foundation/integrations/integrations.d.mts +63 -3
- package/foundation/integrations/integrations.mjs +122 -9
- package/foundation/integrations/integrations.test.mjs +415 -1
- package/foundation/integrations/provider-conflicts.test.mjs +125 -0
- package/foundation/integrations/provider-ledger.test.mjs +275 -0
- package/foundation/integrations/provider-resolution.d.mts +152 -0
- package/foundation/integrations/provider-resolution.mjs +576 -0
- package/foundation/integrations/provider-resolution.test.mjs +369 -0
- package/foundation/integrations/theme-descriptor.d.mts +8 -0
- package/foundation/integrations/theme-descriptor.mjs +44 -0
- package/foundation/integrations/validate-contributions.d.mts +2 -0
- package/foundation/integrations/validate-contributions.mjs +131 -29
- package/foundation/response/base.d.ts +8 -4
- package/foundation/response/batch.type.d.mts +33 -0
- package/foundation/response/batch.type.mjs +34 -0
- package/foundation/response/error-codes.d.mts +3 -1
- package/foundation/response/error-codes.d.ts +2 -0
- package/foundation/response/error-codes.doc.mjs +19 -12
- package/foundation/response/error-codes.mjs +8 -2
- package/foundation/response/error-codes.test.mjs +166 -14
- package/foundation/response/json-contract.test.mjs +57 -17
- package/foundation/response/json.d.mts +4 -2
- package/foundation/response/json.mjs +8 -10
- package/foundation/response/response-types.doc.d.mts +7 -2
- package/foundation/response/response-types.doc.mjs +69 -25
- package/foundation/response/response-types.doc.test.mjs +181 -0
- package/foundation/response/response.doc.mjs +12 -11
- package/foundation/text/string-utils.d.mts +8 -0
- package/foundation/text/string-utils.mjs +40 -10
- package/foundation/xle/expand.d.mts +2 -0
- package/foundation/xle/expand.mjs +4 -3
- package/foundation/xle/expand.test.mjs +54 -0
- package/foundation/xle/xle.test.mjs +13 -0
- package/package.json +10 -11
- package/api/docs/docs.test.mjs +0 -83
- package/api/docs/integrationDocs.test.mjs +0 -208
- package/api/search/search.test.mjs +0 -389
- package/assets/docs/cli-integrations.doc.mjs +0 -367
- package/assets/templates/themes/manifest.json +0 -95
- package/clients/cli/commands/docs.test.mjs +0 -102
- package/clients/cli/lib/update-check.mjs +0 -83
- package/clients/cli/lib/update-check.test.mjs +0 -137
- package/clients/cli/update-hint-commands.test.mjs +0 -54
- package/foundation/agent-docs/agent-docs.test.mjs +0 -1141
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
|
+
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file SchemaDoc for graph metadata shared by every authored doc kind.
|
|
6
|
+
* @position packages/cli/authoring/doctypes/base — doc-type documentation
|
|
7
|
+
*/
|
|
8
|
+
/** @type {import('@astryxdesign/cli/authoring').SchemaDoc} */
|
|
9
|
+
export const doc: import("@astryxdesign/cli/authoring").SchemaDoc;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file SchemaDoc for graph metadata shared by every authored doc kind.
|
|
5
|
+
* @position packages/cli/authoring/doctypes/base — doc-type documentation
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/** @type {import('@astryxdesign/cli/authoring').SchemaDoc} */
|
|
9
|
+
export const doc = {
|
|
10
|
+
type: 'schema',
|
|
11
|
+
name: 'authored-doc-graph-fields',
|
|
12
|
+
displayName: 'Authored doc graph fields',
|
|
13
|
+
namespace: 'authoring',
|
|
14
|
+
description:
|
|
15
|
+
"Fields every authored doc kind can declare for the docs tree: `placement`, plus two reserved fields, `aliases` and `audience`. The docs tree reads `placement` for every guide, the CLI's and each integration's. Nothing reads `aliases` or `audience` today: a reference topic outside the docs tree that sets one fails to load, and other doc kinds accept them and ignore them.",
|
|
16
|
+
appliesTo: 'Every supported .doc.mjs object',
|
|
17
|
+
fields: [
|
|
18
|
+
{
|
|
19
|
+
name: 'placement',
|
|
20
|
+
type: 'DocPlacement',
|
|
21
|
+
description:
|
|
22
|
+
"Names the doc's one parent in the docs tree: a namespace of the same package, one of its slots, and an order. Read for every guide, the CLI's and each integration's: a guide with `placement` gets a route in the tree instead of a flat topic name, and cannot also `replaces` or `extends` a topic. In the CLI's own topic directory a topic that sets it fails to load: the CLI keeps its guides in its docs tree directory. Commands, API functions, schemas, and enums do not set it: the tree adopts each by its `namespace`.",
|
|
23
|
+
fields: [
|
|
24
|
+
{
|
|
25
|
+
name: 'placement.parent',
|
|
26
|
+
type: 'string',
|
|
27
|
+
description:
|
|
28
|
+
'The parent namespace: `namespace:<name>` in the same package.',
|
|
29
|
+
required: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'placement.slot',
|
|
33
|
+
type: 'string',
|
|
34
|
+
description:
|
|
35
|
+
"A slot the parent namespace declares; it must accept this doc's kind. Optional when the parent has one slot.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'placement.order',
|
|
39
|
+
type: 'number',
|
|
40
|
+
description: 'Integer sibling order within the slot.',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'aliases',
|
|
46
|
+
type: 'string[]',
|
|
47
|
+
description:
|
|
48
|
+
'Reserved: prior names or routes the docs tree will keep resolving to this doc, without creating another identity. Nothing reads it today, and a topic that sets it fails to load.',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'audience',
|
|
52
|
+
type: "'public' | 'internal'",
|
|
53
|
+
description:
|
|
54
|
+
"Reserved: which docs bundle includes this doc ('public' when omitted). Nothing reads it today, and a topic that sets it fails to load.",
|
|
55
|
+
default: "'public'",
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
notes: [
|
|
59
|
+
{
|
|
60
|
+
type: 'prose',
|
|
61
|
+
text: 'Unknown fields: `component`, `function`, `generic`, `schema`, `command` and `enum` docs accept a field they do not know, and nothing reads it, so a doc written for a newer CLI still loads here. `page`, `block` and `namespace` docs refuse one, as do `theme` descriptors. Sections and content blocks refuse one in every doc.',
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
};
|
|
@@ -4,6 +4,49 @@
|
|
|
4
4
|
* @file Shared leaf primitives used across the doc types.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
/** Every authored documentation kind accepted by `parseDoc`. */
|
|
8
|
+
export type AuthoredDocKind =
|
|
9
|
+
| 'component'
|
|
10
|
+
| 'function'
|
|
11
|
+
| 'generic'
|
|
12
|
+
| 'page'
|
|
13
|
+
| 'block'
|
|
14
|
+
| 'schema'
|
|
15
|
+
| 'command'
|
|
16
|
+
| 'enum'
|
|
17
|
+
| 'namespace';
|
|
18
|
+
|
|
19
|
+
/** Visibility of an authored doc in a compiled audience-specific bundle. */
|
|
20
|
+
export type DocAudience = 'public' | 'internal';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Optional canonical placement request. The compiler resolves `parent` as a
|
|
24
|
+
* stable doc reference. `slot` selects one parent-owned slot, and `order`
|
|
25
|
+
* provides deterministic sibling ordering inside that slot.
|
|
26
|
+
*/
|
|
27
|
+
export interface DocPlacement {
|
|
28
|
+
parent: string;
|
|
29
|
+
slot?: string;
|
|
30
|
+
order?: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Tree metadata shared by every authored doc kind. The docs tree reads
|
|
35
|
+
* `placement` for every guide, the CLI's and each integration's
|
|
36
|
+
* (spec:AST-046); nothing reads `aliases` or `audience` yet. A reference topic
|
|
37
|
+
* outside the docs tree that sets one fails to load.
|
|
38
|
+
*/
|
|
39
|
+
export interface AuthoredDocGraphFields {
|
|
40
|
+
/** The doc's one parent in the docs tree: a namespace of its own package. */
|
|
41
|
+
placement?: DocPlacement;
|
|
42
|
+
/** Reserved: prior routes or names the docs tree will keep resolving.
|
|
43
|
+
* Nothing reads it yet. */
|
|
44
|
+
aliases?: string[];
|
|
45
|
+
/** Reserved: docs bundle audience; omit for public docs. Nothing reads it
|
|
46
|
+
* yet. */
|
|
47
|
+
audience?: DocAudience;
|
|
48
|
+
}
|
|
49
|
+
|
|
7
50
|
/**
|
|
8
51
|
* Stable public identity for generated registry resources.
|
|
9
52
|
*
|
|
@@ -54,7 +54,7 @@ export const doc = {
|
|
|
54
54
|
name: 'namespace',
|
|
55
55
|
type: 'string',
|
|
56
56
|
description:
|
|
57
|
-
"
|
|
57
|
+
"Optional in the type, but every doc the CLI ships declares it. The group that reads this doc. The CLI's commands use 'cli/commands', which the docs tree adopts: each is the leaf `cli/commands/<name>`. Every command doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads.",
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
name: 'aliases',
|
|
@@ -135,8 +135,9 @@ export const doc = {
|
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
137
|
name: 'options[].default',
|
|
138
|
-
type: 'string',
|
|
139
|
-
description:
|
|
138
|
+
type: 'string | boolean | string[]',
|
|
139
|
+
description:
|
|
140
|
+
'Default value: a string, a boolean, or a list of strings.',
|
|
140
141
|
},
|
|
141
142
|
{
|
|
142
143
|
name: 'options[].cliOnly',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/** @typedef {import('../types').CommandDoc} CommandDoc */
|
|
4
|
+
/** @typedef {import('../types.js').CommandDoc} CommandDoc */
|
|
5
5
|
/**
|
|
6
6
|
* Validate an unknown value as a stamped command doc, or throw.
|
|
7
7
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* @returns {CommandDoc}
|
|
11
11
|
*/
|
|
12
12
|
export function parseCommand(input: unknown, label?: string): CommandDoc;
|
|
13
|
-
export type CommandDoc = import("../types").CommandDoc;
|
|
13
|
+
export type CommandDoc = import("../types.js").CommandDoc;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import {CommandDocKindSchema} from '../_schema.mjs';
|
|
9
9
|
import {formatZodError} from '../../_shared/errors.mjs';
|
|
10
10
|
|
|
11
|
-
/** @typedef {import('../types').CommandDoc} CommandDoc */
|
|
11
|
+
/** @typedef {import('../types.js').CommandDoc} CommandDoc */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Validate an unknown value as a stamped command doc, or throw.
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* `--help`. Colocated at `clients/cli/commands/<name>.doc.mjs`.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import type {
|
|
12
|
+
import type {AuthoredDocGraphFields} from '../base/type.js';
|
|
13
|
+
import type {ReferenceContentBlock} from '../reference/type.js';
|
|
13
14
|
|
|
14
15
|
/** A positional argument. `param` links it to a FunctionDoc param for its description. */
|
|
15
16
|
export interface CommandArgDoc {
|
|
@@ -53,7 +54,7 @@ export interface CommandExampleDoc {
|
|
|
53
54
|
* /\*\* @type {import('@astryxdesign/cli/authoring').CommandDoc} \*\/
|
|
54
55
|
* export const doc = { type: 'command', name: 'search', fn: 'search', ... };
|
|
55
56
|
*/
|
|
56
|
-
export interface CommandDoc {
|
|
57
|
+
export interface CommandDoc extends AuthoredDocGraphFields {
|
|
57
58
|
/** Doc-kind discriminant. */
|
|
58
59
|
type?: 'command';
|
|
59
60
|
/** Command path, e.g. 'search' | 'theme build'. */
|
|
@@ -64,7 +65,7 @@ export interface CommandDoc {
|
|
|
64
65
|
summary: string;
|
|
65
66
|
/** Longer help body / when-to-use. */
|
|
66
67
|
description?: string;
|
|
67
|
-
/**
|
|
68
|
+
/** The group that reads this doc. The CLI's commands use 'cli/commands', which the docs tree adopts: each is the leaf `cli/commands/<name>`. Every command doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads. */
|
|
68
69
|
namespace?: string;
|
|
69
70
|
/** Alternate slugs that also resolve to this doc. */
|
|
70
71
|
aliases?: string[];
|
|
@@ -80,7 +81,7 @@ export interface CommandDoc {
|
|
|
80
81
|
examples?: CommandExampleDoc[];
|
|
81
82
|
/** Documented exit codes. */
|
|
82
83
|
exitCodes?: {code: number; when: string}[];
|
|
83
|
-
/** Related command names. */
|
|
84
|
+
/** Related command names; the CLI links each to its doc. */
|
|
84
85
|
related?: string[];
|
|
85
86
|
/** Freeform prose/notes. */
|
|
86
87
|
notes?: ReferenceContentBlock[];
|
|
@@ -52,11 +52,17 @@ export const doc = {
|
|
|
52
52
|
description:
|
|
53
53
|
'Exact public package specifier consumers use to import an integration-owned component. The packed-package gate resolves this specifier and verifies it exports the component name.',
|
|
54
54
|
},
|
|
55
|
+
{
|
|
56
|
+
name: 'replaces',
|
|
57
|
+
type: 'string',
|
|
58
|
+
description:
|
|
59
|
+
"Integration components only: the exact `name` of the Core ComponentDoc this component takes over for unqualified lookup, so every app that loads the integration gets it from component detail, lists, search, swizzle, and issue routing. The Core original stays reachable with `--package @astryxdesign/core`. Set it only to intentionally own a Core identity; give an alternative or variant its own name instead.",
|
|
60
|
+
},
|
|
55
61
|
{
|
|
56
62
|
name: 'keywords',
|
|
57
63
|
type: 'string[]',
|
|
58
64
|
description:
|
|
59
|
-
'Search keywords for CLI discovery: synonyms and related UI concepts from other design systems (MUI, Chakra, Radix,
|
|
65
|
+
'Search keywords for CLI discovery: synonyms and related UI concepts from other design systems (MUI, Chakra, Radix, and others). Lowercase. Used by `astryx component <term>` fuzzy matching.',
|
|
60
66
|
},
|
|
61
67
|
{
|
|
62
68
|
name: 'hiddenComponents',
|
|
@@ -124,8 +130,7 @@ export const doc = {
|
|
|
124
130
|
name: 'usage',
|
|
125
131
|
type: 'UsageDoc',
|
|
126
132
|
description:
|
|
127
|
-
'Component usage documentation: concise summary, best practices, component-specific accessibility requirements, and optional visual anatomy.
|
|
128
|
-
required: true,
|
|
133
|
+
'Component usage documentation: concise summary, best practices, component-specific accessibility requirements, and optional visual anatomy. Required on a component doc; optional on a sub-component doc (`subComponentOf`), which uses its description instead.',
|
|
129
134
|
fields: [
|
|
130
135
|
{
|
|
131
136
|
name: 'usage.description',
|
|
@@ -242,6 +247,10 @@ export const docs = {
|
|
|
242
247
|
},
|
|
243
248
|
],
|
|
244
249
|
notes: [
|
|
250
|
+
{
|
|
251
|
+
type: 'prose',
|
|
252
|
+
text: "When it loads, a stamped component doc is checked as loosely as an unstamped one, so adding `type: 'component'` to an existing doc never breaks it: `displayName` may be missing, `category` may be any string, and `usage`, `theming`, `playground` and `examples` are not checked. Each entry in a group doc's `components` must have a `name`. Write to the type anyway; it is the contract.",
|
|
253
|
+
},
|
|
245
254
|
{
|
|
246
255
|
type: 'prose',
|
|
247
256
|
text: 'ComponentDoc is a discriminated union of three shapes that all extend ComponentBaseDoc. Pick the variant by which key you set: `props` (single), `components` (multi), or `subComponentOf` (sub).',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/** @typedef {import('../types').ComponentDoc} ComponentDoc */
|
|
4
|
+
/** @typedef {import('../types.js').ComponentDoc} ComponentDoc */
|
|
5
5
|
/**
|
|
6
6
|
* Validate an unknown value as a stamped component doc, or throw.
|
|
7
7
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* @returns {ComponentDoc}
|
|
11
11
|
*/
|
|
12
12
|
export function parseComponent(input: unknown, label?: string): ComponentDoc;
|
|
13
|
-
export type ComponentDoc = import("../types").ComponentDoc;
|
|
13
|
+
export type ComponentDoc = import("../types.js").ComponentDoc;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import {ComponentDocKindSchema} from '../_schema.mjs';
|
|
9
9
|
import {formatZodError} from '../../_shared/errors.mjs';
|
|
10
10
|
|
|
11
|
-
/** @typedef {import('../types').ComponentDoc} ComponentDoc */
|
|
11
|
+
/** @typedef {import('../types.js').ComponentDoc} ComponentDoc */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Validate an unknown value as a stamped component doc, or throw.
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import type {
|
|
8
|
+
AuthoredDocGraphFields,
|
|
8
9
|
ComponentAccessibilityRequirement,
|
|
9
10
|
ComponentAnatomyElement,
|
|
10
11
|
ComponentBestPractice,
|
|
@@ -18,13 +19,13 @@ import type {
|
|
|
18
19
|
HookReturnDoc,
|
|
19
20
|
RegistryDocIdentity,
|
|
20
21
|
UsageDoc,
|
|
21
|
-
} from '../base/type';
|
|
22
|
+
} from '../base/type.js';
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* Shared fields between single-component and multi-component docs.
|
|
25
26
|
* Do not use this interface directly — use `ComponentDoc` (the union type).
|
|
26
27
|
*/
|
|
27
|
-
export interface ComponentBaseDoc {
|
|
28
|
+
export interface ComponentBaseDoc extends AuthoredDocGraphFields {
|
|
28
29
|
/** Doc-kind discriminant for the stamped default-export format
|
|
29
30
|
* (`export default { type: 'component', ... }`). Optional: legacy
|
|
30
31
|
* `export const docs = {...}` docs omit it, and `parseDoc` falls back to
|
|
@@ -47,9 +48,17 @@ export interface ComponentBaseDoc {
|
|
|
47
48
|
displayName: string;
|
|
48
49
|
/** Exact consumer import specifier for integration-owned components. */
|
|
49
50
|
import?: string;
|
|
51
|
+
/** Integration components only: the exact `name` of the Core ComponentDoc
|
|
52
|
+
* this component takes over for unqualified lookup, so every app that loads
|
|
53
|
+
* the integration gets this component from component detail, lists, search,
|
|
54
|
+
* swizzle, and issue routing. The Core original stays reachable with
|
|
55
|
+
* `--package @astryxdesign/core`. Set it only to intentionally own a Core
|
|
56
|
+
* identity; give an alternative or variant its own name instead. Older CLIs
|
|
57
|
+
* that do not read `replaces` keep the component under its own name. */
|
|
58
|
+
replaces?: string;
|
|
50
59
|
/** Search keywords for CLI discovery. Terms a developer might type when
|
|
51
60
|
* looking for this component: synonyms, related UI concepts, and common
|
|
52
|
-
* names from other design systems (MUI, Chakra, Radix,
|
|
61
|
+
* names from other design systems (MUI, Chakra, Radix, and others).
|
|
53
62
|
* Lowercase only. Used by `astryx component <term>` for fuzzy matching.
|
|
54
63
|
* e.g. `['accordion', 'expand', 'toggle', 'disclosure']` for Collapsible */
|
|
55
64
|
keywords?: string[];
|
|
@@ -145,10 +154,10 @@ export interface ComponentBaseDoc {
|
|
|
145
154
|
/**
|
|
146
155
|
* The documentation type for a component directory's {Name}.doc.mjs file.
|
|
147
156
|
*
|
|
148
|
-
* Every .doc.mjs
|
|
157
|
+
* Every new .doc.mjs default-exports a stamped object of this type:
|
|
149
158
|
*
|
|
150
159
|
* /\*\* \@type \{import('@astryxdesign/cli/authoring').ComponentDoc\} *\/
|
|
151
|
-
* export
|
|
160
|
+
* export default \{ type: 'component', ... \};
|
|
152
161
|
*
|
|
153
162
|
* Use SingleComponentDoc (with `props`) for single-component directories.
|
|
154
163
|
* Use MultiComponentDoc (with `components`) for multi-component directories.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @file Tests for the new authoring doc-types (schema/command/enum) and the
|
|
4
|
+
* @file Tests for the new authoring doc-types (schema/command/enum/theme) and the
|
|
5
5
|
* generalized `function` doc (hooks + CLI/API functions sharing the schema).
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
parseCommand,
|
|
13
13
|
parseEnum,
|
|
14
14
|
parseFunction,
|
|
15
|
+
parseTheme,
|
|
15
16
|
} from '../index.mjs';
|
|
16
17
|
|
|
17
18
|
describe('SchemaDoc', () => {
|
|
@@ -22,13 +23,21 @@ describe('SchemaDoc', () => {
|
|
|
22
23
|
description: 'Project config.',
|
|
23
24
|
appliesTo: 'astryx.config.{ts,mjs,js}',
|
|
24
25
|
fields: [
|
|
25
|
-
{
|
|
26
|
+
{
|
|
27
|
+
name: 'integrations',
|
|
28
|
+
type: 'string[]',
|
|
29
|
+
description: 'Packages to load.',
|
|
30
|
+
},
|
|
26
31
|
{
|
|
27
32
|
name: 'hooks',
|
|
28
33
|
type: 'object',
|
|
29
34
|
description: 'Lifecycle hooks.',
|
|
30
35
|
fields: [
|
|
31
|
-
{
|
|
36
|
+
{
|
|
37
|
+
name: 'hooks.postCodemod',
|
|
38
|
+
type: 'PostCodemodHook[]',
|
|
39
|
+
description: 'Runs after codemods.',
|
|
40
|
+
},
|
|
32
41
|
],
|
|
33
42
|
},
|
|
34
43
|
],
|
|
@@ -63,8 +72,16 @@ describe('CommandDoc', () => {
|
|
|
63
72
|
fn: 'search',
|
|
64
73
|
args: [{name: 'query', param: 'query', required: true}],
|
|
65
74
|
options: [
|
|
66
|
-
{
|
|
67
|
-
|
|
75
|
+
{
|
|
76
|
+
flag: '--type <domain>',
|
|
77
|
+
param: 'options.type',
|
|
78
|
+
choices: ['component', 'hook'],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
flag: '--json',
|
|
82
|
+
cliOnly: true,
|
|
83
|
+
description: 'Emit the typed JSON envelope.',
|
|
84
|
+
},
|
|
68
85
|
],
|
|
69
86
|
examples: [{label: 'Terminal', cli: 'astryx search button --json'}],
|
|
70
87
|
exitCodes: [{code: 1, when: 'invalid --type'}],
|
|
@@ -90,6 +107,29 @@ describe('EnumDoc', () => {
|
|
|
90
107
|
});
|
|
91
108
|
});
|
|
92
109
|
|
|
110
|
+
describe('ThemeDoc', () => {
|
|
111
|
+
const doc = {
|
|
112
|
+
type: 'theme',
|
|
113
|
+
name: 'ocean',
|
|
114
|
+
displayName: 'Ocean',
|
|
115
|
+
description: 'Cool blue surfaces with crisp contrast.',
|
|
116
|
+
maintained: true,
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
it('accepts a complete theme descriptor and dispatches through parseDoc', () => {
|
|
120
|
+
expect(parseTheme(doc)).toEqual(doc);
|
|
121
|
+
expect(parseDoc(doc)).toEqual(doc);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('rejects non-kebab identity and missing required metadata', () => {
|
|
125
|
+
expect(() => parseTheme({...doc, name: 'OceanTheme'})).toThrow(
|
|
126
|
+
/lowercase kebab-case/,
|
|
127
|
+
);
|
|
128
|
+
const {maintained: _maintained, ...missingMaintained} = doc;
|
|
129
|
+
expect(() => parseTheme(missingMaintained)).toThrow(/maintained/);
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
|
|
93
133
|
describe('generalized FunctionDoc', () => {
|
|
94
134
|
it('accepts an API function whose returns are envelope entries (no field name)', () => {
|
|
95
135
|
const apiFn = {
|
|
@@ -98,7 +138,9 @@ describe('generalized FunctionDoc', () => {
|
|
|
98
138
|
name: 'search',
|
|
99
139
|
displayName: 'search()',
|
|
100
140
|
importPath: '@astryxdesign/cli/api',
|
|
101
|
-
params: [
|
|
141
|
+
params: [
|
|
142
|
+
{name: 'query', type: 'string', description: 'Term.', required: true},
|
|
143
|
+
],
|
|
102
144
|
returns: [{type: 'search', description: 'query + ranked results[]'}],
|
|
103
145
|
throws: [{code: 'ERR_INVALID_ARGUMENT', when: 'empty query'}],
|
|
104
146
|
};
|
|
@@ -49,7 +49,7 @@ export const doc = {
|
|
|
49
49
|
name: 'namespace',
|
|
50
50
|
type: 'string',
|
|
51
51
|
description:
|
|
52
|
-
"
|
|
52
|
+
"Optional in the type, but every doc the CLI ships declares it. The group that reads this doc. The CLI's enums use 'cli/api', which the docs tree adopts by kind: each is the leaf `cli/api/enums/<name>`. Every enum doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads.",
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
name: 'aliases',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/** @typedef {import('../types').EnumDoc} EnumDoc */
|
|
4
|
+
/** @typedef {import('../types.js').EnumDoc} EnumDoc */
|
|
5
5
|
/**
|
|
6
6
|
* Validate an unknown value as a stamped enum doc, or throw.
|
|
7
7
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* @returns {EnumDoc}
|
|
11
11
|
*/
|
|
12
12
|
export function parseEnum(input: unknown, label?: string): EnumDoc;
|
|
13
|
-
export type EnumDoc = import("../types").EnumDoc;
|
|
13
|
+
export type EnumDoc = import("../types.js").EnumDoc;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import {EnumDocKindSchema} from '../_schema.mjs';
|
|
9
9
|
import {formatZodError} from '../../_shared/errors.mjs';
|
|
10
10
|
|
|
11
|
-
/** @typedef {import('../types').EnumDoc} EnumDoc */
|
|
11
|
+
/** @typedef {import('../types.js').EnumDoc} EnumDoc */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Validate an unknown value as a stamped enum doc, or throw.
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* discriminants). Colocated next to the source of truth it documents.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import type {AuthoredDocGraphFields} from '../base/type.js';
|
|
9
|
+
|
|
8
10
|
/** One member of an enumerated vocabulary. */
|
|
9
11
|
export interface EnumMemberDoc {
|
|
10
12
|
/** The literal value, e.g. 'ERR_UNKNOWN_TOPIC' | 'component.list'. */
|
|
@@ -21,7 +23,7 @@ export interface EnumMemberDoc {
|
|
|
21
23
|
* /\*\* @type {import('@astryxdesign/cli/authoring').EnumDoc} \*\/
|
|
22
24
|
* export const doc = { type: 'enum', name: 'error-codes', ... };
|
|
23
25
|
*/
|
|
24
|
-
export interface EnumDoc {
|
|
26
|
+
export interface EnumDoc extends AuthoredDocGraphFields {
|
|
25
27
|
/** Doc-kind discriminant. */
|
|
26
28
|
type?: 'enum';
|
|
27
29
|
/** URL-safe identifier, used as the docs slug within its namespace. */
|
|
@@ -30,7 +32,7 @@ export interface EnumDoc {
|
|
|
30
32
|
displayName: string;
|
|
31
33
|
/** One-line summary shown in listings. */
|
|
32
34
|
description: string;
|
|
33
|
-
/**
|
|
35
|
+
/** The group that reads this doc. The CLI's enums use 'cli/api', which the docs tree adopts by kind: each is the leaf `cli/api/enums/<name>`. Every enum doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads. */
|
|
34
36
|
namespace?: string;
|
|
35
37
|
/** Alternate slugs that also resolve to this doc. */
|
|
36
38
|
aliases?: string[];
|
|
@@ -57,7 +57,7 @@ export const doc = {
|
|
|
57
57
|
name: 'namespace',
|
|
58
58
|
type: 'string',
|
|
59
59
|
description:
|
|
60
|
-
"
|
|
60
|
+
"Optional in the type, but every doc the CLI ships declares it. The group that reads this doc. The CLI's API functions use 'cli/api', which the docs tree adopts by kind: each is the leaf `cli/api/functions/<name>`. Every function doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads.",
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
name: 'aliases',
|
|
@@ -201,7 +201,8 @@ export const doc = {
|
|
|
201
201
|
{
|
|
202
202
|
name: 'related',
|
|
203
203
|
type: 'string[]',
|
|
204
|
-
description:
|
|
204
|
+
description:
|
|
205
|
+
'Related function names; the CLI links each to its doc. Name the CLI command with `command`, not here.',
|
|
205
206
|
},
|
|
206
207
|
{
|
|
207
208
|
name: 'relatedComponents',
|
|
@@ -250,6 +251,10 @@ export const doc = {
|
|
|
250
251
|
},
|
|
251
252
|
],
|
|
252
253
|
notes: [
|
|
254
|
+
{
|
|
255
|
+
type: 'prose',
|
|
256
|
+
text: 'When it loads, a stamped function doc may leave out `displayName`, and its `usage` is not checked. Write to the type anyway; it is the contract.',
|
|
257
|
+
},
|
|
253
258
|
{
|
|
254
259
|
type: 'prose',
|
|
255
260
|
text: "The `type` discriminant is 'function' for both flavors. Set `kind: 'hook'` or `kind: 'api'` to drive docsite sectioning; it is inferred from `importPath` when omitted.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/** @typedef {import('../types').FunctionDoc} FunctionDoc */
|
|
4
|
+
/** @typedef {import('../types.js').FunctionDoc} FunctionDoc */
|
|
5
5
|
/**
|
|
6
6
|
* Validate an unknown value as a stamped function doc, or throw.
|
|
7
7
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* @returns {FunctionDoc}
|
|
11
11
|
*/
|
|
12
12
|
export function parseFunction(input: unknown, label?: string): FunctionDoc;
|
|
13
|
-
export type FunctionDoc = import("../types").FunctionDoc;
|
|
13
|
+
export type FunctionDoc = import("../types.js").FunctionDoc;
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
import {parseHook} from '../hook/parse.mjs';
|
|
16
16
|
|
|
17
|
-
/** @typedef {import('../types').FunctionDoc} FunctionDoc */
|
|
17
|
+
/** @typedef {import('../types.js').FunctionDoc} FunctionDoc */
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Validate an unknown value as a stamped function doc, or throw.
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
* here — the function does not know it has a CLI.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type {
|
|
13
|
+
import type {
|
|
14
|
+
AuthoredDocGraphFields,
|
|
15
|
+
HookParamDoc,
|
|
16
|
+
UsageDoc,
|
|
17
|
+
} from '../base/type.js';
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
20
|
* A documented return. Hooks list named return fields (`name` set); CLI/API
|
|
@@ -45,7 +49,7 @@ export interface FunctionExampleDoc {
|
|
|
45
49
|
* /\*\* @type {import('@astryxdesign/cli/authoring').FunctionDoc} \*\/
|
|
46
50
|
* export const doc = { type: 'function', kind: 'api', name: 'search', ... };
|
|
47
51
|
*/
|
|
48
|
-
export interface FunctionDoc {
|
|
52
|
+
export interface FunctionDoc extends AuthoredDocGraphFields {
|
|
49
53
|
/** Doc-kind discriminant (shared with hooks). */
|
|
50
54
|
type?: 'function';
|
|
51
55
|
/** Export name, e.g. 'search' | 'useMediaQuery'. */
|
|
@@ -58,7 +62,7 @@ export interface FunctionDoc {
|
|
|
58
62
|
summary?: string;
|
|
59
63
|
/** Longer description. */
|
|
60
64
|
description?: string;
|
|
61
|
-
/**
|
|
65
|
+
/** The group that reads this doc. The CLI's API functions use 'cli/api', which the docs tree adopts by kind: each is the leaf `cli/api/functions/<name>`. Every function doc the CLI ships declares one, and `astryx doctor` fails on one that is missing or that nothing reads. */
|
|
62
66
|
namespace?: string;
|
|
63
67
|
/** Alternate slugs that also resolve to this doc. */
|
|
64
68
|
aliases?: string[];
|
|
@@ -80,7 +84,8 @@ export interface FunctionDoc {
|
|
|
80
84
|
usage?: UsageDoc;
|
|
81
85
|
/** The CLI command that wraps this function, e.g. 'search'. */
|
|
82
86
|
command?: string;
|
|
83
|
-
/** Related function
|
|
87
|
+
/** Related function names; the CLI links each to its doc. Name the CLI
|
|
88
|
+
* command with `command`, not here. */
|
|
84
89
|
related?: string[];
|
|
85
90
|
/** Component names this is commonly used with (hooks). */
|
|
86
91
|
relatedComponents?: string[];
|
|
@@ -200,6 +200,10 @@ export const docs = {
|
|
|
200
200
|
},
|
|
201
201
|
],
|
|
202
202
|
notes: [
|
|
203
|
+
{
|
|
204
|
+
type: 'prose',
|
|
205
|
+
text: 'When it loads, a hook doc may leave out `displayName`, and its `usage` is not checked. Write to the type anyway; it is the contract.',
|
|
206
|
+
},
|
|
203
207
|
{
|
|
204
208
|
type: 'prose',
|
|
205
209
|
text: "A hook's discriminant is `type: 'function'`: HookDoc and FunctionDoc share the generalized function kind. HookDoc is the hook-flavored view: named `returns` fields and a required `usage` block.",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @generated by scripts/sync-api-types.mjs from the JSDoc in authoring/**/*.mjs.
|
|
2
2
|
// DO NOT EDIT — run `pnpm sync:api-types` to regenerate.
|
|
3
3
|
|
|
4
|
-
/** @typedef {import('../types').HookDoc} HookDoc */
|
|
4
|
+
/** @typedef {import('../types.js').HookDoc} HookDoc */
|
|
5
5
|
/**
|
|
6
6
|
* Validate an unknown value as a stamped function/hook doc, or throw.
|
|
7
7
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* @returns {HookDoc}
|
|
11
11
|
*/
|
|
12
12
|
export function parseHook(input: unknown, label?: string): HookDoc;
|
|
13
|
-
export type HookDoc = import("../types").HookDoc;
|
|
13
|
+
export type HookDoc = import("../types.js").HookDoc;
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import {FunctionDocKindSchema} from '../_schema.mjs';
|
|
9
9
|
import {formatZodError} from '../../_shared/errors.mjs';
|
|
10
10
|
|
|
11
|
-
/** @typedef {import('../types').HookDoc} HookDoc */
|
|
11
|
+
/** @typedef {import('../types.js').HookDoc} HookDoc */
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Validate an unknown value as a stamped function/hook doc, or throw.
|