@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
|
@@ -1,245 +1,76 @@
|
|
|
1
1
|
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @file Component doc loader
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import {pathToFileURL} from 'node:url';
|
|
8
|
-
import {importUserModule} from '../fs/module-loader.mjs';
|
|
9
|
-
import {parseDoc} from '../../authoring/doctypes/parse.mjs';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Load a component doc through the shared load/validation boundary.
|
|
13
|
-
*
|
|
14
|
-
* This is the typed counterpart to {@link loadDocs}: it loads `.doc.ts` via
|
|
15
|
-
* jiti (and `.doc.mjs`/`.doc.js` via native import) and validates via
|
|
16
|
-
* `parseDoc`, which accepts BOTH formats, so this loader reads whichever the
|
|
17
|
-
* file uses:
|
|
18
|
-
* - NEW: a stamped default export (`export default {type: 'component', ...}`
|
|
19
|
-
* / `'function'` / `'generic'`) — the same single-export convention the
|
|
20
|
-
* other authoring parsers use for config/integration/template. These carry
|
|
21
|
-
* a stamped `type` and validate against the matching per-kind parser.
|
|
22
|
-
* - OLD: the legacy loose `export const docs = {...}` (no `type`), validated
|
|
23
|
-
* against the permissive legacy union.
|
|
24
|
-
* The default export wins when both are present. Throws a readable
|
|
25
|
-
* `formatZodError`-style message on failure. Translations (`docsZh`/
|
|
26
|
-
* `docsDense`) are merged exactly as {@link loadDocs} does so callers see
|
|
27
|
-
* identical output.
|
|
4
|
+
* @file Component and hook doc loader.
|
|
28
5
|
*
|
|
29
|
-
* @
|
|
30
|
-
*
|
|
31
|
-
* @
|
|
6
|
+
* @input A component or hook `.doc.{ts,mjs,js}` path and the reading language
|
|
7
|
+
* (`lang`, or the legacy `zh`/`dense` flags).
|
|
8
|
+
* @output The module's own doc, with its translation laid over it for `lang`.
|
|
9
|
+
* @position The loaders every component and hook reader calls. Both read
|
|
10
|
+
* through the doc compiler (foundation/doc-compiler/read.mjs), which lowers
|
|
11
|
+
* the doc on every read. The two differ only in how strict they are:
|
|
12
|
+
* {@link loadComponentDoc} reports a doc that fails its kind's parser, and
|
|
13
|
+
* {@link loadDocs}, which has never checked docs, still reads one.
|
|
32
14
|
*/
|
|
33
|
-
export async function loadComponentDoc(
|
|
34
|
-
docPath,
|
|
35
|
-
{zh = false, dense = false, lang} = {},
|
|
36
|
-
) {
|
|
37
|
-
const mod = await importUserModule(docPath);
|
|
38
|
-
/** @type {any} */
|
|
39
|
-
const authored = mod?.default ?? mod?.docs;
|
|
40
|
-
|
|
41
|
-
parseDoc(authored, docPath);
|
|
42
|
-
const docs = authored;
|
|
43
15
|
|
|
44
|
-
|
|
45
|
-
if (!locale) return docs;
|
|
16
|
+
import {readDocView} from '../doc-compiler/read.mjs';
|
|
46
17
|
|
|
47
|
-
|
|
48
|
-
locale === 'zh' ? 'docsZh' : locale === 'dense' ? 'docsDense' : null;
|
|
49
|
-
if (!translationKey || !mod[translationKey]) return docs;
|
|
50
|
-
|
|
51
|
-
/** @type {any} */
|
|
52
|
-
const translation = mod[translationKey];
|
|
53
|
-
if (translation.props || translation.components?.some((/** @type {any} */ c) => c.props)) {
|
|
54
|
-
return overlayComponentDoc(docs, translation);
|
|
55
|
-
}
|
|
56
|
-
return mergeTranslation(docs, translation);
|
|
57
|
-
}
|
|
18
|
+
export {mergeTranslation} from '../doc-compiler/overlays.mjs';
|
|
58
19
|
|
|
59
20
|
/**
|
|
60
|
-
* @
|
|
61
|
-
* @
|
|
62
|
-
* @
|
|
21
|
+
* @typedef {object} LoadDocOptions
|
|
22
|
+
* @property {boolean} [zh] legacy flag for `lang: 'zh'`
|
|
23
|
+
* @property {boolean} [dense] legacy flag for `lang: 'dense'`
|
|
24
|
+
* @property {string | null} [lang] wins over the legacy flags
|
|
25
|
+
* @property {'components' | 'hooks'} [root] which root reads the doc
|
|
26
|
+
* (default: components)
|
|
63
27
|
*/
|
|
64
|
-
export function mergeTranslation(docs, translation) {
|
|
65
|
-
if (!translation) return docs;
|
|
66
|
-
|
|
67
|
-
/** @type {any} */
|
|
68
|
-
const merged = {...docs};
|
|
69
|
-
|
|
70
|
-
// Merge prose into usage
|
|
71
|
-
if (merged.usage) {
|
|
72
|
-
merged.usage = {...merged.usage};
|
|
73
|
-
if (translation.usage?.description) merged.usage.description = translation.usage.description;
|
|
74
|
-
else if (translation.description) merged.usage.description = translation.description;
|
|
75
|
-
if (translation.usage?.bestPractices) merged.usage.bestPractices = translation.usage.bestPractices;
|
|
76
|
-
if (translation.usage?.accessibility) merged.usage.accessibility = translation.usage.accessibility;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Legacy top-level fields (for docsZh that are full ComponentDoc clones)
|
|
80
|
-
if (translation.description && !merged.usage) merged.description = translation.description;
|
|
81
|
-
|
|
82
|
-
// Merge prop descriptions for single-component docs
|
|
83
|
-
if (translation.propDescriptions && merged.props) {
|
|
84
|
-
merged.props = merged.props.map((/** @type {any} */ prop) => {
|
|
85
|
-
const desc = translation.propDescriptions[prop.name];
|
|
86
|
-
return desc != null ? {...prop, description: desc} : prop;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Merge hook param descriptions (HookTranslationDoc). Params are an array of
|
|
91
|
-
// {name, type, description, required}; override description by name where the
|
|
92
|
-
// translation has an entry. Names may include dots (e.g. 'options.isActive');
|
|
93
|
-
// the lookup is keyed by the exact param name.
|
|
94
|
-
if (translation.paramDescriptions && merged.params) {
|
|
95
|
-
merged.params = merged.params.map((/** @type {any} */ param) => {
|
|
96
|
-
const desc = translation.paramDescriptions[param.name];
|
|
97
|
-
return desc != null ? {...param, description: desc} : param;
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Merge hook return descriptions (HookTranslationDoc). Returns are an array
|
|
102
|
-
// of {name, type, description}; override description by name where present.
|
|
103
|
-
if (translation.returnDescriptions && merged.returns) {
|
|
104
|
-
merged.returns = merged.returns.map((/** @type {any} */ ret) => {
|
|
105
|
-
const desc = translation.returnDescriptions[ret.name];
|
|
106
|
-
return desc != null ? {...ret, description: desc} : ret;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Merge sub-component translations
|
|
111
|
-
if (translation.components && merged.components) {
|
|
112
|
-
merged.components = merged.components.map((/** @type {any} */ comp, /** @type {any} */ i) => {
|
|
113
|
-
const trans = translation.components.find((/** @type {any} */ t) => t.name === comp.name)
|
|
114
|
-
|| translation.components[i];
|
|
115
|
-
if (!trans) return comp;
|
|
116
|
-
|
|
117
|
-
const mergedComp = {...comp};
|
|
118
|
-
if (trans.description) mergedComp.description = trans.description;
|
|
119
|
-
if (trans.propDescriptions && comp.props) {
|
|
120
|
-
mergedComp.props = comp.props.map((/** @type {any} */ prop) => {
|
|
121
|
-
const desc = trans.propDescriptions[prop.name];
|
|
122
|
-
return desc != null ? {...prop, description: desc} : prop;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
return mergedComp;
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return merged;
|
|
130
|
-
}
|
|
131
28
|
|
|
132
29
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
* Translations are merged onto the base docs, keeping structure intact.
|
|
137
|
-
* @param {string} readmePath
|
|
138
|
-
* @param {{zh?: boolean, dense?: boolean, lang?: string}} [opts]
|
|
139
|
-
* @returns {Promise<any>}
|
|
30
|
+
* The overlay a read applies: `lang`, else the legacy flags.
|
|
31
|
+
* @param {LoadDocOptions} opts
|
|
32
|
+
* @returns {string | null}
|
|
140
33
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
// Support both the new stamped default export (`export default {type: 'component', …}`)
|
|
144
|
-
// and the legacy named export (`export const docs = {…}`). Default wins when both
|
|
145
|
-
// are present, matching loadComponentDoc's precedence.
|
|
146
|
-
const docs = mod?.default ?? mod.docs;
|
|
147
|
-
|
|
148
|
-
// Resolve which translation to use (--lang takes priority over legacy flags)
|
|
149
|
-
const locale = lang || (dense ? 'dense' : zh ? 'zh' : null);
|
|
150
|
-
if (!locale) return docs;
|
|
151
|
-
|
|
152
|
-
const translationKey = locale === 'zh' ? 'docsZh' : locale === 'dense' ? 'docsDense' : null;
|
|
153
|
-
if (!translationKey || !mod[translationKey]) return docs;
|
|
154
|
-
|
|
155
|
-
const translation = mod[translationKey];
|
|
156
|
-
|
|
157
|
-
// A full ComponentDoc-shaped translation (legacy docsZh shape) used to be
|
|
158
|
-
// returned wholesale. That made it a REPLACEMENT, not an overlay: any prop
|
|
159
|
-
// the translation had not caught up with simply ceased to exist —
|
|
160
|
-
// `component Button --zh` silently omitted `isInterruptible` and
|
|
161
|
-
// `isIconOnly`. A reader of the translated docs cannot discover a prop that
|
|
162
|
-
// is not there. Overlay it instead, so an untranslated prop falls back to
|
|
163
|
-
// its English entry. (Same principle as the reference-doc overlays, #2182.)
|
|
164
|
-
if (translation.props || translation.components?.some((/** @type {any} */ c) => c.props)) {
|
|
165
|
-
return overlayComponentDoc(docs, translation);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// Otherwise it's a ComponentTranslationDoc — merge it onto docs
|
|
169
|
-
return mergeTranslation(docs, translation);
|
|
34
|
+
function localeOf({zh = false, dense = false, lang} = {}) {
|
|
35
|
+
return lang || (dense ? 'dense' : zh ? 'zh' : null);
|
|
170
36
|
}
|
|
171
37
|
|
|
172
38
|
/**
|
|
173
|
-
*
|
|
39
|
+
* Load a component or hook doc and check it against its kind's parser.
|
|
174
40
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
41
|
+
* Reads `.doc.ts` through jiti and `.doc.mjs`/`.doc.js` natively. Both formats
|
|
42
|
+
* load: a stamped default export (`export default {type: 'component', ...}`)
|
|
43
|
+
* checked against its kind, and the legacy `export const docs = {...}` checked
|
|
44
|
+
* against the permissive legacy union. The default export wins when both are
|
|
45
|
+
* present. Throws the parser's readable message when the doc fails.
|
|
179
46
|
*
|
|
180
|
-
* @param {
|
|
181
|
-
* @param {
|
|
182
|
-
* @returns {any}
|
|
47
|
+
* @param {string} docPath absolute path to a `.doc.{ts,mjs,js}` file
|
|
48
|
+
* @param {LoadDocOptions} [opts]
|
|
49
|
+
* @returns {Promise<any>} the checked (and optionally translated) doc
|
|
183
50
|
*/
|
|
184
|
-
function
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
const byName = new Map((tProps ?? []).map((/** @type {any} */ p) => [p.name, p]));
|
|
192
|
-
return baseProps.map((/** @type {any} */ prop) => {
|
|
193
|
-
const t = byName.get(prop.name);
|
|
194
|
-
// Take the translated text, but never let it drop the prop's contract
|
|
195
|
-
// (type/default/required stay authoritative from the English doc).
|
|
196
|
-
return t ? {...prop, ...t, name: prop.name, type: prop.type} : prop;
|
|
197
|
-
});
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
/** Preserve canonical structured guidance added after legacy full-doc translations,
|
|
201
|
-
* without changing established translated prose behavior.
|
|
202
|
-
* @param {any} baseUsage
|
|
203
|
-
* @param {any} translatedUsage
|
|
204
|
-
*/
|
|
205
|
-
const mergeUsage = (baseUsage, translatedUsage) => {
|
|
206
|
-
if (!translatedUsage) return baseUsage;
|
|
207
|
-
return {
|
|
208
|
-
...translatedUsage,
|
|
209
|
-
...(translatedUsage.accessibility === undefined &&
|
|
210
|
-
baseUsage?.accessibility !== undefined
|
|
211
|
-
? {accessibility: baseUsage.accessibility}
|
|
212
|
-
: null),
|
|
213
|
-
...(translatedUsage.accessibilityThemeCoverage === undefined &&
|
|
214
|
-
baseUsage?.accessibilityThemeCoverage !== undefined
|
|
215
|
-
? {accessibilityThemeCoverage: baseUsage.accessibilityThemeCoverage}
|
|
216
|
-
: null),
|
|
217
|
-
...(translatedUsage.anatomy === undefined && baseUsage?.anatomy !== undefined
|
|
218
|
-
? {anatomy: baseUsage.anatomy}
|
|
219
|
-
: null),
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
const merged = {...docs, ...translation, usage: mergeUsage(docs.usage, translation.usage)};
|
|
224
|
-
|
|
225
|
-
merged.props = overlayProps(docs.props, translation.props);
|
|
226
|
-
|
|
227
|
-
if (docs.components) {
|
|
228
|
-
const tByName = new Map(
|
|
229
|
-
(translation.components ?? []).map((/** @type {any} */ c) => [c.name, c]),
|
|
230
|
-
);
|
|
231
|
-
merged.components = docs.components.map((/** @type {any} */ base) => {
|
|
232
|
-
const t = tByName.get(base.name);
|
|
233
|
-
if (!t) return base;
|
|
234
|
-
return {...base, ...t, usage: mergeUsage(base.usage, t.usage), props: overlayProps(base.props, t.props)};
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return merged;
|
|
51
|
+
export async function loadComponentDoc(docPath, opts = {}) {
|
|
52
|
+
return readDocView(docPath, {
|
|
53
|
+
root: opts.root ?? 'components',
|
|
54
|
+
lang: localeOf(opts),
|
|
55
|
+
label: docPath,
|
|
56
|
+
strict: true,
|
|
57
|
+
});
|
|
239
58
|
}
|
|
240
59
|
|
|
241
60
|
/**
|
|
242
|
-
*
|
|
243
|
-
* and
|
|
244
|
-
*
|
|
61
|
+
* Load a component or hook doc without checking it. Supports `lang` ('zh' for
|
|
62
|
+
* Chinese, 'dense' for compressed) and the legacy `zh`/`dense` flags; the
|
|
63
|
+
* translation is laid over the doc, keeping its structure. A file that exports
|
|
64
|
+
* no doc reads as `undefined`.
|
|
65
|
+
* @param {string} readmePath
|
|
66
|
+
* @param {LoadDocOptions} [opts]
|
|
67
|
+
* @returns {Promise<any>}
|
|
245
68
|
*/
|
|
69
|
+
export async function loadDocs(readmePath, opts = {}) {
|
|
70
|
+
return readDocView(readmePath, {
|
|
71
|
+
root: opts.root ?? 'components',
|
|
72
|
+
lang: localeOf(opts),
|
|
73
|
+
label: readmePath,
|
|
74
|
+
loader: 'native',
|
|
75
|
+
});
|
|
76
|
+
}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* @typedef {object} DocsTopicRecord A doc file discovered under a docs root.
|
|
6
6
|
* @property {string} name
|
|
7
7
|
* @property {string} package owner package
|
|
8
|
+
* @property {string} [providerId] the owner's ProviderId, when it differs from
|
|
9
|
+
* the package name
|
|
8
10
|
* @property {string} path absolute path to the doc file
|
|
9
11
|
* @property {string} [title]
|
|
10
12
|
* @property {string} [description]
|
|
@@ -16,13 +18,21 @@
|
|
|
16
18
|
* @typedef {object} DocsTopicEntry A resolved topic in the catalog.
|
|
17
19
|
* @property {string} name
|
|
18
20
|
* @property {string} package owner package
|
|
21
|
+
* @property {string} [providerId] the owner's ProviderId; the package name when
|
|
22
|
+
* absent. Links in the topic resolve against it.
|
|
19
23
|
* @property {string} path absolute path to the doc file
|
|
20
24
|
* @property {string} [title]
|
|
21
25
|
* @property {string} [description]
|
|
22
26
|
* @property {string|null} [category]
|
|
23
27
|
* @property {string} [replaces] the topic this one took the place of
|
|
24
|
-
* @property {Array<{package: string, path: string}>} extensions
|
|
25
|
-
* merge onto the base doc, in the order their integrations were
|
|
28
|
+
* @property {Array<{package: string, path: string, providerId?: string}>} extensions
|
|
29
|
+
* overlays to merge onto the base doc, in the order their integrations were
|
|
30
|
+
* configured; each section an extension adds resolves its links against the
|
|
31
|
+
* extension's provider id (its package name when absent)
|
|
32
|
+
* @property {string} [parent] the route of the namespace a tree guide sits in
|
|
33
|
+
* @property {string} [route] a tree guide's route
|
|
34
|
+
* @property {boolean} [tree] a guide that only the docs tree reads, by its
|
|
35
|
+
* route; never a flat topic
|
|
26
36
|
*/
|
|
27
37
|
/**
|
|
28
38
|
* Discover the CLI's own topics.
|
|
@@ -48,9 +58,19 @@ export function loadTopicModule(file: string): Promise<unknown>;
|
|
|
48
58
|
* where the file that needs fixing can be named.
|
|
49
59
|
*
|
|
50
60
|
* @param {any} doc a parsed doc
|
|
61
|
+
* @param {{placement?: boolean}} [options] `placement`: the doc is a guide the
|
|
62
|
+
* docs tree places, so its `placement` field is read, not rejected
|
|
51
63
|
* @returns {string[]} problems, each already pointed at a place in the doc
|
|
52
64
|
*/
|
|
53
|
-
export function problemsInTopic(doc: any
|
|
65
|
+
export function problemsInTopic(doc: any, { placement }?: {
|
|
66
|
+
placement?: boolean;
|
|
67
|
+
}): string[];
|
|
68
|
+
/**
|
|
69
|
+
* The fields the docs tree reads from a namespace doc an integration ships.
|
|
70
|
+
* @param {any} doc
|
|
71
|
+
* @returns {string[]}
|
|
72
|
+
*/
|
|
73
|
+
export function problemsInNamespace(doc: any): string[];
|
|
54
74
|
/**
|
|
55
75
|
* Discover the topics contributed by a single loaded integration. Mirrors
|
|
56
76
|
* `discoverIntegrationComponents`: walk the resolved root, take every
|
|
@@ -58,23 +78,32 @@ export function problemsInTopic(doc: any): string[];
|
|
|
58
78
|
* discovery this loads each doc, because a topic's name and its relationship
|
|
59
79
|
* to an existing topic are fields inside the file.
|
|
60
80
|
*
|
|
81
|
+
* A namespace doc and a guide with `placement` go to the docs tree instead of
|
|
82
|
+
* the topic list (spec:AST-046): they come back in `namespaces` and `guides`,
|
|
83
|
+
* named by the integration's provider id.
|
|
84
|
+
*
|
|
61
85
|
* Errors are returned, not thrown: one unusable doc is reported as an issue
|
|
62
86
|
* against its package while the rest of the CLI keeps working.
|
|
63
87
|
*
|
|
64
|
-
* @param {{name: string, docs?: string}} integration a loaded integration
|
|
65
|
-
* @returns {Promise<{records: DocsTopicRecord[], errors: Error[]}>}
|
|
88
|
+
* @param {{name: string, docs?: string, providerId?: string}} integration a loaded integration
|
|
89
|
+
* @returns {Promise<{records: DocsTopicRecord[], errors: Error[], namespaces: import('../doc-compiler/tree.mjs').TreeNamespaceInput[], guides: import('../doc-compiler/tree.mjs').TreeDocInput[]}>}
|
|
66
90
|
*/
|
|
67
91
|
export function discoverIntegrationDocs(integration: {
|
|
68
92
|
name: string;
|
|
69
93
|
docs?: string;
|
|
94
|
+
providerId?: string;
|
|
70
95
|
}): Promise<{
|
|
71
96
|
records: DocsTopicRecord[];
|
|
72
97
|
errors: Error[];
|
|
98
|
+
namespaces: import("../doc-compiler/tree.mjs").TreeNamespaceInput[];
|
|
99
|
+
guides: import("../doc-compiler/tree.mjs").TreeDocInput[];
|
|
73
100
|
}>;
|
|
74
101
|
/**
|
|
75
|
-
* Merge an extension onto a base topic: a section
|
|
76
|
-
* the base
|
|
77
|
-
* title
|
|
102
|
+
* Merge an extension onto a base topic: a section with a stable `id` replaces
|
|
103
|
+
* the base section with the same `id`; legacy sections without IDs fall back to
|
|
104
|
+
* title matching. A section with no match is appended. The title and
|
|
105
|
+
* description stay the base topic's: an extension adds to a topic, it never
|
|
106
|
+
* renames it. A topic that `replaces` another is the one that renames.
|
|
78
107
|
*
|
|
79
108
|
* Keyed by section TITLE rather than by position, the way the localization
|
|
80
109
|
* overlays are — position keying grafts an overlay onto whichever section
|
|
@@ -86,12 +115,23 @@ export function discoverIntegrationDocs(integration: {
|
|
|
86
115
|
* @returns {any} a new doc; neither input is mutated
|
|
87
116
|
*/
|
|
88
117
|
export function mergeTopic(base: any, overlay: any): any;
|
|
118
|
+
export { withSourceTitle };
|
|
89
119
|
/**
|
|
90
120
|
* Owner package recorded for the built-in topics. They ship inside the CLI
|
|
91
121
|
* (assets/docs), not in @astryxdesign/core, so this is the CLI's own name —
|
|
92
122
|
* unlike component discovery, whose built-ins belong to core.
|
|
93
123
|
*/
|
|
94
|
-
export const BUILTIN_DOCS_PACKAGE: "
|
|
124
|
+
export const BUILTIN_DOCS_PACKAGE: import("../../authoring/index.js").ProviderId;
|
|
125
|
+
/**
|
|
126
|
+
* Blocks that are valid authoring but require the compiled graph renderer: a
|
|
127
|
+
* namespace doc's `blocks` hold them, a topic section does not.
|
|
128
|
+
*/
|
|
129
|
+
export const GRAPH_BLOCK_TYPES: Set<string>;
|
|
130
|
+
/**
|
|
131
|
+
* Doc fields only the docs tree reads. A flat topic that sets one fails to
|
|
132
|
+
* load; a guide the tree places may set `placement` (spec:AST-046).
|
|
133
|
+
*/
|
|
134
|
+
export const GRAPH_ONLY_FIELDS: string[];
|
|
95
135
|
/**
|
|
96
136
|
* Every topic a project can read, and the relationships between them.
|
|
97
137
|
*
|
|
@@ -107,6 +147,40 @@ export class DocsCatalog {
|
|
|
107
147
|
* @returns {DocsCatalog}
|
|
108
148
|
*/
|
|
109
149
|
static fromBuiltins(builtins?: Record<string, string>): DocsCatalog;
|
|
150
|
+
/**
|
|
151
|
+
* Record a doc file a package ships that did not load. Its package's docs
|
|
152
|
+
* are withdrawn; readers name the package so an author knows where to look.
|
|
153
|
+
* @param {{package: string, message: string}} issue
|
|
154
|
+
*/
|
|
155
|
+
addIssue(issue: {
|
|
156
|
+
package: string;
|
|
157
|
+
message: string;
|
|
158
|
+
}): void;
|
|
159
|
+
/**
|
|
160
|
+
* The doc files that did not load, by package.
|
|
161
|
+
* @returns {ReadonlyArray<{package: string, message: string}>}
|
|
162
|
+
*/
|
|
163
|
+
get issues(): ReadonlyArray<{
|
|
164
|
+
package: string;
|
|
165
|
+
message: string;
|
|
166
|
+
}>;
|
|
167
|
+
/**
|
|
168
|
+
* Add the namespace docs and placed guides one integration ships to the
|
|
169
|
+
* docs tree (spec:AST-046).
|
|
170
|
+
* @param {{namespaces: import('../doc-compiler/tree.mjs').TreeNamespaceInput[], guides: import('../doc-compiler/tree.mjs').TreeDocInput[]}} inputs
|
|
171
|
+
*/
|
|
172
|
+
addTreeInputs(inputs: {
|
|
173
|
+
namespaces: import("../doc-compiler/tree.mjs").TreeNamespaceInput[];
|
|
174
|
+
guides: import("../doc-compiler/tree.mjs").TreeDocInput[];
|
|
175
|
+
}): void;
|
|
176
|
+
/**
|
|
177
|
+
* What the integrations add to the docs tree, in configured order.
|
|
178
|
+
* @returns {ReadonlyArray<{namespaces: import('../doc-compiler/tree.mjs').TreeNamespaceInput[], guides: import('../doc-compiler/tree.mjs').TreeDocInput[]}>}
|
|
179
|
+
*/
|
|
180
|
+
get treeInputs(): ReadonlyArray<{
|
|
181
|
+
namespaces: import("../doc-compiler/tree.mjs").TreeNamespaceInput[];
|
|
182
|
+
guides: import("../doc-compiler/tree.mjs").TreeDocInput[];
|
|
183
|
+
}>;
|
|
110
184
|
/**
|
|
111
185
|
* Add one integration-contributed doc, honoring what it declares. Returns
|
|
112
186
|
* the issue it caused, or null when it applied cleanly — the caller owns
|
|
@@ -116,6 +190,14 @@ export class DocsCatalog {
|
|
|
116
190
|
* @returns {import('../integrations/issue').AstryxIntegrationIssue | null}
|
|
117
191
|
*/
|
|
118
192
|
add(record: DocsTopicRecord): import("../integrations/issue").AstryxIntegrationIssue | null;
|
|
193
|
+
/**
|
|
194
|
+
* Every other name a topic answers to, lowercased: the names of the topics
|
|
195
|
+
* it replaced, directly or through a chain of replacements. `resolve` finds
|
|
196
|
+
* the topic by each of them.
|
|
197
|
+
* @param {DocsTopicEntry} entry
|
|
198
|
+
* @returns {string[]}
|
|
199
|
+
*/
|
|
200
|
+
aliasesOf(entry: DocsTopicEntry): string[];
|
|
119
201
|
/**
|
|
120
202
|
* Look a topic up by name, case-insensitively, following the alias a renamed
|
|
121
203
|
* replacement left behind.
|
|
@@ -138,6 +220,11 @@ export type DocsTopicRecord = {
|
|
|
138
220
|
* owner package
|
|
139
221
|
*/
|
|
140
222
|
package: string;
|
|
223
|
+
/**
|
|
224
|
+
* the owner's ProviderId, when it differs from
|
|
225
|
+
* the package name
|
|
226
|
+
*/
|
|
227
|
+
providerId?: string | undefined;
|
|
141
228
|
/**
|
|
142
229
|
* absolute path to the doc file
|
|
143
230
|
*/
|
|
@@ -163,6 +250,11 @@ export type DocsTopicEntry = {
|
|
|
163
250
|
* owner package
|
|
164
251
|
*/
|
|
165
252
|
package: string;
|
|
253
|
+
/**
|
|
254
|
+
* the owner's ProviderId; the package name when
|
|
255
|
+
* absent. Links in the topic resolve against it.
|
|
256
|
+
*/
|
|
257
|
+
providerId?: string | undefined;
|
|
166
258
|
/**
|
|
167
259
|
* absolute path to the doc file
|
|
168
260
|
*/
|
|
@@ -175,11 +267,27 @@ export type DocsTopicEntry = {
|
|
|
175
267
|
*/
|
|
176
268
|
replaces?: string | undefined;
|
|
177
269
|
/**
|
|
178
|
-
*
|
|
179
|
-
*
|
|
270
|
+
* overlays to merge onto the base doc, in the order their integrations were
|
|
271
|
+
* configured; each section an extension adds resolves its links against the
|
|
272
|
+
* extension's provider id (its package name when absent)
|
|
180
273
|
*/
|
|
181
274
|
extensions: Array<{
|
|
182
275
|
package: string;
|
|
183
276
|
path: string;
|
|
277
|
+
providerId?: string;
|
|
184
278
|
}>;
|
|
279
|
+
/**
|
|
280
|
+
* the route of the namespace a tree guide sits in
|
|
281
|
+
*/
|
|
282
|
+
parent?: string | undefined;
|
|
283
|
+
/**
|
|
284
|
+
* a tree guide's route
|
|
285
|
+
*/
|
|
286
|
+
route?: string | undefined;
|
|
287
|
+
/**
|
|
288
|
+
* a guide that only the docs tree reads, by its
|
|
289
|
+
* route; never a flat topic
|
|
290
|
+
*/
|
|
291
|
+
tree?: boolean | undefined;
|
|
185
292
|
};
|
|
293
|
+
import { withSourceTitle } from './docs-section-key.mjs';
|