@astryxdesign/cli 0.6.4 → 0.6.5-canary.00f1ed9
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 +56 -0
- package/README.md +103 -95
- package/api/build/_adapter.d.mts +36 -2
- package/api/build/_adapter.mjs +41 -10
- package/api/build/build.doc.mjs +8 -3
- package/api/build/build.test.mjs +60 -2
- package/api/build/kit/kit.mjs +109 -26
- package/api/build/kit/rank.d.mts +24 -8
- package/api/build/kit/rank.mjs +277 -97
- package/api/build/kit/rank.test.mjs +231 -48
- package/api/component/_adapter.d.mts +25 -0
- package/api/component/_adapter.mjs +59 -5
- package/api/component/component.d.mts +6 -3
- package/api/component/component.doc.mjs +37 -17
- package/api/component/component.mjs +249 -9
- package/api/component/component.type.d.mts +25 -0
- package/api/component/component.type.mjs +44 -0
- 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 +61 -18
- package/api/discover/discover.mjs +220 -36
- package/api/discover/discover.test.mjs +11 -2
- package/api/discover/discover.type.d.mts +147 -8
- package/api/discover/discover.type.mjs +102 -12
- 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 +8 -3
- package/api/docs/_adapter.mjs +14 -6
- package/api/docs/docOverlays.test.mjs +27 -1
- package/api/docs/docs.doc.mjs +2 -2
- package/api/docs/docs.test.mjs +54 -18
- package/api/docs/integration-tree.test.mjs +17 -0
- package/api/docs/integrationDocs.test.mjs +27 -5
- package/api/doctor/doctor.d.mts +8 -3
- package/api/doctor/doctor.doc.mjs +17 -8
- package/api/doctor/doctor.mjs +90 -9
- package/api/doctor/doctor.test.mjs +122 -10
- package/api/doctor/doctor.type.d.mts +1 -1
- package/api/doctor/doctor.type.mjs +1 -1
- package/api/error.d.mts +22 -0
- package/api/error.mjs +42 -0
- package/api/gap-report/gap-report.doc.mjs +19 -10
- package/api/hook/hook.doc.mjs +6 -3
- package/api/index.d.mts +1 -0
- package/api/index.mjs +5 -3
- package/api/init/init.doc.mjs +17 -12
- package/api/integration/add-contribution.d.mts +2 -1
- package/api/integration/add-contribution.mjs +7 -3
- package/api/integration/add-contribution.test.mjs +3 -3
- package/api/integration/add-helpers.d.mts +5 -2
- package/api/integration/add-helpers.mjs +36 -9
- package/api/integration/add-theme.mjs +266 -23
- package/api/integration/add-theme.test.mjs +247 -0
- package/api/integration/authoring-checks.mjs +12 -9
- package/api/integration/authoring-checks.type.d.mts +8 -0
- package/api/integration/authoring-checks.type.mjs +7 -3
- package/api/integration/integration-authoring.type.d.mts +4 -1
- package/api/integration/integration-authoring.type.mjs +6 -1
- package/api/integration/integrationAdd.doc.mjs +6 -0
- package/api/integration/integrationAddTheme.doc.mjs +10 -0
- package/api/integration/integrationComponentConflicts.doc.mjs +1 -1
- package/api/integration/integrationDocConflicts.doc.mjs +1 -1
- package/api/integration/integrationPackCheck.doc.mjs +3 -3
- package/api/integration/integrationTemplateConflicts.doc.mjs +1 -1
- package/api/integration/pack-check.lifecycle-output.test.mjs +107 -0
- package/api/integration/pack-check.mjs +92 -10
- package/api/integration/pack-check.test.mjs +140 -1
- package/api/integration/pack-check.type.mjs +1 -1
- package/api/integration/validate-integration.d.mts +4 -2
- package/api/integration/validate-integration.mjs +7 -2
- package/api/integration/validate-integration.test.mjs +55 -0
- package/api/integration/validate-integration.type.d.mts +5 -0
- package/api/integration/validate-integration.type.mjs +5 -1
- package/api/integration/validateIntegration.doc.mjs +1 -1
- package/api/json/assertResponse.doc.mjs +1 -1
- package/api/json/isError.doc.mjs +1 -1
- package/api/layout/expand/expand.mjs +12 -7
- package/api/layout/expand/expand.receipt.test.mjs +74 -0
- package/api/layout/layout.type.d.mts +1 -0
- package/api/layout/layout.type.mjs +1 -0
- package/api/layout/layoutExpand.doc.mjs +1 -1
- package/api/search/search.d.mts +51 -1
- package/api/search/search.doc.mjs +2 -2
- package/api/search/search.mjs +299 -17
- package/api/search/search.test.mjs +216 -18
- package/api/swizzle/copy/copy.mjs +66 -3
- package/api/swizzle/swizzle.doc.mjs +11 -5
- package/api/template/copy/copy.mjs +15 -9
- package/api/template/copy/copy.receipt.test.mjs +77 -0
- package/api/template/copy/copy.test.mjs +9 -0
- package/api/template/show/show.mjs +15 -4
- package/api/template/show/show.test.mjs +76 -0
- package/api/template/template-integration.test.mjs +14 -0
- package/api/template/template.d.mts +1 -1
- package/api/template/template.doc.mjs +8 -3
- package/api/template/template.mjs +1 -0
- package/api/template/template.type.d.mts +2 -0
- package/api/template/template.type.mjs +2 -0
- package/api/theme/add/add.mjs +17 -25
- package/api/theme/add/add.rollback.test.mjs +158 -0
- package/api/theme/add/add.staging.test.mjs +40 -23
- package/api/theme/build/build.d.mts +24 -0
- package/api/theme/build/build.family.test.mjs +7 -12
- package/api/theme/build/build.mjs +243 -26
- package/api/theme/build/build.project-core.test.mjs +165 -0
- package/api/theme/build/build.rollback.test.mjs +148 -0
- package/api/theme/generateTonalPalette.doc.mjs +1 -2
- package/api/theme/listThemes.doc.mjs +1 -1
- package/api/theme/themeAdd.doc.mjs +9 -10
- package/api/theme/themeBuild.doc.mjs +13 -13
- package/api/theme/themeList.doc.mjs +1 -1
- package/api/theme/themeListAvailable.doc.mjs +2 -1
- package/api/theme/themePaletteGenerate.doc.mjs +15 -8
- package/api/theme/themeTargets.doc.mjs +3 -2
- package/api/theme/themeTemplate.doc.mjs +2 -1
- package/api/upgrade/run/files-changed.test.mjs +111 -0
- package/api/upgrade/run/run.mjs +25 -6
- package/api/upgrade/run/run.test.mjs +45 -1
- package/api/upgrade/upgrade.doc.mjs +24 -22
- package/api/upgrade/upgrade.type.d.mts +1 -0
- package/api/upgrade/upgrade.type.mjs +3 -2
- package/assets/codemods/__tests__/runner.test.mjs +3 -1
- package/assets/codemods/file-count.test.mjs +163 -0
- package/assets/codemods/integration-runner.mjs +3 -3
- package/assets/codemods/runner.mjs +5 -4
- package/assets/docs/README.md +4 -2
- 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 +5 -16
- package/assets/docs/icons.doc.mjs +3 -21
- package/assets/docs/illustrations.doc.mjs +7 -15
- package/assets/docs/internationalization.doc.mjs +7 -5
- package/assets/docs/layout.doc.dense.mjs +130 -82
- package/assets/docs/layout.doc.mjs +133 -77
- 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 +8 -0
- 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 +6 -2
- package/assets/docs/styling.doc.mjs +19 -23
- package/assets/docs/theme.doc.dense.mjs +58 -18
- package/assets/docs/theme.doc.mjs +57 -47
- package/assets/docs/theme.doc.zh.mjs +9 -8
- package/assets/docs/tokens.doc.dense.mjs +2 -2
- package/assets/docs/tokens.doc.mjs +389 -8
- 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/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/codemods.doc.mjs +147 -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 +25 -451
- 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 +121 -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 +153 -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 +162 -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 +30 -22
- package/assets/templates/blocks/components/InternationalizationProvider/InternationalizationProvider01ShippedLocale.tsx +1 -1
- package/assets/templates/pages/ai-chat/template.doc.mjs +16 -1
- package/assets/templates/pages/ai-chat-landing/template.doc.mjs +9 -1
- package/assets/templates/pages/blank/template.doc.mjs +3 -1
- package/assets/templates/pages/canvas-editor/template.doc.mjs +9 -1
- package/assets/templates/pages/centered-hero/template.doc.mjs +3 -1
- package/assets/templates/pages/checkout-wizard/template.doc.mjs +1 -0
- package/assets/templates/pages/classic-gallery/template.doc.mjs +3 -1
- package/assets/templates/pages/contact-form/template.doc.mjs +16 -1
- package/assets/templates/pages/dashboard/template.doc.mjs +15 -1
- package/assets/templates/pages/dashboard-alert-rail/template.doc.mjs +23 -1
- package/assets/templates/pages/dashboard-cohort-funnel/template.doc.mjs +10 -1
- package/assets/templates/pages/dashboard-comparison/template.doc.mjs +9 -1
- package/assets/templates/pages/dashboard-composition/template.doc.mjs +10 -1
- package/assets/templates/pages/dashboard-progress/template.doc.mjs +17 -1
- package/assets/templates/pages/dashboard-scorecard/template.doc.mjs +2 -1
- package/assets/templates/pages/detail-page/template.doc.mjs +8 -0
- package/assets/templates/pages/documentation/template.doc.mjs +10 -1
- package/assets/templates/pages/documentation-design/template.doc.mjs +10 -1
- package/assets/templates/pages/documentation-technical/template.doc.mjs +10 -1
- package/assets/templates/pages/editor/template.doc.mjs +9 -1
- package/assets/templates/pages/file-explorer/template.doc.mjs +3 -1
- package/assets/templates/pages/form-two-column/template.doc.mjs +17 -1
- package/assets/templates/pages/form-wizard/template.doc.mjs +14 -1
- package/assets/templates/pages/form-wizard-dialog/template.doc.mjs +1 -0
- package/assets/templates/pages/gallery-hero/template.doc.mjs +10 -1
- package/assets/templates/pages/ide/template.doc.mjs +9 -1
- package/assets/templates/pages/incident-console/template.doc.mjs +10 -1
- package/assets/templates/pages/kanban-board/template.doc.mjs +11 -1
- package/assets/templates/pages/library/template.doc.mjs +15 -1
- package/assets/templates/pages/login/template.doc.mjs +10 -1
- package/assets/templates/pages/login-card/template.doc.mjs +11 -1
- package/assets/templates/pages/login-split/template.doc.mjs +10 -1
- package/assets/templates/pages/login-sso/template.doc.mjs +10 -1
- package/assets/templates/pages/messaging-shell/template.doc.mjs +11 -1
- package/assets/templates/pages/mixed-gallery/template.doc.mjs +10 -1
- package/assets/templates/pages/payment-form/template.doc.mjs +3 -1
- package/assets/templates/pages/product-detail/template.doc.mjs +9 -1
- package/assets/templates/pages/product-gallery/template.doc.mjs +10 -1
- package/assets/templates/pages/settings/template.doc.mjs +3 -1
- package/assets/templates/pages/settings-dialog/template.doc.mjs +9 -1
- package/assets/templates/pages/settings-sidebar/template.doc.mjs +9 -1
- package/assets/templates/pages/shell-nav/template.doc.mjs +10 -1
- package/assets/templates/pages/shell-side-nav/template.doc.mjs +14 -1
- package/assets/templates/pages/shell-top-nav/template.doc.mjs +11 -1
- package/assets/templates/pages/side-gallery/template.doc.mjs +3 -1
- package/assets/templates/pages/table/template.doc.mjs +11 -1
- package/assets/templates/pages/table-filter/template.doc.mjs +21 -1
- package/assets/templates/pages/table-grouped/template.doc.mjs +15 -1
- package/assets/templates/pages/table-inbox/template.doc.mjs +18 -6
- package/assets/templates/pages/table-page/template.doc.mjs +20 -1
- package/assets/templates/pages/table-tree/template.doc.mjs +14 -1
- package/assets/templates/pages/theme-showcase/template.doc.mjs +10 -1
- package/assets/templates/pages/work-item-detail/template.doc.mjs +10 -0
- package/assets/templates/themes/butter/icons.tsx +2 -0
- package/assets/templates/themes/chocolate/icons.tsx +2 -0
- package/assets/templates/themes/gothic/icons.tsx +2 -0
- package/assets/templates/themes/matcha/icons.tsx +2 -0
- package/assets/templates/themes/neutral/icons.tsx +2 -0
- package/assets/templates/themes/stone/icons.tsx +2 -0
- package/assets/templates/themes/y2k/icons.tsx +2 -0
- package/authoring/config/config.doc.mjs +9 -1
- package/authoring/config/parse.d.mts +2 -0
- package/authoring/config/parse.mjs +19 -0
- package/authoring/config/parse.test.mjs +8 -0
- package/authoring/config/type.ts +11 -0
- 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 +3 -2
- package/authoring/doctypes/_schema.mjs +6 -0
- package/authoring/doctypes/base/graph-fields.doc.mjs +3 -3
- package/authoring/doctypes/base/type.ts +4 -2
- package/authoring/doctypes/component/component.doc.mjs +6 -0
- package/authoring/doctypes/component/type.ts +8 -0
- package/authoring/doctypes/reference/reference.doc.mjs +7 -0
- package/authoring/doctypes/reference/type.ts +5 -0
- package/authoring/doctypes/schema/schema.doc.mjs +2 -2
- package/authoring/doctypes/template/parse.d.mts +2 -0
- package/authoring/doctypes/template/parse.mjs +1 -0
- package/authoring/doctypes/template/parse.test.mjs +21 -0
- package/authoring/doctypes/template/template.doc.mjs +7 -1
- package/authoring/doctypes/template/type.ts +12 -2
- package/authoring/index.d.mts +1 -0
- package/authoring/index.d.ts +10 -0
- package/authoring/index.mjs +1 -0
- package/authoring/integration/integration.doc.mjs +12 -10
- package/clients/cli/commands/component/index.mjs +152 -55
- package/clients/cli/commands/component-batch.test.mjs +341 -0
- package/clients/cli/commands/component-ownership.test.mjs +89 -0
- package/clients/cli/commands/component.doc.mjs +27 -9
- package/clients/cli/commands/discover.doc.mjs +53 -9
- package/clients/cli/commands/discover.mjs +393 -118
- package/clients/cli/commands/discover.sources.test.mjs +267 -0
- package/clients/cli/commands/docs.doc.mjs +1 -1
- package/clients/cli/commands/docs.mjs +60 -17
- package/clients/cli/commands/docs.test.mjs +113 -24
- package/clients/cli/commands/doctor-integration-docs.doc.mjs +3 -2
- package/clients/cli/commands/doctor-integration.test.mjs +53 -0
- package/clients/cli/commands/doctor.doc.mjs +3 -1
- package/clients/cli/commands/doctor.mjs +53 -9
- package/clients/cli/commands/gap-report.doc.mjs +10 -9
- package/clients/cli/commands/init.doc.mjs +9 -6
- package/clients/cli/commands/integration-add.doc.mjs +17 -7
- package/clients/cli/commands/integration-authoring.test.mjs +70 -9
- package/clients/cli/commands/integration-pack.doc.mjs +5 -9
- package/clients/cli/commands/integration-real-world.test.mjs +1 -1
- package/clients/cli/commands/integration-verify.doc.mjs +22 -0
- package/clients/cli/commands/integration.doc.mjs +4 -4
- package/clients/cli/commands/integration.mjs +76 -43
- package/clients/cli/commands/layout-expand.doc.mjs +3 -1
- package/clients/cli/commands/layout.expand-receipt.test.mjs +94 -0
- package/clients/cli/commands/layout.mjs +16 -0
- package/clients/cli/commands/manifest.doc.mjs +1 -1
- package/clients/cli/commands/search.doc.mjs +10 -3
- package/clients/cli/commands/search.mjs +21 -2
- package/clients/cli/commands/search.test.mjs +21 -4
- package/clients/cli/commands/swizzle.doc.mjs +1 -1
- package/clients/cli/commands/template.copy-receipt.test.mjs +60 -0
- package/clients/cli/commands/template.doc.mjs +1 -1
- package/clients/cli/commands/template.mjs +19 -5
- package/clients/cli/commands/template.show-media.test.mjs +62 -0
- package/clients/cli/commands/text-json-parity.test.mjs +7 -1
- package/clients/cli/commands/theme-add.doc.mjs +1 -1
- package/clients/cli/commands/theme-palette-generate.doc.mjs +3 -2
- package/clients/cli/commands/theme-palette.doc.mjs +1 -2
- package/clients/cli/commands/theme-targets.doc.mjs +2 -2
- package/clients/cli/commands/theme.doc.mjs +2 -1
- package/clients/cli/commands/upgrade.ascii-output.test.mjs +14 -0
- package/clients/cli/commands/upgrade.doc.mjs +62 -3
- package/clients/cli/commands/write-failure.test.mjs +175 -0
- package/clients/cli/index.mjs +28 -6
- package/clients/cli/lib/define-command.mjs +28 -4
- package/clients/cli/lib/define-command.test.mjs +54 -0
- package/clients/cli/lib/exit-codes.test.mjs +17 -1
- package/clients/cli/lib/json-shim.mjs +24 -14
- package/clients/cli/lib/manifest.mjs +48 -156
- package/clients/cli/lib/manifest.test.mjs +103 -9
- package/clients/cli/lib/parse-error-format.test.mjs +81 -0
- package/foundation/agent-docs/agent-docs.mjs +1 -1
- package/foundation/agent-docs/agent-docs.test.mjs +3 -2
- package/foundation/discovery/authoring-self-docs.mjs +1 -0
- package/foundation/discovery/authoring-self-docs.test.mjs +6 -2
- package/foundation/discovery/cli-self-docs.mjs +16 -2
- package/foundation/discovery/cli-self-docs.test.mjs +20 -0
- package/foundation/discovery/docs-discovery.mjs +5 -1
- package/foundation/discovery/docs-discovery.test.mjs +21 -0
- package/foundation/discovery/docs-section-key.d.mts +1 -1
- package/foundation/discovery/docs-section-key.mjs +1 -1
- package/foundation/discovery/template-adapter.d.mts +14 -0
- package/foundation/discovery/template-adapter.fixture-refs.test.mjs +37 -1
- package/foundation/discovery/template-adapter.mjs +21 -1
- package/foundation/doc-compiler/doc-loads.test.mjs +5 -4
- package/foundation/doc-compiler/inputs.test.mjs +0 -1
- package/foundation/doc-compiler/tree.d.mts +4 -0
- package/foundation/doc-compiler/tree.mjs +6 -1
- package/foundation/doc-compiler/tree.test.mjs +65 -14
- package/foundation/integrations/cli-requirement.d.mts +75 -11
- package/foundation/integrations/cli-requirement.mjs +120 -23
- package/foundation/integrations/cli-requirement.test.mjs +141 -9
- package/foundation/integrations/contribution-inventory.mjs +1 -1
- package/foundation/integrations/integrations.d.mts +14 -1
- package/foundation/integrations/integrations.mjs +41 -1
- package/foundation/integrations/integrations.test.mjs +31 -0
- package/foundation/response/batch.type.d.mts +33 -0
- package/foundation/response/batch.type.mjs +34 -0
- package/foundation/response/error-codes.doc.mjs +6 -8
- package/foundation/response/error-codes.test.mjs +30 -5
- package/foundation/response/response-types.doc.d.mts +5 -4
- package/foundation/response/response-types.doc.mjs +49 -19
- package/foundation/response/response-types.doc.test.mjs +23 -0
- package/foundation/response/response.doc.mjs +11 -10
- package/package.json +9 -9
- package/assets/docs/tree/integrations.test.mjs +0 -62
- package/assets/docs/tree/writing-docs.doc.mjs +0 -286
|
@@ -95,7 +95,7 @@ function legacyTitleMatchIndex(sections, query) {
|
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* A name as a docs-tree route segment: lowercase words joined by hyphens, so
|
|
98
|
-
* `integrationPackCheck` and `integration
|
|
98
|
+
* `integrationPackCheck` and `integration verify` both read naturally.
|
|
99
99
|
* @param {string} name
|
|
100
100
|
* @returns {string}
|
|
101
101
|
*/
|
|
@@ -49,6 +49,19 @@ export function effectiveTemplateDiscovery(templates: DiscoveredTemplate[]): Dis
|
|
|
49
49
|
* @returns {string} Source with demo asset references replaced.
|
|
50
50
|
*/
|
|
51
51
|
export function stripTemplateAssetRefs(source: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* {@link stripTemplateAssetRefs}, plus how many references it replaced: one per
|
|
54
|
+
* replaced reference, however many fixture paths its URL carries (a reference
|
|
55
|
+
* is replaced whole, query included), and none for a prose mention or a
|
|
56
|
+
* third-party URL left as written. That count is what a receipt discloses.
|
|
57
|
+
*
|
|
58
|
+
* @param {string} source - Template source code.
|
|
59
|
+
* @returns {{source: string, demoMediaReplaced: number}}
|
|
60
|
+
*/
|
|
61
|
+
export function replaceDemoMedia(source: string): {
|
|
62
|
+
source: string;
|
|
63
|
+
demoMediaReplaced: number;
|
|
64
|
+
};
|
|
52
65
|
/**
|
|
53
66
|
* List the core page-template directory names (sorted). The `template --list`
|
|
54
67
|
* view discovers far more; this is the minimal core-page set `init` scaffolds
|
|
@@ -173,6 +186,7 @@ export type DiscoveredTemplate = {
|
|
|
173
186
|
name: string;
|
|
174
187
|
displayName?: string | undefined;
|
|
175
188
|
description: string;
|
|
189
|
+
keywords?: string[] | undefined;
|
|
176
190
|
category?: string | undefined;
|
|
177
191
|
isReady?: boolean | undefined;
|
|
178
192
|
scaffold?: boolean | undefined;
|
|
@@ -5,7 +5,7 @@ import * as fs from 'node:fs';
|
|
|
5
5
|
import * as path from 'node:path';
|
|
6
6
|
import {fileURLToPath} from 'node:url';
|
|
7
7
|
import jscodeshift from 'jscodeshift';
|
|
8
|
-
import {stripTemplateAssetRefs} from './template-adapter.mjs';
|
|
8
|
+
import {replaceDemoMedia, stripTemplateAssetRefs} from './template-adapter.mjs';
|
|
9
9
|
|
|
10
10
|
const PLACEHOLDER = stripTemplateAssetRefs("'/template-assets/x.png'").slice(
|
|
11
11
|
1,
|
|
@@ -212,6 +212,42 @@ describe('stripTemplateAssetRefs fixture references', () => {
|
|
|
212
212
|
});
|
|
213
213
|
});
|
|
214
214
|
|
|
215
|
+
describe('replaceDemoMedia', () => {
|
|
216
|
+
it('counts a reference once, however many fixture paths its URL carries', () => {
|
|
217
|
+
const source =
|
|
218
|
+
"const hero = '/template-assets/a.png?f=/template-assets/b.png';";
|
|
219
|
+
expect(replaceDemoMedia(source)).toEqual({
|
|
220
|
+
source: stripTemplateAssetRefs(source),
|
|
221
|
+
demoMediaReplaced: 1,
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
it('counts a poster and a video as two references', () => {
|
|
226
|
+
const source =
|
|
227
|
+
'<video poster="/template-assets/poster.jpg" src="/template-assets/clip.mp4" />';
|
|
228
|
+
const result = replaceDemoMedia(source);
|
|
229
|
+
expect(result).toEqual({
|
|
230
|
+
source: stripTemplateAssetRefs(source),
|
|
231
|
+
demoMediaReplaced: 2,
|
|
232
|
+
});
|
|
233
|
+
expect(result.source).not.toContain('/template-assets/');
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
it.each([
|
|
237
|
+
[
|
|
238
|
+
'a prose mention',
|
|
239
|
+
'<p>Demo media lives under /template-assets/ in the docsite.</p>',
|
|
240
|
+
],
|
|
241
|
+
[
|
|
242
|
+
'a third-party URL',
|
|
243
|
+
"const u = 'https://example.com/template-assets/a.png';",
|
|
244
|
+
],
|
|
245
|
+
['source with no fixture', 'const x = 1;'],
|
|
246
|
+
])('counts nothing for %s it leaves as written', (_label, source) => {
|
|
247
|
+
expect(replaceDemoMedia(source)).toEqual({source, demoMediaReplaced: 0});
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
|
|
215
251
|
describe('shipped templates', () => {
|
|
216
252
|
it('copy with every fixture replaced and still parse', () => {
|
|
217
253
|
const root = path.resolve(
|
|
@@ -102,6 +102,7 @@ export function effectiveTemplateDiscovery(templates) {
|
|
|
102
102
|
* @property {string} name
|
|
103
103
|
* @property {string} [displayName]
|
|
104
104
|
* @property {string} description
|
|
105
|
+
* @property {string[]} [keywords]
|
|
105
106
|
* @property {string} [category]
|
|
106
107
|
* @property {boolean} [isReady]
|
|
107
108
|
* @property {boolean} [scaffold]
|
|
@@ -320,9 +321,23 @@ function toPosixPath(p) {
|
|
|
320
321
|
* @returns {string} Source with demo asset references replaced.
|
|
321
322
|
*/
|
|
322
323
|
export function stripTemplateAssetRefs(source) {
|
|
324
|
+
return replaceDemoMedia(source).source;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* {@link stripTemplateAssetRefs}, plus how many references it replaced: one per
|
|
329
|
+
* replaced reference, however many fixture paths its URL carries (a reference
|
|
330
|
+
* is replaced whole, query included), and none for a prose mention or a
|
|
331
|
+
* third-party URL left as written. That count is what a receipt discloses.
|
|
332
|
+
*
|
|
333
|
+
* @param {string} source - Template source code.
|
|
334
|
+
* @returns {{source: string, demoMediaReplaced: number}}
|
|
335
|
+
*/
|
|
336
|
+
export function replaceDemoMedia(source) {
|
|
323
337
|
const needle = `/${FIXTURE_SEGMENT}`;
|
|
324
338
|
let output = '';
|
|
325
339
|
let copied = 0;
|
|
340
|
+
let demoMediaReplaced = 0;
|
|
326
341
|
/** @type {Array<[number, number]> | undefined} */
|
|
327
342
|
let comments;
|
|
328
343
|
let at = source.indexOf(needle);
|
|
@@ -343,10 +358,11 @@ export function stripTemplateAssetRefs(source) {
|
|
|
343
358
|
if (edit) {
|
|
344
359
|
output += source.slice(copied, start) + edit.text;
|
|
345
360
|
copied = edit.end;
|
|
361
|
+
demoMediaReplaced += 1;
|
|
346
362
|
}
|
|
347
363
|
at = source.indexOf(needle, end);
|
|
348
364
|
}
|
|
349
|
-
return output + source.slice(copied);
|
|
365
|
+
return {source: output + source.slice(copied), demoMediaReplaced};
|
|
350
366
|
}
|
|
351
367
|
|
|
352
368
|
/** @param {string | undefined} char */
|
|
@@ -633,6 +649,7 @@ async function discoverPages() {
|
|
|
633
649
|
name: doc?.name || dir.name,
|
|
634
650
|
description: doc?.description || '',
|
|
635
651
|
category: doc?.category || '',
|
|
652
|
+
keywords: doc?.keywords ?? [],
|
|
636
653
|
isReady: doc?.isReady ?? true,
|
|
637
654
|
scaffold: doc?.scaffold ?? false,
|
|
638
655
|
filePath: path.join(dirPath, 'page.tsx'),
|
|
@@ -661,6 +678,7 @@ async function discoverBlocks() {
|
|
|
661
678
|
dirName: basename,
|
|
662
679
|
name: doc?.name || basename,
|
|
663
680
|
description: doc?.description || '',
|
|
681
|
+
keywords: doc?.keywords ?? [],
|
|
664
682
|
isReady: doc?.isReady ?? true,
|
|
665
683
|
aspectRatio: doc?.aspectRatio ?? 1,
|
|
666
684
|
componentsUsed: doc?.componentsUsed ?? [],
|
|
@@ -702,6 +720,7 @@ async function discoverExternalBlocks(cwd = process.cwd()) {
|
|
|
702
720
|
dirName: basename,
|
|
703
721
|
name: doc?.name || basename,
|
|
704
722
|
description: doc?.description || '',
|
|
723
|
+
keywords: doc?.keywords ?? [],
|
|
705
724
|
isReady: doc?.isReady ?? true,
|
|
706
725
|
aspectRatio: doc?.aspectRatio ?? 1,
|
|
707
726
|
componentsUsed: doc?.componentsUsed ?? [],
|
|
@@ -1269,6 +1288,7 @@ export async function discoverIntegrationTemplatesForOne(integration) {
|
|
|
1269
1288
|
name: doc?.name || id,
|
|
1270
1289
|
displayName: doc?.displayName,
|
|
1271
1290
|
description: doc?.description || '',
|
|
1291
|
+
keywords: doc?.keywords ?? [],
|
|
1272
1292
|
category: doc?.category || '',
|
|
1273
1293
|
isReady: doc?.isReady ?? true,
|
|
1274
1294
|
scaffold: doc?.scaffold ?? false,
|
|
@@ -53,21 +53,21 @@ const RUNNERS = {
|
|
|
53
53
|
sites: ['import(node:child_process)', 'worker_threads.Worker'],
|
|
54
54
|
},
|
|
55
55
|
'api/integration/pack-check.mjs': {
|
|
56
|
-
runs: '`npm pack`, `tar`, and a Node script that resolves the packed specifiers, to check a package as published',
|
|
57
|
-
sites: ['child_process.spawnSync ×3'],
|
|
56
|
+
runs: '`npm pack`, `tar`, and a Node script that resolves the packed specifiers, to check a package as published, and the package\'s doc modules, to see which need a newer CLI',
|
|
57
|
+
sites: ['child_process.spawnSync ×3', 'loadTopicModule'],
|
|
58
58
|
},
|
|
59
59
|
'api/swizzle/_github.mjs': {
|
|
60
60
|
runs: '`gh auth status`, to check the GitHub CLI is signed in',
|
|
61
61
|
sites: ['child_process.execFileSync'],
|
|
62
62
|
},
|
|
63
63
|
'api/theme/build/build.mjs': {
|
|
64
|
-
runs:
|
|
64
|
+
runs: "theme source modules, through jiti; eval for legacy theme object literals; the project's installed Core",
|
|
65
65
|
sites: [
|
|
66
66
|
'.evalModule() ×2',
|
|
67
67
|
'.import()',
|
|
68
68
|
'createJiti ×4',
|
|
69
69
|
'eval ×2',
|
|
70
|
-
'import(<computed>)',
|
|
70
|
+
'import(<computed>) ×3',
|
|
71
71
|
],
|
|
72
72
|
},
|
|
73
73
|
'api/theme/build/core-interception.mjs': {
|
|
@@ -188,6 +188,7 @@ const RUNNERS = {
|
|
|
188
188
|
'import ../../../api/integration/integrationPackCheck.doc.mjs',
|
|
189
189
|
'import ./integration-add.doc.mjs',
|
|
190
190
|
'import ./integration-pack.doc.mjs',
|
|
191
|
+
'import ./integration-verify.doc.mjs',
|
|
191
192
|
'import ./integration.doc.mjs',
|
|
192
193
|
],
|
|
193
194
|
},
|
|
@@ -58,7 +58,7 @@ export const KIND_GROUPS = Object.freeze({
|
|
|
58
58
|
schema: {
|
|
59
59
|
segment: 'schemas',
|
|
60
60
|
title: 'Schemas',
|
|
61
|
-
summary: '
|
|
61
|
+
summary: 'Data shapes, field by field.',
|
|
62
62
|
},
|
|
63
63
|
enum: {
|
|
64
64
|
segment: 'enums',
|
|
@@ -140,6 +140,7 @@ export const UNORGANIZED = 'unorganized';
|
|
|
140
140
|
* @property {string} name
|
|
141
141
|
* @property {string} title
|
|
142
142
|
* @property {string} summary
|
|
143
|
+
* @property {string[]} [keywords] an authored namespace's search keywords
|
|
143
144
|
* @property {string | null} parent the parent's route; null at the top
|
|
144
145
|
* @property {string | null} slot the parent slot this node sits in
|
|
145
146
|
* @property {number | null} order
|
|
@@ -420,10 +421,14 @@ export function buildDocsTree({namespaces, docs, topics = []}) {
|
|
|
420
421
|
name: input.doc.name,
|
|
421
422
|
title: input.doc.title,
|
|
422
423
|
summary: input.doc.summary,
|
|
424
|
+
...(Array.isArray(input.doc.keywords)
|
|
425
|
+
? {keywords: input.doc.keywords}
|
|
426
|
+
: {}),
|
|
423
427
|
parent: parentRoute,
|
|
424
428
|
slot: home?.slot ?? null,
|
|
425
429
|
order: home?.order ?? null,
|
|
426
430
|
generated: false,
|
|
431
|
+
ref: {selfDoc: input.doc},
|
|
427
432
|
slots: Object.entries(input.doc.slots).map(([name, slot]) => ({
|
|
428
433
|
name,
|
|
429
434
|
title: slot.title,
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import {describe, expect, it} from 'vitest';
|
|
16
|
+
import * as fs from 'node:fs';
|
|
17
|
+
import * as path from 'node:path';
|
|
16
18
|
import {
|
|
17
19
|
buildDocsTree,
|
|
18
20
|
KIND_GROUPS,
|
|
@@ -494,12 +496,38 @@ describe("the CLI's own docs tree", () => {
|
|
|
494
496
|
const tree = await loadDocsTree({fresh: true});
|
|
495
497
|
expect(tree.diagnostics).toEqual([]);
|
|
496
498
|
expect(tree.roots().map(node => node.route)).toEqual(['cli']);
|
|
499
|
+
// Every slot child is a node one level below the namespace that places
|
|
500
|
+
// it, and every node but the root is placed. Read from the tree, so a
|
|
501
|
+
// restructure of the guides does not need this test edited.
|
|
502
|
+
const nodes = [...tree.nodes.values()];
|
|
503
|
+
const placed = new Set();
|
|
504
|
+
const misplaced = [];
|
|
505
|
+
for (const node of nodes) {
|
|
506
|
+
for (const slot of node.slots ?? []) {
|
|
507
|
+
for (const child of slot.children) {
|
|
508
|
+
placed.add(child);
|
|
509
|
+
const rest = child.slice(node.route.length + 1);
|
|
510
|
+
if (
|
|
511
|
+
tree.get(child) == null ||
|
|
512
|
+
!child.startsWith(`${node.route}/`) ||
|
|
513
|
+
rest.includes('/')
|
|
514
|
+
) {
|
|
515
|
+
misplaced.push(`${node.route} › ${slot.name} › ${child}`);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
expect(misplaced).toEqual([]);
|
|
497
521
|
expect(
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
522
|
+
nodes
|
|
523
|
+
.map(node => node.route)
|
|
524
|
+
.filter(route => route !== 'cli' && !placed.has(route)),
|
|
525
|
+
).toEqual([]);
|
|
526
|
+
// The reference groups the CLI generates from its own typed docs.
|
|
527
|
+
expect(
|
|
528
|
+
tree.get('cli')?.slots.find(slot => slot.name === 'reference')
|
|
529
|
+
?.children,
|
|
530
|
+
).toEqual(['cli/commands', 'cli/api']);
|
|
503
531
|
expect(tree.get('cli/api')?.slots[0].children).toEqual([
|
|
504
532
|
'cli/api/functions',
|
|
505
533
|
'cli/api/schemas',
|
|
@@ -560,15 +588,38 @@ describe("the CLI's own docs tree", () => {
|
|
|
560
588
|
async () => {
|
|
561
589
|
const inputs = await loadTreeInputs({selfDocs: false});
|
|
562
590
|
expect(inputs.diagnostics).toEqual([]);
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
591
|
+
// Every doc file in the tree directory is read, as a namespace or a
|
|
592
|
+
// guide, and named after its file.
|
|
593
|
+
const records = [
|
|
594
|
+
...inputs.namespaces.map(n => ({name: n.doc.name, source: n.source})),
|
|
595
|
+
...inputs.docs.map(d => ({name: d.name, source: d.source})),
|
|
596
|
+
];
|
|
597
|
+
const files = fs
|
|
598
|
+
.readdirSync(new URL('../../assets/docs/tree/', import.meta.url))
|
|
599
|
+
.filter(file => file.endsWith('.doc.mjs'))
|
|
600
|
+
.sort();
|
|
601
|
+
expect(
|
|
602
|
+
records.map(record => path.basename(String(record.source))).sort(),
|
|
603
|
+
).toEqual(files);
|
|
604
|
+
expect(
|
|
605
|
+
records.filter(
|
|
606
|
+
record =>
|
|
607
|
+
path.basename(String(record.source)) !== `${record.name}.doc.mjs`,
|
|
608
|
+
),
|
|
609
|
+
).toEqual([]);
|
|
610
|
+
expect(new Set(inputs.docs.map(d => d.kind))).toEqual(
|
|
611
|
+
new Set(['generic']),
|
|
612
|
+
);
|
|
613
|
+
// Every guide's parent is a namespace from the same directory.
|
|
614
|
+
const namespaces = new Set(
|
|
615
|
+
inputs.namespaces.map(n => `namespace:${n.doc.name}`),
|
|
616
|
+
);
|
|
617
|
+
expect(
|
|
618
|
+
inputs.docs
|
|
619
|
+
.filter(d => d.placement?.parent != null)
|
|
620
|
+
.filter(d => !namespaces.has(d.placement.parent))
|
|
621
|
+
.map(d => d.name),
|
|
622
|
+
).toEqual([]);
|
|
572
623
|
},
|
|
573
624
|
SLOW,
|
|
574
625
|
);
|
|
@@ -9,37 +9,101 @@
|
|
|
9
9
|
* @returns {string | null}
|
|
10
10
|
*/
|
|
11
11
|
export function lowestAdmitted(range: unknown): string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Why a package that uses a feature an older CLI cannot read would lose it,
|
|
14
|
+
* or null when its declared CLI range admits only CLIs that read it.
|
|
15
|
+
* @param {any} pkg package.json
|
|
16
|
+
* @param {string} feature what the package does, e.g. "ships a namespace doc"
|
|
17
|
+
* @param {string} loss what an older CLI does with it
|
|
18
|
+
* @param {string} floor the first stable CLI release that reads it
|
|
19
|
+
* @returns {string | null}
|
|
20
|
+
*/
|
|
21
|
+
export function cliRangeProblem(pkg: any, feature: string, loss: string, floor: string): string | null;
|
|
12
22
|
/**
|
|
13
23
|
* Why a package that ships a namespace doc or a placed guide would lose its
|
|
14
24
|
* docs on an older CLI, or null when its declared CLI range admits only CLIs
|
|
15
25
|
* that read the docs tree. Published 0.6.3 hides every topic of a package
|
|
16
26
|
* with a namespace doc; builds of main before the docs tree also do so for a
|
|
17
|
-
* placed guide.
|
|
27
|
+
* placed guide. Published 0.6.4 reads both.
|
|
18
28
|
* @param {any} pkg package.json
|
|
19
29
|
* @returns {string | null}
|
|
20
30
|
*/
|
|
21
31
|
export function docsTreeCliProblem(pkg: any): string | null;
|
|
22
32
|
/**
|
|
23
|
-
* Why a package with a template that sets `replaces` would lose
|
|
24
|
-
*
|
|
33
|
+
* Why a package with a template that sets `replaces` would lose templates and
|
|
34
|
+
* doc topics on an older CLI (spec:AST-035), or null when its declared CLI
|
|
25
35
|
* range admits only CLIs that read the field.
|
|
26
36
|
* @param {any} pkg package.json
|
|
27
37
|
* @returns {string | null}
|
|
28
38
|
*/
|
|
29
39
|
export function replacesCliProblem(pkg: any): string | null;
|
|
30
40
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
41
|
+
* Why a package with a doc section that sets `id` would lose its doc topics on
|
|
42
|
+
* an older CLI, or null when its declared CLI range admits only CLIs that read
|
|
43
|
+
* the field. Published 0.6.3 rejects a section `id` and hides every doc topic
|
|
44
|
+
* the package ships; published 0.6.4 reads it.
|
|
45
|
+
* @param {any} pkg package.json
|
|
46
|
+
* @returns {string | null}
|
|
47
|
+
*/
|
|
48
|
+
export function sectionIdsCliProblem(pkg: any): string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Why a package that ships a theme would lose its themes and doc topics on an
|
|
51
|
+
* older CLI, or null when its declared CLI range admits only CLIs that read
|
|
52
|
+
* typed theme descriptors. Published 0.6.3 rejects a themes root with no
|
|
53
|
+
* `manifest.json` catalog, which `integration add theme` no longer writes;
|
|
54
|
+
* published 0.6.4 reads the descriptors.
|
|
55
|
+
* @param {any} pkg package.json
|
|
56
|
+
* @returns {string | null}
|
|
57
|
+
*/
|
|
58
|
+
export function themesCliProblem(pkg: any): string | null;
|
|
59
|
+
/**
|
|
60
|
+
* Why a package with a template that sets `keywords` would lose that template
|
|
61
|
+
* and its doc topics on an older CLI, or null when its declared CLI range
|
|
62
|
+
* admits only CLIs that read the field. Published 0.6.3 rejects the field,
|
|
63
|
+
* drops that template, and hides the package's doc topics.
|
|
64
|
+
* @param {any} pkg package.json
|
|
65
|
+
* @returns {string | null}
|
|
66
|
+
*/
|
|
67
|
+
export function keywordsCliProblem(pkg: any): string | null;
|
|
68
|
+
/**
|
|
69
|
+
* The package.json with a CLI peer of `>=floor`: optional, unless the package
|
|
70
|
+
* already says otherwise. Call it only when the package's range admits a CLI
|
|
71
|
+
* before `floor`, so a stricter range is never lowered.
|
|
72
|
+
* @param {any} pkg package.json
|
|
73
|
+
* @param {string} floor the first stable CLI release the package needs
|
|
74
|
+
* @returns {any}
|
|
75
|
+
*/
|
|
76
|
+
export function withCliPeer(pkg: any, floor: string): any;
|
|
77
|
+
/**
|
|
78
|
+
* The package.json with a CLI peer that reads namespace docs.
|
|
33
79
|
* @param {any} pkg package.json
|
|
34
80
|
* @returns {any}
|
|
35
81
|
*/
|
|
36
82
|
export function withDocsTreeCli(pkg: any): any;
|
|
37
83
|
export const CLI_PACKAGE: "@astryxdesign/cli";
|
|
38
84
|
/**
|
|
39
|
-
* The first CLI release that reads an integration's docs tree
|
|
40
|
-
* and placed guides
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
|
|
85
|
+
* The first stable CLI release that reads an integration's docs tree:
|
|
86
|
+
* namespace docs and placed guides. Published 0.6.3 rejects a namespace doc
|
|
87
|
+
* and hides every doc topic the package ships, with no warning; published
|
|
88
|
+
* 0.6.4 lists the namespace and reads its guides.
|
|
89
|
+
*/
|
|
90
|
+
export const NAMESPACE_DOCS_CLI: "0.6.4";
|
|
91
|
+
/**
|
|
92
|
+
* The first CLI release that reads a template's `replaces` and `keywords`. A
|
|
93
|
+
* release before it rejects either field, drops that template, and hides the
|
|
94
|
+
* package's doc topics.
|
|
95
|
+
*/
|
|
96
|
+
export const REPLACES_CLI: "0.7.0";
|
|
97
|
+
/**
|
|
98
|
+
* The first stable CLI release that reads typed theme descriptors, the theme
|
|
99
|
+
* folder `integration add theme` writes. Published 0.6.3 rejects a themes root
|
|
100
|
+
* with no `manifest.json` catalog and withholds the package's themes and doc
|
|
101
|
+
* topics; published 0.6.4 lists the themes.
|
|
102
|
+
*/
|
|
103
|
+
export const THEMES_CLI: "0.6.4";
|
|
104
|
+
/**
|
|
105
|
+
* The first stable CLI release that reads a doc section's `id`. Published
|
|
106
|
+
* 0.6.3 rejects the field and hides every doc topic the package ships;
|
|
107
|
+
* published 0.6.4 reads the section by its id.
|
|
44
108
|
*/
|
|
45
|
-
export const
|
|
109
|
+
export const SECTION_IDS_CLI: "0.6.4";
|